From b810d8ee3eea62546ae4bccfd6c757d485013f54 Mon Sep 17 00:00:00 2001 From: JongSeok Lee Date: Tue, 21 Aug 2012 02:16:53 -0700 Subject: [PATCH] 2012/08/21: tizen 2.0 beta --- CMakeLists.txt | 27 +- LICENSE | 150 ++--- NOTICE | 0 debian/changelog | 6 - debian/compat | 1 - debian/control | 19 - debian/copyright | 0 debian/dirs | 2 - debian/docs | 2 - debian/libug-setting-call-efl.install.in | 2 - debian/libug-setting-call-efl.postinst | 39 -- debian/rules | 134 ----- images/01_controlbar_icon_contacts.png | Bin 0 -> 999 bytes images/video_call_image_default.jpg | Bin include/cst-answering.h | 25 + include/cst-autoreject-ime.h | 26 + include/cst-autoreject.h | 32 ++ include/cst-barring-ime.h | 34 +- include/cst-barring.h | 33 +- include/cst-call-setting.h | 33 +- include/cst-common-string.h | 136 ++++- include/cst-common.h | 211 +++++--- include/cst-debug.h | 46 +- include/cst-delete-list.h | 35 +- include/cst-forwarding-ime.h | 34 +- include/cst-forwarding.h | 36 +- include/cst-more-call-setting.h | 25 + include/cst-prefix-dial-ime.h | 34 +- include/cst-prefix-dial.h | 35 +- include/cst-reject-msg-ime.h | 25 + include/cst-reject-msg.h | 32 ++ include/cst-status-tone.h | 34 +- include/cst-tapi-request.h | 43 +- include/cst-util.h | 41 +- include/cst-waiting.h | 34 +- include/cst-widget.h | 40 +- libug-setting-call-efl.ini | 0 packaging/call-setting.spec | 67 ++- po/de_DE.po | 378 +++++++------ po/el_GR.po | 386 +++++++------ po/en.po | 376 +++++++------ po/es_ES.po | 376 +++++++------ po/fr_FR.po | 390 +++++++------ po/it_IT.po | 392 ++++++++------ po/ja_JP.po | 414 +++++++------- po/ko_KR.po | 386 +++++++------ po/nl_NL.po | 384 +++++++------ po/pt_PT.po | 374 +++++++------ po/ru_RU.po | 381 +++++++------ po/tr_TR.po | 376 +++++++------ po/zh_CN.po | 388 +++++++------ po/zh_HK.po | 378 +++++++------ po/zh_TW.po | 396 ++++++++------ resource/call-setting.edc | 171 +++++- resource/ug_effect.edc | 31 +- src/cst-answering.c | 244 +++++++++ src/cst-autoreject-ime.c | 305 +++++++++++ src/cst-autoreject.c | 581 ++++++++++++++++++++ src/cst-barring-ime.c | 32 +- src/cst-barring.c | 248 ++------- src/cst-call-setting.c | 456 ++++------------ src/cst-common-string.c | 133 ++++- src/cst-delete-list.c | 161 +++--- src/cst-forwarding-ime.c | 64 ++- src/cst-forwarding.c | 901 ++++++++++++++++++++++++++----- src/cst-main.c | 129 +++-- src/cst-more-call-setting.c | 425 +++++++++++++++ src/cst-prefix-dial-ime.c | 174 +++++- src/cst-prefix-dial.c | 629 +++------------------ src/cst-reject-msg-ime.c | 75 +++ src/cst-reject-msg.c | 576 ++++++++++++++++++++ src/cst-status-tone.c | 46 +- src/cst-tapi-request.c | 864 ++++++++++++++--------------- src/cst-util.c | 226 +++++++- src/cst-waiting.c | 113 +--- src/cst-widget.c | 296 ++++++++-- theme/call-setting-theme.edc | 321 ++++++++++- 77 files changed, 9058 insertions(+), 5391 deletions(-) mode change 100644 => 100755 LICENSE delete mode 100755 NOTICE delete mode 100755 debian/changelog delete mode 100755 debian/compat delete mode 100755 debian/control delete mode 100644 debian/copyright delete mode 100755 debian/dirs delete mode 100755 debian/docs delete mode 100755 debian/libug-setting-call-efl.install.in delete mode 100755 debian/libug-setting-call-efl.postinst delete mode 100755 debian/rules create mode 100755 images/01_controlbar_icon_contacts.png mode change 100755 => 100644 images/video_call_image_default.jpg create mode 100755 include/cst-answering.h create mode 100755 include/cst-autoreject-ime.h create mode 100755 include/cst-autoreject.h create mode 100755 include/cst-more-call-setting.h create mode 100755 include/cst-reject-msg-ime.h create mode 100755 include/cst-reject-msg.h mode change 100755 => 100644 libug-setting-call-efl.ini create mode 100755 src/cst-answering.c create mode 100755 src/cst-autoreject-ime.c create mode 100755 src/cst-autoreject.c create mode 100755 src/cst-more-call-setting.c create mode 100755 src/cst-reject-msg-ime.c create mode 100755 src/cst-reject-msg.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 9399820..ff05be4 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,7 +9,26 @@ ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "") MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") INCLUDE(FindPkgConfig) -pkg_check_modules(pkgs REQUIRED appcore-efl elementary tapi utilX vconf eina ecore-imf ecore-x ecore-file dlog aul db-util ui-gadget bundle) +pkg_check_modules(pkgs REQUIRED + appcore-efl + elementary + tapi + utilX + vconf + eina + ecore-imf + ecore-x + ecore-file + dlog + aul + db-util + ui-gadget-1 + contacts-service + phone-misc + msg-service + capi-appfw-application + capi-appfw-app-manager +) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) @@ -30,16 +49,22 @@ ADD_LIBRARY(${SETTING_CISS_UG} SHARED ./src/cst-common-string.c ./src/cst-widget.c ./src/cst-tapi-request.c + ./src/cst-answering.c ./src/cst-status-tone.c ./src/cst-forwarding.c ./src/cst-forwarding-ime.c ./src/cst-barring.c ./src/cst-barring-ime.c + ./src/cst-reject-msg.c + ./src/cst-reject-msg-ime.c ./src/cst-prefix-dial.c ./src/cst-prefix-dial-ime.c ./src/cst-delete-list.c + ./src/cst-autoreject.c + ./src/cst-autoreject-ime.c ./src/cst-waiting.c ./src/cst-util.c + ./src/cst-more-call-setting.c ) TARGET_LINK_LIBRARIES(${SETTING_CISS_UG} ${pkgs_LDFLAGS}) diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 index 7ccb5b5..ccbf311 --- a/LICENSE +++ b/LICENSE @@ -1,75 +1,75 @@ -Flora License - -Version 1.0, May, 2012 - -http://www.tizenopensource.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 Compatibility Definition Document and passes the Compatibility Test Suite 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. - -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.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.tizenopensource.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. +Flora License + +Version 1.0, May, 2012 + +http://www.tizenopensource.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 Compatibility Definition Document and passes the Compatibility Test Suite 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. + +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.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.tizenopensource.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 e69de29..0000000 diff --git a/debian/changelog b/debian/changelog deleted file mode 100755 index ab4d466..0000000 --- a/debian/changelog +++ /dev/null @@ -1,6 +0,0 @@ -libug-setting-call-efl (0.2.82) unstable; urgency=low - - * Git : pkgs/c/call-setting - * Tag : libug-setting-call-efl_0.2.82 - - -- js49.lee Mon, 02 Apr 2012 20:52:50 -0700 diff --git a/debian/compat b/debian/compat deleted file mode 100755 index 7ed6ff8..0000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/debian/control b/debian/control deleted file mode 100755 index bfc1de5..0000000 --- a/debian/control +++ /dev/null @@ -1,19 +0,0 @@ -Source: libug-setting-call-efl -Section: devel -Priority: extra -Maintainer: Jungmin Kim , JongSeok Lee , Sungjoon Won -Uploaders: Jungmin Kim , JongSeok Lee , Sungjoon Won -Build-Depends: debhelper (>= 5), autotools-dev, libappcore-efl-dev, libelm-dev, libslp-tapi-dev, libsqlite3-dev, libslp-utilx-dev, libslp-setting-dev, libui-gadget-dev, libbundle-dev, libaul-1-dev, libeina-dev, libecore-dev, libvconf-dev, dlog-dev -Standards-Version: 0.1.0 - -Package: libug-setting-call-efl -Section: devel -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: call setting UI gadget - -Package: libug-setting-call-efl-dbg -Section: debug -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libug-setting-call-efl-dbg (= ${Source-Version}) -Description: call setting UI gadget diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index e69de29..0000000 diff --git a/debian/dirs b/debian/dirs deleted file mode 100755 index ca882bb..0000000 --- a/debian/dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/bin -usr/sbin diff --git a/debian/docs b/debian/docs deleted file mode 100755 index 7a77580..0000000 --- a/debian/docs +++ /dev/null @@ -1,2 +0,0 @@ -CMakeCache.txt -CMakeLists.txt diff --git a/debian/libug-setting-call-efl.install.in b/debian/libug-setting-call-efl.install.in deleted file mode 100755 index e18df37..0000000 --- a/debian/libug-setting-call-efl.install.in +++ /dev/null @@ -1,2 +0,0 @@ -/opt/ug/lib/* -/opt/ug/res/* diff --git a/debian/libug-setting-call-efl.postinst b/debian/libug-setting-call-efl.postinst deleted file mode 100755 index a4141d5..0000000 --- a/debian/libug-setting-call-efl.postinst +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -if [ ${USER} = "root" ] -then -chown 5000:5000 /opt/data/ug-setting-call -# Set vconf values with -g/-u options -vconftool set -t int db/ciss/show_my_number "0" -g 6514 -vconftool set -t bool db/ciss/prefix_dial "0" -g 6514 -vconftool set -t int db/ciss/prefix_dial_cnt "0" -g 6514 -vconftool set -t string db/ciss/prefix_dial_num1 "" -g 6514 -vconftool set -t string db/ciss/prefix_dial_num2 "" -g 6514 -vconftool set -t string db/ciss/prefix_dial_num3 "" -g 6514 -vconftool set -t string db/ciss/prefix_dial_num4 "" -g 6514 -vconftool set -t string db/ciss/prefix_dial_num5 "" -g 6514 -vconftool set -t bool db/ciss/call_connect_tone "0" -g 6514 -vconftool set -t bool db/ciss/minute_minder "0" -g 6514 -vconftool set -t bool db/ciss/call_end_tone "0" -g 6514 -vconftool set -t int db/ciss/alert_on_call "0" -g 6514 -vconftool set -t bool db/ciss/voice_auto_redial "0" -g 6514 -vconftool set -t bool db/ciss/video_auto_redial "0" -g 6514 -vconftool set -t int db/ciss/prefix_dial_value "0" -g 6514 -else -vconftool set -t int db/ciss/show_my_number "0" -vconftool set -t bool db/ciss/prefix_dial "0" -vconftool set -t int db/ciss/prefix_dial_cnt "0" -vconftool set -t string db/ciss/prefix_dial_num1 "" -vconftool set -t string db/ciss/prefix_dial_num2 "" -vconftool set -t string db/ciss/prefix_dial_num3 "" -vconftool set -t string db/ciss/prefix_dial_num4 "" -vconftool set -t string db/ciss/prefix_dial_num5 "" -vconftool set -t bool db/ciss/call_connect_tone "0" -vconftool set -t bool db/ciss/minute_minder "0" -vconftool set -t bool db/ciss/call_end_tone "0" -vconftool set -t int db/ciss/alert_on_call "0" -vconftool set -t bool db/ciss/voice_auto_redial "0" -vconftool set -t bool db/ciss/video_auto_redial "0" -vconftool set -t int db/ciss/prefix_dial_value "0" -fi -sync - diff --git a/debian/rules b/debian/rules deleted file mode 100755 index 7b47cd8..0000000 --- a/debian/rules +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -CFLAGS ?= -Wall -g -fPIC -LDFLAGS ?= -LDFLAGS += -Wl,--hash-style=both -Wl,--rpath=$(PREFIX)/lib -Wl,--as-needed,--unresolved-symbols=ignore-in-shared-libs -#LDFLAGS += -Wl,--hash-style=both -Wl,--rpath=$(PREFIX)/lib -Wl,--as-needed -PREFIX ?= /usr -DATADIR ?= /opt - -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 -else - CFLAGS += -O2 -endif - -configure: configure-stamp -configure-stamp: - dh_testdir - # Add here commands to configure the package. - cmake . -DCMAKE_INSTALL_PREFIX=$(PREFIX) - - touch configure-stamp - - -build: build-stamp - -build-stamp: configure-stamp - dh_testdir - - # Add here commands to compile the package. - $(MAKE) - #docbook-to-man debian/calllog.sgml > calllog.1 - - for f in `find $(CURDIR)/debian/ -name "*.in"`; do \ - cat $$f > $${f%.in}; \ - sed -i -e "s#@PREFIX@#$(PREFIX)#g" $${f%.in}; \ - sed -i -e "s#@DATADIR@#$(DATADIR)#g" $${f%.in}; \ - done - - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp - - # Add here commands to clean up after the build process. - -$(MAKE) clean - rm -rf CMakeCache.txt - rm -rf CMakeFiles - rm -rf cmake_install.cmake - rm -rf Makefile - rm -rf install_manifest.txt - rm -rf *.so - rm -rf po/CMakeCache.txt - rm -rf po/CMakeFiles - rm -rf po/cmake_install.cmake - rm -rf po/Makefile - rm -rf po/install_manifest.txt - rm -rf po/*.so - rm -rf data/CMakeCache.txt - rm -rf data/CMakeFiles - rm -rf data/cmake_install.cmake - rm -rf data/Makefile - rm -rf data/install_manifest.txt - rm -rf data/*.so - - rm -rf *.desktop - rm -rf *.edj - rm -rf theme/*.edj - - for f in `find $(CURDIR)/debian/ -name "*.in"`; do \ - rm -f $${f%.in}; \ - done - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/calllog. - $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_installexamples - dh_install --sourcedir=debian/tmp -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_python -# dh_installinit -# dh_installcron -# dh_installinfo - dh_installman - dh_link -# dh_strip - dh_strip --dbg-package=libug-setting-call-efl-dbg - dh_compress - dh_fixperms -# dh_perl - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/images/01_controlbar_icon_contacts.png b/images/01_controlbar_icon_contacts.png new file mode 100755 index 0000000000000000000000000000000000000000..a376989f10af760a9e70d52e13255731368283a3 GIT binary patch literal 999 zcmVE=0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#iAh93RCwBA{Qv(y11`V>WBmH{3xxjz z@c|GU1Q=mDp#m^t7}?m^5IT{-FAQUWpcG280kIsqu_!JB8q3JUfCm5s5F7IqPkUrlWb%V523 z93YVviAD>EuVNAZ0&UY!Js)1fA+Al!qRj-0*dtn6$VSh?I{}D~VG%z`O$$LjdI&9L z=HpOfhE%RDr6iTwK--*TRqW)X(!&%))g@AcG?P|kE3P2@!+w@+cV(~vYIbj^ z39wau^o~IuXg#+Vso4O+ppn2cK%7sFMiRw&kc=1<0^%DCxJRwffhQ2}phXPQ%7f2= zSb{`7mw{MsC?ruoGCT)sav2YWQdEuty%K}ngP;OsG6niKLi;F#)`L%}V8-jg?7>aY z4%!ql^rk@T<@ + +void _cst_on_click_answering_call(void *data, Evas *evas, Evas_Object *obj, void *event_info); + +#endif + diff --git a/include/cst-autoreject-ime.h b/include/cst-autoreject-ime.h new file mode 100755 index 0000000..14205c8 --- /dev/null +++ b/include/cst-autoreject-ime.h @@ -0,0 +1,26 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CST_AUTOREJECT_IME_H_ +#define _CST_AUTOREJECT_IME_H_ + +#include + +Evas_Object *_cst_create_autoreject_ime(Evas_Object *parent, char *edit_srting, void *data); +int _cst_get_reject_number(char *buffer, void *data); + +#endif + diff --git a/include/cst-autoreject.h b/include/cst-autoreject.h new file mode 100755 index 0000000..04114e1 --- /dev/null +++ b/include/cst-autoreject.h @@ -0,0 +1,32 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CST_AUTOREJECT_H_ +#define _CST_AUTOREJECT_H_ + +#include + +void _cst_genlist_append_auto_reject_list_item(CstUgData_t *ugd, Evas_Object *genlist); +int _cst_get_num_of_reject_list(CstUgData_t *ugd); +char *_cst_get_reject_list_text(Eina_List *list, int index); +int _cst_get_reject_list_id(Eina_List *list, int index); +void _cst_set_num_of_reject_list(int i); +void _cst_on_click_reject_list(void *data, Evas *evas, Evas_Object *obj, void *event_info); +void _cst_auto_reject_input_panel_event_callback(void *data, Ecore_IMF_Context *imf_context, int value); +void _cst_create_auto_reject_ug(void *data); + +#endif + diff --git a/include/cst-barring-ime.h b/include/cst-barring-ime.h index a410f11..71d3c4f 100755 --- a/include/cst-barring-ime.h +++ b/include/cst-barring-ime.h @@ -1,24 +1,26 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CISS_SETTING_CALL_BARRING_IME_H_ -#define _CISS_SETTING_CALL_BARRING_IME_H_ +#ifndef _CST_BARRING_IME_H_ +#define _CST_BARRING_IME_H_ #include + Evas_Object *_cst_create_cb_ime(Evas_Object *parent, char *edit_string, void *data); int _cst_get_cb_input_password(char *buffer, void *data); #endif + diff --git a/include/cst-barring.h b/include/cst-barring.h index df692be..a79da53 100755 --- a/include/cst-barring.h +++ b/include/cst-barring.h @@ -1,24 +1,25 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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_SETTING_BARRING_H_ -#define _CALL_SETTING_BARRING_H_ +#ifndef _CST_BARRING_H_ +#define _CST_BARRING_H_ #include void _cst_on_click_call_barring(void *data, Evas *evas, Evas_Object *obj, void *event_info); #endif + diff --git a/include/cst-call-setting.h b/include/cst-call-setting.h index 7a9e9c7..2ec0711 100755 --- a/include/cst-call-setting.h +++ b/include/cst-call-setting.h @@ -1,21 +1,22 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CST_CALL_SETTING_H_ +#define _CST_CALL_SETTING_H_ -#ifndef _CISS_SETTING_CALL_SETTING_H_ -#define _CISS_SETTING_CALL_SETTING_H_ #include void _cst_create_call_setting(void *data); diff --git a/include/cst-common-string.h b/include/cst-common-string.h index cc70051..63444f6 100755 --- a/include/cst-common-string.h +++ b/include/cst-common-string.h @@ -1,27 +1,32 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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_STRING_H_ -#define _COMMON_STRING_H_ +#ifndef _CST_COMMON_STRING_H_ +#define _CST_COMMON_STRING_H_ enum { CST_STR_ALERTS_ON_CALL = 0, CST_STR_ALL_INCOMING_CALLS, CST_STR_CALL_ALL_OUTGOING_CALLS, - CST_STR_AUTO_REDIAL, + CST_STR_CALL_REJECTION, + CST_STR_MANAGE_AUTO_REJECT_MODE, + CST_STR_MATCH_CRITERIA, + CST_STR_EXACTLY_THE_SAME_AS, + CST_STR_START_WITH, + CST_STR_INCLUDE, CST_STR_CALL_BARRING, CST_STR_CALL_CONNECT_TONE, CST_STR_CALL_END_TONE, @@ -31,14 +36,19 @@ enum { CST_STR_BY_NETWORK, CST_STR_SHOW, CST_STR_HIDE, + CST_STR_ILL_CALL_YOU_LATER, + CST_STR_IM_AT_THE_CINEMA, + CST_STR_IM_DRIVING, + CST_STR_IM_IN_A_MEETING, + CST_STR_IM_IN_CLASS_NOW, CST_STR_CALL_INTL_EXCEPT_HOME, CST_STR_INTL_CALLS, - CST_STR_SHOW_MY_NUMBER, + CST_STR_SET_REJECT_MESSAGES, + CST_STR_SHOW_MY_CALLER_ID, CST_STR_ALWAYS, CST_STR_IF_BUSY, CST_STR_IF_NO_REPLY, CST_STR_IF_OUT_OF_REACH, - CST_STR_PREFIX_DIALLING, CST_STR_CALL_INCOMING_WHEN_ROAMING, CST_STR_INCORRECT_OPERATION, CST_STR_INVALID_PASSWORD, @@ -50,17 +60,35 @@ enum { CST_STR_ENTER_NUMBER, CST_STR_SELECT_VALID_ENTRY, CST_STR_ENTER_DUPLICATE_MESSAGE, + CST_STR_REJECT_MESSAGE, CST_STR_ENTER_MESSAGE, - CST_STR_PREFIX_DIALLING_LIST, CST_STR_SOUND, CST_STR_VIBRATION, + CST_STR_CALL_ANSWERING_ENDING, CST_STR_CALL_FORWARDING, CST_STR_ENABLE_PREFIX_DIALLING, - CST_STR_PREFIX_DIALLING_NUMBER, + CST_STR_AUTO_AREA_CODE, + CST_STR_ACCEPT_CALL_BY_HOME_KEY, + CST_STR_POWER_KEY_ENDS_CALL, + CST_STR_SPEED_DIAL, + CST_STR_AUTO_REJECT_LIST, + CST_STR_ENTER_NUMBER_TO_REJECT, CST_STR_SELECT_NUMBER, + CST_STR_VIDEO_CALL_SETTINGS, + CST_STR_VIDEO_CALL_IMAGE, + CST_STR_SET_DEFAULT_HIDE_ME_IMAGE, + CST_STR_CHOOSE_FROM_GALLERY, + CST_STR_TAKE_A_PICTURE, + CST_STR_CHANGE, + CST_STR_OWN_VIDEO_IN_RECEIVED_CALL, + CST_STR_OWN_VIDEO_HELP_MSG, CST_STR_MINUTE_REMINDER, + CST_STR_MANAGE_ANSWERING_ENDING_CALL_MODE, + CST_STR_EDIT_REJECT_MESSAGE, CST_STR_EDIT_SOUND_SETTINGS_DURING_CALL, - CST_STR_DO_NOT_REDIAL_IF_CALL_IS_UNABLE, + CST_STR_SHOW_PRESET_IMAGE_TO_CALLER, + CST_STR_ACCEPT_INCOMING_CALLS_BY_PRESSING_THE_HOME_KEY, + CST_STR_PRESS_POWER_KEY_TO_ENDS_CALLS, CST_STR_MANAGE_PREFIX_DIALING_NUMBERS, CST_STR_THERE_WILL_BE_WEHN_LINE_IS_CONNECTED, CST_STR_THERE_WILL_BE_EVERY_A_MINUTE, @@ -70,10 +98,70 @@ enum { CST_STR_SELECT_MESSAGE, CST_STR_NO_NUMBERS, CST_STR_FORWARD_TO, + CST_STR_VOICE_CALL_BARRING, + CST_STR_VOICE_MAIL, CST_STR_INSERT_SIM_CARD, CST_STR_CHNAGE_FLIGHT_MODE_MESSAGE, CST_STR_NO_MESSAGE, CST_STR_DEFAULT_IMAGE, + CST_STR_AUTO_SCREEN_OFF_DURING_CALL, + CST_STR_PROXIMITY_SENSOR_HELP_MSG, + CST_STR_UNABLE_TO_TURN_OFF_PROXIMITY, + CST_STR_UNABLE_TO_SET_POWER_KEY_END_CALL, + CST_STR_MORE_CALL_SETTINGS, + CST_STR_VOICE_MAIL_SETTINGS, + CST_STR_VOICE_MAIL_NUMBER, + CST_STR_VIDEO_CALL_BARRING, + CST_STR_VOICE_CALL_FORWARDING, + CST_STR_VIDEO_CALL_FORWARDING, + CST_STR_ACCESSORY_SETTINGS_FOR_CALL, + CST_STR_SET_ACCESSORY_OPTIONS_FOR_CALLS, + CST_STR_OUTGOING_CALL_CONDITIONS, + CST_STR_OUTGOING_CALL_TYPE, + CST_STR_FOLLOW_LAST_CALL_LOG, + CST_STR_EVEN_WHEN_DEVICE_LOCKED, + CST_STR_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED, + CST_STR_ONLY_WHEN_DEVICE_UNLOCKED, + CST_STR_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS, + CST_STR_BOOST_LOW_TONES, + CST_STR_BOOST_HIGH_TONES, + CST_STR_EYE_CONTACT, + CST_STR_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS, + CST_STR_NOISE_REDUCTION, + CST_STR_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS, + CST_STR_FOR_LEFT_EAR, + CST_STR_FOR_RIGHT_EAR, + CST_STR_PERSONALISED_EQ, + CST_STR_FIND_THE_BEST_EQ_FOR_YOU, + CST_STR_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL, + CST_STR_OPTIMISED_FOR_LEFT_EAR, + CST_STR_OPTIMISED_FOR_RIGHT_EAR, + CST_STR_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER, + CST_STR_REJECT_MESSAGES, + CST_STR_USE_EXTRA_VOL_FOR_CALLS, + CST_STR_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS, + CST_STR_INCREASE_VOLUME_IN_POCKET, + CST_STR_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG, + CST_STR_FIXED_DIALLING_NUMBERS, + CST_STR_FDN_CONTACTS, + CST_STR_FIXED_DIALLING_MODE, + CST_STR_PIN2, + CST_STR_CREATE_CONTACT, + CST_STR_NUMBER, + CST_STR_SELECT_CONTACTS, + CST_CREATE_FDN_CONTACT, + CST_FDN_CONTACT, + CST_STR_FORWARDING, + CST_STR_WAITING_TIME, + CST_STR_WAITING_TIME_5_SEC, + CST_STR_WAITING_TIME_10_SEC, + CST_STR_WAITING_TIME_15_SEC, + CST_STR_WAITING_TIME_20_SEC, + CST_STR_WAITING_TIME_25_SEC, + CST_STR_WAITING_TIME_30_SEC, + CST_STR_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU, + CST_STR_MY_CALL_SOUND, + CST_STR_MY_CALL_SOUND_SETTINGS, CST_SYS_STRING, CST_STR_ON, @@ -99,6 +187,9 @@ enum { CST_STR_DELETED, CST_STR_PHONE, CST_STR_APP_NOT_INSTALLED, + CST_STR_OK, + CST_STR_POP_CANCEL, + CST_STR_NAME, }; const char *_cst_get_text(int str_id); @@ -106,3 +197,4 @@ const char *_cst_get_text(int str_id); #define S_(text) dgettext("sys_string", text) #endif + diff --git a/include/cst-common.h b/include/cst-common.h index c2829e7..4f7d8ab 100755 --- a/include/cst-common.h +++ b/include/cst-common.h @@ -1,48 +1,45 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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_SETTING_COMMON_H_ -#define __CALL_SETTING_COMMON_H_ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CST_COMMON_H_ +#define _CST_COMMON_H_ #include #include #include -#include "cst-debug.h" - -#ifdef _ -#undef _ -#endif +#include +#include +#include -#ifdef N_ -#undef N_ -#endif +#include "cst-debug.h" +#include #define UGNAME "ug-setting-call-efl" -#define _(s) dgettext(UGNAME, s) -#define dgettext_noop(s) (s) -#define N_(s) dgettext_noop(s) #define _EDJ(o) elm_layout_edje_get(o) #define EDJ_DIR "/opt/ug/res/edje/"UGNAME #define EDJ_NAME EDJ_DIR"/call-setting.edj" #define THEME_NAME EDJ_DIR"/call-setting-theme.edj" #define IMG_DIR "/opt/ug/res/images/"UGNAME #define CISS_DEBUG_FILE "/opt/media/.tmp/debug/ciss.log" +#define CST_LOCALE "/opt/ug/res/locale" #define CST_MAX_PASSWORD_LEN 4 -#define CST_MAX_PREFIX_NUM 5 +#define CST_MAX_REJECT_NUM 30 +#define CST_MAX_PREFIX_NUM 1 +#define CST_MAX_REJECT_MESSAGE_NUM 5 #define CST_MAX_ITEM_TEXT_BUFFER_LEN 140 #define CST_MAX_PHONE_NUMBER_LEN 100 #define CST_MAX_PREFIX_NUMBER_LEN 20 @@ -52,49 +49,40 @@ #define CST_CTRL_ICON_DELETE IMG_DIR"/01_controlbar_icon_delete.png" #define CST_CTRL_ICON_EDIT IMG_DIR"/01_controlbar_icon_edit.png" #define CST_CTRL_ICON_UPDATE IMG_DIR"/01_controlbar_icon_update.png" -#define CST_VIDEO_CALL_IMAGE_DEFAULT_PATH IMG_DIR"/video_call_image_default.jpg" -#define CST_VIDEO_CALL_IMAGE_CHANGED_PATH "/opt/data/ug-setting-call/.changed_video_call_image.jpg" +#define CST_CTRL_ICON_CONTACTS IMG_DIR"/01_controlbar_icon_contacts.png" + + +#define CST_UG_BUNDLE_TYPE "type" + -/** - * This enumeration defines the error codes returned from engine to UI - */ typedef enum { - CST_ERR_NONE = 0x00, /**< numberOfPW_AttemptsViolation*/ - - /*NETWORK ERRORS */ - /* Show message Not Available for Vodafone R11 */ - CST_ERR_UNKNOWN_SUBSCRIBER = 0x01, /**< unknownSubscriber "Invalid User Number" */ - CST_ERR_BEARER_NOT_PROVISIONED = 0x02, /**< BearerServiceNotProvisioned "Request Rejected" */ - CST_ERR_TELESERVICE_NOT_PROVISIONED = 0x03, /**< TeleServiceNotProvisioned */ - CST_ERR_CALL_BARRED = 0x04, /**< CallBarred */ - CST_ERR_ILLEGAL_SS_OPER = 0x05, /**< illegalSS_Operation */ - CST_ERR_ERR_STATUS = 0x06, /**< ss_ErrorStatus */ - CST_ERR_NOT_AVAIL = 0x07, /**< ss_NotAvailable "Service not available" */ - CST_ERR_SUBSCRIPTION_VIOLATION = 0x08, /**< ss_SubscriptionViolation */ - CST_ERR_INCOMPATIBILITY = 0x09, /**< ss_Incompatibility */ - CST_ERR_FACILITY_NOT_SUPPORT = 0x0a, /**< FacilityNotSupported */ - CST_ERR_SYS_FAILURE = 0x0b, /**< "SystemFailure "Please try again" */ - CST_ERR_DATA_MISSING = 0x0c, /**< DataMissing */ - CST_ERR_UNEXPECTED_DATA = 0x0d, /**< UnexpectedDataValue 0x13 */ - CST_ERR_MPTY_PARTICIPANTS_EXCEED = 0x0e, /**< maxNumberOfMPTY_ParticipantsExceeded */ - CST_ERR_RESOURCE_NOT_AVAIL = 0x0f, /**< ResourcesNotAvailable */ - /*Show message Password error for Vodafone R11 */ - CST_ERR_PW_REGIST_FAIL = 0x10, /**< PasswordRegistrationFailure ( ex:password mismatch ) */ - CST_ERR_NEGATIVE_PW_CHECK = 0x11, /**< NegativePasswordCheck */ - /*Show message password error - this function has been locked, so please call customer center for Vodafone R11 */ - CST_ERR_PW_ATTEMPS_VIOLATION = 0x12, /**< numberOfPW_AttemptsViolation*/ - - /*PHONE ERRORS */ - CST_ERR_NETWORK_API_FAILED = 0x13, /**< Telephony API call failed*/ - CST_ERR_DIVERT_TO_EMERGENCY_BLOCKED = 0x14, /**< Call diverting to an emergency number not allowed*/ - - /* Call barring password mismatch errors */ - CST_ERR_CB_PWD_TOO_SORT = 0x15, /**< Password is too short - less than 4 characters*/ - CST_ERR_CB_PWD_MISMATCH = 0x16, /**< Password do not match - unequal password*/ - CST_ERR_CB_PWD_TOO_LONG = 0x17, /**< Password is too long - greater than 4 characters*/ - - CST_ERR_UNKNOWN = 0xff, /**< unknown error*/ + CST_ERR_NONE = 0x00, + + CST_ERR_UNKNOWN_SUBSCRIBER = 0x01, + CST_ERR_BEARER_NOT_PROVISIONED = 0x02, + CST_ERR_TELESERVICE_NOT_PROVISIONED = 0x03, + CST_ERR_CALL_BARRED = 0x04, + CST_ERR_ILLEGAL_SS_OPER = 0x05, + CST_ERR_ERR_STATUS = 0x06, + CST_ERR_NOT_AVAIL = 0x07, + CST_ERR_SUBSCRIPTION_VIOLATION = 0x08, + CST_ERR_INCOMPATIBILITY = 0x09, + CST_ERR_FACILITY_NOT_SUPPORT = 0x0a, + CST_ERR_SYS_FAILURE = 0x0b, + CST_ERR_DATA_MISSING = 0x0c, + CST_ERR_UNEXPECTED_DATA = 0x0d, + CST_ERR_MPTY_PARTICIPANTS_EXCEED = 0x0e, + CST_ERR_RESOURCE_NOT_AVAIL = 0x0f, + CST_ERR_PW_REGIST_FAIL = 0x10, + CST_ERR_NEGATIVE_PW_CHECK = 0x11, + CST_ERR_PW_ATTEMPS_VIOLATION = 0x12, + CST_ERR_NETWORK_API_FAILED = 0x13, + CST_ERR_DIVERT_TO_EMERGENCY_BLOCKED = 0x14, + CST_ERR_CB_PWD_TOO_SORT = 0x15, + CST_ERR_CB_PWD_MISMATCH = 0x16, + CST_ERR_CB_PWD_TOO_LONG = 0x17, + + CST_ERR_UNKNOWN = 0xff, } CstErr_t; @@ -126,6 +114,16 @@ enum { }; enum { + CST_OUTGOING_CALL_CONDITIONS_PHONE_LOCKED, + CST_OUTGOING_CALL_CONDITIONS_PHONE_UNLOCKED, +}; + +enum { + CST_OUTGOING_CALLTYPE_LAST_CALL_LOG, + CST_OUTGOING_CALLTYPE_VOICE, +}; + +enum { CST_STATUS_ACTIVATED, CST_STATUS_DEACTIVATED, CST_STATUS_UNKNOWN, @@ -133,7 +131,6 @@ enum { enum { CST_CALLTYPE_VOICE, - CST_CALLTYPE_VIDEO, CST_CALLTYPE_ALL, }; @@ -186,17 +183,39 @@ enum { CST_GL_ITEM_HELP_TEXT, CST_GL_ITEM_2TEXT_ONOFF_PROGRESS, CST_GL_ITEM_IMG_1TEXT, + CST_GL_ITEM_2TEXT, + CST_GL_ITEM_2TEXT_EXPANDABLE, + CST_GL_ITEM_2TEXT_1ICON, CST_GL_ITEM_NONE, }; enum { - CST_DL_PREFIX_DIALING, + CST_DL_AUTO_REJECT, + CST_DL_REJECT_CALL_WITH_MSG, CST_DL_NONE, }; +enum { + CST_UG_REQ_NONE = 0, + + CST_UG_REQ_AUTO_REJECT, + CST_UG_REQ_REJECT_MSG, + CST_UG_REQ_CALL_ANSWER_END, + CST_UG_REQ_CALL_FORWARD, + CST_UG_REQ_MORE_SETTINGS, + CST_UG_REQ_CALL_BAR, + CST_UG_REQ_CALL_WAIT, + CST_UG_REQ_CALL_STATUS_TONE, + CST_UG_REQ_PREFIX, + CST_UG_REQ_VIDEO_CALL_IMG, + CST_UG_REQ_VOICE_MAIL, +}; + typedef enum { + CST_IME_AUTO_REJECT, CST_IME_PREFIX_DIAL, + CST_IME_REJECT_MSG, CST_IME_CALL_FORWARD, CST_IME_CALL_BAR, @@ -211,12 +230,19 @@ typedef struct { Evas_Object_Event_Cb func; } CstGlItemDisplayInfo_t; +typedef struct +{ + char reject_number[CST_MAX_PHONE_NUMBER_LEN]; + int is_activate; + int reject_id; + int rule; +}CstRejectInfo_t; + typedef struct { Evas_Object *base; Evas_Object *bg; Evas_Object *win_main; - struct ui_gadget *ug; - struct ui_gadget *invoked_ug; + void *ug; Evas_Object *nf; Evas_Object *controlbar; Evas *evas; @@ -226,25 +252,32 @@ typedef struct { Evas_Object *selectinfo; Evas_Object *selectinfo_layout; Evas_Object *select_backup; + int ug_req_type; + + double scale; - /* IME */ Evas_Object *dg_entry; + Evas_Object *dg_entry_contact_name; + Evas_Object *dg_entry_contact_number; - /*Navigation Bar */ Elm_Object_Item *c_item[10]; - /*Alerts On Call */ Evas_Object *rdg_alerts_on_call; - /*All Calls */ - /*Show My Number */ Evas_Object *rdg_show_my_number; - /*Prefix Dialling */ - Evas_Object *prefix_rdg; + Evas_Object *rdg_outgoing_call_conditions; + + Evas_Object *rdg_outgoing_call_type; + + Eina_List *reject_list; + Eina_List *load_list; + phone_misc_h *reject_handle; + ph_misc_block_rules reject_rule; + Evas_Object *rdg_reject_rule; + Elm_Object_Item *prefix_gl_list_item; - /*voice, video call */ int cf_state[4]; Elm_Object_Item *cf_gl_item[4]; int cb_state[5]; @@ -254,10 +287,13 @@ typedef struct { int cw_state; Eina_Bool original_state; + Elm_Object_Item *vm_gl_item; + int call_type; int cb_flavour; int cf_flavour; Eina_List *req_queue; + GSList *sim_req_list; Eina_Bool is_requesting; Evas_Object *backup_genlist; @@ -265,10 +301,18 @@ typedef struct { GSList *tel_event_subscription_list; Evas_Object *video_call_img; + + TapiHandle *tapi_handle; + Eina_Bool fdn_status; + int sim_lock_status; + int sim_lock_retry_account; } CstUgData_t; typedef struct _Item_Data { int index; + int reject_id; + int reject_rule; + int str_id; Elm_Object_Item *gl_item; Elm_Object_Item *parent_gl_item; char *label; @@ -283,4 +327,5 @@ typedef struct _Item_Data { void *ugd; } CstGlItemData_t; -#endif /* __CALL_SETTING_COMMON_H_ */ +#endif + diff --git a/include/cst-debug.h b/include/cst-debug.h index 6832eb4..9fcae5f 100755 --- a/include/cst-debug.h +++ b/include/cst-debug.h @@ -1,21 +1,22 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 #include + #ifndef CISS_LOG_TAG #define CISS_LOG_TAG "CISS" #endif @@ -46,37 +47,42 @@ #define ERR(fmt, arg...) \ do { \ - LOGE(""fmt"\n", ##arg); \ + LOG(LOG_INFO, CISS_LOG_TAG, "[CISS][%s:%d] "fmt"\n", __func__, __LINE__, ##arg); \ } while(0) -# define warn_if(expr, fmt, arg...) do { \ +#define warn_if(expr, fmt, arg...) do { \ if(expr) { \ DBG("(%s) -> "fmt, #expr, ##arg); \ } \ } while (0) -# define ret_if(expr) do { \ + +#define ret_if(expr) do { \ if(expr) { \ DBG("(%s) -> %s() return", #expr, __FUNCTION__); \ return; \ } \ } while (0) -# define retv_if(expr, val) do { \ + +#define retv_if(expr, val) do { \ if(expr) { \ DBG("(%s) -> %s() return", #expr, __FUNCTION__); \ return (val); \ } \ } while (0) -# define retm_if(expr, fmt, arg...) do { \ + +#define retm_if(expr, fmt, arg...) do { \ if(expr) { \ ERR(fmt, ##arg); \ DBG("(%s) -> %s() return", #expr, __FUNCTION__); \ return; \ } \ } while (0) -# define retvm_if(expr, val, fmt, arg...) do { \ + +#define retvm_if(expr, val, fmt, arg...) do { \ if(expr) { \ ERR(fmt, ##arg); \ DBG("(%s) -> %s() return", #expr, __FUNCTION__); \ return (val); \ } \ } while (0) + diff --git a/include/cst-delete-list.h b/include/cst-delete-list.h index bdc6a35..14f65c8 100755 --- a/include/cst-delete-list.h +++ b/include/cst-delete-list.h @@ -1,22 +1,25 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CISS_SETTING_DELETE_LIST_H_ -#define _CISS_SETTING_DELETE_LIST_H_ +#ifndef _CST_DELETE_LIST_H_ +#define _CST_DELETE_LIST_H_ #include + void _cst_create_delete_list(void *data, Evas_Object *obj, void *event_info); + #endif + diff --git a/include/cst-forwarding-ime.h b/include/cst-forwarding-ime.h index e660577..d862009 100755 --- a/include/cst-forwarding-ime.h +++ b/include/cst-forwarding-ime.h @@ -1,24 +1,26 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CISS_SETTING_CALL_FORWARDING_VIEW_H_ -#define _CISS_SETTING_CALL_FORWARDING_VIEW_H_ +#ifndef _CST_FORWARDING_IME_H_ +#define _CST_FORWARDING_IME_H_ #include + Evas_Object *_cst_create_cf_ime(Evas_Object *parent, char *edit_string, void *data); int _cst_get_input_number(char *buffer, void *data); #endif + diff --git a/include/cst-forwarding.h b/include/cst-forwarding.h index d9eb08a..0ee7ce0 100755 --- a/include/cst-forwarding.h +++ b/include/cst-forwarding.h @@ -1,23 +1,27 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CST_FORWARDING_H_ +#define _CST_FORWARDING_H_ -#if !defined(_VIEW_CALL_DIVERTING_DIALOG) -#define _VIEW_CALL_DIVERTING_DIALOG #include void _cst_on_click_call_forwarding(void *data, Evas *evas, Evas_Object *obj, void *event_info); +void _cst_call_forwarding_input_panel_event_callback(void *data, Ecore_IMF_Context *imf_context, int value); +void _cst_call_forward_entry_changed_cb(void *data, Evas_Object *obj, void *event_info); #endif + diff --git a/include/cst-more-call-setting.h b/include/cst-more-call-setting.h new file mode 100755 index 0000000..646d81a --- /dev/null +++ b/include/cst-more-call-setting.h @@ -0,0 +1,25 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CST_MORE_CALL_SETTING_H_ +#define _CST_MORE_CALL_SETTING_H_ + +#include + +void _cst_on_click_more_call_setting(void *data, Evas *evas, Evas_Object *obj, void *event_info); + +#endif + diff --git a/include/cst-prefix-dial-ime.h b/include/cst-prefix-dial-ime.h index 49a3e92..bb6950f 100755 --- a/include/cst-prefix-dial-ime.h +++ b/include/cst-prefix-dial-ime.h @@ -1,23 +1,25 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CISS_SETTING_PREFIX_DIALLING_IME_VIEW_H_ -#define _CISS_SETTING_PREFIX_DIALLING_IME_VIEW_H_ +#ifndef _CST_PREFIX_DIAL_IME_H_ +#define _CST_PREFIX_DIAL_IME_H_ #include + Evas_Object *_cst_create_prefix_dialling_ime(Evas_Object *parent, char *edit_string, void *data); #endif + diff --git a/include/cst-prefix-dial.h b/include/cst-prefix-dial.h index 26b49d3..1d60e47 100755 --- a/include/cst-prefix-dial.h +++ b/include/cst-prefix-dial.h @@ -1,21 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CISS_SETTING_prefix_dialling_H_ -#define _CISS_SETTING_prefix_dialling_H_ +#ifndef _CST_PREFIX_DIAL_H_ +#define _CST_PREFIX_DIAL_H_ #include @@ -25,4 +25,7 @@ int _cst_get_num_of_prefix_dialling_list(void); void _cst_set_prefix_dialling_list(int index, char *number); void _cst_genlist_append_dialling_list_item(CstUgData_t *ugd, Evas_Object *genlist); void _cst_set_active_prefix_vconf(int i); +void _cst_prefix_dialling_input_panel_event_callback(void *data, Ecore_IMF_Context *imf_context, int value); + #endif + diff --git a/include/cst-reject-msg-ime.h b/include/cst-reject-msg-ime.h new file mode 100755 index 0000000..80f383f --- /dev/null +++ b/include/cst-reject-msg-ime.h @@ -0,0 +1,25 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CST_REJECT_MSG_IME_H_ +#define _CST_REJECT_MSG_IME_H_ + +#include + +Evas_Object *_cst_create_reject_message_ime(Evas_Object *parent, char *edit_string, void *data); + +#endif + diff --git a/include/cst-reject-msg.h b/include/cst-reject-msg.h new file mode 100755 index 0000000..b4ad114 --- /dev/null +++ b/include/cst-reject-msg.h @@ -0,0 +1,32 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CST_REJECT_MSG_H_ +#define _CST_REJECT_MSG_H_ + +#include + +void _cst_on_click_reject_message(void *data, Evas *evas, Evas_Object *obj, void *event_info); +char *_cst_get_reject_message(int index); +void _cst_set_reject_message(int index, char *message); +int _cst_set_num_of_reject_message(int num); +int _cst_set_reject_msg_button_status(int num); +void _cst_genlist_append_reject_list_item(CstUgData_t *ugd, Evas_Object *genlist); +int _cst_get_num_of_reject_message(void); +void _cst_reject_msg_input_panel_event_callback(void *data, Ecore_IMF_Context *imf_context, int value); + +#endif + diff --git a/include/cst-status-tone.h b/include/cst-status-tone.h index 1926fcd..259fd52 100755 --- a/include/cst-status-tone.h +++ b/include/cst-status-tone.h @@ -1,23 +1,25 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CST_STATUS_TONE_H_ +#define _CST_STATUS_TONE_H_ -#ifndef _CISS_SETTING_CALL_STATUS_TONE_H_ -#define _CISS_SETTING_CALL_STATUS_TONE_H_ #include void _cst_on_click_call_status_tone(void *data, Evas *evas, Evas_Object *obj, void *event_info); #endif + diff --git a/include/cst-tapi-request.h b/include/cst-tapi-request.h index 82289ef..e4bfdc0 100755 --- a/include/cst-tapi-request.h +++ b/include/cst-tapi-request.h @@ -1,26 +1,27 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CST_TAPI_REQUEST_H_ +#define _CST_TAPI_REQUEST_H_ -#ifndef _CISS_TEL_REQUEST_H_ -#define _CISS_TEL_REQUEST_H_ #include "cst-common.h" #include #include -typedef void (*SsReqCb)(int call_type, int flavour, Eina_Bool ss_state, char *number, int error, int req_action, void *); +typedef void (*SsReqCb)(int call_type, int flavour, Eina_Bool ss_state, char *number, int error, int req_action, void *, int waiting_time); typedef struct { int call_type; @@ -33,11 +34,13 @@ typedef struct { SsReqCb func; void *data; char number[CST_MAX_PHONE_NUMBER_LEN]; -} CallSettingReq_t; + int waiting_time; + CstUgData_t *ugd; +} CallSettingSSReq_t; -void _cst_add_ss_request(Eina_List **queue, int action_type, int call_type, int flavour, char *number, void *func, void *data); +void _cst_add_ss_request(Eina_List ** queue, int action_type, int call_type, int flavour, char *number, void *func, void *data, int waiting_time, CstUgData_t *ugd); void _cst_cancel_all_ss_request(void *data); -void _cst_ciss_deregister_tel_event(void *data); void _cst_ciss_register_tel_event(void *data); #endif + diff --git a/include/cst-util.h b/include/cst-util.h index a7564ce..a474ba1 100755 --- a/include/cst-util.h +++ b/include/cst-util.h @@ -1,23 +1,26 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CISS_CST_UTIL_H_ -#define _CISS_CST_UTIL_H_ +#ifndef _CST_UTIL_H_ +#define _CST_UTIL_H_ #include +#include +#include + #include "cst-common.h" void _cst_vconf_get_bool(const char *in_key, int *boolval); @@ -28,4 +31,10 @@ void _cst_vconf_set_int(const char *in_key, const int intval); void _cst_vconf_set_str(const char *in_key, const char *strval); Eina_Bool _cst_check_flight_mode(void); Eina_Bool _cst_check_sim_status(void); +int _cst_parse_bundle(service_h service); +void _cst_on_click_ime_contact_btn(void *data, Evas_Object *obj, void *event_info); +void _cst_connect_reject_list_handle(CstUgData_t *ugd); +void _cst_disconnect_reject_list_handle(CstUgData_t *ugd); + #endif + diff --git a/include/cst-waiting.h b/include/cst-waiting.h index 2d50a9f..86c412a 100755 --- a/include/cst-waiting.h +++ b/include/cst-waiting.h @@ -1,23 +1,25 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 _CISS_SETTING_CALL_WAITING_H_ -#define _CISS_SETTING_CALL_WAITING_H_ +#ifndef _CST_WAITING_H_ +#define _CST_WAITING_H_ #include void _cst_on_click_call_waiting(void *data, Evas *evas, Evas_Object *obj, void *event_info); + #endif + diff --git a/include/cst-widget.h b/include/cst-widget.h index 469e7d4..985c0af 100755 --- a/include/cst-widget.h +++ b/include/cst-widget.h @@ -1,21 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 __CISS_COMMON_DRAW_WIDGET_H_ -#define __CISS_COMMON_DRAW_WIDGET_H_ +#ifndef _CST_WIDGET_H_ +#define _CST_WIDGET_H_ #include #include "cst-common.h" @@ -25,12 +25,14 @@ #define BOTTOM_PADDING_CONTENT_SOURCE "layout" Evas_Object *_cst_create_error_popup(Evas_Object *parent, int error_code); +Evas_Object *_cst_create_2btn_popup(Evas_Object *parent, CstGlItemData_t *item_data); Evas_Object *_cst_create_navi_control_bar(Evas_Object *parent, char *label1, const char *icon1, Evas_Smart_Cb cb1, char *label2, const char *icon2, Evas_Smart_Cb cb2, void *data, Elm_Object_Item *navi_it, Elm_Object_Item ** c_item); -void _cst_create_genlist_seperator(Evas_Object *genlist, Eina_Bool need_item_data); +void _cst_create_genlist_separator(Evas_Object *genlist, Eina_Bool need_item_data); +void _cst_create_genlist_separator_no_line(Evas_Object *genlist); void _cst_create_genlist_underline(Evas_Object *genlist); Elm_Object_Item *_cst_create_genlist_update_underline(Evas_Object *genlist); Evas_Object *_cst_create_progressbar(Evas_Object *parent); @@ -46,4 +48,8 @@ Evas_Object *_cst_create_title_btn(Evas_Object *parent, void _cst_remove_naviframe(Evas_Object *nf); Evas_Object *_cst_create_ime_editfield(CstUgData_t *ugd, Evas_Object *parent, CstImeType_t ime_type, char *input_string); +Evas_Object *_cst_create_ime_btn_layout(Evas_Object *parent, + Evas_Object *ef, Evas_Smart_Cb cb, void *cb_data); + #endif + diff --git a/libug-setting-call-efl.ini b/libug-setting-call-efl.ini old mode 100755 new mode 100644 diff --git a/packaging/call-setting.spec b/packaging/call-setting.spec index 7fd48bf..5c3fc5b 100755 --- a/packaging/call-setting.spec +++ b/packaging/call-setting.spec @@ -1,9 +1,9 @@ Name: call-setting Summary: Call Settings -Version: 0.2.82 +Version: 0.2.104 Release: 1 -Group: Settings -License: Flora Software License +Group: TBD +License: Flora Software License Source0: %{name}-%{version}.tar.gz BuildRequires: pkgconfig(appcore-efl) @@ -18,11 +18,14 @@ BuildRequires: pkgconfig(ecore-file) BuildRequires: pkgconfig(dlog) BuildRequires: pkgconfig(aul) BuildRequires: pkgconfig(db-util) -BuildRequires: pkgconfig(ui-gadget) BuildRequires: pkgconfig(contacts-service) -BuildRequires: pkgconfig(bundle) +BuildRequires: pkgconfig(phone-misc) +BuildRequires: pkgconfig(msg-service) +BuildRequires: pkgconfig(capi-appfw-application) +BuildRequires: pkgconfig(capi-appfw-app-manager) +BuildRequires: pkgconfig(ui-gadget-1) BuildRequires: cmake -BuildRequires: gettext-tools +BuildRequires: gettext BuildRequires: libug-contacts-devel BuildRequires: edje-bin, embryo-bin @@ -44,11 +47,11 @@ make %{?jobs:-j%jobs} %make_install mkdir -p %{buildroot}/opt/data/ug-setting-call -%find_lang ug-setting-call-efl - %post -vconftool set -t int db/ciss/show_my_number "1" -g 6514 -vconftool set -t bool db/ciss/auto_reject "0" -g 6514 +chown -R 5000:5000 /opt/data/ug-setting-call + +vconftool set -t int db/ciss/show_my_number "0" -g 6514 +vconftool set -t bool db/ciss/auto_reject "1" -g 6514 vconftool set -t bool db/ciss/auto_reject_unknown "0" -g 6514 vconftool set -t bool db/ciss/prefix_dial "0" -g 6514 vconftool set -t int db/ciss/prefix_dial_cnt "0" -g 6514 @@ -57,35 +60,39 @@ vconftool set -t string db/ciss/prefix_dial_num2 "" -g 6514 vconftool set -t string db/ciss/prefix_dial_num3 "" -g 6514 vconftool set -t string db/ciss/prefix_dial_num4 "" -g 6514 vconftool set -t string db/ciss/prefix_dial_num5 "" -g 6514 -vconftool set -t bool db/ciss/reject_call_message "0" -g 6514 -vconftool set -t int db/ciss/reject_call_message_cnt "4" -g 6514 -vconftool set -t string db/ciss/user_create_message1 "I'll call you later" -g 6514 -vconftool set -t string db/ciss/user_create_message2 "I'm in a meeting" -g 6514 -vconftool set -t string db/ciss/user_create_message3 "I'm in class now" -g 6514 -vconftool set -t string db/ciss/user_create_message4 "I'm driving" -g 6514 -vconftool set -t string db/ciss/user_create_message5 "" -g 6514 +vconftool set -t int db/ciss/reject_call_message_cnt "5" -g 6514 +vconftool set -t string db/ciss/user_create_message1 "IDS_CST_BODY_IM_DRIVING" -g 6514 +vconftool set -t string db/ciss/user_create_message2 "IDS_CST_BODY_IM_IN_A_MEETING" -g 6514 +vconftool set -t string db/ciss/user_create_message3 "IDS_CST_BODY_IM_IN_CLASS_NOW" -g 6514 +vconftool set -t string db/ciss/user_create_message4 "IDS_CST_BODY_IM_AT_THE_CINEMA" -g 6514 +vconftool set -t string db/ciss/user_create_message5 "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" -g 6514 +vconftool set -t string db/ciss/user_create_message6 "" -g 6514 vconftool set -t int db/ciss/answering_mode "0" -g 6514 vconftool set -t int db/ciss/answering_mode_time "1" -g 6514 -vconftool set -t bool db/ciss/call_connect_tone "0" -g 6514 +vconftool set -t bool db/ciss/call_connect_tone "1" -g 6514 vconftool set -t bool db/ciss/minute_minder "0" -g 6514 -vconftool set -t bool db/ciss/call_end_tone "0" -g 6514 -vconftool set -t int db/ciss/alert_on_call "0" -g 6514 +vconftool set -t bool db/ciss/call_end_tone "1" -g 6514 +vconftool set -t int db/ciss/alert_on_call "1" -g 6514 vconftool set -t string db/ciss/video_image_path "/opt/ug/res/images/ug-setting-call-efl/video_call_image_default.jpg" -g 6514 -vconftool set -t bool db/ciss/own_video "0" -g 6514 -vconftool set -t bool db/ciss/use_call_fail_options "0" -g 6514 -vconftool set -t bool db/ciss/voice_auto_redial "0" -g 6514 -vconftool set -t bool db/ciss/video_auto_redial "0" -g 6514 -vconftool set -t int db/ciss/prefix_dial_value "1" -g 6514 -vconftool set -t int db/ciss/reject_call_message_value "0" -g 6514 -vconftool set -t bool db/ciss/call_diverting_indicator "0" -g 6514 +vconftool set -t bool db/ciss/own_video "1" -g 6514 +vconftool set -t int db/ciss/prefix_dial_value "0" -g 6514 vconftool set -t bool db/ciss/call_answering_key "0" -g 6514 vconftool set -t bool db/ciss/call_power_key_ends_call "0" -g 6514 -chown -R 5000:5000 /opt/data/ug-setting-call +vconftool set -t bool db/ciss/proximity_sensor "1" -g 6514 +vconftool set -t int db/ciss/outgoing_call_conditions "0" -g 6514 +vconftool set -t int db/ciss/outgoing_call_type "1" -g 6514 +vconftool set -t bool db/ciss/eye_contact "0" -g 6514 +vconftool set -t bool db/ciss/noise_reduction "1" -g 6514 +vconftool set -t int db/ciss/in_call_sound_eq "0" -g 6514 +vconftool set -t bool db/ciss/extra_vol "1" -g 6514 +vconftool set -t bool db/ciss/increase_ringtone "1" -g 6514 -%files -f ug-setting-call-efl.lang -/opt/data/ug-setting-call +%files +%defattr(-,root,root,-) +%attr(-,inhouse,inhouse) /opt/data/ug-setting-call /opt/ug/lib/libug-setting-call-efl.so /opt/ug/res/edje/ug-setting-call-efl/call-setting-theme.edj /opt/ug/res/edje/ug-setting-call-efl/call-setting.edj /opt/ug/res/edje/ug-setting-call-efl/ug_effect.edj /opt/ug/res/images/ug-setting-call-efl/* +/opt/ug/res/locale/*/LC_MESSAGES/ug-setting-call-efl.mo diff --git a/po/de_DE.po b/po/de_DE.po index e852aa3..3638227 100755 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -1,57 +1,33 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "Wenn Sie einen Anruf tätigen, können Sie eine häufig verwendete Vorwahl automatisch im Wählfeld hinzufügen" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "Bevor Sie diese Funktion nutzen können, müssen Sie den besten EQ für sich finden. Jetzt suchen?" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "Zur Sperrliste hinzufügen" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "Kontakte für die Kurzwahl auswählen" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "Automatisches Antworten" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "Eingehende Anrufe werden nur für markierte Sperrliste abgewiesen" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "Mailbox" -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "Sie können eine Textnachricht an abgewiesene Anrufer senden" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "Kontakte auswählen" -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "Sperrliste" - -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "Anruf beantworten" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "Automatisches Antworten" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "Nachricht ablehnen" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "Nach %d Sekunden" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "Eingehende Anrufe werden automatisch beantwortet. Automatisches Antworten funktioniert nur mit einem verbundenen Headset. Automatisches Antworten ist nicht möglich, wenn der Klingelton auf “Stumm” gestellt ist" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "Vorwahlnummer" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "Präfixnummer leer" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "Aktivieren" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "Kontakt erstellen" msgid "IDS_CST_BODY_ALERTS_ON_CALL" msgstr "Signaltöne beim Anruf" -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "Alle Anrufe" - msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" msgstr "Alle eingehenden Anrufe" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" msgstr "Alle ausgehenden Anrufe" -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "Antwortmodus" - msgid "IDS_CST_BODY_AUTO_REDIAL" msgstr "Automatische Wahlwiederholung" @@ -67,15 +43,9 @@ msgstr "Anrufsperre" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" msgstr "Verbindungston" -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "Anrufumleitung" - msgid "IDS_CST_BODY_CALL_END_TONE" msgstr "Anruf-Ende-Ton" -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "Anrufeinstellungen" - msgid "IDS_CST_BODY_CALL_STATUS_TONES" msgstr "Rufstatustöne" @@ -85,18 +55,9 @@ msgstr "Anklopfen" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "Status überprüfen" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "Deaktivieren" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "Umleiten an" - msgid "IDS_CST_BODY_ENTER_NUMBER" msgstr "Nummer eingeben" -msgid "IDS_CST_BODY_FAX" -msgstr "Fax" - msgid "IDS_CST_BODY_HIDE" msgstr "Ausblenden" @@ -109,27 +70,12 @@ msgstr "Ich bin im Kino" msgid "IDS_CST_BODY_IM_DRIVING" msgstr "Ich fahre gerade" -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "Ich bin in einer Besprechung" - msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" msgstr "Ich bin im Unterricht" -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Passwort eingeben" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "International außer ins Heimatland" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "Minutenton" - msgid "IDS_CST_BODY_NUMBER" msgstr "Nummer" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "Ausgehende intern. Anrufe" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" msgstr "Anruf mit Nachricht abweisen" @@ -139,12 +85,6 @@ msgstr "Rufnummernübertragung" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" msgstr "Tippen zum Eingeben der Zahl" -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "Falsche Rufumleitungsnummer" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "Bedingt" - msgid "IDS_CST_HEADER_IF_BUSY" msgstr "Falls besetzt" @@ -157,104 +97,41 @@ msgstr "Falls nicht erreichbar" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "Vorwahl" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "Asynchrone Daten hinzufügen" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "Alle Übertragungsdienste" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "Alle Datendienste" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "Alle PADCA-Dienste" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "Alle PDS-Dienste" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "Alle PLMN-Übertragungstypen" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "Alle Dienste" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "Alle synchronen Dienste" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "Alle Telekom-Dienste" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "Antwortnummer wird bei Anruf nicht angezeigt" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "Antwortnummer wird bei Anruf angezeigt" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "Asynchrone Datendienste" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "Anrufer-ID verfügbar" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "Anrufer-ID verborgen" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "Anruferkennung beschränkt" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "Anruferkennung wird angezeigt" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "Aktueller Status wird überprüft..." - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "Nummer eingeben, an die die Anrufe weitergeleitet werden sollen" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "Illegaler Nutzer" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" msgstr "Eingehende im Roamingnetz" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "Ungültiger Vorgang" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "Internationale Anrufe außer ins Heimatland" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "Eigene Rufnummer wird nicht gesendet, wenn Anrufe beantwortet werden." - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "Eigene Rufnummer wird nicht gesendet, wenn angerufen wird." - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "Meine Anrufer-ID wird beim Annehmen von Anrufen gesendet" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "Meine Anrufer-ID wird beim Anrufen gesendet" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "Passwort gesperrt" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "Vom Netz abgewiesen" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "Anforderung läuft..." +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "Unbekannter Vorgang" + +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "FDN-Modus" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "Dienst nicht autorisiert" +msgid "IDS_ST_BODY_PIN2" +msgstr "PIN2" -msgid "IDS_CST_POP_STATUS" -msgstr "Status" +msgid "IDS_ST_BODY_PUK2" +msgstr "PUK2" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "Unbekannter Vorgang" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "PUK2 gesperrt" + +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "PIN2 gesperrt" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "Autom. Antworten" +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "PIN2 geändert" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "PIN2 entsperrt" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" msgstr "Bild für Videoanruf" @@ -275,7 +152,7 @@ msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_THE_HOME_KEY" msgstr "Anrufannahme mit Start" msgid "IDS_CST_BODY_ACCEPT_INCOMING_CALLS_BY_PRESSING_THE_HOME_KEY" -msgstr "Nehmen Sie eingehende Anrufe entgegen, indem Sie die Starttaste drücken." +msgstr "Nehmen Sie eingehende Anrufe entgegen, indem Sie die Home-Taste drücken." msgid "IDS_CST_BODY_AFTER_PD_SECONDS" msgstr "Nach %d Sekunden" @@ -292,9 +169,6 @@ msgstr "Nach 1 Sekunde" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" msgstr "Ein-/Aus-Taste drücken, um Anrufe zu beenden. Bildschirm wird dabei nicht deaktiviert." -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "Vorwahl" - msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "Präfix-Wählen aktivieren" @@ -370,14 +244,8 @@ msgstr "Es wird ein akustisches Signal ausgegeben, wenn die Verbindung getrennt msgid "IDS_CST_SK3_CANCEL" msgstr "Abbrechen" -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "Service nicht verfügbar" - msgid "IDS_CST_POP_INVALID_PASSWORD" -msgstr "Ungültiges Kennwort" - -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "Passwort ändern" +msgstr "Ungültiges Passwort" msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" msgstr "Benachrichtigungen über eingehende Anrufe während eines laufenden Anrufs" @@ -403,9 +271,6 @@ msgstr "Sound-Einstellungen während des Anrufs" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "Autom. Antwort aktivieren" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "Antworttaste" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" msgstr "Liste für autom. Abweisung" @@ -418,9 +283,6 @@ msgstr "Präfix-Wählen verwalten" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" msgstr "Anr. mit Startt. anehmen" -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "Ich bin im Unterricht" - msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "Nachricht eingeben" @@ -448,3 +310,177 @@ msgstr "Standardbild" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "Modus für autom. Ablehnen aktiviert" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "Eigenes Video bei eingehendem Anruf" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "Annäherungssensor" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "Automatische Bildschirmabschaltung bei Anrufen aktiviert." + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "Zusätzliche Einstellungen" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "Standardbild festlegen" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "Dem Anrufer ein Live-Bild zeigen, wenn der Benutzer den Videoanruf annimmt." + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "Videoanrufeinstellungen" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "Mailboxeinstellungen" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "Anruf ablehnen" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "Passende Kriterien" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "Identisch mit" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "Beginnt mit" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "Enthält" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "Mobilbox-Nummer" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "Ich bin in einer Besprechung" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "Service nicht verfügbar" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "Eigene Rufnummer anzeigen" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "Autom. Bildschirmabschaltung bei Anrufen" + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "Ablehnungsnachrichten" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "Umgebungssensor bei Gesprächen aktivieren" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "Annäherungssensor kann nicht deaktiviert werden, wenn die Ein-/Aus-Taste für das Beenden von Anrufen festgelegt ist. Die Ein-/Aus-Taste kann keine Anrufe mehr beenden." + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "Automatischer Ländercode" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "Ein-/Aus-Taste kann nicht für das Beenden von Anrufen festgelegt werden, wenn Annäherungssensor deaktiviert ist. Annäherungssensor wird eingeschaltet." + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "Tiefen-Verstärkung" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "Höhen-Verstärkung" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "Optimiert für linkes Ohr" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "Optimiert für rechtes Ohr" + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "Videoanruf sperren" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "Zubehöreinstell. für Anruf" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "Zubehöreinstellungen für Anrufe festlegen" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "Beding. f. ausgeh. Anrufe" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "Für ausgehende Anrufe" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "Letztes Anrufprotokoll" + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "Auch wenn Gerät gesp." + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "Anrufe tätigen, auch wenn das Gerät gesperrt ist" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "Nur wenn Gerät entsp." + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "BT-Headset-Einstellungen für ausgehende Anrufe" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "Augenkontakt" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "Die Augen so verändern, dass es aussieht, als ob Sie während eines Videoanrufs auf die Kamera schauen" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "Rauschen reduzieren" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "Unterdrückt bei Telefongesprächen Hintergrundgeräusche auf Ihrer Seite" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "Für linkes Ohr" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "Für rechtes Ohr" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "Personalisierter EQ" + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "Finden Sie den besten EQ für sich." + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "Bei der Rufnummernanzeige automatisch Vorwahl hinzufügen" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "Tut mir leid, bin beschäftigt. Bitte rufen Sie später zurück." + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "Ablehnungsnachrichten" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "Extralautstärke f. Anrufe" + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "Die Schaltfläche für die Extralautstärke wird bei Anrufen auf dem Bildschirm angezeigt." + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "Lautst. in Tasche erhöhen" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "Klingeltonlautstärke wird erhöht, wenn sich das Gerät in einer Tasche oder in einem Rucksack befindet." + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "Feste Rufnummern" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "FDN-Kontakte" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "FDN-Kontakt erstellen" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "FDN-Kontakt" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "Einst. “My call sound”" + diff --git a/po/el_GR.po b/po/el_GR.po index ba8fc7f..8bbb43d 100755 --- a/po/el_GR.po +++ b/po/el_GR.po @@ -1,57 +1,33 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "Όταν πραγματοποιείτε μια κλήση, μπορείτε να προσθέσετε αυτόματα στην οθόνη κλήσης ένα πρόθεμα αριθμού που χρησιμοποιείτε συχνά" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "Για να χρησιμοποιήσετε αυτήν τη λειτουργία, θα πρέπει πρώτα να βρείτε τον κατάλληλο ισοσταθμιστή για εσάς. Εύρεση τώρα;" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "Προσθήκη στη λίστα απόρριψης" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "Επιλογή επαφών ταχείας κλήσης" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "Αυτόματη απάντηση" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "Να γίνεται αυτόματη απόρριψη των εισερχόμενων κλήσεων μόνο για την ελεγμένη λίστα απόρριψης" - -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "Μπορείτε να στείλετε ένα επεξηγηματικό μήνυμα κειμένου σε καλούντες όταν απορρίπτετε τις κλήσεις τους" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "Τηλεφωνητής" -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "Λίστα απόρριψης" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "Επιλογή επαφών" -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "Απάντηση κλήσης" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "Αυτόματη απάντηση" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "Απόρριψη μηνύματος" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "Μετά από %d δευτερόλεπτα" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "Να γίνεται αυτόματη αποδοχή των εισερχομένων κλήσεων. Η αυτόματη αποδοχή θα λειτουργεί μόνο με συνδεδεμένο ακουστικό. Η αυτόματη απάντηση δεν είναι δυνατή όταν ο ήχος κλήσης είναι σε σίγαση" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "Πρόθεμα αριθμού" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "Κανένα πρόθεμα αριθμού" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "Ενεργοποίηση" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "Δημ/ργία επαφής" msgid "IDS_CST_BODY_ALERTS_ON_CALL" msgstr "Ειδοποίηση κλήσεων" -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "Όλες οι κλήσεις" - msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" msgstr "Όλες οι εισερχόμ. κλήσεις" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" msgstr "Όλες οι εξερχόμ. κλήσεις" -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "Λειτουργία απάντησης" - msgid "IDS_CST_BODY_AUTO_REDIAL" msgstr "Αυτόματη επανάκληση" @@ -67,14 +43,8 @@ msgstr "Φραγή κλήσεων" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" msgstr "Ήχος σύνδεσης κλήσεων" -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "Εκτροπή κλήσεων" - msgid "IDS_CST_BODY_CALL_END_TONE" -msgstr "Ήχος τερματ.κλήσεων" - -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "Κλήσεων" +msgstr "Ήχος τερματ. κλήσεων" msgid "IDS_CST_BODY_CALL_STATUS_TONES" msgstr "Ήχοι κατάστασης κλήσης" @@ -85,18 +55,9 @@ msgstr "Αναμονή κλήσεων" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "Έλεγχος κατάστασης" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "Απενεργοποίηση" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "Eκτροπή προς" - msgid "IDS_CST_BODY_ENTER_NUMBER" msgstr "Εισαγωγή αριθμού" -msgid "IDS_CST_BODY_FAX" -msgstr "Φαξ" - msgid "IDS_CST_BODY_HIDE" msgstr "Απόκρυψη" @@ -104,32 +65,17 @@ msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER" msgstr "Θα σας καλέσω αργότερα" msgid "IDS_CST_BODY_IM_AT_THE_CINEMA" -msgstr "Είμαι στον κινηματογράφο" +msgstr "ΕΙΜΑΙ ΣΤΟΝ ΚΙΝΗΜΑΤΟΓΡΑΦΟ" msgid "IDS_CST_BODY_IM_DRIVING" -msgstr "Οδηγώ" - -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "Είμαι σε συνάντηση" +msgstr "ΟΔΗΓΩ" msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" -msgstr "Είμαι στο μάθημα" - -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Εισαγωγή κωδικού πρόσβασης" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "Διεθνείς κλήσεις εκτός εγχώριων" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "Υπενθύμιση λεπτού" +msgstr "ΕΙΜΑΙ ΣΤΟ ΜΑΘΗΜΑ" msgid "IDS_CST_BODY_NUMBER" msgstr "Αριθμός" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "Εξερχ. διεθνείς κλήσεις" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" msgstr "Απόρριψη κλήσης με μήνυμα" @@ -139,12 +85,6 @@ msgstr "Εμφάνιση αριθμού μου" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" msgstr "Πατήστε για να εισάγετε αριθμό" -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "Λάθος αριθμός εκτροπής" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "Υπό όρους" - msgid "IDS_CST_HEADER_IF_BUSY" msgstr "Αν είναι κατειλημμένο" @@ -157,104 +97,41 @@ msgstr "Αν δεν είναι προσβάσιμο" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "Κλήση με πρόθεμα" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "Όλα τα μη συγχρονισμένα δεδομένα" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "Όλες οι υπηρεσίες φορέα" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "Όλες οι υπηρεσίες δεδομένων" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "Όλες οι υπηρεσίες PADCA" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "Όλες οι υπηρεσίες PDS" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "Όλοι οι φορείς PLMN" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "Όλες οι υπηρεσίες" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "Όλες οι συγχρονισμένες υπηρεσίες" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "Όλες οι υπηρεσίες τηλεπικ/νίας" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "Ο αριθμός απάντησης δεν εμφανίζεται κατά την κλήση" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "Ο αριθμός απάντησης εμφανίζεται κατά την κλήση" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "Υπηρεσίες μη συγχρονισμένων δεδομένων" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "Διαθέσιμη ταυτότητα καλούντος" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "Απόκρυψη ταυτότητας καλούντος" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "Περιορισμένη ταυτότητα καλούντος" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "Εμφάνιση ταυτότητας καλούντος" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "Έλεγχος τρέχουσας κατάστασης" - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "Πληκτρολογήστε τον αριθμό για εκτροπή προς" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "Παράνομος χρήστης" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" msgstr "Εισ. κλήσεις με περιαγωγή" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "Εσφαλμένη λειτουργία" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "Διεθνείς κλήσεις εκτός χώρας επιλογής" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "Το δικό μου αναγνωριστικό καλούντος δεν αποστέλλεται όταν απαντώ σε μια κλήση" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "Το δικό μου αναγνωριστικό καλούντος δεν αποστέλλεται όταν πραγματοποιώ κλήση" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "Το δικό μου αναγνωριστικό καλούντα αποστέλλεται όταν απαντώ σε μια κλήση" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "Το δικό μου αναγνωριστικό καλούντα αποστέλλεται όταν πραγματοποιώ κλήση" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "Ο κωδικός πρόσβασης μπλόκαρε" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "Απορρίφθηκε από το δίκτυο" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "Αίτηση..." +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "Άγνωστη λειτουργία" + +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "Λειτουργία προκαθορισμένης κλήσης" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "Υπηρεσία δεν επιτρέπεται" +msgid "IDS_ST_BODY_PIN2" +msgstr "PIN2" -msgid "IDS_CST_POP_STATUS" -msgstr "Κατάσταση" +msgid "IDS_ST_BODY_PUK2" +msgstr "PUK2" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "Άγνωστη λειτουργία" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "Εμπλοκή PUK2" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "Αυτόματη απάντηση" +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "Εμπλοκή ΡΙΝ2" + +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "Το PIN2 άλλαξε" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "Απεμπλοκή ΡΙΝ2" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" msgstr "Εικόνα κλήσης βίντεο" @@ -284,7 +161,7 @@ msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADS msgstr "Η αυτόματη αποδοχή κλήσεων θα λειτουργεί μόνο με συνδεδεμένο ακουστικό" msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS" -msgstr "Τερμ.κλ.με το πλήκτ.ενερ." +msgstr "Τερμ. κλ. με το πλήκτ. ενερ." msgid "IDS_CST_MBODY_AFTER_1_SECOND" msgstr "Μετά από 1 δευτερόλεπτο" @@ -292,9 +169,6 @@ msgstr "Μετά από 1 δευτερόλεπτο" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" msgstr "Πατήστε το πλήκτρο ενεργοποίησης για τον τερματισμό κλήσεων. Δεν θα γίνει απενεργοποίηση της οθόνης" -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "Κλήση με πρόθεμα" - msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "Ενεργοποίηση κλήσεων με πρόθεμα" @@ -314,7 +188,7 @@ msgid "IDS_CST_HEADER_SELECT_MESSAGE" msgstr "Επιλέξτε μήνυμα" msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB" -msgstr "Επεξερ.μηνυμ.απόρριψης" +msgstr "Επεξερ. μηνυμ. απόρριψης" msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE" msgstr "Θα ακούγονται ήχοι σήματος κάθε λεπτό" @@ -370,15 +244,9 @@ msgstr "Θα ακούγεται ήχος σήματος όταν η γραμμή msgid "IDS_CST_SK3_CANCEL" msgstr "Άκυρο" -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "Μη διαθέσιμη λειτουργία" - msgid "IDS_CST_POP_INVALID_PASSWORD" msgstr "Μη έγκυρος κωδικός" -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "Aλλαγή κωδικού" - msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" msgstr "Κατά τη διάρκεια μιας κλήσης, να ειδοποιούμαι για εισερχόμενες κλήσεις" @@ -403,9 +271,6 @@ msgstr "Ρυθμίσεις ήχου κατά την κλήση" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "Ενεργ. αυτόματης απάντησης" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "Πλήκτρο απάντησης" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" msgstr "Λίστα αυτόματης απόρριψης" @@ -418,9 +283,6 @@ msgstr "Διαχείριση κλήσεων με πρόθεμα" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" msgstr "Αποδ.κλησ.με το Κεντρικό" -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "Είμαι στο μάθημα" - msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "Πληκτρολογήστε μήνυμα" @@ -448,3 +310,177 @@ msgstr "Προεπιλεγμένη εικόνα" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "Η αυτόματη απόρριψη ενεργοποιήθηκε" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "Να εμφανίζεται το δικό μου βίντεο κατά την εισερχόμενη κλήση" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "Αισθητήρας εγγύτητας" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "Το αυτόματο σβήσιμο της οθόνης κατά τις κλήσεις ενεργοποιήθηκε" + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "Επιπλέον ρυθμίσεις" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "Ορισμός προεπιλεγμένης εικόνας απόκρυψης μου" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "Εμφάνιση ζωντανής εικόνας στον καλούντα όταν ο χρήστης αποδέχεται την κλήση βίντεο" + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "Ρυθμίσεις κλήσης βίντεο" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "Ρυθμίσεις τηλεφωνητή" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "Απόρριψη κλήσης" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "Αντιστοίχιση κριτηρίων" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "Ακριβώς ίδιο με" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "Αρχίζει από" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "Να συμπεριληφθεί" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "Αριθμός τηλεφωνητή" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "ΕΙΜΑΙ ΣΕ ΣΥΝΑΝΤΗΣΗ" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "Μη διαθέσιμη λειτουργία" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "Εμφάνιση του δικού μου αναγνωριστικού καλούντος" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "Αυτ. σβ. οθ. κατά τις κλήσεις" + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "Ρύθμ.μηνυμάτων απόρριψης" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "Ενεργοποίηση αισθητήρα εγγύτητας κατά τη διάρκεια κλήσεων" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "Δεν είναι δυνατή η απενεργοποίηση του αισθητήρα εγγύτητας όταν το πλήκτρο ενεργοποίησης έχει ρυθμιστεί για τον τερματισμό κλήσεων. Δεν θα γίνεται πλέον τερματισμός των κλήσεων με το πλήκτρο ενεργοποίησης" + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "Αυτόμ. κωδικός περιοχής" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "Δεν είναι δυνατός ο ορισμός του πλήκτρου ενεργοποίησης για τον τερματισμό κλήσεων, όταν ο αισθητήρας εγγύτητας είναι απενεργοποιημένος. Θα γίνει ενεργοποίηση του αισθητήρα εγγύτητας" + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "Ενίσχ.χαμηλών τόνων" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "Ενίσχ. υψηλών τόνων" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "Βελτ. για το αριστ. αυτί" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "Βελτιστ. για το δεξί αυτί" + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "Φραγή βίντεο" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "Ρυθμ. αξεσουάρ για κλήση" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "Ρύθμιση επιλογών αξεσουάρ για κλήσεις" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "Συνθήκες εξερχ. κλήσης" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "Τύπος εξερχόμενης κλήσης" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "Παρ.αρχ. κατ. τελ. κλ." + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "Και όταν συσκ. κλειδ." + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "Πραγματοποίηση κλήσεων ακόμη και όταν η συσκευή είναι κλειδωμένη" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "Μόνο όταν συσ.ξεκλειδ." + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "Ρυθμίσεις ακουστικών BT για εξερχόμενες κλήσεις" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "Οπτική επαφή" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "Τροποποίηση των ματιών μου ώστε να φαίνεται ότι κοιτάζω την κάμερα κατά τη διάρκεια κλήσεων βίντεο" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "Μείωση θορύβου" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "Περιορίζει το θόρυβο παρασκηνίου από την πλευρά σας κατά τις κλήσεις" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "Για το αριστ. αυτί" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "Για το δεξί αυτί" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "Εξατομικ. ισοσταθμ." + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "Βρείτε τον κατάλληλο ισοσταθμιστή για εσάς" + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "Προσθήκη κωδικού περιοχής αυτόματα στην οθόνη προβολής αριθμών" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "Λυπάμαι, είμαι απασχολημένος. Καλέστε αργότερα." + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "Απόρριψη μηνυμάτων" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "Επιπλέον ένταση για κλ." + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "Το κουμπί επιπλέον έντασης εμφανίζεται στην οθόνη κατά τη διάρκεια των κλήσεων" + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "Αύξ. έντασ. σε τσέπη" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "Η ένταση ήχου κλήσης αυξάνεται όταν η συσκευή βρίσκεται σε τσέπη ή σε τσάντα" + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "Αριθμοί προκαθορισμένης κλήσης" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "Επαφές FDN" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "Δημιουργία επαφής FDN" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "Επαφή FDN" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "Ρυθμίσεις My call sound" + diff --git a/po/en.po b/po/en.po index 2254a4d..af08f94 100755 --- a/po/en.po +++ b/po/en.po @@ -1,47 +1,26 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "When making a call, you can add a frequently used prefix number automatically into dialling screen" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "Before you can use this function you need to find the best EQ for you. Find now?" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "Add to reject list" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "Select speed dial contacts" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "Automatic answering" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "Incoming calls will be rejected automatically only for checked reject list" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "Voicemail" -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "Send an explanatory SMS to callers when you reject their calls" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "Select contacts" -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "Reject list" - -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "Answering call" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "Automatic answering" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "Reject message" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "After %d seconds" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "Incoming calls will be answered automatically. Automatic answering will operate only with headset connected. Automatic answering is not possible when ringtone is set to mute" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "Prefix number" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "Prefix number empty" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "Activate" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "Create contact" msgid "IDS_CST_BODY_ALERTS_ON_CALL" -msgstr "Alerts on call" - -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "All calls" +msgstr "Alerts during calls" msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" msgstr "All incoming calls" @@ -49,9 +28,6 @@ msgstr "All incoming calls" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" msgstr "All outgoing calls" -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "Answering mode" - msgid "IDS_CST_BODY_AUTO_REDIAL" msgstr "Auto redial" @@ -67,15 +43,9 @@ msgstr "Call barring" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" msgstr "Call connect tone" -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "Call diverting" - msgid "IDS_CST_BODY_CALL_END_TONE" msgstr "Call end tone" -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "Call settings" - msgid "IDS_CST_BODY_CALL_STATUS_TONES" msgstr "Call status tones" @@ -85,18 +55,9 @@ msgstr "Call waiting" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "Check status" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "Deactivate" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "Divert to" - msgid "IDS_CST_BODY_ENTER_NUMBER" msgstr "Enter number" -msgid "IDS_CST_BODY_FAX" -msgstr "Fax" - msgid "IDS_CST_BODY_HIDE" msgstr "Hide" @@ -109,27 +70,12 @@ msgstr "I'm at the cinema" msgid "IDS_CST_BODY_IM_DRIVING" msgstr "I'm driving" -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "I'm in a meeting" - msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" msgstr "I'm in class" -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Input password" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "Intl except home" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "Minute minder" - msgid "IDS_CST_BODY_NUMBER" msgstr "Number" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "Outgoing intl calls" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" msgstr "Reject call with message" @@ -139,12 +85,6 @@ msgstr "Show my number" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" msgstr "Tap to enter number" -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "Wrong diverting number" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "Conditional" - msgid "IDS_CST_HEADER_IF_BUSY" msgstr "If busy" @@ -157,104 +97,41 @@ msgstr "If out of reach" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "Prefix dialling" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "All asynchronous data" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "All bearer services" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "All data services" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "All PADCA services" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "All PDS services" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "All PLMN bearers" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "All services" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "All synchronous services" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "All telecom services" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "Answering number is not displayed when calling" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "Answering number is displayed when calling" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "Asynchronous data services" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "Caller ID available" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "Caller ID hidden" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "Caller ID restricted" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "Caller ID shown" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "Checking current status..." - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "Enter number to divert to" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "Illegal user" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" msgstr "Incoming when roaming" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "Incorrect operation" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "International calls except home" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "My caller ID is not sent when answering calls" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "My caller ID is not sent when calling" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "My caller ID will be sent when answering calls" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "My caller ID will be sent when calling" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "Password blocked" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "Rejected by network" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "Requesting..." +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "Unknown operation" + +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "Fixed dialling mode" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "Service not authorised" +msgid "IDS_ST_BODY_PIN2" +msgstr "PIN2" -msgid "IDS_CST_POP_STATUS" -msgstr "Status" +msgid "IDS_ST_BODY_PUK2" +msgstr "PUK2" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "Unknown operation" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "PUK2 blocked" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "Automatic answering" +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "PIN2 blocked" + +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "PIN2 changed" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "PIN2 unblocked" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" msgstr "Video call image" @@ -292,9 +169,6 @@ msgstr "After 1 second" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" msgstr "Press the power key to end calls. This will not turn off the screen" -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "Prefix dialling" - msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "Enable prefix dialling" @@ -370,15 +244,9 @@ msgstr "There will be a signal sound when the line is disconnected" msgid "IDS_CST_SK3_CANCEL" msgstr "Cancel" -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "Service not available" - msgid "IDS_CST_POP_INVALID_PASSWORD" msgstr "Invalid password" -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "Change password" - msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" msgstr "During a call, notify me of incoming calls" @@ -403,9 +271,6 @@ msgstr "Sound settings during call" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "Enable auto answer" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "Answering key" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" msgstr "Auto reject list" @@ -418,9 +283,6 @@ msgstr "Manage prefix dialling" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" msgstr "Accept calls using Home" -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "I'm in class" - msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "Enter message" @@ -448,3 +310,177 @@ msgstr "Default image" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "Auto reject mode enabled" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "Own video in received call" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "Proximity sensor" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "Auto screen off during calls enabled" + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "Additional settings" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "Set default Hide me image" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "Show live image to caller when user accepts video call" + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "Video call settings" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "Voicemail settings" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "Call rejection" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "Match criteria" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "Exactly the same as" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "Start with" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "Include" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "Voicemail number" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "I'm in a meeting" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "Service not available" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "Show my caller ID" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "Auto screen off during calls" + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "Set reject messages" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "Turn on proximity sensor during calls" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "Unable to turn off proximity sensor while the power key is set to end calls. The power key will no longer end calls" + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "Auto area code" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "Unable to set the power key to end calls while proximity sensor is off. Proximity sensor will be turned on" + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "Boost low tones" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "Boost high tones" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "Optimised for left ear" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "Optimised for right ear" + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "Video call barring" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "Accessory settings for call" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "Set accessory options for calls" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "Outgoing call conditions" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "Outgoing call type" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "Follow last call log" + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "Even when device locked" + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "Make calls even when device locked" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "Only when device unlocked" + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "BT headset settings for outgoing calls" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "Eye contact" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "Modify my eyes to seem like I am looking at camera during video calls" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "Noise reduction" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "Suppresses background noise from your side during calls" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "For left ear" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "For right ear" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "Personalised EQ" + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "Find the best EQ for you" + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "Automatically add area code to number display panel" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "Sorry, I am busy, please call back later." + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "Reject messages" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "Use extra vol. for calls" + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "Extra volume button is shown on screen during calls" + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "Increase volume in pocket" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "Ringtone volume increases when device is in pocket or bag" + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "Fixed dialling numbers" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "FDN contacts" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "Create FDN contact" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "FDN contact" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "My call sound settings" + diff --git a/po/es_ES.po b/po/es_ES.po index 26b2c5e..a6d51cb 100755 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -1,57 +1,33 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "Al realizar una llamada, puede añadir un número de prefijo utilizado frecuentemente de forma automática a la pantalla de marcación" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "Antes de poder utilizar esta función necesita encontrar el mejor EQ para usted. ¿Encontrarlo ahora?" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "Añadir a lista de rechazados" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "Seleccionar contactos de marcación rápida" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "Respuesta automática" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "Sólo se rechazarán automáticamente las llamadas entrantes de las listas de rechazados marcadas" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "Buzón de voz" -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "Puede enviar un mensaje de texto explicativo a los llamantes cuando rechace sus llamadas" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "Seleccionar contactos" -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "Lista de rechazados" - -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "Responder llamadas" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "Respuesta automática" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "Rechazar mensaje" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "Tras %d segundos" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "Las llamadas entrantes se responderán automáticamente. La respuesta automática sólo funcionará con un un auricular conectado. La respuesta automática no es posible cuando una melodía está silenciada" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "Número de prefijo" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "Número de prefijo vacío" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "Activar" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "Crear contacto" msgid "IDS_CST_BODY_ALERTS_ON_CALL" msgstr "Alertas durante llamada" -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "Todas las llamadas" - msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" msgstr "Todas las llamadas entrantes" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" msgstr "Todas las llamadas salientes" -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "Modo de respuesta" - msgid "IDS_CST_BODY_AUTO_REDIAL" msgstr "Rellamada automática" @@ -67,15 +43,9 @@ msgstr "Restricción de llamadas" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" msgstr "Tono conexión llamada" -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "Desvío de llamadas" - msgid "IDS_CST_BODY_CALL_END_TONE" msgstr "Tono de fin de llamada" -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "Ajustes de llamada" - msgid "IDS_CST_BODY_CALL_STATUS_TONES" msgstr "Tonos de estado de llamada" @@ -85,18 +55,9 @@ msgstr "Llamada en espera" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "Comprobar estado" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "Desactivar" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "Desviar a" - msgid "IDS_CST_BODY_ENTER_NUMBER" msgstr "Introducir número" -msgid "IDS_CST_BODY_FAX" -msgstr "Fax" - msgid "IDS_CST_BODY_HIDE" msgstr "Ocultar" @@ -109,29 +70,14 @@ msgstr "Estoy en el cine" msgid "IDS_CST_BODY_IM_DRIVING" msgstr "Estoy conduciendo" -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "Estoy en una reunión" - msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" msgstr "Estoy en clase" -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Introducir contraseña" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "Internacionales excepto país de origen" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "Minutero" - msgid "IDS_CST_BODY_NUMBER" msgstr "Número" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "Llams inter. salientes" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" -msgstr "Rechazar llamada con mensaje" +msgstr "Definir mens. de rechazo" msgid "IDS_CST_BODY_SHOW_MY_NUMBER" msgstr "Mostrar mi número" @@ -139,12 +85,6 @@ msgstr "Mostrar mi número" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" msgstr "Pulse para añadir número" -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "Número de desvío incorrecto" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "Condicional" - msgid "IDS_CST_HEADER_IF_BUSY" msgstr "Si ocupado" @@ -157,104 +97,41 @@ msgstr "Si fuera de cobertura" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "Marcación de prefijo" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "Todos los datos asíncronos" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "Todos los servicios de portador" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "Todos los servicios de datos" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "Todos los servicios PADCA" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "Todos los servicios PDS" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "Todos los portadores de PLMN" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "Todos los servicios" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "Todos los servicios síncronos" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "Todos los servicios de telecomunicaciones" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "El número de respuesta no aparece cuando llama" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "El número de respuesta aparece cuando llama" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "Servicios de datos asíncronos" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "ID de llamante disponible" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "ID de llamante oculta" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "ID de llamante restringido" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "ID de llamante visible" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "Comprobando estado actual..." - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "Introduzca el número al que desea desviar las llamadas" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "Usuario no válido" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" msgstr "Entrantes en itinerancia" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "Operación incorrecta" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "Llamadas internacionales excepto país de origen" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "Mi ID de llamante no se envía al responder a las llamadas" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "Mi ID de llamante no se envía al llamar" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "Mi ID de llamante se enviará al responder llamadas" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "Mi ID de llamante se enviará al llamar" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "Contraseña bloqueada" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "Rechazado por la red" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "Solicitando..." +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "Operación desconocida" + +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "Modo de marcación fija" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "Servicio no autorizado" +msgid "IDS_ST_BODY_PIN2" +msgstr "PIN 2" -msgid "IDS_CST_POP_STATUS" -msgstr "Estado" +msgid "IDS_ST_BODY_PUK2" +msgstr "PUK 2" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "Operación desconocida" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "PUK2 bloqueado" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "Respuesta automática" +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "PIN2 bloqueado" + +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "PIN2 modificado" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "PIN2 desbloqueado" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" msgstr "Imagen de videollamada" @@ -292,9 +169,6 @@ msgstr "Tras 1 segundo" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" msgstr "Pulse la tecla de encendido para finalizar las llamadas. La pantalla no se apagará" -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "Marcación de prefijo" - msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "Activar marcación de prefijo" @@ -370,15 +244,9 @@ msgstr "Se emitirá una señal acústica cuando la línea se desconecte" msgid "IDS_CST_SK3_CANCEL" msgstr "Cancelar" -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "Servicio no disponible" - msgid "IDS_CST_POP_INVALID_PASSWORD" msgstr "Contraseña incorrecta" -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "Cambiar contraseña" - msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" msgstr "Durante una llamada, notificarme de las llamadas entrantes" @@ -403,9 +271,6 @@ msgstr "Ajustes de sonido durante la llamada" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "Habilitar resp. automática" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "Tecla de respuesta" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" msgstr "Lista de rechazos autom." @@ -418,9 +283,6 @@ msgstr "Gestionar marcación de prefijo" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" msgstr "Aceptar llam. con Inicio" -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "Estoy en clase" - msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "Introducir mensaje" @@ -448,3 +310,177 @@ msgstr "Imagen predeterminada" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "Modo de rechazo automático activado" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "Vídeo propio en videollamada recibida" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "Sensor de proximidad" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "Apagar pantalla automáticamente durante llamadas activadas" + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "Ajustes adicionales" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "Definir imagen predeterminada para ocultarme" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "Mostrar imagen predefinida al llamante cuando el usuario acepte la videollamada" + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "Ajustes de videollamada" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "Ajustes de buzón de voz" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "Rechazo de llamada" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "Coincidir criterios" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "Exactamente igual a" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "Comenzar" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "Incluir" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "Número de buzón de voz" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "Estoy en una reunión" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "Servicio no disponible" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "Mostrar mi número" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "Apag pant auto durante llam" + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "Definir mensajes de rechazo" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "Activar sensor de proximidad durante las llamadas" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "No se puede desactivar el sensor de proximidad mientras la tecla de alimentación está definida en finalizar llamadas. La tecla de encendido ya no finalizará llamadas" + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "Código de área auto" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "No se puede definir la tecla de alimentación para que finalice llamadas mientras el sensor de proximidad está desactivado. Se activará el sensor de proximidad" + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "Potenc tonos bajos" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "Potenc tonos altos" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "Optim para oído izquierdo" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "Optim para oído derecho" + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "Restringir videollamada" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "Ajustes de accesorios para llam" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "Definir opciones de accesorios para llamadas" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "Condic llamada saliente" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "Tipo de llamada saliente" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "Seguir reg últ llamada" + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "Incluso con disp bloq" + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "Llamar incluso cuando el dispositivo esté bloqueado" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "Solo con disp desbloq" + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "Ajustes de auriculares BT para llamadas salientes" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "Contacto visual" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "Modificar mis ojos para que parezca que miro a la cámara durante las videollamadas" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "Reducción de ruido" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "Suprime el ruido de fondo de su lado durante las llamadas" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "Para oído izquierdo" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "Para oído derecho" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "EQ personalizado" + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "Encuentre el mejor EQ para usted" + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "Añadir código de zona automáticamente al panel de visualización de números" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "Lo siento, estoy ocupado. Llámame más tarde." + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "Rechazar mensajes" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "Usar vol extra llamadas" + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "El botón de volumen extra se muestra en pantalla durante las llamadas" + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "Aumentar volumen bolsillo" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "El volumen de melodía aumenta cuando el dispositivo está en un bolsillo o en un bolso" + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "Número de marcación fija" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "Contactos de números de marcación fija" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "Crear contacto FDN" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "Contacto FDN" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "Ajustes de My call sound" + diff --git a/po/fr_FR.po b/po/fr_FR.po index 142e7c5..012a642 100755 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -1,62 +1,38 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "Lorsque vous passez un appel, vous pouvez ajouter automatiquement un préfixe fréquemment utilisé dans l'écran de numérotation" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "Avant d'utiliser cette fonction, vous devez trouver le meilleur égaliseur. Rechercher maintenant ?" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "Ajouter à la liste de rejet" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "Sélectionner contacts numérotation rapide" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "Réponse automatique" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "Les appels entrants seront rejetés automatiquement seulement pour la liste bloquée sélectionnée" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "Messagerie vocale" -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "Vous pouvez envoyer un SMS d'explication aux appelants dont vous rejetez les appels" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "Sélectionner les contacts" -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "Liste de rejet" - -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "Réponse à l'appel" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "Réponse automatique" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "Rejeter le message" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "Après %d secondes" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "Les appels entrants seront automatiquement acceptés. La réponse automatique fonctionne uniquement si le casque est branché. La réponse automatique n'est pas possible si la sonnerie est définie sur Silence" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "Préfixe" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "Aucun préfixe" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "ON" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "Créer un contact" msgid "IDS_CST_BODY_ALERTS_ON_CALL" msgstr "Signal d'appel" -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "Tous les appels" - msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" msgstr "Tous les appels entrants" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" msgstr "Tous les appels sortants" -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "Mode de réponse" - msgid "IDS_CST_BODY_AUTO_REDIAL" -msgstr "Rappel automatique" +msgstr "Rappel auto." msgid "IDS_CST_BODY_AUTO_REJECT" -msgstr "Rejet automatique" +msgstr "Rejet auto." msgid "IDS_CST_BODY_BY_NETWORK" msgstr "Par réseau" @@ -67,14 +43,8 @@ msgstr "Restriction d'appel" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" msgstr "Tonalité de connexion" -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "Renvoi d'appel" - msgid "IDS_CST_BODY_CALL_END_TONE" -msgstr "Bip fin d'appel" - -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "Appel" +msgstr "Tonalité de fin d'appel" msgid "IDS_CST_BODY_CALL_STATUS_TONES" msgstr "Tonalités état d'appel" @@ -85,17 +55,8 @@ msgstr "Signal d'appel" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "Vérifier l'état" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "OFF" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "Transférer vers" - msgid "IDS_CST_BODY_ENTER_NUMBER" -msgstr "Entrez le numéro" - -msgid "IDS_CST_BODY_FAX" -msgstr "Fax" +msgstr "Saisir un numéro" msgid "IDS_CST_BODY_HIDE" msgstr "Masquer" @@ -109,27 +70,12 @@ msgstr "Je suis au cinéma" msgid "IDS_CST_BODY_IM_DRIVING" msgstr "Je conduis" -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "Je suis en réunion" - msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" msgstr "Je suis en cours" -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Entrez le mot de passe" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "Internat. sauf pays d'origine" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "Bip durée d'appel" - msgid "IDS_CST_BODY_NUMBER" msgstr "Numéro" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "Internat. sortants" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" msgstr "Rejeter l'appel avec message" @@ -139,12 +85,6 @@ msgstr "Afficher mon n°" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" msgstr "Appuyez pour entrer un numéro" -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "Numéro de renvoi incorrect" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "Conditionnel" - msgid "IDS_CST_HEADER_IF_BUSY" msgstr "Si occupé" @@ -157,104 +97,41 @@ msgstr "Si injoignable" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "Numérotation du préfixe" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "Toutes les données asynchrones" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "Tous serv. support" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "Tous les services de données" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "Tous les services PADCA" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "Tous les services PDS" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "Tous les supports PLMN" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "Tous les services" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "Tous les services synchrones" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "Tous serv. télécom." - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "Le numéro du transfert d'appel n'apparaît pas pendant l'appel" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "Le numéro du transfert d'appel apparaît pendant l'appel" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "Services de données asynchrones" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "ID appelant disponible" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "N° appelant masqué" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "N° appelant restreint" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "N° appelant affiché" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "Vérification de l'état en cours..." - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "Saisir le numéro pour le transfert d'appel" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "Utilisateur non autorisé" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" msgstr "Appels entrants en itinérance" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "Opération incorrecte" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "Appels internationaux sauf vers pays d'origine" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "Mon ID appelant n'est pas envoyé en cas d'appel répondu" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "Mon ID appelant n'est pas envoyé en cas d'appel passé" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "Mon ID appelant est envoyé lors de la réponse à un appel" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "Mon ID appelant est envoyé lors d'un appel émis" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "Mot de passe bloqué" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "Rejeté par le réseau" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "Demande en cours..." +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "Opération inconnue" + +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "Mode FDN" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "Service non autorisé" +msgid "IDS_ST_BODY_PIN2" +msgstr "Code PIN2" -msgid "IDS_CST_POP_STATUS" -msgstr "Etat" +msgid "IDS_ST_BODY_PUK2" +msgstr "Code PUK2" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "Opération inconnue" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "Code PUK2 bloqué" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "Réponse automatique" +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "Code PIN2 bloqué" + +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "Code PIN2 modifié" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "Code PIN2 débloqué" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" msgstr "Image appel visio" @@ -292,9 +169,6 @@ msgstr "Après 1 seconde" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" msgstr "Appuyez sur la touche Marche pour mettre fin aux appels. L'écran ne sera pas désactivé" -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "Numérotation du préfixe" - msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "Activer la numérotation du préfixe" @@ -314,7 +188,7 @@ msgid "IDS_CST_HEADER_SELECT_MESSAGE" msgstr "Sélectionner le message" msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB" -msgstr "Modif. messages de rejet" +msgstr "Créer un message de rejet" msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE" msgstr "Un signal sonore est émis toutes les minutes" @@ -338,10 +212,10 @@ msgid "IDS_CST_HEADER_FORWARD_TO" msgstr "Transférer à" msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING" -msgstr "Transfert d'appel visio" +msgstr "Transfert appels visio" msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB" -msgstr "Interdiction appels vocaux" +msgstr "Restriction appels vocaux" msgid "IDS_CST_BODY_INTL_CALLS" msgstr "Appels internationaux" @@ -370,15 +244,9 @@ msgstr "Un signal sonore est émis lorsque la ligne est déconnectée" msgid "IDS_CST_SK3_CANCEL" msgstr "Annuler" -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "Service non disponible" - msgid "IDS_CST_POP_INVALID_PASSWORD" msgstr "Mot de passe incorrect" -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "Modifier mot de passe" - msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" msgstr "En cours d'appel, m'avertir des appels entrants" @@ -403,11 +271,8 @@ msgstr "Paramètres de son pendant l'appel" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "Activer réponse auto" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "Touche de réponse" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" -msgstr "Liste de rejet automatique" +msgstr "Liste de rejet auto." msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB" msgstr "Gérer les paramètres de début/fin d'appel" @@ -418,9 +283,6 @@ msgstr "Gérer la numérotation du préfixe" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" msgstr "Répondre ac tche Accueil" -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "Je suis en cours" - msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "Entrer un message" @@ -448,3 +310,177 @@ msgstr "Image par défaut" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "Mode de rejet automatique activé" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "Vidéo lors d'un appel reçu" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "Capteur de proximité" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "Désactivation auto de l'écran pendant les appels activée" + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "Paramètres supplémentaires" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "Définir l'image par défaut pour me masquer" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "Afficher l'image en direct à l'appelant si l'utilisateur accepte l'appel visio" + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "Appels visio" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "Param. messagerie vocale" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "Rejet de l'appel" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "Critères correspondants" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "Identique à" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "Commence par" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "Inclure" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "N° de messagerie vocale" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "Je suis en réunion" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "Service non disponible" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "Afficher mon ID d'appelant" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "Désactiver écran pdt appels" + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "Définir messages de rejet" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "Activer capteur de proximité pendant les appels" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "Impossible de désactiver le capteur de proximité lorsque la touche Marche est définie pour mettre fin aux appels. La touche Marche ne mettra plus fin aux appels" + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "Code région auto" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "Impossible de définir la touche Marche pour mettre fin aux appels lorsque le capteur de proximité est désactivé. Le capteur de proximité sera activé" + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "Augmenter tons bas" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "Augm. tons élevés" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "Optimisé pr oreille gche" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "Optimisé pr oreille dte" + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "Appels visio interdits" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "Param. accessoires appel" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "Définir options des accessoires pour les appels" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "Conditions appel sortant" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "Type d'appel sortant" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "Suivre dern. journal" + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "Même si appareil verr." + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "Passer des appels même si l'appareil est verrouillé" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "Seulement si app. déver." + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "Paramètres casque BT pour appels sortants" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "Contact visuel" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "Modifier mes yeux de sorte que je regarde l'appareil photo pendant les appels visio" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "Réduction du bruit" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "Supprime les bruits ambiants qui vous entourent pendant les appels" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "Pour oreille gauche" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "Pour oreille droite" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "Egaliseur person." + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "Trouvez le meilleur égaliseur" + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "Ajouter automatiquement le code de la région au panneau d'affichage des numéros" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "Je suis occupé, rappelez-moi plus tard." + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "Messages de rejet" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "Vol. suppl. pour appels" + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "Le bouton de volume supplémentaire apparaît à l'écran pendant les appels" + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "Augment. volume poche" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "Le volume de la sonnerie augmente lorsque l'appareil est dans votre poche ou dans votre sac" + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "Numérotation fixe" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "Contacts FDN" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "Créer contact FDN" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "Contact FDN" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "Paramètres My call sound" + diff --git a/po/it_IT.po b/po/it_IT.po index a9d4efc..80dc209 100755 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -1,83 +1,53 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "Quando si effettua una chiamata, è possibile aggiungere automaticamente un prefisso usato frequentemente nella schermata di composizione" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "Prima di poter utilizzare la funzione è necessario trovare l'equalizzazione personalizzata ottimale. Trovarla ora?" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "Aggiungi a rifiutati" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "Seleziona contatti di selezione rapida" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "Risposta automatica" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "Le chiamate in arrivo saranno rifiutate automaticamente solo per i rifiutati selezionati" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "Segreteria telefonica" -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "Potete inviare un SMS a chi avete rifiutato la chamata contenente una spiegazione" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "Seleziona contatti" -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "Elenco rifiutati" - -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "Risposta alla chiamata" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "Risposta automatica" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "Rifiuta messaggio" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "Dopo %d secondi" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "Viene attivata la risposta automatica per le chiamate in arrivo. La risposta automatica funziona solo con un auricolare collegato. La risposta automatica è impossibile con la suoneria impostata sulla modalità silenziosa" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "Numero prefisso" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "Numero prefisso vuoto" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "Attiva" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "Aggiungi contatto" msgid "IDS_CST_BODY_ALERTS_ON_CALL" -msgstr "Avvisi in chiamata" - -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "Tutte le chiamate" +msgstr "Avvisi durante chiamata" msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" -msgstr "Tutte in entrata" +msgstr "Tutte le chiamate in arrivo" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" -msgstr "Tutte in uscita" - -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "Modalità risposta" +msgstr "Tutte le chiamate in uscita" msgid "IDS_CST_BODY_AUTO_REDIAL" -msgstr "Ricomposiz. automatica" +msgstr "Ricomposizione automatica" msgid "IDS_CST_BODY_AUTO_REJECT" msgstr "Rifiuto automatico" msgid "IDS_CST_BODY_BY_NETWORK" -msgstr "Predefinito" +msgstr "Per rete" msgid "IDS_CST_BODY_CALL_BARRING" msgstr "Blocco chiamate" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" -msgstr "Tono collegamento chiamata" - -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "Trasferimento chiamate" +msgstr "Tono connessione chiamata" msgid "IDS_CST_BODY_CALL_END_TONE" msgstr "Tono fine chiamata" -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "Chiamata" - msgid "IDS_CST_BODY_CALL_STATUS_TONES" -msgstr "Toni in chiamata" +msgstr "Stato toni di chiamata" msgid "IDS_CST_BODY_CALL_WAITING" msgstr "Avviso di chiamata" @@ -85,18 +55,9 @@ msgstr "Avviso di chiamata" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "Verifica stato" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "Disattiva" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "Trasferisci a" - msgid "IDS_CST_BODY_ENTER_NUMBER" msgstr "Inserisci numero" -msgid "IDS_CST_BODY_FAX" -msgstr "Fax" - msgid "IDS_CST_BODY_HIDE" msgstr "Nascondi" @@ -109,42 +70,21 @@ msgstr "Sono al cinema" msgid "IDS_CST_BODY_IM_DRIVING" msgstr "Sto guidando" -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "Sono in riunione" - msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" msgstr "Sono a lezione" -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Inserisci password" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "Int. tranne proprio Paese" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "Tono minuti" - msgid "IDS_CST_BODY_NUMBER" msgstr "Numero" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "Internazionali in uscita" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" msgstr "Rifiuta con messaggio" msgid "IDS_CST_BODY_SHOW_MY_NUMBER" -msgstr "Numero in uscita" +msgstr "Mostra numero personale" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" msgstr "Toccare per inserire un numero" -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "Numero trasferito errato" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "Condizionale" - msgid "IDS_CST_HEADER_IF_BUSY" msgstr "Occupato" @@ -157,104 +97,41 @@ msgstr "Non raggiungibile" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "Composizione prefisso" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "Tutti i dati asincroni" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "Tutti i servizi di rete" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "Tutti i servizi dati" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "Tutti i servizi PADCA" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "Tutti i servizi PDS" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "Tutte le reti PLMN" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "Tutti i servizi" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "Tutti i servizi sincroni" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "Tutti i servizi telecomunic." - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "Il numero del telefono ricevente non compare quando si effettua una chiamata" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "Il numero del telefono ricevente compare quando si effettua una chiamata" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "Servizi dati asincroni" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "ID chiamante disponibile" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "ID chiamante nascosto" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "Numero nascosto" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "Numero visualizzato" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "Verifica stato..." - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "Inserire numero a cui trasferire" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "Utente non autorizzato" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" -msgstr "In entrata durante il roaming" +msgstr "In arrivo durante il roaming" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "Operazione errata" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "Chiamate internazionali tranne verso proprio Paese" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "L'ID chiamante personale non viene inviato quando si risponde alle chiamate" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "L'ID chiamante personale non viene inviato quando si effettuano chiamate" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "L'ID chiamante personale viene inviato quando si risponde alle chiamate" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "L'ID chiamante personale viene inviato quando si effettuano chiamate" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "Password bloccata" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "Rifiutato dalla rete" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "Richiesta in corso" +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "Operazione sconosciuta" + +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "Modalità FDN" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "Servizio non autorizzato" +msgid "IDS_ST_BODY_PIN2" +msgstr "PIN2" -msgid "IDS_CST_POP_STATUS" -msgstr "Stato" +msgid "IDS_ST_BODY_PUK2" +msgstr "PUK2" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "Operazione sconosciuta" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "PUK2 bloccato" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "Risposta automatica" +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "PIN2 bloccato" + +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "PIN2 cambiato" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "PIN2 sbloccato" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" msgstr "Immagine videochiamata" @@ -292,9 +169,6 @@ msgstr "Dopo 1 secondo" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" msgstr "Premere il tasto di accensione per terminare le chiamate. Lo schermo non verrà disattivato" -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "Composizione prefisso" - msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "Composizione prefisso" @@ -370,15 +244,9 @@ msgstr "Viene emesso un segnale acustico quando la linea è scollegata" msgid "IDS_CST_SK3_CANCEL" msgstr "Annulla" -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "Servizio non disponibile" - msgid "IDS_CST_POP_INVALID_PASSWORD" msgstr "Password non valida" -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "Cambia password" - msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" msgstr "Durante una chiamata, notifica le chiamate in arrivo" @@ -403,9 +271,6 @@ msgstr "Imposta gli avvisi durante una chiamata" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "Attiva risposta automatica" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "Tasto di risposta" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" msgstr "Elenco rifiuto automatico" @@ -418,9 +283,6 @@ msgstr "Imposta la composizione del prefisso" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" msgstr "Rispondi con tatso Home" -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "Sono a lezione" - msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "Inserire messaggio" @@ -448,3 +310,177 @@ msgstr "Immagine predefinita" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "Modalità rifiuto automatico attivata" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "Mostra immagine" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "Sensore di prossimità" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "Spegnimento automatico schermo con chiamate attivo" + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "Impostazioni aggiuntive" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "Imposta un'immagine da mostrare durante le videochiamate" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "Mostra la propria immagine quando si accetta la videochiamata" + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "Impostazioni videochiamata" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "Imposta segreteria telefonica" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "Rifiuto chiamata" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "Criteri corrispondenza" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "Esattamente uguale a" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "Inizia con" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "Contiene" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "Numero segreteria telefonica" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "Sono in riunione" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "Servizio non disponibile" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "Numero in uscita" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "Sensore di prossimità" + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "Messaggi di rifiuto" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "Attiva sensore di prossimità durante le chiamate" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "Impossibile spegnere il sensore di prossimità se il tasto di accensione è impostato per la fine delle chiamate. Il tasto di accensione non terminerà più le chiamate" + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "Codice area automatico" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "Impossibile impostare il tasto di accensione per la conclusione delle chiamate se il sensore di prossimità è disattivato. Il sensore di prossimità verrà attivato" + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "Incrementa bassi" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "Incrementa alti" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "Ottimiz. per orecchio sx" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "Ottimiz. per orecchio dx" + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "Blocco videochiamate" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "Impostaz. accessori chiamata" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "Imposta opzioni degli accessori chiamata" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "Condiz. chiam. in uscita" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "Tipo chiamata in uscita" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "Come ultima chiamata" + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "Anche con disp. blocc." + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "Effettua chiamate anche se il dispositivo è bloccato" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "Solo con disp. sblocc." + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "Impostazioni auricolare Bluetooth per le chiamate in uscita" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "Contatto visivo" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "Modifica la direzione dei miei occhi come se stessi guardando la fotocamera durante le videochiamate" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "Riduzione dei disturbi" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "Sopprime il rumore di fondo in uscita durante le chiamate" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "Per orecchio sx" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "Per orecchio dx" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "Equal. personalizzato" + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "Trova l'equalizzazione personalizzata ottimale" + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "Aggiunge automaticam. il prefisso al pannello di visualizzazione numero per impostazione predefinita" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "Scusa, sono occupato, richiamami più tardi." + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "Rifiuta messaggi" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "Volume addizionale" + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "Il pulsante del volume addizionale compare sullo schermo durante le chiamate" + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "Alza volume se in tasca" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "Il volume della suoneria aumenta quando il dispositivo è in tasca o in borsa" + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "Numeri a selezione fissa" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "Contatti FDN" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "Crea contatto numeri selezione fissa" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "Contatto FDN" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "Impostaz. My call sound" + diff --git a/po/ja_JP.po b/po/ja_JP.po index 34ab0c8..42f2c59 100755 --- a/po/ja_JP.po +++ b/po/ja_JP.po @@ -1,56 +1,32 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "電話​を​かけた​とき、​ダイヤル​画面​に​よく​使う​プレフィックス​番号​を​自動​で​追加​する​ことが​できます" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "この機能を使用する前に、自分に最も適するEQを探す必要があります。今、検索しますか?" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "拒否​リスト​に​追加" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "スピードダイヤル連絡先を選択" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "自動​応答" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "チェック​した​拒否​リスト​のみ​着信​は​自動的​に​拒否​されます" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "留守番電話" -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "着信​を拒否する​場合、​発信者​に​SMSを送信​できます" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "連絡先を選択" -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "拒否​リスト" - -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "応答設定" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "自動​応答" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "着信拒否メッセージ" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "%d秒​後" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "着信​通話​に​自動​で応答​します。​自動​応答​は、​接続した​ヘッドセット​でのみ​作動​します。​自動​応答​は、​呼出音​を​消音​に​設定​して​いる​場合は​できません" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "プレフィックス​番号" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "プレフィックス​番号を​入力してください" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "開始" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "連絡先を​新規登録" msgid "IDS_CST_BODY_ALERTS_ON_CALL" msgstr "通話中にイベント通知" -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "全通話" - msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" -msgstr "全着信規制" +msgstr "全着信" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" -msgstr "全発信規制" - -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "応答​設定" +msgstr "全発信" msgid "IDS_CST_BODY_AUTO_REDIAL" msgstr "オートリダイヤル" @@ -62,20 +38,14 @@ msgid "IDS_CST_BODY_BY_NETWORK" msgstr "ネットワーク​設定​に​従う" msgid "IDS_CST_BODY_CALL_BARRING" -msgstr "発着信規制" +msgstr "通話制限" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" msgstr "呼出​開始音" -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "転送でんわ" - msgid "IDS_CST_BODY_CALL_END_TONE" msgstr "通話​終了​音" -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "通話設定" - msgid "IDS_CST_BODY_CALL_STATUS_TONES" msgstr "通話​状況通知音" @@ -85,65 +55,35 @@ msgstr "キャッチホン" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "ステータス​を​チェック​" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "停止" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "転送先" - msgid "IDS_CST_BODY_ENTER_NUMBER" -msgstr "直接入力" - -msgid "IDS_CST_BODY_FAX" -msgstr "FAX" +msgstr "番号を入力" msgid "IDS_CST_BODY_HIDE" msgstr "表示しない" msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER" -msgstr "後で​電話​します" +msgstr "後で電話します。" msgid "IDS_CST_BODY_IM_AT_THE_CINEMA" -msgstr "申し訳ありません、映画館に​います" +msgstr "申し訳ありません、映画館に​います。" msgid "IDS_CST_BODY_IM_DRIVING" -msgstr "申し訳ありません、運転中​です" - -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "会議中​です" +msgstr "申し訳ありません、運転中​です。" msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" -msgstr "申し訳ありません、授業​中です" - -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "パスワードを​入力してください" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "自宅​以外の​国際電話" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "通話​時間​通知​(毎分)" +msgstr "申し訳ありません、授業​中です。" msgid "IDS_CST_BODY_NUMBER" msgstr "番号" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "発信​国際​通話" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" -msgstr "着信拒否時にSMS送信" +msgstr "着信拒否時にメッセージ送信" msgid "IDS_CST_BODY_SHOW_MY_NUMBER" msgstr "発信者​番号​を​表示​" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" -msgstr "タップ​して​番号​を​入力" - -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "転送番号が​正しくありません" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "条件付き" +msgstr "タップして番号を入力" msgid "IDS_CST_HEADER_IF_BUSY" msgstr "ビジー​時" @@ -157,104 +97,41 @@ msgstr "圏外時" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "プレフィックス​番号" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "全ての​非同期​データ" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "全ての​ベアラ​サービス" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "全ての​データ​サービス" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "全ての​PADCA​サービス" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "全ての​PDS​サービス" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "全ての​PLMN​ベアラ" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "全ての​サービス" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "全ての​同期​サービス" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "全ての​通信​サービス" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "通話時に​電話​番号​​非表示​" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "通話時に​電話​番号​​表示​" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "非同期​データ​サービス" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "着信​画像​を​利用​できます" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "着信時に​発信者​番号​を​表示​しません" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "発信者番号​制限​あり" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "着信時に​発信者番号​を​表示​" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "現在の設定を確認中…" - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "転送する​番号​を​入力​" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "ユーザ​ー​が​不正​です" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" msgstr "ローミング時の​着信" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "操作​が​正しく​ありません" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "ローミング時の国際電話発信" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "応答時に​発信者​ID​を​送信​しません" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "発信時に​発信者​番号​を​通知​しません" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "応答時に​発信者​IDを​送信​します" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "通話時に​発信者ID​を​送信​します" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "パスワード​が​ブロック​され​ました" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "ネットワーク​に​拒否​されました" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "要求中..." +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "ご利用に​なれ​ません" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "サービス​は​未認証​です" +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "固定​ダイヤル​モード" -msgid "IDS_CST_POP_STATUS" -msgstr "ステータス" +msgid "IDS_ST_BODY_PIN2" +msgstr "PIN2" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "ご利用に​なれ​ません" +msgid "IDS_ST_BODY_PUK2" +msgstr "PUK2" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "自動​応答" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "PUK2​コード​が​ロックされて​います" + +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "PIN2​ブロック​され​ました" + +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "PIN2​を変更​し​ました。" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "PIN2ロックを解除しました。" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" msgstr "テレビ​電話​画像" @@ -290,10 +167,7 @@ msgid "IDS_CST_MBODY_AFTER_1_SECOND" msgstr "1秒​後" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" -msgstr "通話​を​終了​する​には、​[電源]キー​を​押して​ください。​画面​は​消えません" - -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "プレフィックス​番号" +msgstr "電源キーを押すと通話を終了、画面の点灯は継続" msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "プレフィックス​ダイヤルモードをON/OFF" @@ -311,10 +185,10 @@ msgid "IDS_CST_BODY_SPEED_DIAL" msgstr "スピード​ダイヤル​" msgid "IDS_CST_HEADER_SELECT_MESSAGE" -msgstr "画像​選択" +msgstr "メッセージを選択" msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB" -msgstr "着信拒否SMSを編集" +msgstr "着信拒否メッセージを編集" msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE" msgstr "毎分、​シグナル​音が​します" @@ -341,13 +215,13 @@ msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING" msgstr "テレビ​電話​転送中" msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB" -msgstr "音声​通話​規制" +msgstr "音声​通話の発着信規制" msgid "IDS_CST_BODY_INTL_CALLS" msgstr "国際​通話" msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME" -msgstr "自国以外への国際電話は無効です" +msgstr "自国以外への国際電話" msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF" msgstr "通話が​接続​できない場合、​または​切れた​場合は、自動​リダイヤル​しないで​ください" @@ -359,7 +233,7 @@ msgid "IDS_CST_BODY_SHOW" msgstr "通知" msgid "IDS_CST_BODY_TAKE_A_PICTURE" -msgstr "画像を​撮影" +msgstr "​撮影" msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED" msgstr "回線​が​接続​されると、​信号音​が​します" @@ -370,17 +244,11 @@ msgstr "回線​が​切断されると、​信号音​が​します" msgid "IDS_CST_SK3_CANCEL" msgstr "キャンセル" -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "サービス​を​利用​できません" - msgid "IDS_CST_POP_INVALID_PASSWORD" -msgstr "パスワード​が​無効​です" - -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "暗証番号​変更" +msgstr "無効なパスワードです。" msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" -msgstr "通話中​着信を​通知" +msgstr "通話中着信を通知" msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB" msgstr "拒否する番号を入力" @@ -403,9 +271,6 @@ msgstr "通話中の音設定" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "自動応答を有効" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "ホームキーで応答" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" msgstr "自動着信拒否​リスト" @@ -418,9 +283,6 @@ msgstr "プレフィックス​番号を​管理" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" msgstr "[ホーム]を押して着信に応答" -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "申し訳ありません、授業​中です" - msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "メッセージ​を​入力​" @@ -431,7 +293,7 @@ msgid "IDS_CST_HEADER_SELECT_NUMBER" msgstr "番号​を​選択" msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER" -msgstr "自動着信​拒否番号が​正しくありません" +msgstr "自動着信​拒否番号が間違っています。" msgid "IDS_COM_POP_INSERT_SIM_CARD" msgstr "SIMカードを挿入してください" @@ -440,7 +302,7 @@ msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES" msgstr "ネットワーク​サービス​を​使用​する​には​、​フライト​モード​を​無効​に​します" msgid "IDS_CST_BODY_NO_MESSAGE" -msgstr "SMSがありません" +msgstr "メッセージがありません。" msgid "IDS_CST_BODY_DEFAULT_IMAGE" msgstr "標準​画像" @@ -448,3 +310,177 @@ msgstr "標準​画像" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "自動着信拒否モード設定中" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "着信時に自分の動画を表示" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "近接センサー" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "通話が有効なときは、オートスクリーンをOFFにします。" + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "その他の設定" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "標準​代替画像を設定" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "​テレビ電話​に​応答した​場合、​発信者​側に自分の画像を​表示​" + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "テレビ電話​設定" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "留守番電話設定" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "着信拒否" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "振り分けルール" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "完全一致" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "前方一致" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "内容" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "留守番​電話​番号" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "申し訳ありません、会議中です。" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "サービス​を​利用​できません" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "発信者​ID​通知" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "通話中​は​画面​を​自動​OFF" + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "着信拒否メッセージを設定" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "通話中​に​近接​センサー​を​起動" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "電源キーが通話終了に割り当てられている間は、近接センサーをOFFにできません。電源キーは通話終了として使用できません。" + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "自動エリアコード" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "近接センサーがOFFの場合、電源キーを通話終了に設定できません。近接センサーをONにしますか?" + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "低音強調" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "高音強調" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "左耳に最適化" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "右耳に最適化" + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "テレビ電話の発着信規制" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "通話​の​アクセサリ​設定" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "通話のアクセサリオプションを設定" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "発信通話状態" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "発信通話タイプ" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "最後の電話履歴を従い" + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "端末のロック時も含む" + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "端末のロック時でも電話をかける" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "端末のロック解除時のみ" + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "発信時のBluetoothヘッドセット設定" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "アイコンタクト" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "テレビ電話中にカメラを見ているかのように目を修正" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "ノイズリダクション" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "通話中にバックグラウンドの雑音を抑制" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "左耳用" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "右耳用" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "個別EQ" + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "自分に最も達するEQを検索" + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "自動で番号表示パネルに局番を追加" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "只今、電話に出ることができません。後ほどおかけ直しください。" + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "着信拒否メッセージ" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "通話に​最大音量を​使用" + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "通話​画面​に​最大​音量​ボタン​を​表示" + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "ポケット​内​で​は​音量​アップ" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "端末​が​ポケット​や​バッグ​内​に​ある​とき​は、​着信​音量​を​大きく​する" + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "固定ダイヤル番号" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "固定​ダイヤル​電話帳" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "FDN​連絡先​を​作成" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "FDN​連絡先" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "My call sound​設定" + diff --git a/po/ko_KR.po b/po/ko_KR.po index e9d2107..130f87c 100755 --- a/po/ko_KR.po +++ b/po/ko_KR.po @@ -1,57 +1,33 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "전화를 걸 때 자주 사용하는 지역/국제번호를 자동으로 다이얼 화면에 입력할 수 있습니다" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "이 기능을 사용하기 전에 내게 가장 잘 맞는 통화 음질를 찾아야 합니다. 지금 찾을까요?" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "수신 거부 목록에 추가" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "단축번호 연락처 선택" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "자동 전화 받기" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "수신차단 목록에서 발신되는 전화는 자동으로 거부됩니다" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "음성 메시지" -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "수신 거절 후 상대방에게 상황에 맞는 문자 메시지를 선택하여 보낼 수 있습니다" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "연락처 선택" -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "수신 거부 목록" - -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "전화 수신" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "자동 전화 받기" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "수신 거절 메시지" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "%d초 후" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "전화가 오면 자동으로 전화를 받습니다. 자동 전화 받기는 헤드셋이 연결되어 있어야 작동하며 벨소리가 음소거로 설정되어 있을 때는 작동하지 않습니다" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "지역/국제번호" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "저장된 지역/국제번호가 없습니다" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "실행" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "새 연락처 추가" msgid "IDS_CST_BODY_ALERTS_ON_CALL" msgstr "통화 중 알림" -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "모든 전화" - msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" msgstr "모든 수신 전화" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" msgstr "모든 발신 전화" -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "전화 수신 방법" - msgid "IDS_CST_BODY_AUTO_REDIAL" msgstr "자동 재발신" @@ -67,15 +43,9 @@ msgstr "통화제한" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" msgstr "통화 연결음" -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "착신전환" - msgid "IDS_CST_BODY_CALL_END_TONE" msgstr "통화 종료음" -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "통화 설정" - msgid "IDS_CST_BODY_CALL_STATUS_TONES" msgstr "통화 상태 알림음" @@ -85,18 +55,9 @@ msgstr "통화대기" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "상태 확인" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "해제" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "착신전환 번호" - msgid "IDS_CST_BODY_ENTER_NUMBER" msgstr "전화번호를 입력하세요" -msgid "IDS_CST_BODY_FAX" -msgstr "팩스" - msgid "IDS_CST_BODY_HIDE" msgstr "숨기기" @@ -109,27 +70,12 @@ msgstr "영화 관람 중입니다" msgid "IDS_CST_BODY_IM_DRIVING" msgstr "운전 중입니다" -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "회의 중입니다" - msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" msgstr "수업 중입니다" -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "비밀번호를 입력하세요" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "국제전화(자국 제외)" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "1분 경과음" - msgid "IDS_CST_BODY_NUMBER" msgstr "번호" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "국제전화 발신" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" msgstr "수신 거절 메시지" @@ -137,13 +83,7 @@ msgid "IDS_CST_BODY_SHOW_MY_NUMBER" msgstr "내 전화번호 표시" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" -msgstr "번호를 입력하려면 누르세요" - -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "착신 번호가 바르지 않습니다" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "조건부" +msgstr "전화번호를 입력하세요" msgid "IDS_CST_HEADER_IF_BUSY" msgstr "통화 중일 때" @@ -157,107 +97,44 @@ msgstr "통화권을 벗어났을 때" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "자동 지역/국가번호" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "모든 비동기 데이터" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "모든 베어러 서비스" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "모든 데이터 서비스" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "모든 PADCA 서비스" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "모든 PDS 서비스" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "모든 PLMN" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "모든 서비스" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "모든 동기 서비스" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "모든 사업자 서비스" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "전화를 걸 때 상대방 전화번호가 표시되지 않습니다" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "전화를 걸 때 상대방 전화번호가 표시됩니다" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "비동기 데이터 서비스" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "발신자 번호가 표시됩니다" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "발신자 번호가 표시되지 않습니다" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "발신자 번호 표시 제한" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "발신자 번호가 표시됩니다" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "상태 확인 중..." - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "착신할 번호를 입력하세요" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "합법적인 사용자가 아닙니다" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" msgstr "로밍 중 전화 수신" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "동작이 바르지 않습니다" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "국제전화 발신(자국 제외)" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "전화를 받을 때 내 전화번호를 전송하지 않습니다" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "전화를 걸 때 내 전화번호를 전송하지 않습니다" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "전화를 받을 때 내 발신자 정보를 전송합니다" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "전화를 걸 때 내 발신자 정보를 전송합니다" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "비밀번호가 잠금 설정되었습니다" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "네트워크에서 거부되었습니다" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "요청 중..." +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "수행할 수 없는 작업입니다" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "서비스가 인증되지 않았습니다" +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "FDN 모드" -msgid "IDS_CST_POP_STATUS" -msgstr "상태" +msgid "IDS_ST_BODY_PIN2" +msgstr "PIN2" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "수행할 수 없는 작업입니다" +msgid "IDS_ST_BODY_PUK2" +msgstr "PUK2" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "자동 전화 받기" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "PUK2가 잠겼습니다" + +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "PIN2가 잠겼습니다" + +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "PIN2가 변경되었습니다" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "PIN2 잠금이 해제되었습니다" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" -msgstr "영상통화 이미지" +msgstr "대체 영상" msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT" msgstr "자동 수신 거부 실행" @@ -266,7 +143,7 @@ msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB" msgstr "자동 수신 거부가 해제되었습니다" msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE" -msgstr "자동 수신 거부 모드 관리" +msgstr "자동 수신 거부 설정을 관리합니다" msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING" msgstr "전화 수신/종료" @@ -275,7 +152,7 @@ msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_THE_HOME_KEY" msgstr "홈 버튼으로 전화 받기" msgid "IDS_CST_BODY_ACCEPT_INCOMING_CALLS_BY_PRESSING_THE_HOME_KEY" -msgstr "홈 버튼을 눌러 전화를 받습니다" +msgstr "전화를 수신했을 때 홈 키로 전화 받기" msgid "IDS_CST_BODY_AFTER_PD_SECONDS" msgstr "%d초 후" @@ -292,9 +169,6 @@ msgstr "1초 후" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" msgstr "전원 버튼을 눌러 통화를 종료합니다. 화면은 꺼지지 않습니다" -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "자동 지역/국가번호" - msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "지역/국제번호 실행" @@ -314,7 +188,7 @@ msgid "IDS_CST_HEADER_SELECT_MESSAGE" msgstr "메시지 선택" msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB" -msgstr "거절 메시지를 편집합니다" +msgstr "수신 전화 거절 후 전송할 메시지를 관리합니다" msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE" msgstr "통화 중 1분마다 신호음이 들립니다" @@ -335,7 +209,7 @@ msgid "IDS_CST_HEADER_ALWAYS" msgstr "항상" msgid "IDS_CST_HEADER_FORWARD_TO" -msgstr "착신 전환 번호" +msgstr "착신전환 번호" msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING" msgstr "영상통화 착신전환" @@ -370,15 +244,9 @@ msgstr "통화가 끊어지면 신호음이 들립니다" msgid "IDS_CST_SK3_CANCEL" msgstr "취소" -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "서비스를 사용할 수 없습니다" - msgid "IDS_CST_POP_INVALID_PASSWORD" msgstr "비밀번호가 바르지 않습니다" -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "비밀번호 변경" - msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" msgstr "통화 중에 다른 전화가 걸려오면 알려줍니다" @@ -403,9 +271,6 @@ msgstr "통화 중 소리 설정" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "자동 전화 받기 실행" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "통화 버튼" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" msgstr "자동 수신 거부 목록" @@ -418,9 +283,6 @@ msgstr "지역/국제번호 관리" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" msgstr "홈 버튼으로 전화 받기" -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "수업 중입니다" - msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "메시지를 입력하세요" @@ -448,3 +310,177 @@ msgstr "기본 이미지" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "자동 수신 거부가 설정되었습니다" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "수신 시 내 영상 보이기" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "근접 센서" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "통화 중에는 화면이 자동으로 꺼집니다" + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "추가 설정" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "내 영상을 숨기려면 기본 이미지를 설정하세요" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "영상통화가 연결되면 내 영상을 상대방에게 보여줍니다" + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "영상통화 설정" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "음성 메시지 설정" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "수신 거부" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "적용 기준" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "입력 내용과 일치" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "입력 번호로 시작" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "포함" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "음성사서함 번호" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "회의 중입니다" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "서비스를 사용할 수 없습니다" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "내 발신자 번호 표시" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "통화 중 근접센서 동작" + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "거절 메시지 설정" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "통화 중 근접 센서를 켭니다" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "전원 버튼에 통화 종료 기능이 설정되어 있을 때에는 근접 센서를 끌 수 없습니다. [전원 버튼으로 통화 종료] 기능을 해제합니다" + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "자동 지역 번호" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "근접 센서가 꺼져 있으면 전원 버튼으로 통화를 종료할 수 없습니다. 근접 센서가 켜집니다" + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "낮은 음 강조" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "높은 음 강조" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "왼쪽 귀를 위해 최적화" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "오른쪽 귀를 위해 최적화" + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "영상통화 제한" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "통화 액세서리 설정" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "통화 액세서리 옵션을 설정합니다" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "발신 전화 조건" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "발신 전화 유형" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "마지막 통화 기록으로 전화 걸기" + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "디바이스가 잠겨 있는 상태에서" + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "디바이스가 잠겨 있는 상태에서도 전화 걸기" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "디바이스가 잠금 해제된 상태에서만" + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "발신 전화 BT 헤드셋 설정" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "눈 마주치기" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "영상통화 중에 카메라를 쳐다보고 있는 것처럼 보이도록 눈 위치를 수정합니다" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "노이즈 감소" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "통화 중 내 쪽의 배경 소음을 제어합니다" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "왼쪽 귀" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "오른쪽 귀" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "설정된 이퀄라이저" + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "나에게 맞는 음질을 파악하여 통화 음질을 최적화합니다" + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "번호 표시창에 자동으로 지역 번호를 추가합니다" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "지금 전화를 받을 수 없습니다. 나중에 연락주세요." + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "거절 메시지" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "통화 중 추가 음량 사용" + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "통화 중 화면에 추가 음량 버튼이 표시됩니다" + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "주머니에 있으면 음량 높이기" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "디바이스가 주머니 또는 가방에 있으면 벨소리가 커집니다" + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "FDN 연락처" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "FDN 연락처" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "FDN 연락처 추가" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "FDN 연락처" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "My call sound 설정" + diff --git a/po/nl_NL.po b/po/nl_NL.po index fc3d31b..9ba51e0 100755 --- a/po/nl_NL.po +++ b/po/nl_NL.po @@ -1,57 +1,33 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "Tijdens een oproep kunt u een vaak gebruikt prefixnummer automatisch toevoegen aan het belscherm" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "Voordat u deze functie kunt gebruiken, moet u de beste EQ voor u vinden. Nu zoeken?" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "Toevoegen aan weigerlijst" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "Snelkiesnummers voor contacten selecteren" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "Automatisch beantwoorden" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "Inkomende oproepen worden alleen automatisch geweigerd voor actieve blokkeerlijst" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "Voicemail" -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "U kunt een SMS met uitleg verzenden naar bellers wanneer u hun oproepen weigert" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "Contacten selecteren" -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "Blokkeerlijst" - -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "Oproep beantwoorden" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "Automatisch beantwoorden" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "Bericht weigeren" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "Na %d seconden" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "Inkomende oproepen worden automatisch aangenomen. Automatisch aannemen werkt alleen met aangesloten headset. Automatisch aannemen is niet mogelijk als de beltoon is ingesteld op dempen" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "Prefixnummer" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "Prefixnummer leeg" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "Inschakelen" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "Contact maken" msgid "IDS_CST_BODY_ALERTS_ON_CALL" msgstr "Waarschuwing bij oproep" -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "Alle oproepen" - msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" msgstr "Alle inkomende oproepen" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" msgstr "Alle uitgaande oproepen" -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "Antwoordmodus" - msgid "IDS_CST_BODY_AUTO_REDIAL" msgstr "Automatisch herhalen" @@ -59,7 +35,7 @@ msgid "IDS_CST_BODY_AUTO_REJECT" msgstr "Automatisch weigeren" msgid "IDS_CST_BODY_BY_NETWORK" -msgstr "Door netwerk" +msgstr "Op netwerk" msgid "IDS_CST_BODY_CALL_BARRING" msgstr "Oproepen blokkeren" @@ -67,15 +43,9 @@ msgstr "Oproepen blokkeren" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" msgstr "Verbindingstoon" -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "Oproepen doorschakelen" - msgid "IDS_CST_BODY_CALL_END_TONE" msgstr "Toon bij einde oproep" -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "Oproepen" - msgid "IDS_CST_BODY_CALL_STATUS_TONES" msgstr "Statustonen oproep" @@ -85,17 +55,8 @@ msgstr "Wisselgesprek" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "Status controleren" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "Uitschakelen" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "Doorschakelen naar" - msgid "IDS_CST_BODY_ENTER_NUMBER" -msgstr "Geef het nummer in" - -msgid "IDS_CST_BODY_FAX" -msgstr "Fax" +msgstr "Nummer invoeren" msgid "IDS_CST_BODY_HIDE" msgstr "Verbergen" @@ -109,27 +70,12 @@ msgstr "Ik zit in de bios" msgid "IDS_CST_BODY_IM_DRIVING" msgstr "Ik zit achter het stuur" -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "Ik ben in een vergadering" - msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" msgstr "Ik ben op cursus" -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Wachtwoord ingeven" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "Uitgaand muv eigen land" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "Minutenteller" - msgid "IDS_CST_BODY_NUMBER" msgstr "Nummer" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "Uitg. intern. oproepen" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" msgstr "Oproep met bericht weigeren" @@ -139,12 +85,6 @@ msgstr "Mijn nummer tonen" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" msgstr "Tik om nummer in te geven" -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "Verkeerd doorschakelnummer" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "Voorwaardelijk" - msgid "IDS_CST_HEADER_IF_BUSY" msgstr "Indien bezet" @@ -157,104 +97,41 @@ msgstr "Indien buiten bereik" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "Prefix bellen" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "Alle asynchrone gegevens" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "Alle dragerdiensten" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "Alle datadiensten" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "Alle PADCA-diensten" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "Alle PDS-diensten" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "Alle PLMN-dragers" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "Alle diensten" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "Alle synchrone diensten" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "Alle telecom-diensten" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "Gebelde nummer niet tonen tijdens oproep" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "Gebelde nummer tonen tijdens oproep" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "Asynchrone datadiensten" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "Beller-id beschikbaar" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "Beller-id verborgen" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "Beller-ID beperkt" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "Info beller tonen" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "Status controleren..." - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "Geef het nummer in waarnaar moet worden doorgeschakeld" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "Onbevoegde gebruiker" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" msgstr "Inkomend in buitenland" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "Onjuiste bewerking" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "Internationale oproepen behalve in eigen land" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "Mijn nummer niet\ntonen bij\ninkomende oproep" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "Mijn nummer\nniet tonen\nbij uitgaande oproep" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "Mijn nummer tonen\nbij inkomende\noproep" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "Mijn nummer tonen\nbij uitgaande\noproep" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "Wachtwoord geblokkeerd" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "Geweigerd door netwerk" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "Aanvragen..." +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "Onbekende bewerking" + +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "FDN-modus" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "Dienst niet toegestaan" +msgid "IDS_ST_BODY_PIN2" +msgstr "PIN2" -msgid "IDS_CST_POP_STATUS" -msgstr "Status" +msgid "IDS_ST_BODY_PUK2" +msgstr "PUK2" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "Onbekende bewerking" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "PUK2 geblokkeerd" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "Autom. beantwoorden" +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "PIN2 geblokkeerd" + +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "PIN2 gewijzigd" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "PIN2 gedeblokkeerd" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" msgstr "Afbeelding video-oproep" @@ -269,7 +146,7 @@ msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE" msgstr "Stand voor automatisch weigeren beheren" msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING" -msgstr "Aannemen/einde oproep" +msgstr "Antwoord/einde oproep" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_THE_HOME_KEY" msgstr "Accept. met Start-toets" @@ -292,9 +169,6 @@ msgstr "Na 1 seconde" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" msgstr "Druk op aan/uit voor einde oproepen. Schakelt het scherm niet uit" -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "Prefix bellen" - msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "Prefix bellen inschakelen" @@ -353,7 +227,7 @@ msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_ msgstr "Niet automatisch herhalen als verbinding niet wordt gemaakt of wordt afgebroken" msgid "IDS_CST_SK_CHANGE" -msgstr "Wijzig" +msgstr "Wijzigen" msgid "IDS_CST_BODY_SHOW" msgstr "Tonen" @@ -370,15 +244,9 @@ msgstr "U hoort een geluidssignaal wanneer de verbinding wordt verbroken" msgid "IDS_CST_SK3_CANCEL" msgstr "Annul." -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "Service niet beschikbaar" - msgid "IDS_CST_POP_INVALID_PASSWORD" msgstr "Wachtwoord onjuist" -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "Wachtwoord wijzigen" - msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" msgstr "Meld inkomende oproepen tijdens een oproep" @@ -403,14 +271,11 @@ msgstr "Geluidsinstellingen tijdens oproep" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "Autom. beantwoorden aan" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "Toets voor antwoorden" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" msgstr "Lijst voor automatisch weigeren" msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB" -msgstr "Instell. aannemen/beëindigen oproep beheren" +msgstr "Instellingen oproep beantwoorden/beëindigen beheren" msgid "IDS_CST_BODY_MANAGE_PREFIX_DIALLING" msgstr "Prefix bellen beheren" @@ -418,9 +283,6 @@ msgstr "Prefix bellen beheren" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" msgstr "Oproepen acc. met Start" -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "Ik ben op cursus" - msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "Geef het bericht in" @@ -448,3 +310,177 @@ msgstr "Standaardafbeelding" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "Automatisch weigeren ingeschakeld" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "Eigen video in ontvangen oproep" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "Nabijheidssensor" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "Scherm automatisch uit tijdens oproepen ingeschakeld" + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "Extra instellingen" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "Standaardafbeelding verbergen instellen" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "Live afbeelding aan beller tonen wanneer gebruiker video-oproep aanneemt" + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "Instellingen video-oproep" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "Voicemailinstellingen" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "Oproep weigeren" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "Blokkeringscriteria" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "Precies gelijk aan" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "Beginnen met" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "Invoegen" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "Voicemailnummer" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "Ik ben in een vergadering" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "Service niet beschikbaar" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "Mijn beller-id tonen" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "Scherm autom. uit tijdens oproep" + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "Weigerberichten instellen" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "Nabijheidssensor inschakelen tijdens oproepen" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "Kan nabijheidssensor niet uitschakelen als oproepen worden beëindigd met de aan/uit-toets. Aan/uit-toets beëindigt geen oproepen meer" + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "Automatisch netnummer" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "Kan de aan/uit-toets niet instellen voor het beëindigen van oproepen als de nabijheidssensor uit is. Nabijheidssensor wordt ingeschakeld" + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "Lage tonen boost" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "Hoge tonen boost" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "Optimaal voor linkeroor" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "Optimaal voor rechteroor" + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "Video-oproepen blokkeren" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "Accessoire-instell. oproep" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "Aanvullende opties instellen voor oproepen" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "Voorw. uitgaande oproepen" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "Uitgaand oproeptype" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "Laatste oproeplijst volgen" + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "Ook bij vergrendeld" + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "Ook bellen met vergrendeld apparaat" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "Alleen bij ontgrendeld" + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "Instellingen BT-headset voor uitgaande oproepen" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "Oogcontact" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "Mijn ogen aanpassen zodat het lijkt dat ik naar de camera kijk tijdens video-oproepen" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "Ruisonderdrukking" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "Onderdrukt achtergrondruis van uw kant tijdens oproepen" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "Voor linkeroor" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "Voor rechteroor" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "Aangepaste EQ" + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "Zoek de beste EQ voor u" + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "Voeg netnummer automatisch toe aan nummerweergave" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "Ik ben bezet. Bel later terug." + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "Weigerberichten" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "Gebruik extra volume tijdens oproepen" + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "Tijdens oproep wordt extra volumetoets op het scherm getoond" + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "Volume verhogen in zak" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "Het beltoonvolume wordt verhoogd wanneer het apparaat zich in uw zak of in een tas bevindt" + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "FDN-nummers" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "FDN-contacten" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "FDN-contactpersoon maken" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "FDN-contact" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "Instell. My call sound" + diff --git a/po/pt_PT.po b/po/pt_PT.po index 9010b39..ed4123a 100755 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -1,57 +1,33 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "Ao efectuar uma chamada, pode adicionar automaticamente ao ecrã de marcação um prefixo utilizado com frequência" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "Antes de poder utilizar esta função tem de localizar o melhor EQ para si. Localizar agora?" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "Adicionar à lista de rejeições" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "Seleccionar contactos de marcação rápida" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "Atendimento automático" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "Só serão rejeitadas automaticamente as chamadas recebidas da lista de rejeição marcada" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "Correio de voz" -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "Pode enviar mensagens de texto explicativas aos chamadores quando rejeita as respectivas chamadas" - -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "Lista de rejeições" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "Seleccionar contactos" -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "Atendimento de chamadas" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "Atendimento automático" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "Mensagem de rejeição" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "Após %d segundos" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "As chamadas recebidas serão atendidas automaticamente. O atendimento automático só funcionará com um auricular ligado. O atendimento automático não é possível quando o tom de toque está definido como silencioso" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "Número de prefixo" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "Número de prefixo vazio" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "Activar" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "Criar contacto" msgid "IDS_CST_BODY_ALERTS_ON_CALL" msgstr "Alerta durante chamada" -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "Todas as chamadas" - msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" msgstr "Chamadas recebidas" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" msgstr "Chamadas efectuadas" -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "Modo de atendimento" - msgid "IDS_CST_BODY_AUTO_REDIAL" msgstr "Remarcação automática" @@ -67,15 +43,9 @@ msgstr "Barramento de chamadas" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" msgstr "Tom de ligação de chamada" -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "Desvio de chamadas" - msgid "IDS_CST_BODY_CALL_END_TONE" msgstr "Tom de fim de chamada" -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "Chamada" - msgid "IDS_CST_BODY_CALL_STATUS_TONES" msgstr "Tons de estado das chamadas" @@ -85,18 +55,9 @@ msgstr "Chamada em espera" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "Verificar estado" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "Desactivar" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "Desviar para" - msgid "IDS_CST_BODY_ENTER_NUMBER" msgstr "Introduzir número" -msgid "IDS_CST_BODY_FAX" -msgstr "Fax" - msgid "IDS_CST_BODY_HIDE" msgstr "Ocultar" @@ -109,27 +70,12 @@ msgstr "Estou no cinema" msgid "IDS_CST_BODY_IM_DRIVING" msgstr "Estou a conduzir" -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "Estou numa reunião" - msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" msgstr "Estou na aula" -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Introduzir palavra-passe" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "Internac. excepto origem" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "Indicador de minuto" - msgid "IDS_CST_BODY_NUMBER" msgstr "Número" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "Ch. internac. efectuadas" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" msgstr "Rejeitar chamadas com mensagem" @@ -139,12 +85,6 @@ msgstr "Exibir o meu número" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" msgstr "Toque para introduzir número" -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "Número de desvio errado" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "Condicional" - msgid "IDS_CST_HEADER_IF_BUSY" msgstr "Se ocupado" @@ -157,104 +97,41 @@ msgstr "Se incontactável" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "Marcação com prefixo" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "Todos os dados assíncronos" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "Todos os serviços da portadora" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "Todos os serviços de dados" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "Todos os serviços PADCA" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "Todos os serviços PDS" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "Todas as portadoras PLMN" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "Todos os serviços" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "Todos os serviços síncronos" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "Todos os serviços de telecomunicações" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "Número de atendimento não é mostrado ao efectuar chamada" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "Número de atendimento é mostrado ao efectuar chamada" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "Serviços de dados assíncronos" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "ID de chamador disponível" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "ID de chamador oculto" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "ID do chamador restringido" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "ID do chamador exibido" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "A verificar estado..." - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "Introduzir número para o desvio" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "Utilizador ilegal" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" msgstr "Recebidas em roaming" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "Operação incorrecta" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "Chamadas internacionais excepto origem" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "O meu ID de chamador não é enviado durante o atendimento de chamadas" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "O meu ID de chamador não é enviado durante a realização de chamadas" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "O meu ID de chamador é enviado durante o atendimento de chamadas" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "O meu ID de chamador é enviado durante a realização de chamadas" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "Palavra-passe bloqueada" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "Rejeitado pela rede" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "A pedir..." +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "Operação desconhecida" + +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "Modo de marcação fixa" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "Serviço não autorizado" +msgid "IDS_ST_BODY_PIN2" +msgstr "PIN2" -msgid "IDS_CST_POP_STATUS" -msgstr "Estado" +msgid "IDS_ST_BODY_PUK2" +msgstr "PUK2" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "Operação desconhecida" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "PUK2 bloqueado" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "Atendim. automático" +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "PIN2 bloqueado" + +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "PIN2 alterado" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "PIN2 desbloqueado" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" msgstr "Imagem de chamada de vídeo" @@ -292,9 +169,6 @@ msgstr "Após 1 segundo" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" msgstr "Prima a tecla de alimentação para terminar chamadas. O ecrã não é desligado" -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "Marcação com prefixo" - msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "Activar marcação com prefixo" @@ -370,15 +244,9 @@ msgstr "Será emitido um sinal sonoro quando a chamada for terminada" msgid "IDS_CST_SK3_CANCEL" msgstr "Cancelar" -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "Serviço não disponível" - msgid "IDS_CST_POP_INVALID_PASSWORD" msgstr "Palavra-passe inválida" -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "Alterar palavra-passe" - msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" msgstr "Durante uma chamada, notificar-me sobre as chamadas recebidas" @@ -403,9 +271,6 @@ msgstr "Definições de som durante a chamada" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "Activar atend. automático" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "Tecla de atendimento" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" msgstr "Lista de rejeições automática" @@ -418,9 +283,6 @@ msgstr "Gerir marcação com prefixo" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" msgstr "Ac. ch. com tec. Home" -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "Estou na aula" - msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "Introduzir mensagem" @@ -448,3 +310,177 @@ msgstr "Imagem padrão" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "Modo de rejeição automática activado" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "Vídeo próprio na chamada recebida" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "Sensor de proximidade" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "Filtragem automática desligada durante chamadas activada" + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "Definições adicionais" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "Definir imagem Ocultar-me padrão" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "Mostrar imagem animada ao chamador quando o utilizador aceita uma chamada de vídeo" + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "Definições de chamada de vídeo" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "Definições correio voz" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "Rejeição de chamada" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "Corresponder critérios" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "Exactamente o mesmo que" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "Iniciar com" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "Incluir" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "Número do correio de voz" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "Estou numa reunião" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "Serviço não disponível" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "Mostrar o meu ID de chamador" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "Filtr. auto deslg. dur. chs." + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "Definir msgs de rejeição" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "Activar sensor proximidade durante chamadas" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "Impossível desativar o sensor de proximidade enquanto a tecla de alimentação estiver definida para terminar chamadas. A tecla de alimentação deixará de terminar chamadas" + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "Código de área automático" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "Impossível definir a tecla de alimentação para terminar chamadas enquanto o sensor de proximidade estiver desactivado. O sensor de proximidade será activado" + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "Ampl. tons graves" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "Ampl. tons agudos" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "Optimizada p/ ouvido esq." + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "Optimizada p/ ouvido dir." + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "Barrar vídeo" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "Defs. acessório p/ chamada" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "Definir opções de acessório para chamadas" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "Condições cham. efectuada" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "Tipo de chamada efectuada" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "Seguir regis. últ. ch." + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "Mesmo com disp. bloq." + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "Efectuar chamadas mesmo com dispositivo bloqueado" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "Só com disp. desbloq." + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "Definições de auricular BT para chamadas efectuadas" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "Contacto visual" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "Modificar os meus olhos para parecer que estou a olhar para a câmara durante as chamadas de vídeo" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "Redução de ruído" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "Suprime o ruído de fundo do seu lado durante chamadas" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "P/ ouvido esquerdo" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "P/ ouvido direito" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "EQ personalizada" + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "Localize o melhor EQ para si" + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "Adicionar automaticamente o código de área ao painel de apresentação do número" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "Lamento, estou ocupado, ligue mais tarde." + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "Mensagens de rejeição" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "Utiliz. vol. extra p/ ch." + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "O botão de volume extra é mostrado no ecrã durante as chamadas" + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "Aumentar volume no bolso" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "O volume do tom de toque aumenta quando o dispositivo está num bolso ou numa mala" + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "Números de marcação fixa" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "Contactos FDN" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "Criar contacto FDN" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "Contacto FDN" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "Defs. My call sound" + diff --git a/po/ru_RU.po b/po/ru_RU.po index b04093f..048be1d 100755 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -1,57 +1,33 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "На экран набора номера можно автоматически добавлять часто используемый префикс" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "Перед тем как использовать эту функцию, вам нужно найти оптимальный эквалайзер. Сделать это сейчас?" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "Добавить в черный список" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "Выбрать контакты для быстрого набора" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "Автоматический ответ" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "Входящие вызовы будут отклоняться только для выбранного черного списка" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "Голосовая почта" -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "Отклоняя вызов абонента, вы можете отправить ему текстовое сообщение с объяснением причины" - -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "Черный список" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "Выберите контакты" -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "Ответ на звонок" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "Автоматический ответ" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "Отклонить и отправить сообщение" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "Через %d с" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "Ответ на входящие вызовы будет происходить автоматически. Функция автоматического ответа доступна только при подключенной гарнитуре. При отключенном звуке сигнала вызова автоматический ответ невозможен" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "Префикс" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "Не задан префикс" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "Включить" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "Создать контакт" msgid "IDS_CST_BODY_ALERTS_ON_CALL" msgstr "Сигналы при вызове" -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "Все вызовы" - msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" msgstr "Все входящие вызовы" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" msgstr "Все исходящие вызовы" -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "Режим ответа" - msgid "IDS_CST_BODY_AUTO_REDIAL" msgstr "Автодозвон" @@ -67,15 +43,9 @@ msgstr "Запрет вызова" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" msgstr "Сигнал соединения" -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "Переадресация вызова" - msgid "IDS_CST_BODY_CALL_END_TONE" msgstr "Сигнал завершения вызова" -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "Вызовы" - msgid "IDS_CST_BODY_CALL_STATUS_TONES" msgstr "Сигналы состояния" @@ -85,18 +55,9 @@ msgstr "Ожидание вызова" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "Проверка состояния" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "Выключить" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "Переадресовывать на" - msgid "IDS_CST_BODY_ENTER_NUMBER" msgstr "Введите номер" -msgid "IDS_CST_BODY_FAX" -msgstr "Факс" - msgid "IDS_CST_BODY_HIDE" msgstr "Скрыть" @@ -109,29 +70,14 @@ msgstr "Я в кинотеатре" msgid "IDS_CST_BODY_IM_DRIVING" msgstr "Я за рулем" -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "Я на собрании" - msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" msgstr "Я на занятиях" -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Введите пароль" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "Международные кроме домой" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "Поминутный сигнал" - msgid "IDS_CST_BODY_NUMBER" msgstr "Номер" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "Исходящие международные вызовы" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" -msgstr "Отклонить вызов и отправить сообщение" +msgstr "Отклонить вызов с сообщением" msgid "IDS_CST_BODY_SHOW_MY_NUMBER" msgstr "Показывать мой номер" @@ -139,12 +85,6 @@ msgstr "Показывать мой номер" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" msgstr "Нажмите для ввода номера" -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "Неверный номер для переадресации" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "Условная" - msgid "IDS_CST_HEADER_IF_BUSY" msgstr "Если занято" @@ -157,104 +97,41 @@ msgstr "Если недоступен" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "Набор префикса" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "Все асинхронные данные" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "Все услуги каналов" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "Все услуги данных" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "Все услуги PADCA" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "Все услуги PDS" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "Все каналы PLMN" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "Все услуги" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "Все синхронные услуги" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "Все услуги связи" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "Не отображать номер абонента при ответе на вызов" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "Отображать номер абонента при ответе на вызов" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "Асинхронные услуги данных" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "Фотоопределитель доступен" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "Фотоопределитель скрыт" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "Фотоопределитель ограничен" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "Фотоопределитель отображается" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "Проверка текущего состояния..." - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "Введите номер для переадресации" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "Недопустимый пользователь" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" msgstr "Входящие в роуминге" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "Неверная операция" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "Международные вызовы, кроме домашних" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "Не передавать мой номер при ответе на вызовы" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "Не передавать мой номер во время вызова" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "Мой номер отправляется при ответе на вызов" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "Мой номер отправляется при вызове" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "Пароль заблокирован" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "Отклонено сетью" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "Запрос..." +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "Неизвестная операция" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "Услуга не разрешена" +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "Режим разрешенных номеров" -msgid "IDS_CST_POP_STATUS" -msgstr "Состояние" +msgid "IDS_ST_BODY_PIN2" +msgstr "PIN2" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "Неизвестная операция" +msgid "IDS_ST_BODY_PUK2" +msgstr "PUK2-код" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "Автоматический ответ" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "PUК2-код заблокирован" + +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "PIN2 заблокирован" + +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "PIN2-код изменен" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "PIN2-код разблокирован" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" msgstr "Изображение для видеовызова" @@ -272,10 +149,10 @@ msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING" msgstr "Ответ/окончание вызова" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_THE_HOME_KEY" -msgstr "Принимать выз. клавишей \"Домой\"" +msgstr "Ответ клавишей Домой" msgid "IDS_CST_BODY_ACCEPT_INCOMING_CALLS_BY_PRESSING_THE_HOME_KEY" -msgstr "Принимать входящие вызовы с помощью клавиши \"Домашняя страница\"" +msgstr "Принимать входящие вызовы с помощью клавиши Главный экран" msgid "IDS_CST_BODY_AFTER_PD_SECONDS" msgstr "Через %d с" @@ -292,9 +169,6 @@ msgstr "Через 1 с" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" msgstr "Чтобы завершить вызов, нажмите клавишу питания. При этом экран не погаснет" -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "Набор префикса" - msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "Включить набор префикса" @@ -370,15 +244,9 @@ msgstr "При отключении вызова будет звучать си msgid "IDS_CST_SK3_CANCEL" msgstr "Отмена" -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "Услуга недоступна" - msgid "IDS_CST_POP_INVALID_PASSWORD" msgstr "Неправильный пароль" -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "Изменить пароль" - msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" msgstr "Уведомлять о входящих вызовах во время звонка" @@ -403,9 +271,6 @@ msgstr "Параметры звука во время вызова" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "Включить автоответ" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "Клавиша для ответа" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" msgstr "Черный список" @@ -416,10 +281,7 @@ msgid "IDS_CST_BODY_MANAGE_PREFIX_DIALLING" msgstr "Управление набором префиксов" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" -msgstr "Прин. вызовы кл. \"Домой\"" - -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "Я на занятиях" +msgstr "Прин. вызовы кл. Домой" msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "Введите сообщение" @@ -448,3 +310,176 @@ msgstr "Изображение по умолчанию" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "Включен режим автоотклонения" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "Показывать видео" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "Датчик приближения" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "Автоматическое отключение экрана во время звонков включено" + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "Дополнительные параметры" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "Установить стандартное изображение Скрыть меня" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "Показывать звонящему прямую трансляцию, когда пользователь примет видеовызов" + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "Настройки видеовызова" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "Параметры голосовой почты" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "Отклонение вызова" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "Условие совпадения" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "Точное совпадение" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "Начинается с" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "Содержит" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "Номер голосовой почты" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "Я на собрании" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "Услуга недоступна" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "Показывать мой номер" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "Автооткл. экрана при вызове" + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "Сообщение для отклонения" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "Включать бесконтактный датчик во время вызовов" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "Невозможно выключить датчик расстояния, когда клавиша питания настроена на завершение вызовов. Клавиша питания больше не будет завершать вызовы" + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "Автоматический код города" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "Невозможно настроить клавишу питания на завершение вызовов, когда выключен датчик расстояния. Датчик расстояния будет включен" + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "Усил. низкие тоны" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "Усил. высокие тоны" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "Оптим. для лев. наушника" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "Оптим. для прав. наушника" + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "Запрет видеовызова" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "Параметры аксессуаров" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "Настроить параметры аксессуаров для вызовов" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "Условия исходящего вызова" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "Тип исходящего вызова" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "Учитывать посл. вызов" + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "Даже если заблокировано" + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "Выполнять вызовы, даже если устройство заблокировано" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "Только если разблокиров." + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "Параметры гарнитуры Bluetooth для исходящих вызовов" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "Глаза в глаза" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "Изменить мой взгляд, как будто я смотрю в экран во время видеовызова" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "Устранение шумов" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "Подавление фоновых шумов на вашей стороне во время вызова" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "Для левого наушника" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "Для прав. наушника" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "Польз. эквалайзер" + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "Выбор оптимального эквалайзера" + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "Автоматически добавлять код города в область отображения номера" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "К сожалению, я не могу ответить, пожалуйста, перезвоните позже." + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "Сообщения для отклонения" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "Доп. громк. для вызовов" + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "Во время вызовов на экране выводится кнопка дополнительного диапазона громкости" + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "Звонить громче в сумке" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "Громкость мелодии повышается, если устройство находится в кармане или в сумке" + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "Разрешенные номера" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "FDN-контакты" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "Создать контакт FDN" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "FDN-контакт" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "Параментры My call sound" \ No newline at end of file diff --git a/po/tr_TR.po b/po/tr_TR.po index 10c1d46..a6dcb17 100755 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -1,57 +1,33 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "Bir arama yaparken, arama yaptığınız ekrana otomatik olarak sıkça kullandığınız alan kodlu bir numara ekleyebilirsiniz" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "Bu fonksiyonu kullanmadan önce sizin için en iyi EQ'yu bulmanız gerekir. Şimdi bulunsun mu?" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "Reddedilen listesine ekle" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "Hızlı arama kişilerini seç" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "Otomatik cevaplama" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "Sadece kontrol edilen reddetme listesi için gelen aramalar otomatik olarak reddedilecektir" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "Sesli posta" -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "Aramalarını reddettiğinizde arayanlara açıklayıcı bir mesaj bırakabilirsiniz" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "Kişileri seç" -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "Reddedilenler listesi" - -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "Çağrı cevaplama" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "Otomatik cevaplama" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "Mesajı reddet" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "%d saniye sonra" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "Gelen aramalar otomatik cevaplanacak.Otomatik cevaplama sadece kulaklık takılıyken çalışır.Sessiz modda otomatik cevaplama çalışmaz" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "Ön ekli numara" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "Ön ekli numara boş" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "Etkinleştir" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "Yeni kişi ekle" msgid "IDS_CST_BODY_ALERTS_ON_CALL" msgstr "Görüşme sırasında uyarılar" -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "Tüm aramalar" - msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" msgstr "Tüm gelen aramalar" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" msgstr "Tüm giden aramalar" -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "Cevaplama modu" - msgid "IDS_CST_BODY_AUTO_REDIAL" msgstr "Otomatik tekrar arama" @@ -67,15 +43,9 @@ msgstr "Arama engelleme" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" msgstr "Arama bağlantı tonu" -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "Arama yönlendirme" - msgid "IDS_CST_BODY_CALL_END_TONE" msgstr "Arama sonlandırma sesi" -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "Arama ayarları" - msgid "IDS_CST_BODY_CALL_STATUS_TONES" msgstr "Arama durumu sesleri" @@ -85,18 +55,9 @@ msgstr "Arama bekletme" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "Durumu kontrol et" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "Devredışı" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "Yönlendir" - msgid "IDS_CST_BODY_ENTER_NUMBER" msgstr "Numarayı girin" -msgid "IDS_CST_BODY_FAX" -msgstr "Faks" - msgid "IDS_CST_BODY_HIDE" msgstr "Gizle" @@ -109,27 +70,12 @@ msgstr "Sinemadayım" msgid "IDS_CST_BODY_IM_DRIVING" msgstr "Araç kullanıyorum" -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "Toplantıdayım" - msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" msgstr "Dersteyim" -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Şifre giriniz" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "Yurt içi hariç uluslararası" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "Dakika uyarısı" - msgid "IDS_CST_BODY_NUMBER" msgstr "Numara" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "Giden uluslararası aramalar" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" msgstr "Aramayı mesajla reddet" @@ -139,12 +85,6 @@ msgstr "Numaramı göster" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" msgstr "Numara girmek için dokun" -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "Yanlış yönlendirme numarası" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "Koşullu" - msgid "IDS_CST_HEADER_IF_BUSY" msgstr "Meşgulse" @@ -157,104 +97,41 @@ msgstr "Ulaşılamıyorsa" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "Kodlu arama" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "Tüm asenkron veriler" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "Tüm taşıyıcı servisleri" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "Tüm veri servisleri" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "Tüm PADCA servisleri" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "Tüm PDS servisleri" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "Tüm PLMN taşıyıcıları" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "Tüm servisler" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "Tüm senkron servisler" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "Tüm telekom servisleri" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "Arama sırasında cevaplayan numara gösterilmez" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "Arama sırasında cevaplayan numara gösterilir" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "Asenk. veri servisleri" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "Arayan kimliği var" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "Arayan kimliği gizli" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "Arayan kimliği kısıtlı" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "Arayan kimliği gösterildi" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "Durum denetleniyor..." - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "Yönlendirilecek numarayı girin" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "Geçersiz kullanıcı" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" msgstr "Dolaşımdayken gelen aramalar" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "Yanlış işlem" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "Ev hariç uluslararası aramalar" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "Arayan kişi kimliğim aramaları cevaplarken gönderilmez" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "Arayan kişi kimliği arama yaparken gönderilmez" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "Arayan kişi kimliğim aramaları cevaplarken gönderilir" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "Arayan kişi kimliğim arama yaparken gönderilir" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "Şifre engellendi" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "Şebeke tarafından reddedildi" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "İstek gönderiliyor..." +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "Bilinmeyen operasyon" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "Servise izin verilmemiş" +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "Sabit arama modu" -msgid "IDS_CST_POP_STATUS" -msgstr "Durum" +msgid "IDS_ST_BODY_PIN2" +msgstr "PIN2" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "Bilinmeyen operasyon" +msgid "IDS_ST_BODY_PUK2" +msgstr "PUK2" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "Otomatik cevaplama" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "PUK2 engellendi" + +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "PIN2 kilitlendi" + +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "PIN2 kodu değişti" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "PIN2 kilidi kaldırıldı" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" msgstr "Görüntülü arama resmi" @@ -284,7 +161,7 @@ msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADS msgstr "Otomatik cevaplama yalnızca kulaklık takılıyken devreye girer" msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS" -msgstr "Güç tuşu çağrı bitirir" +msgstr "Güç tuşu arama bitirir" msgid "IDS_CST_MBODY_AFTER_1_SECOND" msgstr "1 saniye sonra" @@ -292,9 +169,6 @@ msgstr "1 saniye sonra" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" msgstr "Aramaları bitirmek için güç tuşuna bas. Bu işlem ekranı kapatmaz" -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "Kodlu arama" - msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "Ön ekli aramayı etkinleştir" @@ -370,15 +244,9 @@ msgstr "Hat bağlantısı kesildiğinde bir sinyal sesi duyacaksınız" msgid "IDS_CST_SK3_CANCEL" msgstr "İptal" -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "Servis Kullanılamıyor" - msgid "IDS_CST_POP_INVALID_PASSWORD" msgstr "Yanlış şifre" -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "Şifre değiştir" - msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" msgstr "Arama sırasında, gelen çağrıları bana bildir" @@ -403,9 +271,6 @@ msgstr "Arama sırasında ses ayarları" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "Otomatik cevabı etkinleştr" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "Cevaplama anahtarı" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" msgstr "Otomatik reddedilecekler listesi" @@ -418,9 +283,6 @@ msgstr "Ön ekli aramayı yönet" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" msgstr "Ana ekr. ile ara. kbl et" -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "Dersteyim" - msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "Mesaj gir" @@ -448,3 +310,177 @@ msgstr "Varsayılan resim" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "Otomatik reddetme modu etkin" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "Gelen aramada kendine ait video" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "Yakınlık sensörü" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "Görüşmeler sırasında otomatik ekran kapatma etkin" + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "Ek ayarlar" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "Varsayılan beni gizle resmini ayarlayın" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "Kullanıcı görüntülü aramayı kabul ettiğinde arayana canlı görüntüyü göster" + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "Video arama ayarları" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "Sesli posta ayarları" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "Arama reddetme" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "Eşleşme kriterleri" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "Aynısı" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "Başlangıç:" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "Dahil et" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "Telesekreter numarası" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "Toplantıdayım" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "Servis Kullanılamıyor" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "Arayan kimliğimi göster" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "Arama srsnd otmtk ekran kptm" + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "Red mesajlarını ayarla" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "Aramalar sırasında yakınlık sensörünü aç" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "Güç tuşu arama sonlandırmaya ayarlıyken yakınlık sensörü kapatılamıyor. Güç tuşu artık aramaları sonlandırmayacak" + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "Otomatik alan kodu" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "Yakınlık sensörü kapalıyken güç tuşu aramaları sonlandırmaya ayarlanamıyor. Yakınlık sensörü açılacak" + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "Düşük tonları güçlendirin" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "Yüksek tonları güçlendirin" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "Sol kulak için optimum" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "Sağ kulak için optimun" + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "Görüntülü arama engelleme" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "Arama aksesuar ayarları" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "Aramalar için aksesuar seçeneklerini belirle" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "Giden arama koşulları" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "Giden arama tipi" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "Son arama kaydını izle" + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "Cihaz kilitliyken bile" + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "Cihaz kilitliyken bile arama yap" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "Sadece cihaz açıkken" + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "Giden aramalar için BT kulaklık ayarları" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "Göz teması" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "Gözlerimi görüntülü görüşme sırasında kameraya bakıyormuşum gibi ayarla" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "Parazit azaltma" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "Arama sırasında sizin tarafınızdan oluşturulan arkaplan gürültüsünü kaldırır" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "Sol kulak için" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "Sağ kulak için" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "Kişiselleştirilmiş EQ" + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "Sizin için en iyi EQ'yu bulun" + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "Numara gösterge paneline otomatik olarak alan kodu ekle" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "Üzgünüm, şu anda meşgulüm, daha sonra tekrar ara." + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "Mesajları reddet" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "Armlr içn ekstr sesi klln" + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "Arama sırasında ekranda ekstra ses düğmesi gösterilir" + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "Cepteyken ses düzyn arttr" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "Cihaz cebinizde veya çantanızdayken zil sesi şiddeti artar" + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "Sabit arama numaraları" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "FDN kişileri" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "FDN kişisi oluştur" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "FDN kişisi" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "Arama sesleri ayarlarım" + diff --git a/po/zh_CN.po b/po/zh_CN.po index cfbd641..8a2fb86 100755 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1,47 +1,26 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "拨打电话时,可以自动将常用前缀号码添加至拨号屏幕中" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "使用该功能前您需要找到您最好的 EQ。现在查找?" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "添加到拒绝列表" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "选择快速拨号联系人" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "自动应答" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "仅自动拒绝已选中拒绝列表中联系人的来电" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "语音信箱" -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "拒绝电话时可向来电者发送说明性短信" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "选择联系人" -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "拒绝列表" - -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "接听来电" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "自动应答" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "拒绝信息" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "%d秒钟之后" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "来电将被自动接听。仅当连接耳机时自动接听才能实现。当来电提示类型设为静音时无法实现自动接听。" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "前缀号码" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "前缀号码空" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "启动" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "新建联系人" msgid "IDS_CST_BODY_ALERTS_ON_CALL" -msgstr "通话提示" - -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "全部通话" +msgstr "通话中提示" msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" msgstr "全部来电" @@ -49,9 +28,6 @@ msgstr "全部来电" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" msgstr "全部拨打的电话" -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "接听方式" - msgid "IDS_CST_BODY_AUTO_REDIAL" msgstr "自动重拨" @@ -67,15 +43,9 @@ msgstr "呼叫限制" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" msgstr "通话连接音" -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "呼叫转移" - msgid "IDS_CST_BODY_CALL_END_TONE" msgstr "通话结束音" -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "通话设定" - msgid "IDS_CST_BODY_CALL_STATUS_TONES" msgstr "通话状态音" @@ -85,18 +55,9 @@ msgstr "呼叫等待" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "查看状态" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "取消" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "转移到" - msgid "IDS_CST_BODY_ENTER_NUMBER" msgstr "输入号码" -msgid "IDS_CST_BODY_FAX" -msgstr "传真" - msgid "IDS_CST_BODY_HIDE" msgstr "隐藏" @@ -109,27 +70,12 @@ msgstr "我在电影院" msgid "IDS_CST_BODY_IM_DRIVING" msgstr "我正在驾车" -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "我正在开会" - msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" msgstr "我正在上课" -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "输入密码" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "国际长途电话(本国除外)" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "分钟提示音" - msgid "IDS_CST_BODY_NUMBER" msgstr "号码" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "国际呼出" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" msgstr "拒接来电并发送短信" @@ -139,125 +85,56 @@ msgstr "显示我的号码" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" msgstr "点击输入号码" -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "转移号码错误" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "有条件的" - msgid "IDS_CST_HEADER_IF_BUSY" -msgstr "遇忙转移" +msgstr "若繁忙" msgid "IDS_CST_HEADER_IF_NO_REPLY" -msgstr "无应答转移" +msgstr "若无回应" msgid "IDS_CST_HEADER_IF_OUT_OF_REACH" -msgstr "不可接通转移" +msgstr "若超出网络范围" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "拨号前缀" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "全部同步数据" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "全部承载业务" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "全部数据业务" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "全部 PADCA 服务" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "全部 PDS 服务" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "全部PLMN承载器" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "全部业务" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "全部同步服务" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "全部电信服务" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "通话时,不显示应答号码" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "通话时,显示应答号码" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "异步数据服务" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "来电者显示图像可用" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "来电者显示图像已隐藏" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "来电者显示图像已限制" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "来电者显示图像已显示" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "正在检查当前状态..." - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "输入转移号码" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "非法用户" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" msgstr "漫游时来电" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "错误操作" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "国际长途电话(本国除外)" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "接听来电时将发送我的呼叫者 ID" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "拨打电话时未发送我的来电者显示图像" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "应答来电时将发送我的来电者显示图像" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "拨打电话时将发送我的来电者显示图像" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "密码已锁定" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "因网络问题而被拒绝" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "要求中..." +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "未知操作" + +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "指定拨号模式" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "服务未授权" +msgid "IDS_ST_BODY_PIN2" +msgstr "PIN2码" -msgid "IDS_CST_POP_STATUS" -msgstr "状态" +msgid "IDS_ST_BODY_PUK2" +msgstr "PUK2" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "未知操作" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "PUK2 码被封锁" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "自动应答" +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "PIN2码锁定" + +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "PIN2码已更改" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "PIN2 码解锁" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" -msgstr "视频电话图像" +msgstr "视频通话图像" msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT" msgstr "启动自动拒绝" @@ -290,10 +167,7 @@ msgid "IDS_CST_MBODY_AFTER_1_SECOND" msgstr "1秒钟之后" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" -msgstr "按下电源键以结束通话。这不会关闭显示屏" - -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "拨号前缀" +msgstr "按下电源键结束通话。此操作不会关闭屏幕" msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "启动前缀拨号" @@ -338,7 +212,7 @@ msgid "IDS_CST_HEADER_FORWARD_TO" msgstr "转发至" msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING" -msgstr "视频通话转移" +msgstr "视频呼叫转移" msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB" msgstr "语音呼叫限制" @@ -370,15 +244,9 @@ msgstr "通话断开时将有提示音" msgid "IDS_CST_SK3_CANCEL" msgstr "取消" -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "服务无法正常提供" - msgid "IDS_CST_POP_INVALID_PASSWORD" msgstr "无效密码" -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "更改密码" - msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" msgstr "通话时通知来电" @@ -403,9 +271,6 @@ msgstr "通话中声音设置" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "启用自动接听" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "应答键" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" msgstr "自动拒绝列表" @@ -418,9 +283,6 @@ msgstr "前缀拨号管理" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" msgstr "使用主屏幕键接听来电" -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "我正在上课" - msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "输入信息" @@ -448,3 +310,177 @@ msgstr "默认图像" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "已启动自动拒绝模式" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "接到电话时显示我的视频" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "接近传感器" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "启动呼叫期间自动屏幕关闭" + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "其它设置" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "设置默认的隐藏自己的图像" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "接听视频通话时,向呼叫方显示实时图像" + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "视频通话设置" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "语音信箱设置" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "呼叫拒绝" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "匹配标准" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "完全一样" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "开始于" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "包括" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "语音信箱号码" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "我正在开会" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "服务无法正常提供" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "显示我的呼叫者ID" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "通话期间自动关闭屏幕" + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "设置拒绝信息" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "在通话期间开启距离传感器" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "当电源键设置为结束呼叫时,无法关闭接近传感器。电源键不能再结束呼叫" + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "自动区域代码" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "当距离传感器关闭时无法设置电源键为结束呼叫。距离传感器将打开" + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "加强低音" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "加强高音" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "已针对左耳优化" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "已针对右耳优化" + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "视频呼叫限制" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "通话配件设置" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "设置通话配件选项" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "拨出通话条件" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "拨出通话类型" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "紧接上次通话记录" + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "即使在设备锁定时" + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "即使在设备锁定时可进行通话" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "仅限设备解锁时" + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "拨出通话的蓝牙耳机设置" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "眼部接触" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "修改我的眼睛以便看起来就像我在视频通话期间正看着摄像头" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "降噪" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "抑制通话期间您这边的背景噪音" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "用于左耳" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "用于右耳" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "个性化 EQ" + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "为您查找最好的 EQ" + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "自动添加地区代码至号码显示面板" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "抱歉,我正在忙,请稍后打过来" + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "拒绝信息" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "使用通话超大音量" + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "通话期间屏幕上显示超大音量按钮" + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "增加口袋中的音量" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "当设备位于口袋或背包中时铃声音量增加" + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "固定拨号号码" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "指定拨号联系人" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "创建指定拨号联系人" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "指定拨号联系人" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "我的来电声音设置" + diff --git a/po/zh_HK.po b/po/zh_HK.po index 46f1334..49a9519 100755 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -1,57 +1,33 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "當撥出通話時,您可以將常用字首號碼自動加入至撥號螢幕中" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "您必須先找出最適用的均衡器,才能使用此功能。現在尋找?" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "加到拒絕清單" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "選擇快速撥號聯絡人" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "自動接聽" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "自動拒接來電只適用於已選擇的拒絕清單" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "留言信箱" -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "可以在拒絕電話時發送解釋文字訊息給來電者" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "選擇聯絡人" -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "拒絕清單" - -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "接聽通話" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "自動接聽" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "拒絕訊息" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "%d 秒後" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "將自動接聽來電。只有連接了耳機才會自動接聽。鈴聲設定為靜音時無法自動接聽" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "字首號碼" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "字首號碼空白" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "啟動" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "建立聯絡人" msgid "IDS_CST_BODY_ALERTS_ON_CALL" msgstr "通話提示" -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "全部通話" - msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" msgstr "所有來電" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" msgstr "全部撥出電話" -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "接聽模式" - msgid "IDS_CST_BODY_AUTO_REDIAL" msgstr "自動重撥" @@ -67,15 +43,9 @@ msgstr "通話限制" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" msgstr "通話連接音" -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "來電轉駁" - msgid "IDS_CST_BODY_CALL_END_TONE" msgstr "通話結束提示音" -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "通話設定" - msgid "IDS_CST_BODY_CALL_STATUS_TONES" msgstr "通話狀態提示音" @@ -85,18 +55,9 @@ msgstr "來電待接" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "檢查狀態" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "關閉" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "轉駁至" - msgid "IDS_CST_BODY_ENTER_NUMBER" msgstr "輸入號碼" -msgid "IDS_CST_BODY_FAX" -msgstr "傳真" - msgid "IDS_CST_BODY_HIDE" msgstr "隱藏" @@ -109,27 +70,12 @@ msgstr "我正在看戲" msgid "IDS_CST_BODY_IM_DRIVING" msgstr "我正在開車" -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "我正在會議中" - msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" msgstr "我正在上課" -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "輸入密碼" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "國際(本地除外)" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "分鐘提示音" - msgid "IDS_CST_BODY_NUMBER" msgstr "號碼" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "撥出國際長途電話" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" msgstr "發訊息以拒絕來電" @@ -139,12 +85,6 @@ msgstr "顯示我的號碼" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" msgstr "輕觸以輸入號碼" -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "錯誤的轉駁號碼" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "條件性的" - msgid "IDS_CST_HEADER_IF_BUSY" msgstr "線路繁忙時轉駁" @@ -157,104 +97,41 @@ msgstr "無法接通轉駁" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "字首撥號" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "全部非同步數據" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "全部承載服務" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "全部數據服務" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "全部 PADCA 服務" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "全部 PDS 服務" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "全部 PLMN 承載器" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "全部服務" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "全部同步服務" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "全部電訊服務" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "通話時不顯示接聽電話號碼" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "通話時顯示接聽電話號碼" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "非同步數據服務" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "來電顯示可用" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "已隱藏來電顯示" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "已限制來電顯示" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "已顯示來電顯示" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "正在檢查目前狀態..." - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "輸入要轉駁到的號碼" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "非法用戶" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" msgstr "國際漫遊時來電" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "操作不正確" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "國際(本地除外)" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "我的來電顯示不會在接聽來電時送出" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "我的來電顯示不會在撥出電話時送出" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "我的來電顯示將在接聽來電時送出" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "我的來電顯示將在撥出電話時送出" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "已封鎖密碼" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "被網絡拒絕" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "正在請求..." +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "不明的操作" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "服務未授權" +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "固定撥號模式" -msgid "IDS_CST_POP_STATUS" -msgstr "狀態" +msgid "IDS_ST_BODY_PIN2" +msgstr "PIN2 碼" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "不明的操作" +msgid "IDS_ST_BODY_PUK2" +msgstr "PUK2 碼" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "自動接聽" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "PUK2 碼已封鎖" + +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "PIN2 碼已封鎖" + +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "PIN2 碼已更改" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "PIN2 碼已解鎖" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" msgstr "視像通話圖像" @@ -284,7 +161,7 @@ msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADS msgstr "自動接聽只會在連接耳機後運作" msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS" -msgstr "以電源鍵結束通話" +msgstr "電源鍵結束通話" msgid "IDS_CST_MBODY_AFTER_1_SECOND" msgstr "1 秒後" @@ -292,9 +169,6 @@ msgstr "1 秒後" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" msgstr "按下電源鍵以結束通話。此舉不會關閉螢幕" -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "字首撥號" - msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "啟動字首撥號" @@ -332,7 +206,7 @@ msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING" msgstr "語音來電轉駁" msgid "IDS_CST_HEADER_ALWAYS" -msgstr "總是轉駁" +msgstr "總是" msgid "IDS_CST_HEADER_FORWARD_TO" msgstr "轉寄至" @@ -370,15 +244,9 @@ msgstr "線路中斷連接時會有訊號音" msgid "IDS_CST_SK3_CANCEL" msgstr "取消" -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "無可用服務" - msgid "IDS_CST_POP_INVALID_PASSWORD" msgstr "密碼無效" -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "更改密碼" - msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" msgstr "通話期間如有來電,請通知我" @@ -403,9 +271,6 @@ msgstr "通話時聲音設定" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "啟用自動接聽" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "接聽鍵" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" msgstr "自動拒絕清單" @@ -418,9 +283,6 @@ msgstr "管理字首撥號" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" msgstr "使用首頁鍵接聽來電" -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "我正在上課" - msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "請輸入訊息" @@ -448,3 +310,177 @@ msgstr "預設圖像" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "自動拒絕模式已啟用" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "接收通話中個視像" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "距離感應器" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "通話啟用期間自動關閉螢幕" + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "其他設定" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "設定您的預設圖像以隱藏自己" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "用戶接受視像通話時,顯示來電者即時影像" + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "視像通話設定" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "留言信箱設定" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "來電拒絕" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "符合標準" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "完全相同於" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "開始以" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "包括" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "留言信箱號碼" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "我正在會議中" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "無可用服務" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "顯示我的來電顯示" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "通話期間自動關閉螢幕" + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "設定拒絕訊息" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "通話期間開啟距離感應器" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "當電源鍵設定為結束通話時,無法關閉距離感應器。電源鍵將不再用為結束通話" + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "自動區碼" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "當距離感應器關閉時無法設定電源鍵以結束通話。距離感應器會啟動" + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "加強低音" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "加強高音" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "已針對左耳優化" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "已針對右耳優化" + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "視像通話限制" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "通話配件設定" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "設定通話配件選項" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "撥出電話條件" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "撥出電話類型" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "跟隨上次通話紀錄" + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "即使裝置為鎖定狀態" + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "裝置鎖定時也能撥打電話" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "僅當裝置解鎖時" + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "撥出電話的藍牙耳機設定" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "眼神接觸" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "修正我的眼睛以便看起來就像我在視像通話期間正看著相機" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "減少噪音" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "通話期間從您這裡抑制背景噪音" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "針對左耳" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "針對右耳" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "個人化 EQ" + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "找出您最適用的均衡器" + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "自動加入區碼於號碼顯示面板" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "抱歉,我現在有事,請稍後再電" + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "拒絕訊息" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "通話使用額外音量" + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "額外音量按鈕將於通話中顯示於螢幕" + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "在袋裡時增加音量" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "當裝置放於口袋或手袋時增加鈴聲音量" + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "固定撥號號碼" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "固定撥號聯絡人" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "建立固定撥號聯絡人" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "固定撥號聯絡人" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "我的來電聲音設定" + diff --git a/po/zh_TW.po b/po/zh_TW.po index ee3262b..05ebba4 100755 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -1,57 +1,33 @@ -msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG" -msgstr "撥打手機時,可以自動將常用前置號碼加入至撥號畫面中" +msgid "IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q" +msgstr "您必須先找出最適用的等化器,才能使用此功能。立即尋找?" -msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST" -msgstr "加到拒絕清單" +msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS" +msgstr "選擇快速播號聯絡人" -msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" -msgstr "自動回覆" - -msgid "IDS_CST_BODY_INCOMING_CALLS_WILL_BE_REJECTED_AUTOMATICALLY_ONLY_FOR_CHECKED_REJECT_LIST" -msgstr "僅自動拒接核取拒絕清單中的來電" - -msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE_HELP_MSG" -msgstr "可以在拒絕電話時傳送解釋訊息給來電者" +msgid "IDS_CST_BODY_VOICE_MAIL" +msgstr "語音信箱" -msgid "IDS_CST_BODY_REJECT_LIST" -msgstr "拒絕清單" +msgid "IDS_PB_HEADER_SELECT_CONTACTS" +msgstr "選擇聯絡人" -msgid "IDS_CST_HEADER_ANSWERING_CALL" -msgstr "接聽電話" +msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING" +msgstr "自動接聽" msgid "IDS_CST_HEADER_REJECT_MESSAGE" msgstr "拒絕訊息" -msgid "IDS_CST_MBODY_AFTER_PD_SECONDS" -msgstr "在%d秒後" - -msgid "IDS_CST_POP_INCOMING_CALLS_WILL_BE_ANSWERED_AUTOMATICALLY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET_AUTOMATIC_ANSWERING_IS_NOT_POSSIBLE_WHEN_RINGTONE_IS_SET_TO_MUTE" -msgstr "將自動接聽來電。只有連接耳機後才能自動接聽。鈴聲設定為靜音時無法自動接聽" - -msgid "IDS_CST_POP_PREFIX_NUMBER" -msgstr "前綴碼" - -msgid "IDS_CST_POP_PREFIX_NUMBER_EMPTY" -msgstr "前置號碼空" - -msgid "IDS_CST_BODY_ACTIVATE" -msgstr "啟動" +msgid "IDS_COM_OPT_CREATE_CONTACT" +msgstr "建立聯絡人" msgid "IDS_CST_BODY_ALERTS_ON_CALL" msgstr "來電提醒" -msgid "IDS_CST_BODY_ALL_CALLS" -msgstr "全部通話" - msgid "IDS_CST_BODY_ALL_INCOMING_CALLS" msgstr "所有來電" msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS" msgstr "所有撥出電話" -msgid "IDS_CST_BODY_ANSWERING_MODE" -msgstr "接聽模式" - msgid "IDS_CST_BODY_AUTO_REDIAL" msgstr "自動重撥" @@ -67,36 +43,21 @@ msgstr "通話限制" msgid "IDS_CST_BODY_CALL_CONNECT_TONE" msgstr "通話連線音" -msgid "IDS_CST_BODY_CALL_DIVERTING" -msgstr "呼叫轉移" - msgid "IDS_CST_BODY_CALL_END_TONE" msgstr "通話結束音" -msgid "IDS_CST_BODY_CALL_SETTINGS" -msgstr "通話設定" - msgid "IDS_CST_BODY_CALL_STATUS_TONES" msgstr "通話狀態音" msgid "IDS_CST_BODY_CALL_WAITING" -msgstr "來電等待" +msgstr "來電待接" msgid "IDS_CST_BODY_CHECK_STATUS" msgstr "檢查狀態" -msgid "IDS_CST_BODY_DEACTIVATE" -msgstr "停用" - -msgid "IDS_CST_BODY_DIVERT_TO" -msgstr "轉移至" - msgid "IDS_CST_BODY_ENTER_NUMBER" msgstr "輸入號碼" -msgid "IDS_CST_BODY_FAX" -msgstr "傳真" - msgid "IDS_CST_BODY_HIDE" msgstr "隱藏" @@ -109,27 +70,12 @@ msgstr "我在看電影" msgid "IDS_CST_BODY_IM_DRIVING" msgstr "我正在開車" -msgid "IDS_CST_BODY_IM_IN_A_MEETING" -msgstr "我在開會" - msgid "IDS_CST_BODY_IM_IN_CLASS_NOW" msgstr "我正在上課" -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "輸入密碼" - -msgid "IDS_CST_BODY_INTL_EXCEPT_HOME" -msgstr "國際電話(本國除外)" - -msgid "IDS_CST_BODY_MINUTE_MINDER" -msgstr "分鐘提醒" - msgid "IDS_CST_BODY_NUMBER" msgstr "號碼" -msgid "IDS_CST_BODY_OUTGOING_INTL_CALLS" -msgstr "撥出的國際電話" - msgid "IDS_CST_BODY_REJECT_CALL_WITH_MESSAGE" msgstr "使用訊息拒絕來電" @@ -139,12 +85,6 @@ msgstr "顯示我的號碼" msgid "IDS_CST_BODY_TAP_TO_ENTER_NUMBER" msgstr "輕觸可輸入號碼" -msgid "IDS_CST_BODY_WRONG_DIVERTING_NUMBER" -msgstr "錯誤轉移號碼" - -msgid "IDS_CST_HEADER_CONDITIONAL" -msgstr "條件式" - msgid "IDS_CST_HEADER_IF_BUSY" msgstr "若忙線" @@ -157,107 +97,44 @@ msgstr "若無法接通" msgid "IDS_CST_OPT_PREFIX_DIALLING" msgstr "前綴撥號" -msgid "IDS_CST_POP_ALL_ASYNCHRONOUS_DATA" -msgstr "所有非同步資料" - -msgid "IDS_CST_POP_ALL_BEARER_SERVICES" -msgstr "所有承載者服務" - -msgid "IDS_CST_POP_ALL_DATA_SERVICES" -msgstr "所有資料服務" - -msgid "IDS_CST_POP_ALL_PADCA_SERVICES" -msgstr "所有 PADCA 服務" - -msgid "IDS_CST_POP_ALL_PDS_SERVICES" -msgstr "所有 PDS 服務" - -msgid "IDS_CST_POP_ALL_PLMN_BEARERS" -msgstr "所有 PLMN 承載者" - -msgid "IDS_CST_POP_ALL_SERVICES" -msgstr "所有服務" - -msgid "IDS_CST_POP_ALL_SYNCHRONOUS_SERVICES" -msgstr "所有同步服務" - -msgid "IDS_CST_POP_ALL_TELECOM_SERVICES" -msgstr "所有電訊服務" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_NOT_SHOWN_WHEN_CALLING" -msgstr "通話時不顯示接聽電話號碼" - -msgid "IDS_CST_POP_ANSWERING_NUMBER_IS_SHOWN_WHEN_CALLING" -msgstr "通話時顯示接聽電話號碼" - -msgid "IDS_CST_POP_ASYNCHRONOUS_DATA_SERVICES" -msgstr "非同步資料服務" - -msgid "IDS_CST_POP_CALLER_ID_AVAILABLE" -msgstr "來電顯示可用" - -msgid "IDS_CST_POP_CALLER_ID_HIDDEN" -msgstr "已隱藏來電顯示" - -msgid "IDS_CST_POP_CALLER_ID_RESTRICTED" -msgstr "已限制來電顯示" - -msgid "IDS_CST_POP_CALLER_ID_SHOWN" -msgstr "已顯示來電顯示" - -msgid "IDS_CST_POP_CHECKING_CURRENT_STATUS_ING" -msgstr "正在檢查目前狀態..." - -msgid "IDS_CST_POP_ENTER_NUMBER_TO_DIVERT_TO" -msgstr "輸入要轉移至的號碼" - -msgid "IDS_CST_POP_ILLEGAL_USER" -msgstr "非法使用者" - msgid "IDS_CST_POP_INCOMING_WHEN_ROAMING" msgstr "漫遊時來電" msgid "IDS_CST_POP_INCORRECT_OPERATION" msgstr "操作不正確" -msgid "IDS_CST_POP_INTERNATIONAL_CALLS_EXCEPT_HOME" -msgstr "國際電話(本國除外)" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_ANSWERING_CALLS" -msgstr "不在接聽來電時送出我的來電顯示" - -msgid "IDS_CST_POP_MY_CALLER_ID_IS_NOT_SENT_WHEN_CALLING" -msgstr "我的來電顯示不在撥打電話時送出" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_ANSWERING_CALLS" -msgstr "我的來電顯示將在接聽來電時送出" - -msgid "IDS_CST_POP_MY_CALLER_ID_WILL_BE_SENT_WHEN_CALLING" -msgstr "我的來電顯示將在撥打電話時送出" - msgid "IDS_CST_POP_PASSWORD_BLOCKED" msgstr "已封鎖密碼" msgid "IDS_CST_POP_REJECTED_BY_NETWORK" msgstr "已遭網路拒絕" -msgid "IDS_CST_POP_REQUESTING_ING" -msgstr "正在請求..." +msgid "IDS_CST_POP_UNKNOWN_OPERATION" +msgstr "未知的操作" -msgid "IDS_CST_POP_SERVICE_NOT_AUTHORISED" -msgstr "服務未經授權" +msgid "IDS_ST_BODY_FIXED_DIALLING_MODE" +msgstr "固定撥號模式" -msgid "IDS_CST_POP_STATUS" -msgstr "狀態" +msgid "IDS_ST_BODY_PIN2" +msgstr "PIN2" -msgid "IDS_CST_POP_UNKNOWN_OPERATION" -msgstr "不明操作" +msgid "IDS_ST_BODY_PUK2" +msgstr "PUK2" -msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB" -msgstr "自動接聽" +msgid "IDS_ST_BODY_PUK2_BLOCKED" +msgstr "PUK2 已鎖定" + +msgid "IDS_ST_POP_PIN2_BLOCKED" +msgstr "已封鎖 PIN2" + +msgid "IDS_ST_POP_PIN2_CHANGED" +msgstr "已變更 PIN2" + +msgid "IDS_ST_POP_PIN2_UNBLOCKED" +msgstr "未封鎖 PIN2" msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE" -msgstr "影片通話圖像" +msgstr "視訊通話圖像" msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT" msgstr "啟用自動拒絕" @@ -266,22 +143,22 @@ msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB" msgstr "在自動拒絕模式禁用" msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE" -msgstr "管理自動拒絕模式" +msgstr "管理自動拒接模式" msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING" -msgstr "接聽來電/結束通話" +msgstr "管理接聽/結束通話設定" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_THE_HOME_KEY" msgstr "點選撥號鍵接聽來電" msgid "IDS_CST_BODY_ACCEPT_INCOMING_CALLS_BY_PRESSING_THE_HOME_KEY" -msgstr "點選撥號鍵接聽來電" +msgstr "按下首頁鍵回答來電" msgid "IDS_CST_BODY_AFTER_PD_SECONDS" -msgstr "經過%d秒" +msgstr "經過%d秒" msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET" -msgstr "自動接聽只有在已連接耳機時可設定" +msgstr "自動接聽僅適用於連接有線耳機" msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS" msgstr "電源鍵結束通話" @@ -292,9 +169,6 @@ msgstr "1秒後" msgid "IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN" msgstr "按下電源鍵以結束通話。螢幕並不會關閉" -msgid "IDS_CST_BODY_PREFIX_DIALLING" -msgstr "前綴撥號" - msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING" msgstr "啟用撥號字首" @@ -320,10 +194,10 @@ msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE" msgstr "每分鐘將有訊號音" msgid "IDS_CST_BODY_SOUND" -msgstr "聲音" +msgstr "音效" msgid "IDS_CST_BODY_VIBRATION" -msgstr "振動" +msgstr "震動" msgid "IDS_CST_BODY_CALL_FORWARDING" msgstr "來電轉接" @@ -370,17 +244,11 @@ msgstr "線路中斷時會播放訊號音" msgid "IDS_CST_SK3_CANCEL" msgstr "取消" -msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" -msgstr "無法使用服務" - msgid "IDS_CST_POP_INVALID_PASSWORD" msgstr "密碼無效" -msgid "IDS_CST_OPT_CHANGE_PASSWORD" -msgstr "更改密碼" - msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS" -msgstr "通話期間若有來電,請通知我" +msgstr "通話時如有來電請通知我" msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB" msgstr "輸入要拒接的號碼" @@ -403,11 +271,8 @@ msgstr "通話中聲音設定" msgid "IDS_CST_BODY_ENABLE_AUTO_ANSWER_ABB" msgstr "啟用自動接聽" -msgid "IDS_CST_BODY_ANSWERING_KEY" -msgstr "回應鍵" - msgid "IDS_CST_BODY_AUTO_REJECT_LIST" -msgstr "自動拒絕清單" +msgstr "黑名單" msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB" msgstr "管理接聽/結束通話設定" @@ -418,9 +283,6 @@ msgstr "管理字首撥號" msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB" msgstr "使用HOME鍵接受來電" -msgid "IDS_CST_BODY_IM_IN_CLASS" -msgstr "我正在上課" - msgid "IDS_CST_POP_ENTER_MESSAGE" msgstr "輸入訊息" @@ -448,3 +310,177 @@ msgstr "預設影像" msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB" msgstr "啟用自動拒絕模式" +msgid "IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL" +msgstr "接通時顯示自己的影像" + +msgid "IDS_CST_BODY_PROXIMITY_SENSOR" +msgstr "距離感應器" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ENABLED" +msgstr "通話啟用期間自動關閉螢幕" + +msgid "IDS_CST_BODY_ADDITIONAL_SETTINGS" +msgstr "其他設定" + +msgid "IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE" +msgstr "設定您的預設圖示隱藏自己" + +msgid "IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL" +msgstr "使用者接受視訊電話時顯示自己" + +msgid "IDS_CST_BODY_VIDEO_CALL_SETTINGS" +msgstr "視訊通話設定" + +msgid "IDS_CST_MBODY_VOICE_MAIL_SETTINGS" +msgstr "語音信箱設定" + +msgid "IDS_CST_MBODY_CALL_REJECTION" +msgstr "拒接來電" + +msgid "IDS_CST_BODY_MATCH_CRITERIA" +msgstr "符合條件" + +msgid "IDS_CST_BODY_EXACTLY_THE_SAME_AS" +msgstr "完全一樣" + +msgid "IDS_CST_BODY_START_WITH" +msgstr "開始" + +msgid "IDS_CST_BODY_INCLUDE" +msgstr "包括" + +msgid "IDS_CST_BODY_VOICE_MAIL_NUMBER" +msgstr "語音信箱號碼" + +msgid "IDS_CST_BODY_IM_IN_A_MEETING" +msgstr "我在開會" + +msgid "IDS_CST_POP_SERVICE_UNAVAILABLE" +msgstr "無法使用服務" + +msgid "IDS_CST_BODY_SHOW_MY_CALLER_ID" +msgstr "顯示我的來電者 ID" + +msgid "IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB" +msgstr "通話期間自動關閉螢幕" + +msgid "IDS_CST_MBODY_SET_REJECT_MESSAGES" +msgstr "設定拒接訊息" + +msgid "IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS" +msgstr "通話期間開啟近物感應器" + +msgid "IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG" +msgstr "當電源鍵被設為結束通話時無法關閉接近感應器。電源鍵將不再用為結束通話" + +msgid "IDS_CST_MBODY_AUTO_AREA_CODE" +msgstr "自動區碼" + +msgid "IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON" +msgstr "當距離感應器關閉時,無法設定將電源鍵設為結束通話。距離感應器將會啟動" + +msgid "IDS_CST_OPT_BOOST_LOW_TONES_ABB" +msgstr "加強低音" + +msgid "IDS_CST_OPT_BOOST_HIGH_TONES_ABB" +msgstr "加強高音" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR" +msgstr "最佳化左耳使用" + +msgid "IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR" +msgstr "最佳化右耳使用" + +msgid "IDS_CST_BODY_VIDEO_CALL_BARRING" +msgstr "視訊通話限制" + +msgid "IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB" +msgstr "通話配件設定" + +msgid "IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS" +msgstr "設定通話配件選項" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS" +msgstr "撥出電話條件" + +msgid "IDS_CST_MBODY_OUTGOING_CALL_TYPE" +msgstr "撥出電話類型" + +msgid "IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB" +msgstr "跟隨前次通話紀錄" + +msgid "IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB" +msgstr "即使裝置為鎖定狀態" + +msgid "IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED" +msgstr "裝置鎖定時也能撥打電話" + +msgid "IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB" +msgstr "僅當裝置解除鎖定時" + +msgid "IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS" +msgstr "撥出電話的藍牙耳機設定" + +msgid "IDS_CST_MBODY_EYE_CONTACT" +msgstr "眼神接觸" + +msgid "IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS" +msgstr "修正我的眼睛以顯示出在視訊通話期間看著相機" + +msgid "IDS_CST_MBODY_NOISE_REDUCTION" +msgstr "減少雜訊" + +msgid "IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS" +msgstr "通話期間從您這裡隱藏背景噪音" + +msgid "IDS_CST_OPT_FOR_LEFT_EAR_ABB" +msgstr "針對左耳" + +msgid "IDS_CST_OPT_FOR_RIGHT_EAR_ABB" +msgstr "針對右耳" + +msgid "IDS_CST_HEADER_PERSONALISED_EQ_ABB" +msgstr "個人化 EQ" + +msgid "IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU" +msgstr "找出您最適用的等化器" + +msgid "IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL" +msgstr "自動新增區碼於號碼顯示面板" + +msgid "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER" +msgstr "抱歉,我現在有事,請稍候再撥" + +msgid "IDS_CALL_HEADER_REJECT_MESSAGES" +msgstr "拒接訊息" + +msgid "IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS" +msgstr "通話使用增強音量" + +msgid "IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS" +msgstr "增強音量按鈕將於通話中顯示於螢幕" + +msgid "IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET" +msgstr "置於口袋時增加音量" + +msgid "IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG" +msgstr "裝置放於口袋或皮包時增加鈴聲音量" + +msgid "IDS_CST_BODY_FIXED_DIALLING_NUMBERS" +msgstr "固定撥號" + +msgid "IDS_COM_OPT_CONTACT_FDN_CONTACTS" +msgstr "固定撥號聯絡人" + +msgid "IDS_PB_OPT_CREATE_FDN_CONTACT" +msgstr "建立 FDN 聯絡人" + +msgid "IDS_PB_OPT_FDN_CONTACT" +msgstr "FDN 聯絡人" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND" +msgstr "My call sound" + +msgid "IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS" +msgstr "我的通話聲音設定" + diff --git a/resource/call-setting.edc b/resource/call-setting.edc index fd02437..40aefb6 100755 --- a/resource/call-setting.edc +++ b/resource/call-setting.edc @@ -1,19 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ - + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 480 #define MAIN_H 800 #define DIALOGUEGROUP_ITEM_TOP_TEXT_COLOR_1_INC 0 0 0 255 @@ -251,7 +251,148 @@ collections { rel2 { relative: 1.0 1.0; } } } + + part { + name: "swallow.image.bg.hd"; + type: RECT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + rel1 { relative: 16/720 98/1280; offset: 0 0; to:"bg";} + rel2 { relative: 704/720 698/1280; offset: 0 0; to:"bg";} + color: 0 0 0 0; + } + } + + part { + name: "swallow.image.hd"; + type: SWALLOW; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + min: 688 600; + fixed: 1 1; + align: 0.5 0.5; + rel1 { relative: 0.0 0.0; offset: 0 0; to: "swallow.image.bg.hd";} + rel2 { relative: 1.0 1.0; offset: 0 0; to: "swallow.image.bg.hd";} + + } + } + + part { + name: "elm.swallow.contents.hd"; + type : SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + fixed: 0 1; + align : 0.5 1.0; + rel1 { relative: 0.0 716/1280; } + rel2 { relative: 1.0 1.0; to : "elm.swallow.toolbar.hd";} + } + } + + part { + name : "elm.swallow.toolbar.hd"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + min: 0 114; + fixed: 0 1; + align: 0.5 1.0; + rel1 { relative: 0.0 1.0; } + rel2 { relative: 1.0 1.0; } + } + } } } + group { name, "dialoguegroup/contact"; + + parts { + part { name, "base"; + type, RECT; + description { + state, "default" 0.0; + color, 0 0 0 0; + } + } + part { name, "pad/right"; + type, RECT; + scale, 1; + description { + state, "default" 0.0; + min, 5 0; + fixed, 1 0; + rel1 { relative , 1.0 1.0; to, "base"; } + rel2.to, "base"; + align, 1.0 1.0; + color, 0 0 0 0; + } + } + part { name, "button/base"; + type, SWALLOW; + scale, 1; + description { + state, "default" 0.0; + min, 74 0; + max, 74 0; + fixed, 1 0; + rel1 { + relative, 0.0 0.0; + to_x, "pad/right"; + to_y, "base"; + } + rel2 { + relative, 0.0 0.0; + to, "pad/right"; + } + align, 1.0 0.5; + } + } + part { name, "button/sw"; + type, SWALLOW; + scale, 1; + description { + state, "default" 0.0; + min, 74 74; + max, 74 74; + fixed, 1 1; + rel1 { relative, 0.0 0.5; to, "button/base"; } + rel2 { relative, 1.0 0.5; to, "button/base"; } + align, 1.0 0.5; + } + } + part { name, "pad/button/left"; + type, RECT; + description { + min, 10 0; + max, 10 0; + fixed, 1 0; + state, "default" 0.0; + align, 1.0 0.5; + rel1 { relative , 0.0 0.0; to, "button/sw"; } + rel2 { relative , 0.0 0.0; to, "button/sw"; } + } + } + part { name, "editfield/sw"; + type, SWALLOW; + description { + state, "default" 0.0; + align, 1.0 0.5; + rel1.to, "base"; + rel2 { + relative, 0.0 1.0; + to_x, "pad/button/left"; + to_y, "base"; + } + } + } + } + } } diff --git a/resource/ug_effect.edc b/resource/ug_effect.edc index 613a0e9..d9a75f2 100755 --- a/resource/ug_effect.edc +++ b/resource/ug_effect.edc @@ -1,20 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ - -//TRANSLATION EFFECT + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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: "ug_effect"; diff --git a/src/cst-answering.c b/src/cst-answering.c new file mode 100755 index 0000000..87772e3 --- /dev/null +++ b/src/cst-answering.c @@ -0,0 +1,244 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 +#include +#include "cst-common.h" +#include "cst-common-string.h" +#include "cst-call-setting.h" +#include "cst-answering.h" +#include "cst-widget.h" +#include "cst-util.h" + +static void __cst_on_click_onoff(void *data, Evas *evas, Evas_Object *obj, void *event_info); +static void __cst_on_click_power_key_ends_call(void *data, Evas *evas, Evas_Object *obj, void *event_info); +static Elm_Genlist_Item_Class *itc_1text_1icon = NULL; +static Elm_Genlist_Item_Class *itc_help = NULL; + +static CstGlItemDisplayInfo_t list_call_answering[] = { + {1, CST_STR_ACCEPT_CALL_BY_HOME_KEY, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF, __cst_on_click_onoff}, + {1, CST_STR_ACCEPT_INCOMING_CALLS_BY_PRESSING_THE_HOME_KEY, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL}, + {1, CST_STR_POWER_KEY_ENDS_CALL, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF, __cst_on_click_power_key_ends_call}, + {1, CST_STR_PRESS_POWER_KEY_TO_ENDS_CALLS, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL}, + {1, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, +}; + +static void __cst_on_click_onoff(void *data, Evas *evas, Evas_Object *obj, void *event_info) +{ + ret_if(NULL == data); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + Eina_Bool check_state = elm_check_state_get(item_data->eo_check); + if (CST_STR_ACCEPT_CALL_BY_HOME_KEY == list_call_answering[item_data->index].str_id) + _cst_vconf_set_bool(VCONFKEY_CISSAPPL_ANSWERING_KEY_BOOL, !check_state); + elm_genlist_item_update(item_data->gl_item); +} + +static void __cst_on_click_power_key_ends_call(void *data, Evas *evas, Evas_Object *obj, void *event_info) +{ + ret_if(NULL == data); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + Eina_Bool check_state = elm_check_state_get(item_data->eo_check); + int value = 0; + _cst_vconf_get_bool(VCONFKEY_CISSAPPL_PROXIMITY_SENSOR_BOOL, &value); + + if ((check_state == EINA_FALSE) && (value == EINA_FALSE)) { + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + + if (ugd->popup) { + evas_object_del(ugd->popup); + ugd->popup = NULL; + } + item_data->str_id = CST_STR_UNABLE_TO_SET_POWER_KEY_END_CALL; + ugd->popup = _cst_create_2btn_popup(ugd->nf, item_data); + evas_object_show(ugd->popup); + } + else { + _cst_vconf_set_bool(VCONFKEY_CISSAPPL_POWER_KEY_ENDS_CALL_BOOL, !check_state); + } + elm_genlist_item_update(item_data->gl_item); +} + +static void __cst_on_changed_answering_key(void *data, Evas_Object *obj, void *event_info) +{ + Eina_Bool check_state; + check_state = elm_check_state_get(obj); + + _cst_vconf_set_bool(VCONFKEY_CISSAPPL_ANSWERING_KEY_BOOL, check_state); +} + +static void __cst_on_changed_power_key_ends_call(void *data, Evas_Object *obj, void *event_info) +{ + ret_if(NULL == data); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + Eina_Bool check_state = elm_check_state_get(obj); + int value = 0; + _cst_vconf_get_bool(VCONFKEY_CISSAPPL_PROXIMITY_SENSOR_BOOL, &value); + + if ((check_state == EINA_TRUE) && (value == EINA_FALSE)) { + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + + if (ugd->popup) { + evas_object_del(ugd->popup); + ugd->popup = NULL; + } + item_data->str_id = CST_STR_UNABLE_TO_SET_POWER_KEY_END_CALL; + ugd->popup = _cst_create_2btn_popup(ugd->nf, item_data); + evas_object_show(ugd->popup); + } else + _cst_vconf_set_bool(VCONFKEY_CISSAPPL_POWER_KEY_ENDS_CALL_BOOL, check_state); + elm_genlist_item_update(item_data->gl_item); +} + +static char *__cst_gl_answering_ending_label_get(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + + if (!strcmp(part, "elm.text") || !strcmp(part, "elm.text.1")) { + if (list_call_answering[item_data->index].str_id != -1) + return strdup(T_(list_call_answering[item_data->index].str_id)); + } + return NULL; +} + +static Evas_Object *__cst_gl_answering_ending_icon_get(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + + if (!strcmp(part, "elm.icon")) { + int value = 0; + if (CST_STR_ACCEPT_CALL_BY_HOME_KEY == list_call_answering[item_data->index].str_id) { + _cst_vconf_get_bool(VCONFKEY_CISSAPPL_ANSWERING_KEY_BOOL, &value); + item_data->eo_check = _cst_create_onoff_button(obj, value, + __cst_on_changed_answering_key, item_data); + } else if (CST_STR_POWER_KEY_ENDS_CALL == list_call_answering[item_data->index].str_id) { + _cst_vconf_get_bool(VCONFKEY_CISSAPPL_POWER_KEY_ENDS_CALL_BOOL, &value); + item_data->eo_check = _cst_create_onoff_button(obj, value, + __cst_on_changed_power_key_ends_call, item_data); + } + return item_data->eo_check; + } + return NULL; +} + +static void __cst_gl_answering_ending_del(void *data, Evas_Object *obj) +{ + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + if (item_data) + free(item_data); + return; +} + +static void __cst_gl_answering_ending_sel(void *data, Evas_Object *obj, void *event_info) +{ + ret_if(NULL == data); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); + + if (list_call_answering[item_data->index].func) { + list_call_answering[item_data->index].func((void *)item_data, NULL, obj, event_info); + } + return; +} + +static void __cst_set_genlist_item_styles(void) +{ + ENTER(__cst_set_genlist_item_styles); + if (!itc_1text_1icon) + itc_1text_1icon = elm_genlist_item_class_new(); + + if (!itc_help) + itc_help = elm_genlist_item_class_new(); + + itc_1text_1icon->item_style = "dialogue/1text.1icon"; + itc_1text_1icon->func.text_get = __cst_gl_answering_ending_label_get; + itc_1text_1icon->func.content_get = __cst_gl_answering_ending_icon_get; + itc_1text_1icon->func.state_get = NULL; + itc_1text_1icon->func.del = __cst_gl_answering_ending_del; + + itc_help->item_style = "multiline/1text"; + itc_help->func.text_get = __cst_gl_answering_ending_label_get; + itc_help->func.content_get = NULL; + itc_help->func.state_get = NULL; + itc_help->func.del = __cst_gl_answering_ending_del; +} + +static Evas_Object *__cst_create_gl_answering_ending(void *data) +{ + ENTER(__cst_create_gl_answering_ending); + retv_if(NULL == data, NULL); + CstUgData_t *ugd = (CstUgData_t *)data; + int index = 0; + Evas_Object *genlist; + Elm_Object_Item *item; + CstGlItemData_t *item_data; + + genlist = elm_genlist_add(ugd->nf); + + elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); + elm_object_style_set(genlist, "dialogue"); + _cst_create_genlist_separator(genlist, EINA_FALSE); + for (index = 0; list_call_answering[index].style != CST_GL_ITEM_NONE; ++index) { + item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); + retv_if(NULL == item_data, NULL); + item_data->index = index; + item_data->ugd = ugd; + if (list_call_answering[index].style == CST_GL_ITEM_1TEXT_ONOFF) { + item = elm_genlist_item_append(genlist, itc_1text_1icon, + (void *)item_data, NULL, list_call_answering[index].flags, + __cst_gl_answering_ending_sel, item_data); + } else if (list_call_answering[index].style == CST_GL_ITEM_HELP_TEXT) { + item = elm_genlist_item_append(genlist, itc_help, + (void *)item_data, NULL, list_call_answering[index].flags, + NULL, NULL); + elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + _cst_create_genlist_underline(genlist); + } else { + DBG("No style"); + free(item_data); + item_data = NULL; + return NULL; + } + item_data->gl_item = item; + } + _cst_create_genlist_separator_no_line(genlist); + + return genlist; +} + +static void __cst_create_answering_call(Evas_Object *parent, void *data) +{ + ENTER(__cst_create_answering_call); + Evas_Object *genlist; + ret_if(NULL == data); + CstUgData_t *ugd = data; + + __cst_set_genlist_item_styles(); + genlist = __cst_create_gl_answering_ending(ugd); + elm_naviframe_item_push(ugd->nf, T_(CST_STR_CALL_ANSWERING_ENDING), + NULL, NULL, genlist, NULL); +} + +void _cst_on_click_answering_call(void *data, Evas *evas, Evas_Object *obj, void *event_info) +{ + ENTER(_cst_on_click_answering_call); + + ret_if(NULL == data); + CstUgData_t *ugd = (CstUgData_t *)data; + __cst_create_answering_call(ugd->nf, ugd); +} + diff --git a/src/cst-autoreject-ime.c b/src/cst-autoreject-ime.c new file mode 100755 index 0000000..e714f04 --- /dev/null +++ b/src/cst-autoreject-ime.c @@ -0,0 +1,305 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 +#include + +#include "cst-common.h" +#include "cst-common-string.h" +#include "cst-widget.h" +#include "cst-util.h" + +static Elm_Genlist_Item_Class *itc = NULL; +static Elm_Genlist_Item_Class *itc_2text_expand = NULL; +static Elm_Genlist_Item_Class *itc_sub_expand = NULL; + +static void __cst_on_click_reject_rule_exp(void *data, Evas *evas, Evas_Object *obj, void *event_info); +static CstGlItemDisplayInfo_t list_dep1_rule[] = { + {1, CST_STR_MATCH_CRITERIA, ELM_GENLIST_ITEM_TREE, CST_GL_ITEM_EXPANDABLE, __cst_on_click_reject_rule_exp}, + {1, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, +}; + +static CstGlItemDisplayInfo_t list_dep2_rule[] = { + {2, CST_STR_EXACTLY_THE_SAME_AS, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)PH_MISC_BLOCK_RULE_EXACTLY}, + {2, CST_STR_START_WITH, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)PH_MISC_BLOCK_RULE_START}, + {2, CST_STR_INCLUDE, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)PH_MISC_BLOCK_RULE_INCLUDE}, + {2, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, +}; + +int _cst_get_reject_number(char *buffer, void *data) +{ + ENTER(_cst_get_reject_number); + retv_if(NULL == data, 0); + CstUgData_t *ugd = (CstUgData_t *)data; + const char *entry_input; + Evas_Object *error; + Ecore_IMF_Context *imf_ctx; + + entry_input = elm_entry_entry_get(ugd->dg_entry); + retv_if(NULL == entry_input, -1); + if (strlen(entry_input) == 0) { + imf_ctx = elm_entry_imf_context_get(ugd->dg_entry); + if (imf_ctx) { + ecore_imf_context_input_panel_hide(imf_ctx); + } + error = _cst_create_error_popup(ugd->nf, CST_ERROR_ENTER_NUMBER); + ugd->popup = error; + evas_object_show(error); + return -1; + } + + DBG("IME input string = %s length=%d", entry_input, strlen(entry_input)); + + snprintf(buffer, CST_MAX_PHONE_NUMBER_LEN, "%s", entry_input); + return strlen(entry_input); +} + +static Evas_Object *__cst_gl_icon_get_autoreject_ime(void *data, Evas_Object *obj, const char *part) +{ + ENTER(__cst_gl_icon_get_autoreject_ime); + retv_if(NULL == data, NULL); + CstUgData_t *ugd = (CstUgData_t *)data; + + if (!strcmp(part, "elm.icon")) { + Evas_Object *ef = _cst_create_ime_editfield(ugd, obj, CST_IME_AUTO_REJECT, NULL); + retv_if(ef == NULL, NULL); + + return _cst_create_ime_btn_layout(obj, ef, + _cst_on_click_ime_contact_btn, (void *)ugd); + } + return NULL; +} + +static void __cst_gl_reject_cst_del(void *data, Evas_Object *obj) +{ + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + if (item_data) + free(item_data); + return; +} + +static char *__cst_gl_label_get_reject_expand(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + if (!strcmp(part, "elm.text.1")) { + if (list_dep1_rule[item_data->index].str_id != -1) + return strdup(T_(list_dep1_rule[item_data->index].str_id)); + } else if (!strcmp(part, "elm.text.2")) { + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + retv_if(NULL == ugd, NULL); + + int index; + for (index = 0; list_dep2_rule[index].style != CST_GL_ITEM_NONE; ++index) { + DBG("index :%d", index); + if (ugd->reject_rule == (ph_misc_block_rules)list_dep2_rule[index].func) { + if (list_dep2_rule[index].str_id != -1) + return strdup(T_(list_dep2_rule[index].str_id)); + } + } + + DBG("Rejection rule is not exist : %d", ugd->reject_rule); + } + return NULL; +} + +static void __cst_gl_reject_rule_sel(void *data, Evas_Object *obj, void *event_info) +{ + ret_if(NULL == data); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = item_data->ugd; + elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); + + if (list_dep1_rule[item_data->index].func) { + if (list_dep1_rule[item_data->index].style == CST_GL_ITEM_EXPANDABLE) + list_dep1_rule[item_data->index].func((void *)ugd, NULL, obj, event_info); + } + return; +} + +static char *__cst_gl_2nd_reject_rule_label_get(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + if (!strcmp(part, "elm.text")) { + if (list_dep2_rule[item_data->index].str_id != -1) + return strdup(T_(list_dep2_rule[item_data->index].str_id)); + } + return NULL; +} + +static Evas_Object *__cst_gl_2nd_reject_rule_icon_get(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + + retv_if(NULL == ugd, NULL); + if (!strcmp(part, "elm.icon")) { + if (ugd->rdg_reject_rule == NULL) { + ugd->rdg_reject_rule = elm_radio_add(obj); + elm_radio_value_set(ugd->rdg_reject_rule, -1); + } + Evas_Object *radio = _cst_create_radio_icon(obj, + ugd->rdg_reject_rule, (int)list_dep2_rule[item_data->index].func, + ugd->reject_rule, NULL); + return radio; + } + return NULL; +} + +static void __cst_gl_2nd_reject_rule_sel(void *data, Evas_Object *obj, void *event_info) +{ + ret_if(data == NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = item_data->ugd; + + elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); + ugd->reject_rule = (ph_misc_block_rules)list_dep2_rule[item_data->index].func; + if (ugd->rdg_reject_rule) { + elm_radio_value_set(ugd->rdg_reject_rule, ugd->reject_rule); + elm_genlist_item_update(item_data->parent_gl_item); + } + return; +} + +static void __cst_gl_reject_rule_exp(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_gl_reject_rule_exp); + ret_if(NULL == data); + CstUgData_t *ugd = (CstUgData_t *)data; + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + ret_if(NULL == item); + Evas_Object *genlist = elm_object_item_widget_get(item); + ret_if(NULL == genlist); + ugd->rdg_reject_rule = NULL; + + CstGlItemData_t *item_data2; + int i = 0; + + itc_sub_expand->item_style = "dialogue/1text.1icon/expandable2"; + itc_sub_expand->func.text_get = __cst_gl_2nd_reject_rule_label_get; + itc_sub_expand->func.content_get = __cst_gl_2nd_reject_rule_icon_get; + itc_sub_expand->func.state_get = NULL; + itc_sub_expand->func.del = __cst_gl_reject_cst_del; + + ugd->rdg_reject_rule = elm_radio_add(genlist); + elm_radio_value_set(ugd->rdg_reject_rule, -1); + for (i = 0; list_dep2_rule[i].style != CST_GL_ITEM_NONE; i++) { + item_data2 = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); + ret_if(item_data2 == NULL); + item_data2->index = i; + item_data2->ugd = ugd; + item_data2->parent_gl_item = item; + + elm_genlist_item_append(genlist, itc_sub_expand, + (void *)item_data2, item, list_dep2_rule[i].flags, + __cst_gl_2nd_reject_rule_sel, item_data2); + } +} + +static void __cst_gl_reject_rule_con(void *data, Evas_Object *obj, void *event_info) +{ + + Elm_Object_Item *item = event_info; + elm_genlist_item_subitems_clear(item); +} + +static void __cst_gl_reject_rule_exp_req(void *data, Evas_Object *obj, void *event_info) +{ + if (data != NULL) { /*Close IME*/ + CstUgData_t *ugd = (CstUgData_t *)data; + elm_object_focus_set(ugd->dg_entry, EINA_FALSE); + } + + Elm_Object_Item *item = event_info; + elm_genlist_item_expanded_set(item, EINA_TRUE); +} + +static void __cst_gl_reject_rule_con_req(void *data, Evas_Object *obj, void *event_info) +{ + Elm_Object_Item *item = event_info; + elm_genlist_item_expanded_set(item, EINA_FALSE); +} + +static void __cst_on_click_reject_rule_exp(void *data, Evas *evas, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_on_click_reject_rule_exp); + Elm_Object_Item *item = event_info; + ret_if(NULL == data); + if (elm_genlist_item_expanded_get(item)) { + __cst_gl_reject_rule_con_req(data, obj, event_info); + __cst_gl_reject_rule_con(data, obj, event_info); + } else { + elm_genlist_tree_effect_enabled_set(elm_object_item_widget_get(item), EINA_TRUE); + __cst_gl_reject_rule_exp_req(data, obj, event_info); + __cst_gl_reject_rule_exp(data, obj, event_info); + } +} + +static Evas_Object *__cst_create_autoreject_ime_genlist(CstUgData_t *ugd) +{ + ENTER(__cst_create_autoreject_ime_genlist); + Elm_Object_Item *item = NULL; + Evas_Object *genlist; + retv_if(NULL == ugd, NULL); + genlist = elm_genlist_add(ugd->nf); + + if (!itc) + itc = elm_genlist_item_class_new(); + + if (!itc_2text_expand) + itc_2text_expand = elm_genlist_item_class_new(); + + if (!itc_sub_expand) + itc_sub_expand = elm_genlist_item_class_new(); + + itc->item_style = "1icon"; + itc->func.text_get = NULL; + itc->func.content_get = __cst_gl_icon_get_autoreject_ime; + itc->func.state_get = NULL; + itc->func.del = NULL; + + itc_2text_expand->item_style = "dialogue/2text.3/expandable"; + itc_2text_expand->func.text_get = __cst_gl_label_get_reject_expand; + itc_2text_expand->func.content_get = NULL; + itc_2text_expand->func.state_get = NULL; + itc_2text_expand->func.del = __cst_gl_reject_cst_del; + + item = elm_genlist_item_append(genlist, itc, + (void *)ugd, NULL, ELM_GENLIST_ITEM_NONE, + NULL, NULL); + + CstGlItemData_t *item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); + retv_if(NULL == item_data, NULL); + + item_data->ugd = ugd; + item = elm_genlist_item_append(genlist, itc_2text_expand, + (void *)item_data, NULL, ELM_GENLIST_ITEM_TREE, + __cst_gl_reject_rule_sel, item_data); + + return genlist; +} + +Evas_Object *_cst_create_autoreject_ime(Evas_Object *parent, char *edit_string, void *data) +{ + ENTER(_cst_create_autoreject_ime); + CstUgData_t *ugd = (CstUgData_t *)data; + + Evas_Object *genlist = __cst_create_autoreject_ime_genlist(ugd); + return genlist; +} + diff --git a/src/cst-autoreject.c b/src/cst-autoreject.c new file mode 100755 index 0000000..e9a7f83 --- /dev/null +++ b/src/cst-autoreject.c @@ -0,0 +1,581 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 +#include +#include +#include +#include "cst-common.h" +#include "cst-common-string.h" +#include "cst-widget.h" +#include "cst-call-setting.h" +#include "cst-delete-list.h" +#include "cst-autoreject.h" +#include "cst-autoreject-ime.h" +#include "cst-util.h" + +static Elm_Genlist_Item_Class *itc_list = NULL; +static Elm_Genlist_Item_Class *itc_2text_1icon = NULL; +Elm_Object_Item *ec_item[3]; + +static void __cst_auto_reject_back_to_prev(CstUgData_t *ugd); + +static void __cst_update_reject_active(const int reject_id, int reject_active, CstUgData_t *ugd) +{ + ret_if(ugd == NULL); + int ret = phone_misc_block_update(ugd->reject_handle, reject_id, PH_MISC_BLOCK_ROW_ACTIVATE, + reject_active, PH_MISC_BLOCK_ROW_NONE); + if (ret < 0) { + DBG("phone_misc_block_update() Failed(%d)", ret); + } +} + +static int __cst_get_list_cb(const ph_misc_block_info *row_data, void *user_data) +{ + retv_if(user_data == NULL, -1); + CstUgData_t *ugd = (CstUgData_t *)user_data; + CstRejectInfo_t *reject_item = NULL; + + reject_item = calloc(1, sizeof(CstRejectInfo_t)); + reject_item->reject_id = phone_misc_block_info_get_id(row_data); + snprintf(reject_item->reject_number, sizeof(reject_item->reject_number), + "%s", phone_misc_block_info_get_number(row_data)); + reject_item->is_activate = phone_misc_block_info_get_activate(row_data); + reject_item->rule = phone_misc_block_info_get_matching_rule(row_data); + ugd->load_list = eina_list_append(ugd->load_list, reject_item); + DBG("number : %s, act : %d, rule : %d", reject_item->reject_number, reject_item->is_activate, reject_item->rule); + return 0; +} + +static int __cst_load_reject_list(CstUgData_t *ugd) +{ + retv_if(ugd == NULL, -1); + int ret = phone_misc_block_get_list(ugd->reject_handle, __cst_get_list_cb, ugd); + if (ret < 0) { + DBG("phone_misc_block_get_list() Failed(%d)", ret); + } + return ret; +} + +static void __cst_back_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_back_btn_clicked_cb); + CstUgData_t *ugd = (CstUgData_t *)data; + ret_if(ugd == NULL); + + if (ugd->reject_list) { + ugd->reject_list = eina_list_free(ugd->reject_list); + ugd->reject_list = NULL; + } + + if (ugd->backup_genlist) + ugd->backup_genlist = NULL; + + if (ugd->backup_layout) + ugd->backup_layout = NULL; + _cst_del_selectinfo(ugd); + + if (ugd->ug_req_type == CST_UG_REQ_AUTO_REJECT) + ug_destroy_me(ugd->ug); +} + +int _cst_get_num_of_reject_list(CstUgData_t *ugd) +{ + retv_if(ugd == NULL, 0); + + int list_cnt = eina_list_count(ugd->reject_list); + return list_cnt; +} + +char *_cst_get_reject_list_text(Eina_List *list, int index) +{ + ENTER(_cst_get_reject_list_text); + + CstGlItemData_t *item; + item = (CstGlItemData_t *)eina_list_nth(list, index); + + return item->text; +} + +int _cst_get_reject_list_id(Eina_List *list, int index) +{ + ENTER(_cst_get_reject_list_id); + + CstGlItemData_t *item; + item = (CstGlItemData_t *)eina_list_nth(list, index); + + return item->reject_id; +} + +void _cst_set_num_of_reject_list(int i) +{ + if (ec_item[1] != NULL) { + if (i == 0) { + elm_object_item_disabled_set(ec_item[1], EINA_TRUE); + } else { + elm_object_item_disabled_set(ec_item[1], EINA_FALSE); + } + } + if (ec_item[0] != NULL) { + if (i == 30) { + elm_object_item_disabled_set(ec_item[0], EINA_TRUE); + } else { + elm_object_item_disabled_set(ec_item[0], EINA_FALSE); + } + } +} + +static void __cst_on_click_reject_entry(void *data) +{ + ret_if(!data); + + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + Eina_Bool is_activated; + + is_activated = elm_check_state_get(item_data->eo_check); + __cst_update_reject_active(item_data->reject_id, !is_activated, ugd); + + item_data->is_activated = !is_activated; + elm_genlist_item_update(item_data->gl_item); +} + +static void __cst_on_click_unknown_entry(void *data) +{ + ret_if(!data); + + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + Eina_Bool state; + + state = elm_check_state_get(item_data->eo_check); + _cst_vconf_set_bool(VCONFKEY_CISSAPPL_AUTO_REJECT_UNKNOWN_BOOL, !state); + elm_genlist_item_update(item_data->gl_item); +} + +static void __cst_on_changed_reject_entry_chk(void *data, Evas_Object *obj, void *event_info) +{ + ret_if(!data); + + CstGlItemData_t *item = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item->ugd; + Eina_Bool is_activated; + + is_activated = elm_check_state_get(obj); + __cst_update_reject_active(item->reject_id, is_activated, ugd); + + item->is_activated = is_activated; +} + +static void __cst_on_changed_unknown_entry_chk(void *data, Evas_Object *obj, void *event_info) +{ + Eina_Bool is_reject_unknown; + + is_reject_unknown = elm_check_state_get(obj); + _cst_vconf_set_bool(VCONFKEY_CISSAPPL_AUTO_REJECT_UNKNOWN_BOOL, is_reject_unknown); +} + +static char *__cst_gl_label_get_reject_list(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + + if (!strcmp(part, "elm.text") || + !strcmp(part, "elm.text.1")) { + return strdup(item_data->text); + } else if (strcmp(part, "elm.text.2") == 0) { + int str_id = CST_SYS_STRING; + + switch (item_data->reject_rule) { + case PH_MISC_BLOCK_RULE_EXACTLY: + str_id = CST_STR_EXACTLY_THE_SAME_AS; + break; + case PH_MISC_BLOCK_RULE_START: + str_id = CST_STR_START_WITH; + break; + case PH_MISC_BLOCK_RULE_INCLUDE: + str_id = CST_STR_INCLUDE; + break; + default: + DBG("Rule is not exist : %d", item_data->reject_rule); + break; + } + return strdup(T_(str_id)); + } + + return NULL; +} + +static void __cst_gl_sel_reject_list(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_gl_sel_reject_list); + retm_if(event_info == NULL, "Invalid argument: event info is NULL"); + Elm_Object_Item *it = (Elm_Object_Item *)event_info; + CstGlItemData_t *item_data = (CstGlItemData_t *)elm_object_item_data_get(it); + + elm_genlist_item_selected_set(it, 0); + + if (item_data->is_unknown == EINA_TRUE) { + __cst_on_click_unknown_entry(item_data); + } else { + __cst_on_click_reject_entry(item_data); + } + + return; +} + +static Evas_Object *__cst_gl_icon_get_list_onoff(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + + if (!strcmp(part, "elm.icon")) { + int value = 0; + if (item_data->is_unknown == EINA_TRUE) { + _cst_vconf_get_bool(VCONFKEY_CISSAPPL_AUTO_REJECT_UNKNOWN_BOOL, &value); + item_data->eo_check = _cst_create_onoff_button(obj, value, + __cst_on_changed_unknown_entry_chk, ugd); + } else { + item_data->eo_check = _cst_create_onoff_button(obj, item_data->is_activated, + __cst_on_changed_reject_entry_chk, item_data); + } + return item_data->eo_check; + } + return NULL; +} + +static void __cst_gl_del_reject_list(void *data, Evas_Object *obj) +{ + ENTER(__cst_gl_del_reject_list); + + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + if (item_data) { + free(item_data); + } +} + +static void __cst_add_reject_number(const char *number, void *data) +{ + ENTER(__cst_add_reject_number); + ret_if(!data); + + CstUgData_t *ugd = (CstUgData_t *) data; + + int log_ret = phone_misc_block_insert(ugd->reject_handle, ugd->reject_rule, number); + if (log_ret < 0) { + DBG("phone_misc_block_insert() Failed(%d)", log_ret); + return; + } + + elm_genlist_clear(ugd->backup_genlist); + ugd->reject_list = eina_list_free(ugd->reject_list); + ugd->reject_list = NULL; + _cst_genlist_append_auto_reject_list_item(ugd, ugd->backup_genlist); +} + +static void __cst_click_autoreject_create_done(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_click_autoreject_create_done); + ret_if(!data); + + CstUgData_t *ugd = (CstUgData_t *)data; + char buffer[CST_MAX_PHONE_NUMBER_LEN + 1]; + + if (_cst_get_reject_number(buffer, ugd) > 0) { + + DBG(" Add a reject number, %s", buffer); + __cst_add_reject_number(buffer, ugd); + + memset(ugd->c_item, 0, sizeof(ugd->c_item)); + __cst_auto_reject_back_to_prev(ugd); + ugd->back_button = _cst_get_navifr_prev_btn(ugd->nf); + } +} + +static void __cst_click_autoreject_create_cancel(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_click_autoreject_create_cancel); + ret_if(!data); + + CstUgData_t *ugd = (CstUgData_t *)data; + + memset(ugd->c_item, 0, sizeof(ugd->c_item)); + __cst_auto_reject_back_to_prev(ugd); +} + +static void __cst_on_click_autoreject_add_button(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_on_click_autoreject_add_button); + ret_if(!data); + + CstUgData_t *ugd = (CstUgData_t *)data; + Evas_Object *eo; + Elm_Object_Item *navi_it; + Evas_Object *btn; + + ugd->popup = NULL; + ugd->reject_rule = PH_MISC_BLOCK_RULE_EXACTLY; + eo = _cst_create_autoreject_ime(ugd->nf, NULL, ugd); + evas_object_show(eo); + + _cst_remove_naviframe(ugd->nf); + navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_ENTER_NUMBER_TO_REJECT), + NULL, NULL, eo, "1line"); + + btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_CANCEL), + __cst_click_autoreject_create_cancel, (void *)ugd); + elm_object_item_part_content_set(navi_it, "title_right_btn", btn); + + btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_SAVE), + __cst_click_autoreject_create_done, (void *)ugd); + elm_object_item_part_content_set(navi_it, "title_left_btn", btn); + elm_object_disabled_set(btn, EINA_TRUE); +} + +void _cst_genlist_append_auto_reject_list_item(CstUgData_t *ugd, Evas_Object *genlist) +{ + int ret_value; + int list_cnt = -1; + int index; + Elm_Object_Item *gl_item; + + CstGlItemData_t *item = NULL; + + _cst_create_genlist_separator(genlist, EINA_TRUE); + + /* Create Unknown list */ + item = (CstGlItemData_t *)malloc(sizeof(CstGlItemData_t)); + ret_if(item == NULL); + memset(item, 0, sizeof(CstGlItemData_t)); + item->is_unknown = EINA_TRUE; + snprintf(item->text, CST_MAX_ITEM_TEXT_BUFFER_LEN, "%s", T_(CST_STR_UNKNOWN)); + + item->ugd = ugd; + gl_item = elm_genlist_item_append(genlist, itc_list, + item, NULL, ELM_GENLIST_ITEM_NONE, + __cst_gl_sel_reject_list, ugd); + item->gl_item = gl_item; + + ret_value = __cst_load_reject_list(ugd); + list_cnt = eina_list_count(ugd->load_list); + DBG("list_cnt : %d\n", list_cnt); + + for (index = 0; index < list_cnt; index++) { + CstRejectInfo_t *reject_item = (CstRejectInfo_t *)eina_list_nth(ugd->load_list, index); + if (reject_item) { + DBG("reject list i=%d number=%s active=%d", + index, reject_item->reject_number, reject_item->is_activate); + item = (CstGlItemData_t *)malloc(sizeof(CstGlItemData_t)); + ret_if(item == NULL); + memset(item, 0, sizeof(CstGlItemData_t)); + item->is_unknown = EINA_FALSE; + item->index = index; + item->reject_rule = reject_item->rule; + item->reject_id = reject_item->reject_id; + snprintf(item->text, CST_MAX_ITEM_TEXT_BUFFER_LEN + 1, "%s", reject_item->reject_number); + + item->is_activated = reject_item->is_activate; + item->ugd = ugd; + ugd->reject_list = eina_list_append(ugd->reject_list, item); + + gl_item = elm_genlist_item_append(genlist, itc_2text_1icon, + item, NULL, ELM_GENLIST_ITEM_NONE, + __cst_gl_sel_reject_list, ugd); + item->gl_item = gl_item; + } else { + DBG("reject_item is null\n"); + } + } + _cst_create_genlist_separator_no_line(genlist); + + edje_object_signal_emit(_EDJ(ugd->backup_layout), "show,content1", "code"); + ugd->load_list = eina_list_free(ugd->load_list); +} + +static void __cst_set_genlist_item_styles_reject_list(void) +{ + if (!itc_list) + itc_list = elm_genlist_item_class_new(); + + if (!itc_2text_1icon) + itc_2text_1icon = elm_genlist_item_class_new(); + + itc_list->item_style = "dialogue/1text.1icon"; + itc_list->func.text_get = __cst_gl_label_get_reject_list; + itc_list->func.content_get = __cst_gl_icon_get_list_onoff; + itc_list->func.state_get = NULL; + itc_list->func.del = __cst_gl_del_reject_list; + + itc_2text_1icon->item_style = "dialogue/2text.1icon.6"; + itc_2text_1icon->func.text_get = __cst_gl_label_get_reject_list; + itc_2text_1icon->func.content_get = __cst_gl_icon_get_list_onoff; + itc_2text_1icon->func.state_get = NULL; + itc_2text_1icon->func.del = __cst_gl_del_reject_list; + + return; +} + +static Evas_Object *__cst_create_genlist_reject_list(CstUgData_t *ugd) +{ + ENTER(__cst_create_genlist_reject_list); + + Evas_Object *genlist; + genlist = elm_genlist_add(ugd->nf); + + retv_if(NULL == genlist, NULL); + elm_object_style_set(genlist, "dialogue"); + + elm_genlist_tree_effect_enabled_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); + + _cst_genlist_append_auto_reject_list_item(ugd, genlist); + + return genlist; +} + +static void __cst_create_reject_list(Evas_Object *parent, void *data) +{ + ENTER(__cst_create_reject_list); + + Evas_Object *layout, *back_btn, *cbar; + CstUgData_t *ugd = (CstUgData_t *)data; + Elm_Object_Item *navi_it; + + ret_if(ugd == NULL); + + __cst_set_genlist_item_styles_reject_list(); + ugd->backup_genlist = __cst_create_genlist_reject_list(ugd); + ugd->kind_of_delete_list = CST_DL_AUTO_REJECT; + + layout = elm_layout_add(ugd->nf); + ugd->backup_layout = layout; + elm_layout_file_set(layout, EDJ_NAME, "toolbar"); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(layout, "elm.swallow.contents", ugd->backup_genlist); + + if (ugd->ug_req_type == CST_UG_REQ_AUTO_REJECT) { + back_btn = elm_button_add(ugd->nf); + navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_AUTO_REJECT_LIST), + back_btn, NULL, layout, "1line"); + elm_object_style_set(back_btn, "naviframe/back_btn/default"); + + } else { + navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_AUTO_REJECT_LIST), + NULL, NULL, layout, "1line"); + back_btn = elm_object_item_part_content_get(navi_it, "prev_btn"); + } + evas_object_smart_callback_add(back_btn, "clicked", + __cst_back_btn_clicked_cb, ugd); + + cbar = _cst_create_navi_control_bar(ugd->nf, + (char *)T_(CST_STR_ADD), CST_CTRL_ICON_CREATE, + __cst_on_click_autoreject_add_button, + (char *)T_(CST_STR_DELETE), CST_CTRL_ICON_EDIT, + _cst_create_delete_list, + (void *)ugd, navi_it, + ec_item); + ret_if(NULL == cbar); + _cst_set_num_of_reject_list(_cst_get_num_of_reject_list(ugd)); +} + +void _cst_on_click_reject_list(void *data, Evas *evas, Evas_Object *obj, void *event_info) +{ + ENTER(_cst_on_click_reject_list); + ret_if(NULL == data); + CstUgData_t *ugd = (CstUgData_t *)data; + Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *)event_info; + + if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) { + return; + } + + __cst_create_reject_list(ugd->nf, ugd); +} + +void _cst_create_auto_reject_ug(void *data) +{ + ENTER(_cst_create_auto_reject_ug); + + ret_if(NULL == data); + CstUgData_t *ugd = (CstUgData_t *)data; + + __cst_create_reject_list(ugd->nf, ugd); +} + +void _cst_auto_reject_input_panel_event_callback(void *data, Ecore_IMF_Context *imf_context, int value) +{ + ENTER(_cst_auto_reject_input_panel_event_callback); + ret_if(!data); + CstUgData_t *ugd = (CstUgData_t *)data; + Evas_Object *btn; + + Elm_Object_Item *top_it = elm_naviframe_top_item_get(ugd->nf); + + if(value == ECORE_IMF_INPUT_PANEL_STATE_SHOW) { + + DBG("ECORE_IMF_INPUT_PANEL_STATE_SHOW"); + btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_CANCEL), + __cst_click_autoreject_create_cancel, (void *)ugd); + elm_object_item_part_content_set(top_it, "title_right_btn", btn); + + btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_SAVE), + __cst_click_autoreject_create_done, (void *)ugd); + elm_object_item_part_content_set(top_it, "title_left_btn", btn); + + + } else if(value == ECORE_IMF_INPUT_PANEL_STATE_HIDE) { + Evas_Object *cbar; + DBG("ECORE_IMF_INPUT_PANEL_STATE_HIDE"); + elm_object_item_part_content_set(top_it, "title_right_btn", NULL); + elm_object_item_part_content_set(top_it, "title_left_btn", NULL); + cbar = _cst_create_navi_control_bar(ugd->nf, + (char *)T_(CST_STR_SAVE), NULL, + __cst_click_autoreject_create_done, + (char *)T_(CST_STR_CANCEL), NULL, + __cst_click_autoreject_create_cancel, + (void *)ugd, top_it, + ec_item); + } +} + +static void __cst_auto_reject_back_to_prev(CstUgData_t *ugd) +{ + ret_if(!ugd); + Evas_Object *cbar; + Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(ugd->dg_entry); + Elm_Object_Item *top_it = NULL; + + elm_naviframe_item_pop(ugd->nf); + + top_it = elm_naviframe_top_item_get(ugd->nf); + + if (imf_context) { + ecore_imf_context_input_panel_event_callback_del (imf_context, ECORE_IMF_INPUT_PANEL_STATE_EVENT, _cst_auto_reject_input_panel_event_callback); + } + + cbar = _cst_create_navi_control_bar(ugd->nf, + (char *)T_(CST_STR_ADD), CST_CTRL_ICON_CREATE, + __cst_on_click_autoreject_add_button, + (char *)T_(CST_STR_DELETE), CST_CTRL_ICON_EDIT, + _cst_create_delete_list, + (void *)ugd, top_it, + ec_item); + _cst_set_num_of_reject_list(_cst_get_num_of_reject_list(ugd)); +} + diff --git a/src/cst-barring-ime.c b/src/cst-barring-ime.c index 655d233..2e134cd 100755 --- a/src/cst-barring-ime.c +++ b/src/cst-barring-ime.c @@ -1,19 +1,18 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 @@ -23,7 +22,6 @@ #include "cst-widget.h" #include "cst-barring-ime.h" -static Elm_Entry_Filter_Limit_Size limit_filter_data; static Elm_Genlist_Item_Class *itc_ime = NULL; int _cst_get_cb_input_password(char *buffer, void *data) @@ -74,6 +72,7 @@ static Evas_Object *__cst_create_cb_ime_genlist(CstUgData_t *ugd) Evas_Object *genlist; genlist = elm_genlist_add(ugd->nf); + elm_object_style_set(genlist, "dialogue"); if (!itc_ime) itc_ime = elm_genlist_item_class_new(); @@ -99,3 +98,4 @@ Evas_Object *_cst_create_cb_ime(Evas_Object *parent, char *edit_string, void *da Evas_Object *genlist = __cst_create_cb_ime_genlist(ugd); return genlist; } + diff --git a/src/cst-barring.c b/src/cst-barring.c index 86a6c82..8cc2dae 100755 --- a/src/cst-barring.c +++ b/src/cst-barring.c @@ -1,18 +1,18 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 @@ -27,19 +27,8 @@ #include "cst-util.h" static void __cst_on_click_cb_onoff(void *data, Evas *evas, Evas_Object *obj, void *event_info); -static void __cst_on_click_voice_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info); -static void __cst_on_click_video_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info); static Elm_Genlist_Item_Class *itc_1text_1icon = NULL; -static Elm_Genlist_Item_Class *itc_1text = NULL; -static Elm_Object_Item *ec_item[3]; - -static CstGlItemDisplayInfo_t list_call_type[] = { - {1, CST_STR_VOICECALL, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, __cst_on_click_voice_cb}, - {1, CST_STR_VIDEOCALL, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, __cst_on_click_video_cb}, - - {1, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, -}; static CstGlItemDisplayInfo_t list_call_barring[] = { {1, CST_STR_CALL_ALL_OUTGOING_CALLS, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF_PROGRESS, __cst_on_click_cb_onoff}, @@ -69,15 +58,13 @@ static void __cst_disable_cb_glitem(CstGlItemData_t *item_data) ugd->cb_state[item_data->index] = CST_SS_STATE_OFF; elm_genlist_item_update(item_data->gl_item); elm_object_item_disabled_set(item_data->gl_item, EINA_TRUE); - - elm_object_item_disabled_set(ec_item[0], EINA_FALSE); } static int __cst_update_cb_state(int call_type, int cb_flavour, Eina_Bool cb_state, char *number, int error, int req_action, void *data) { - ret_if(NULL == data); + retv_if(NULL == data, -1); CstGlItemData_t *item_data = (CstGlItemData_t *)data; CstUgData_t *ugd = item_data->ugd; DBG("call_type=%d (0:voice 1:video)", call_type); @@ -149,33 +136,7 @@ static void __cst_query_cb_status(CstGlItemData_t *item_data) _cst_add_ss_request(&ugd->req_queue, CST_ACTION_QUERY, ugd->call_type, cb_flavour, - NULL, __cst_update_cb_state, item_data); -} - -static void __cst_on_click_cb_check_status_btn(void *data, Evas_Object *obj, void *event_info) -{ - ENTER(__cst_on_click_cb_check_status_btn); - ret_if(!data); - - Evas_Object *genlist = (Evas_Object *)data; - CstGlItemData_t *item_data; - CstUgData_t *ugd; - Eina_List *realized_list; - Elm_Object_Item *it; - Eina_List *l; - - realized_list = elm_genlist_realized_items_get(genlist); - EINA_LIST_FOREACH(realized_list, l, it) { - item_data = (CstGlItemData_t *)elm_object_item_data_get(it); - if (elm_object_item_disabled_get(it) == EINA_TRUE) { - ugd = item_data->ugd; - ugd->cb_state[item_data->index] = CST_SS_STATE_PROGRESS; - __cst_query_cb_status(item_data); - elm_object_item_disabled_set(it, EINA_FALSE); - elm_genlist_item_update(it); - } - } - elm_object_item_disabled_set(ec_item[0], EINA_TRUE); + NULL, __cst_update_cb_state, item_data, -1, ugd); } static void __cst_on_click_cb_ime_done_btn(void *data, Evas_Object *obj, void *event_info) @@ -183,7 +144,7 @@ static void __cst_on_click_cb_ime_done_btn(void *data, Evas_Object *obj, void *e ENTER(__cst_on_click_cb_ime_done_btn); ret_if(!data); - CallSettingReq_t *req = (CallSettingReq_t *)data; + CallSettingSSReq_t *req = (CallSettingSSReq_t *)data; CstGlItemData_t *item_data = (CstGlItemData_t *)req->data; CstUgData_t *ugd = item_data->ugd; @@ -198,7 +159,7 @@ static void __cst_on_click_cb_ime_done_btn(void *data, Evas_Object *obj, void *e snprintf(req->number, CST_MAX_PHONE_NUMBER_LEN, "%s", buffer); _cst_add_ss_request(&ugd->req_queue, req->action, req->call_type, req->flavour, - req->number, __cst_update_cb_state, item_data); + req->number, __cst_update_cb_state, item_data, -1, ugd); memset(ugd->c_item, 0, sizeof(ugd->c_item)); elm_naviframe_item_pop(ugd->nf); @@ -211,7 +172,7 @@ static void __cst_on_click_cb_ime_cancel_btn(void *data, Evas_Object *obj, void ENTER(__cst_on_click_cb_ime_cancel_btn); ret_if(!data); - CallSettingReq_t *req = (CallSettingReq_t *)data; + CallSettingSSReq_t *req = (CallSettingSSReq_t *)data; CstGlItemData_t *item_data = (CstGlItemData_t *)req->data; CstUgData_t *ugd = item_data->ugd; @@ -235,7 +196,8 @@ static char *__cst_gl_label_get_cb(void *data, Evas_Object *obj, const char *par CstGlItemData_t *item_data = (CstGlItemData_t *)data; if (strcmp(part, "elm.text") == 0) { - return strdup(T_(list_call_barring[item_data->index].str_id)); + if (list_call_barring[item_data->index].str_id != -1) + return strdup(T_(list_call_barring[item_data->index].str_id)); } return NULL; } @@ -253,12 +215,12 @@ static void __cst_update_change_cb_req(CstGlItemData_t *item_data, Eina_Bool req ret_if(item_data == NULL); Evas_Object *eo; - CallSettingReq_t *req = NULL; + CallSettingSSReq_t *req = NULL; CstUgData_t *ugd = item_data->ugd; Elm_Object_Item *navi_it; Evas_Object *btn; - req = (CallSettingReq_t *)calloc(1, sizeof(CallSettingReq_t)); + req = (CallSettingSSReq_t *)calloc(1, sizeof(CallSettingSSReq_t)); ret_if(req == NULL); ugd->popup = NULL; @@ -309,11 +271,11 @@ static void __cst_update_change_cb_req(CstGlItemData_t *item_data, Eina_Bool req btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_CANCEL), __cst_on_click_cb_ime_cancel_btn, (void *)req); - elm_object_item_part_content_set(navi_it, "title_left_btn", btn); + elm_object_item_part_content_set(navi_it, "title_right_btn", btn); btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_DONE), __cst_on_click_cb_ime_done_btn, (void *)req); - elm_object_item_part_content_set(navi_it, "title_right_btn", btn); + elm_object_item_part_content_set(navi_it, "title_left_btn", btn); elm_object_disabled_set(btn, EINA_TRUE); } @@ -392,6 +354,9 @@ static Evas_Object *__cst_create_genlist_cb(void *data) Evas_Object *genlist; CstGlItemData_t *item_data; + if (!itc_1text_1icon) + itc_1text_1icon = elm_genlist_item_class_new(); + itc_1text_1icon->item_style = "dialogue/1text.1icon"; itc_1text_1icon->func.text_get = __cst_gl_label_get_cb; itc_1text_1icon->func.content_get = __cst_gl_icon_get_cb; @@ -399,8 +364,9 @@ static Evas_Object *__cst_create_genlist_cb(void *data) itc_1text_1icon->func.del = __cst_gl_del_cb; genlist = elm_genlist_add(ugd->nf); + elm_object_style_set(genlist, "dialogue"); - _cst_create_genlist_seperator(genlist, EINA_FALSE); + _cst_create_genlist_separator(genlist, EINA_FALSE); for (index = 0; list_call_barring[index].style != CST_GL_ITEM_NONE; ++index) { item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); retv_if(item_data == NULL, NULL); @@ -416,144 +382,10 @@ static Evas_Object *__cst_create_genlist_cb(void *data) DBG("No style"); free(item_data); item_data = NULL; - return; + return NULL; } } - - return genlist; -} - -static void __cst_on_click_voice_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info) -{ - ENTER(__cst_on_click_voice_cb); - ret_if(NULL == data); - CstUgData_t *ugd = (CstUgData_t *)data; - Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *)event_info; - Evas_Object *back_btn = NULL; - Evas_Object *layout, *cbar; - Elm_Object_Item *navi_it; - - if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) { - return; - } - - ugd->call_type = CST_CALLTYPE_VOICE; - ugd->popup = NULL; - - Evas_Object *genlist = __cst_create_genlist_cb(ugd); - - layout = elm_layout_add(ugd->nf); - elm_layout_file_set(layout, EDJ_NAME, "toolbar"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_content_set(layout, "elm.swallow.contents", genlist); - navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_VOICECALL), - NULL, NULL, layout, "1line"); - back_btn = elm_object_item_part_content_get(navi_it, "prev_btn"); - evas_object_smart_callback_add(back_btn, "clicked", - __cst_on_click_cb_back_button, ugd); - - cbar = _cst_create_navi_control_bar(ugd->nf, - (char *)T_(CST_STR_CHECK_STATUS), CST_CTRL_ICON_UPDATE, - __cst_on_click_cb_check_status_btn, - NULL, NULL, NULL, - (void *)genlist, navi_it, - ec_item); - ret_if((NULL == cbar) || (NULL == ec_item[0])); - elm_object_item_disabled_set(ec_item[0], EINA_TRUE); -} - -static void __cst_on_click_video_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info) -{ - ENTER(__cst_on_click_video_cb); - ret_if(NULL == data); - CstUgData_t *ugd = (CstUgData_t *)data; - Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *)event_info; - Evas_Object *back_btn = NULL; - Evas_Object *layout, *cbar; - Elm_Object_Item *navi_it; - - if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) { - return; - } - - ugd->call_type = CST_CALLTYPE_VIDEO; - ugd->popup = NULL; - - Evas_Object *genlist = __cst_create_genlist_cb(ugd); - - layout = elm_layout_add(ugd->nf); - elm_layout_file_set(layout, EDJ_NAME, "toolbar"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_content_set(layout, "elm.swallow.contents", genlist); - navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_VIDEOCALL), - NULL, NULL, layout, "1line"); - back_btn = elm_object_item_part_content_get(navi_it, "prev_btn"); - evas_object_smart_callback_add(back_btn, "clicked", - __cst_on_click_cb_back_button, ugd); - - cbar = _cst_create_navi_control_bar(ugd->nf, - (char *)T_(CST_STR_CHECK_STATUS), CST_CTRL_ICON_UPDATE, - __cst_on_click_cb_check_status_btn, - NULL, NULL, NULL, - (void *)genlist, navi_it, - ec_item); - ret_if((NULL == cbar) || (NULL == ec_item[0])); - elm_object_item_disabled_set(ec_item[0], EINA_TRUE); -} - -static void __cst_gl_sel_call_type(void *data, Evas_Object *obj, void *event_info) -{ - ret_if(data == NULL); - CstUgData_t *ugd = (CstUgData_t *)data; - Elm_Object_Item *item= (Elm_Object_Item *)event_info; - int index = (int)elm_object_item_data_get(item); - elm_genlist_item_selected_set(item, EINA_FALSE); - - if (list_call_type[index].func) - list_call_type[index].func((void *)ugd, NULL, obj, event_info); - return; -} - -static char *__cst_gl_label_get_call_type(void *data, Evas_Object *obj, const char *part) -{ - int index = (int)data; - - if (strcmp(part, "elm.text") == 0) - return strdup(T_(list_call_type[index].str_id)); - return NULL; -} - -static Evas_Object *__cst_create_genlist_call_type(void *data) -{ - ENTER(__cst_create_genlist_call_type); - retv_if(NULL == data, NULL); - CstUgData_t *ugd = (CstUgData_t *)data; - Evas_Object *genlist; - Elm_Object_Item *git; - int index = 0; - - if (!itc_1text_1icon) - itc_1text_1icon = elm_genlist_item_class_new(); - - if (!itc_1text) - itc_1text = elm_genlist_item_class_new(); - - itc_1text->item_style = "dialogue/1text"; - itc_1text->func.text_get = __cst_gl_label_get_call_type; - itc_1text->func.content_get = NULL; - itc_1text->func.state_get = NULL; - itc_1text->func.del = NULL; - - genlist = elm_genlist_add(ugd->nf); - - _cst_create_genlist_seperator(genlist, EINA_FALSE); - for (index = 0; list_call_type[index].style != CST_GL_ITEM_NONE; index++) { - git = elm_genlist_item_append(genlist, itc_1text, - (void *)index, NULL, ELM_GENLIST_ITEM_NONE, - __cst_gl_sel_call_type, (void *)ugd); - } + _cst_create_genlist_separator_no_line(genlist); return genlist; } @@ -564,7 +396,7 @@ void _cst_on_click_call_barring(void *data, Evas *evas, Evas_Object *obj, void * ret_if(NULL == data); CstUgData_t *ugd = (CstUgData_t *)data; Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *)event_info; - Evas_Object *back_btn = NULL; + Evas_Object *layout = NULL, *back_btn = NULL; Elm_Object_Item *navi_it; if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) { @@ -585,10 +417,20 @@ void _cst_on_click_call_barring(void *data, Evas *evas, Evas_Object *obj, void * return; } - Evas_Object *genlist = __cst_create_genlist_call_type(ugd); + ugd->call_type = CST_CALLTYPE_VOICE; + ugd->popup = NULL; + + Evas_Object *genlist = __cst_create_genlist_cb(ugd); + + layout = elm_layout_add(ugd->nf); + elm_layout_file_set(layout, EDJ_NAME, "toolbar"); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(layout, "elm.swallow.contents", genlist); navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_CALL_BARRING), - back_btn, NULL, genlist, NULL); + NULL, NULL, layout, "1line"); back_btn = elm_object_item_part_content_get(navi_it, "prev_btn"); evas_object_smart_callback_add(back_btn, "clicked", __cst_on_click_cb_back_button, ugd); } + diff --git a/src/cst-call-setting.c b/src/cst-call-setting.c index 0eeb652..edd970d 100755 --- a/src/cst-call-setting.c +++ b/src/cst-call-setting.c @@ -1,101 +1,114 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 "cst-common.h" #include "cst-common-string.h" #include "cst-call-setting.h" #include "cst-widget.h" #include "cst-tapi-request.h" -#include "cst-status-tone.h" +#include "cst-answering.h" #include "cst-forwarding.h" -#include "cst-barring.h" -#include "cst-prefix-dial.h" -#include "cst-waiting.h" +#include "cst-reject-msg.h" +#include "cst-autoreject.h" #include "cst-util.h" +#include "cst-more-call-setting.h" #include #include #include +#include static Elm_Genlist_Item_Class *itc_1text = NULL; -static Elm_Genlist_Item_Class *itc_1text_1icon = NULL; -static Elm_Genlist_Item_Class *itc_2text_expand = NULL; static Elm_Genlist_Item_Class *itc_title = NULL; -static Elm_Genlist_Item_Class *itc_sub_expand = NULL; static Elm_Genlist_Item_Class *itc_help = NULL; -static void __cst_on_click_expanded(void *data, Evas *evas, Evas_Object *obj, void *event_info); -static void __cst_on_click_auto_redial(void *data, Evas *evas, Evas_Object *obj, void *event_info); +static Elm_Genlist_Item_Class *itc_2text = NULL; -static CstGlItemDisplayInfo_t list_dep1[] = { - {1, CST_STR_SHOW_MY_NUMBER, ELM_GENLIST_ITEM_TREE, CST_GL_ITEM_EXPANDABLE, __cst_on_click_expanded}, - {1, CST_STR_PREFIX_DIALLING, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, _cst_on_click_prefix_dialling}, - {1, CST_STR_CALL_STATUS_TONES, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, _cst_on_click_call_status_tone}, - {1, CST_STR_EDIT_SOUND_SETTINGS_DURING_CALL, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL}, - {1, CST_STR_ALERTS_ON_CALL, ELM_GENLIST_ITEM_TREE, CST_GL_ITEM_EXPANDABLE, __cst_on_click_expanded}, - - {1, CST_STR_CALL, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_DG_TITLE, NULL}, -/* {1, CST_STR_CALL_FORWARDING, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, _cst_on_click_call_forwarding}, - {1, CST_STR_CALL_BARRING, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, _cst_on_click_call_barring}, -*/ {1, CST_STR_CALL_WAITING, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, _cst_on_click_call_waiting}, -/* {1, CST_STR_AUTO_REDIAL, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF, __cst_on_click_auto_redial}, - {1, CST_STR_DO_NOT_REDIAL_IF_CALL_IS_UNABLE, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL}, -*/ +static void __cst_on_click_speed_dial(void *data, Evas *evas, Evas_Object *obj, void *event_info); +static CstGlItemDisplayInfo_t list_dep1[] = { + {1, CST_STR_CALL_REJECTION, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, _cst_on_click_reject_list}, + {1, CST_STR_MANAGE_AUTO_REJECT_MODE, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL}, + {1, CST_STR_SET_REJECT_MESSAGES, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, _cst_on_click_reject_message}, + {1, CST_STR_EDIT_REJECT_MESSAGE, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL}, + {1, CST_STR_SPEED_DIAL, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, __cst_on_click_speed_dial}, + {1, CST_STR_CALL_ANSWERING_ENDING, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, _cst_on_click_answering_call}, + {1, CST_STR_MANAGE_ANSWERING_ENDING_CALL_MODE, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL}, + {1, CST_STR_CALL_FORWARDING, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, _cst_on_click_call_forwarding}, + {1, CST_STR_MORE_CALL_SETTINGS, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_SUB_TEXT, _cst_on_click_more_call_setting}, {1, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, }; -static CstGlItemDisplayInfo_t list_dep2_show_my_number[] = { - {2, CST_STR_BY_NETWORK, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_CLI_BY_NETWORK}, - {2, CST_STR_SHOW, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_CLI_SHOW}, - {2, CST_STR_HIDE, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_CLI_HIDE}, - {2, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, -}; +static void __cst_speed_dial_view_ug_destroy_cb(ui_gadget_h ug, void *priv) +{ + ENTER(__cst_speed_dial_view_ug_destroy_cb); + if (ug) + ug_destroy(ug); +} -static CstGlItemDisplayInfo_t list_dep2_alerts_on_call[] = { - {2, CST_STR_OFF, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_ALERTS_ON_CALL_OFF}, - {2, CST_STR_SOUND, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_ALERTS_ON_CALL_SOUND}, - {2, CST_STR_VIBRATION, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_ALERTS_ON_CALL_VIBRATION}, - {2, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, -}; +static void __cst_speed_dial_view_ug_result_cb(ui_gadget_h ug, service_h service, void *priv) +{ + ENTER(__cst_speed_dial_view_ug_result_cb); + ug_destroy(ug); +} -static char *__cst_gl_label_get_phone(void *data, Evas_Object *obj, const char *part) +static void __cst_speed_dial_view_ug_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv) { - retv_if(NULL == data, NULL); - CstGlItemData_t *item_data = (CstGlItemData_t *)data; + ENTER(__cst_speed_dial_view_ug_layout_cb); + Evas_Object *base = ug_get_layout(ug); + ret_if(base == NULL); - if ((strcmp(part, "elm.text") == 0) || - (strcmp(part, "elm.text.1") == 0)) { - return strdup(T_(list_dep1[item_data->index].str_id)); - } - return NULL; + evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(ug_get_window(), base); + evas_object_show(base); } -static char *__cst_gl_label_get_expandable(void *data, Evas_Object *obj, const char *part) +static void __cst_on_click_speed_dial(void *data, Evas *evas, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_on_click_speed_dial); + ret_if(data == NULL); + CstUgData_t *ugd = (CstUgData_t *)data; + struct ug_cbs cbs = { 0, }; + ui_gadget_h ug; + + cbs.layout_cb = __cst_speed_dial_view_ug_layout_cb; + cbs.result_cb = __cst_speed_dial_view_ug_result_cb; + cbs.destroy_cb = __cst_speed_dial_view_ug_destroy_cb; + cbs.priv = (void *)ugd; + + ug = ug_create((ui_gadget_h)ugd->ug, "speeddial-efl", UG_MODE_FULLVIEW, NULL, &cbs); +} + +static char *__cst_gl_label_get_phone(void *data, Evas_Object *obj, const char *part) { retv_if(NULL == data, NULL); CstGlItemData_t *item_data = (CstGlItemData_t *)data; - if (!strcmp(part, "elm.text.1")) { - return strdup(T_(list_dep1[item_data->index].str_id)); + + ENTER(__cst_gl_label_get_phone); + if ((strcmp(part, "elm.text") == 0) || + (strcmp(part, "elm.text.1") == 0)) { + if (list_dep1[item_data->index].str_id != -1) { + return strdup(T_(list_dep1[item_data->index].str_id)); + } } else if (!strcmp(part, "elm.text.2")) { - int value = 0; - if (CST_STR_SHOW_MY_NUMBER == list_dep1[item_data->index].str_id) { - _cst_vconf_get_int(VCONFKEY_CISSAPPL_SHOW_MY_NUMBER_INT, &value); - return strdup(T_(list_dep2_show_my_number[value].str_id)); - } else { - _cst_vconf_get_int(VCONFKEY_CISSAPPL_ALERT_ON_CALL_INT, &value); - return strdup(T_(list_dep2_alerts_on_call[value].str_id)); + if (list_dep1[item_data->index].str_id == CST_STR_MORE_CALL_SETTINGS) { + static char text[256]; + memset(text, 0x0, 256); + snprintf(text, sizeof(text), "%s, %s, %s, %s", T_(CST_STR_CALL_WAITING), + T_(CST_STR_CALL_BARRING), T_(CST_STR_AUTO_AREA_CODE), T_(CST_STR_MY_CALL_SOUND)); + DBG("%s",text); + return strdup(text); } } return NULL; @@ -109,16 +122,6 @@ static void __cst_gl_del_phone(void *data, Evas_Object *obj) return; } -static void __cst_on_click_auto_redial(void *data, Evas *evas, Evas_Object *obj, void *event_info) -{ - ret_if(NULL == data); - CstGlItemData_t *item_data = (CstGlItemData_t *)data; - Eina_Bool check_state = elm_check_state_get(item_data->eo_check); - _cst_vconf_set_bool(VCONFKEY_CISSAPPL_VOICE_AUTO_REDIAL_BOOL, !check_state); - _cst_vconf_set_bool(VCONFKEY_CISSAPPL_VIDEO_AUTO_REDIAL_BOOL, !check_state); - elm_genlist_item_update(item_data->gl_item); -} - static void __cst_gl_sel_phone(void *data, Evas_Object *obj, void *event_info) { elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); @@ -126,270 +129,41 @@ static void __cst_gl_sel_phone(void *data, Evas_Object *obj, void *event_info) CstGlItemData_t *item_data = (CstGlItemData_t *)elm_object_item_data_get(it); CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; - if (list_dep1[item_data->index].func) - if (list_dep1[item_data->index].style == CST_GL_ITEM_1TEXT_ONOFF || - list_dep1[item_data->index].style == CST_GL_ITEM_1TEXT_ONOFF_PROGRESS) + if (list_dep1[item_data->index].func) { + if (list_dep1[item_data->index].style == CST_GL_ITEM_1TEXT_ONOFF) list_dep1[item_data->index].func((void *)item_data, NULL, obj, event_info); else list_dep1[item_data->index].func((void *)ugd, NULL, obj, event_info); - return; -} - -static void __cst_on_changed_auto_redial_check(void *data, Evas_Object *obj, void *event_info) -{ - ENTER(__cst_on_changed_auto_redial_check); - Eina_Bool check_state = elm_check_state_get(obj); - - _cst_vconf_set_bool(VCONFKEY_CISSAPPL_VOICE_AUTO_REDIAL_BOOL, check_state); - _cst_vconf_set_bool(VCONFKEY_CISSAPPL_VIDEO_AUTO_REDIAL_BOOL, check_state); -} - -static Evas_Object *__cst_gl_icon_get_phone(void *data, Evas_Object *obj, const char *part) -{ - retv_if(NULL == data, NULL); - CstGlItemData_t *item_data = (CstGlItemData_t *)data; - - if (!strcmp(part, "elm.icon")) { - if (list_dep1[item_data->index].style == CST_GL_ITEM_1TEXT_ONOFF) { - if (CST_STR_AUTO_REDIAL == list_dep1[item_data->index].str_id) { - int value = 0; - _cst_vconf_get_bool(VCONFKEY_CISSAPPL_VOICE_AUTO_REDIAL_BOOL, &value); - item_data->eo_check = _cst_create_onoff_button(obj, value, - __cst_on_changed_auto_redial_check, item_data); - } - } - return item_data->eo_check; - } - return NULL; -} - -static void __cst_gl_sel_show_my_number(void *data, Evas_Object *obj, void *event_info) -{ - elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); - ret_if(NULL == data); - CstGlItemData_t *item_data = (CstGlItemData_t *)data; - CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; - _cst_vconf_set_int(VCONFKEY_CISSAPPL_SHOW_MY_NUMBER_INT, - (int)list_dep2_show_my_number[item_data->index].func); - if (ugd->rdg_show_my_number) { - elm_radio_value_set(ugd->rdg_show_my_number, - (int)list_dep2_show_my_number[item_data->index].func); - elm_genlist_item_update(item_data->parent_gl_item); } return; } -static char *__cst_gl_label_get_sub_exp(void *data, Evas_Object *obj, const char *part) -{ - retv_if(NULL == data, NULL); - CstGlItemData_t *item_data = (CstGlItemData_t *)data; - CstGlItemData_t *parent_item_data = (CstGlItemData_t *)elm_object_item_data_get(item_data->parent_gl_item); - - if (strcmp(part, "elm.text") == 0) { - if (CST_STR_SHOW_MY_NUMBER == list_dep1[parent_item_data->index].str_id) { - return strdup(T_(list_dep2_show_my_number[item_data->index].str_id)); - } else if (CST_STR_ALERTS_ON_CALL == list_dep1[parent_item_data->index].str_id) { - return strdup(T_(list_dep2_alerts_on_call[item_data->index].str_id)); - } else { - DBG("Unknown parent"); - return NULL; - } - } - return NULL; -} - -static Evas_Object *__cst_gl_icon_get_sub_exp(void *data, Evas_Object *obj, const char *part) -{ - retv_if(NULL == data, NULL); - CstGlItemData_t *item_data = (CstGlItemData_t *)data; - CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; - retv_if(NULL == ugd, NULL); - CstGlItemData_t *parent_item_data = (CstGlItemData_t *)elm_object_item_data_get(item_data->parent_gl_item); - - if (!strcmp(part, "elm.icon")) { - Evas_Object *radio; - if (CST_STR_SHOW_MY_NUMBER == list_dep1[parent_item_data->index].str_id) { - if (NULL == ugd->rdg_show_my_number) { - ugd->rdg_show_my_number = elm_radio_add(obj); - elm_radio_value_set(ugd->rdg_show_my_number, - 1); - } - - radio = _cst_create_radio_icon(obj, ugd->rdg_show_my_number, - (int)list_dep2_show_my_number[item_data->index].func, 0, - VCONFKEY_CISSAPPL_SHOW_MY_NUMBER_INT); - } else if (CST_STR_ALERTS_ON_CALL == list_dep1[parent_item_data->index].str_id) { - if (NULL == ugd->rdg_alerts_on_call) { - ugd->rdg_show_my_number = elm_radio_add(obj); - elm_radio_value_set(ugd->rdg_alerts_on_call, - 1); - } - - radio = _cst_create_radio_icon(obj, ugd->rdg_alerts_on_call, - (int)list_dep2_alerts_on_call[item_data->index].func, 0, - VCONFKEY_CISSAPPL_ALERT_ON_CALL_INT); - } else { - DBG("Unknown parent"); - return NULL; - } - return radio; - } - return NULL; -} - -static void __cst_gl_sel_alerts_on_call(void *data, Evas_Object *obj, void *event_info) -{ - elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); - ret_if(NULL == data); - CstGlItemData_t *item_data = (CstGlItemData_t *)data; - CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; - ret_if(NULL == ugd); - _cst_vconf_set_int(VCONFKEY_CISSAPPL_ALERT_ON_CALL_INT, - (int)list_dep2_alerts_on_call[item_data->index].func); - if (ugd->rdg_alerts_on_call) { - elm_radio_value_set(ugd->rdg_alerts_on_call, - (int)list_dep2_alerts_on_call[item_data->index].func); - elm_genlist_item_update(item_data->parent_gl_item); - } - return; -} - -static void __cst_gl_con(void *data, Evas_Object *obj, void *event_info) -{ - ENTER(__cst_gl_con); - Elm_Object_Item *item = event_info; - elm_genlist_item_subitems_clear(item); -} - -static void __cst_gl_exp_req(void *data, Evas_Object *obj, void *event_info) -{ - ENTER(__cst_gl_exp_req); - - ret_if(NULL == data); - CstUgData_t *ugd = (CstUgData_t *)data; - - Elm_Object_Item *item = event_info; - elm_genlist_item_expanded_set(item, 1); -} - -static void __cst_gl_con_req(void *data, Evas_Object *obj, void *event_info) -{ - ENTER(__cst_gl_con_req); - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - elm_genlist_item_expanded_set(item, 0); -} - -static void __cst_gl_exp(void *data, Evas_Object *obj, void *event_info) -{ - ENTER(__cst_gl_exp); - ret_if(NULL == data); - CstUgData_t *ugd = (CstUgData_t *)data; - Elm_Object_Item *it = (Elm_Object_Item *)event_info; - ret_if(NULL == it); - CstGlItemData_t *parent_item_data1 = (CstGlItemData_t *)elm_object_item_data_get(it); - Evas_Object *genlist = elm_object_item_widget_get(it); - ret_if(NULL == parent_item_data1); - ret_if(NULL == genlist); - - CstGlItemData_t *sub_item_data; - - int i = 0; - - if (CST_STR_SHOW_MY_NUMBER == list_dep1[parent_item_data1->index].str_id) { - ugd->rdg_show_my_number = NULL; - ugd->rdg_show_my_number = elm_radio_add(genlist); - elm_radio_value_set(ugd->rdg_show_my_number, -1); - for (i = 0; list_dep2_show_my_number[i].style != CST_GL_ITEM_NONE; ++i) { - sub_item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); - ret_if(sub_item_data == NULL); - sub_item_data->index = i; - sub_item_data->ugd = ugd; - sub_item_data->parent_gl_item = it; - elm_genlist_item_append(genlist, itc_sub_expand, - (void *)sub_item_data, it, - list_dep2_show_my_number[i].flags, - __cst_gl_sel_show_my_number, sub_item_data); - } - } else if (CST_STR_ALERTS_ON_CALL == list_dep1[parent_item_data1->index].str_id) { - ugd->rdg_alerts_on_call = NULL; - ugd->rdg_alerts_on_call = elm_radio_add(genlist); - elm_radio_value_set(ugd->rdg_alerts_on_call, -1); - for (i = 0; list_dep2_alerts_on_call[i].style != CST_GL_ITEM_NONE; ++i) { - sub_item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); - ret_if(sub_item_data == NULL); - sub_item_data->index = i; - sub_item_data->ugd = ugd; - sub_item_data->parent_gl_item = it; - elm_genlist_item_append(genlist, itc_sub_expand, - (void *)sub_item_data, it, list_dep2_alerts_on_call[i].flags, - __cst_gl_sel_alerts_on_call, sub_item_data); - } - } -} - -static void __cst_on_click_expanded(void *data, Evas *evas, Evas_Object *obj, void *event_info) -{ - ENTER(__cst_on_click_expanded); - ret_if(NULL == data); - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - if (elm_genlist_item_expanded_get(item)) { - __cst_gl_con_req(data, obj, event_info); - __cst_gl_con(data, obj, event_info); - } else { - __cst_gl_exp_req(data, obj, event_info); - __cst_gl_exp(data, obj, event_info); - } -} - static void __cst_on_clicked_back_btn(void *data, Evas_Object *obj, void *event_info) { ENTER(__cst_on_clicked_back_btn); CstUgData_t *ugd = (CstUgData_t *)data; ret_if(NULL == ugd); - ug_destroy_me(ugd->ug); -} - -static void __cst_navifr_updated_cb(void *data, Evas_Object *obj, void *event_info) -{ - ret_if(NULL == data); - Elm_Object_Item *item = (Elm_Object_Item *)data; - elm_genlist_item_expanded_set(item, 0); - elm_genlist_item_subitems_clear(item); + ug_destroy_me((ui_gadget_h)ugd->ug); } static void __cst_set_genlist_item_styles_phone(void) { ENTER(__cst_set_genlist_item_styles_phone); - if (!itc_1text) itc_1text = elm_genlist_item_class_new(); - if (!itc_1text_1icon) - itc_1text_1icon = elm_genlist_item_class_new(); - if (!itc_2text_expand) - itc_2text_expand = elm_genlist_item_class_new(); if (!itc_title) itc_title = elm_genlist_item_class_new(); if (!itc_help) itc_help = elm_genlist_item_class_new(); - if (!itc_sub_expand) - itc_sub_expand = elm_genlist_item_class_new(); - + if (!itc_2text) + itc_2text = elm_genlist_item_class_new(); + itc_1text->item_style = "dialogue/1text"; itc_1text->func.text_get = __cst_gl_label_get_phone; itc_1text->func.content_get = NULL; itc_1text->func.state_get = NULL; itc_1text->func.del = __cst_gl_del_phone; - itc_1text_1icon->item_style = "dialogue/1text.1icon"; - itc_1text_1icon->func.text_get = __cst_gl_label_get_phone; - itc_1text_1icon->func.content_get = __cst_gl_icon_get_phone; - itc_1text_1icon->func.state_get = NULL; - itc_1text_1icon->func.del = __cst_gl_del_phone; - - itc_2text_expand->item_style = "dialogue/2text.3/expandable"; - itc_2text_expand->func.text_get = __cst_gl_label_get_expandable; - itc_2text_expand->func.content_get = NULL; - itc_2text_expand->func.state_get = NULL; - itc_2text_expand->func.del = __cst_gl_del_phone; - itc_title->item_style = "dialogue/title"; itc_title->func.text_get = __cst_gl_label_get_phone; itc_title->func.content_get = NULL; @@ -402,73 +176,64 @@ static void __cst_set_genlist_item_styles_phone(void) itc_help->func.state_get = NULL; itc_help->func.del = __cst_gl_del_phone; - itc_sub_expand->item_style = "dialogue/1text.1icon/expandable2"; - itc_sub_expand->func.text_get = __cst_gl_label_get_sub_exp; - itc_sub_expand->func.content_get = __cst_gl_icon_get_sub_exp; - itc_sub_expand->func.state_get = NULL; - itc_sub_expand->func.del = __cst_gl_del_phone; + itc_2text->item_style = "dialogue/2text.3"; + itc_2text->func.text_get = __cst_gl_label_get_phone; + itc_2text->func.content_get = NULL; + itc_2text->func.state_get = NULL; + itc_2text->func.del = __cst_gl_del_phone; } static Evas_Object *__cst_create_genlist_phone(void *data) { ENTER(__cst_create_genlist_phone); - ret_if(NULL == data); + retv_if(NULL == data, NULL); CstUgData_t *ugd = (CstUgData_t *)data; CstGlItemData_t *item_data; Evas_Object *genlist; int i; genlist = elm_genlist_add(ugd->nf); - ret_if(NULL == genlist); + retv_if(NULL == genlist, NULL); elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); - - _cst_create_genlist_seperator(genlist, EINA_FALSE); + elm_object_style_set(genlist, "dialogue"); + + _cst_create_genlist_separator(genlist, EINA_FALSE); + for (i = 0; list_dep1[i].style != CST_GL_ITEM_NONE; ++i) { item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); - ret_if(item_data == NULL); - + retv_if(NULL == item_data, NULL); + DBG("list_dep1[i].str_id = %d", list_dep1[i].str_id); item_data->index = i; item_data->ugd = ugd; if (list_dep1[i].style == CST_GL_ITEM_TEXT) { item_data->gl_item = elm_genlist_item_append(genlist, itc_1text, (void *)item_data, NULL, list_dep1[i].flags, __cst_gl_sel_phone, ugd); - } else if (list_dep1[i].style == CST_GL_ITEM_IMG_1TEXT) { - item_data->gl_item = elm_genlist_item_append(genlist, itc_1text_1icon, - (void *)item_data, NULL, list_dep1[i].flags, - __cst_gl_sel_phone, ugd); - } else if (list_dep1[i].style == CST_GL_ITEM_1TEXT_ONOFF) { - item_data->gl_item = elm_genlist_item_append(genlist, itc_1text_1icon, - (void *)item_data, NULL, list_dep1[i].flags, - __cst_gl_sel_phone, ugd); - } else if (list_dep1[i].style == CST_GL_ITEM_RADIO_1TEXT) { - item_data->gl_item = elm_genlist_item_append(genlist, itc_1text_1icon, - (void *)item_data, NULL, list_dep1[i].flags, - __cst_gl_sel_phone, ugd); - } else if (list_dep1[i].style == CST_GL_ITEM_EXPANDABLE) { - item_data->gl_item = elm_genlist_item_append(genlist, itc_2text_expand, - (void *)item_data, NULL, list_dep1[i].flags, - __cst_gl_sel_phone, ugd); - evas_object_smart_callback_add(ugd->nf, "transition,finished", - __cst_navifr_updated_cb, item_data->gl_item); } else if (list_dep1[i].style == CST_GL_ITEM_DG_TITLE) { item_data->gl_item = elm_genlist_item_append(genlist, itc_title, (void *)item_data, NULL, list_dep1[i].flags, NULL, NULL); - elm_genlist_item_select_mode_set(item_data->gl_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + elm_genlist_item_select_mode_set(item_data->gl_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); } else if (list_dep1[i].style == CST_GL_ITEM_HELP_TEXT) { item_data->gl_item = elm_genlist_item_append(genlist, itc_help, (void *)item_data, NULL, list_dep1[i].flags, NULL, NULL); - elm_genlist_item_select_mode_set(item_data->gl_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + elm_genlist_item_select_mode_set(item_data->gl_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); _cst_create_genlist_underline(genlist); + } else if (list_dep1[i].style == CST_GL_ITEM_SUB_TEXT) { + item_data->gl_item = elm_genlist_item_append(genlist, itc_2text, + (void *)item_data, NULL, list_dep1[i].flags, + __cst_gl_sel_phone, ugd); + ugd->vm_gl_item = item_data->gl_item; } else { DBG("No style"); free(item_data); item_data = NULL; - return; + return NULL; } } + _cst_create_genlist_separator_no_line(genlist); + return genlist; } void _cst_create_call_setting(void *data) @@ -483,9 +248,10 @@ void _cst_create_call_setting(void *data) evas_object_smart_callback_add(back_btn, "clicked", __cst_on_clicked_back_btn, ugd); - elm_naviframe_item_push(ugd->nf, T_(CST_STR_PHONE), + elm_naviframe_item_push(ugd->nf, T_(CST_STR_CALL), back_btn, NULL, genlist, NULL); elm_object_style_set(back_btn, "naviframe/back_btn/default"); LEAVE(); } + diff --git a/src/cst-common-string.c b/src/cst-common-string.c index 119c1c8..3b06326 100755 --- a/src/cst-common-string.c +++ b/src/cst-common-string.c @@ -1,18 +1,18 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 #include "cst-common-string.h" @@ -22,7 +22,12 @@ static const char *cst_str[] = { N_("IDS_CST_BODY_ALERTS_ON_CALL"), N_("IDS_CST_BODY_ALL_INCOMING_CALLS"), N_("IDS_CST_BODY_ALL_OUTGOING_CALLS"), - N_("IDS_CST_BODY_AUTO_REDIAL"), + N_("IDS_CST_MBODY_CALL_REJECTION"), + N_("IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"), + N_("IDS_CST_BODY_MATCH_CRITERIA"), + N_("IDS_CST_BODY_EXACTLY_THE_SAME_AS"), + N_("IDS_CST_BODY_START_WITH"), + N_("IDS_CST_BODY_INCLUDE"), N_("IDS_CST_BODY_CALL_BARRING"), N_("IDS_CST_BODY_CALL_CONNECT_TONE"), N_("IDS_CST_BODY_CALL_END_TONE"), @@ -32,14 +37,19 @@ static const char *cst_str[] = { N_("IDS_CST_BODY_BY_NETWORK"), N_("IDS_CST_BODY_SHOW"), N_("IDS_CST_BODY_HIDE"), + N_("IDS_CST_BODY_ILL_CALL_YOU_LATER"), + N_("IDS_CST_BODY_IM_AT_THE_CINEMA"), + N_("IDS_CST_BODY_IM_DRIVING"), + N_("IDS_CST_BODY_IM_IN_A_MEETING"), + N_("IDS_CST_BODY_IM_IN_CLASS_NOW"), N_("IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"), N_("IDS_CST_BODY_INTL_CALLS"), - N_("IDS_CST_BODY_SHOW_MY_NUMBER"), + N_("IDS_CST_MBODY_SET_REJECT_MESSAGES"), + N_("IDS_CST_BODY_SHOW_MY_CALLER_ID"), N_("IDS_CST_HEADER_ALWAYS"), N_("IDS_CST_HEADER_IF_BUSY"), N_("IDS_CST_HEADER_IF_NO_REPLY"), N_("IDS_CST_HEADER_IF_OUT_OF_REACH"), - N_("IDS_CST_OPT_PREFIX_DIALLING"), N_("IDS_CST_POP_INCOMING_WHEN_ROAMING"), N_("IDS_CST_POP_INCORRECT_OPERATION"), N_("IDS_CST_POP_INVALID_PASSWORD"), @@ -51,17 +61,35 @@ static const char *cst_str[] = { N_("IDS_CST_BODY_ENTER_NUMBER"), N_("IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"), N_("IDS_CST_POP_NUMBER_ALREADY_IN_USE"), + N_("IDS_CST_HEADER_REJECT_MESSAGE"), N_("IDS_CST_POP_ENTER_MESSAGE"), - N_("IDS_CST_BODY_PREFIX_DIALLING_LIST"), N_("IDS_CST_BODY_SOUND"), N_("IDS_CST_BODY_VIBRATION"), + N_("IDS_CST_MBODY_CALL_ANSWERING_ENDING"), N_("IDS_CST_BODY_CALL_FORWARDING"), N_("IDS_CST_BODY_ENABLE_PREFIX_DIALLING"), - N_("IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"), + N_("IDS_CST_MBODY_AUTO_AREA_CODE"), + N_("IDS_CST_BODY_ACCEPT_CALLS_USING_HOME_ABB"), + N_("IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"), + N_("IDS_CST_BODY_SPEED_DIAL"), + N_("IDS_CST_BODY_AUTO_REJECT_LIST"), + N_("IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"), N_("IDS_CST_HEADER_SELECT_NUMBER"), + N_("IDS_CST_BODY_VIDEO_CALL_SETTINGS"), + N_("IDS_CST_BODY_VIDEO_CALL_IMAGE"), + N_("IDS_CST_BODY_SET_DEFAULT_HIDE_ME_IMAGE"), + N_("IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"), + N_("IDS_CST_BODY_TAKE_A_PICTURE"), + N_("IDS_CST_SK_CHANGE"), + N_("IDS_CST_BODY_OWN_VIDEO_IN_RECEIVED_CALL"), + N_("IDS_CST_POP_SHOW_LIVE_IMAGE_TO_CALLER_WHEN_USER_ACCEPTS_VIDEO_CALL"), N_("IDS_CST_BODY_MINUTE_REMINDERS_ABB"), + N_("IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"), + N_("IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"), N_("IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"), - N_("IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"), + N_("IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"), + N_("IDS_CST_BODY_ACCEPT_INCOMING_CALLS_BY_PRESSING_THE_HOME_KEY"), + N_("IDS_CST_BODY_PRESS_THE_POWER_KEY_TO_END_CALLS_THIS_WILL_NOT_TURN_OFF_THE_SCREEN"), N_("IDS_CST_BODY_MANAGE_PREFIX_DIALLING"), N_("IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"), N_("IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"), @@ -71,10 +99,70 @@ static const char *cst_str[] = { N_("IDS_CST_HEADER_SELECT_MESSAGE"), N_("IDS_CST_BODY_NO_NUMBERS"), N_("IDS_CST_HEADER_FORWARD_TO"), + N_("IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"), + N_("IDS_CST_BODY_VOICE_MAIL"), N_("IDS_COM_POP_INSERT_SIM_CARD"), N_("IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"), N_("IDS_CST_BODY_NO_MESSAGE"), N_("IDS_CST_BODY_DEFAULT_IMAGE"), + N_("IDS_CST_BODY_AUTO_SCREEN_OFF_DURING_CALLS_ABB"), + N_("IDS_CST_BODY_TURN_ON_PROXIMITY_SENSOR_DURING_CALLS"), + N_("IDS_COM_BODY_UNABLE_TO_TURN_OFF_PROXIMITY_SENSOR_WHILE_THE_POWER_KEY_IS_SET_TO_END_CALLS_MSG"), + N_("IDS_CST_POP_UNABLE_TO_SET_THE_POWER_KEY_TO_END_CALLS_WHILE_PROXIMITY_SENSOR_IS_OFF_PROXIMITY_SENSOR_WILL_BE_TURNED_ON"), + N_("IDS_CST_BODY_ADDITIONAL_SETTINGS"), + N_("IDS_CST_MBODY_VOICE_MAIL_SETTINGS"), + N_("IDS_CST_BODY_VOICE_MAIL_NUMBER"), + N_("IDS_CST_BODY_VIDEO_CALL_BARRING"), + N_("IDS_CST_HEADER_VOICE_CALL_FORWARDING"), + N_("IDS_CST_BODY_VIDEO_CALL_FORWARDING"), + N_("IDS_CST_BODY_ACCESSORY_SETTINGS_FOR_CALL_ABB"), + N_("IDS_CST_BODY_SET_ACCESSORY_OPTIONS_FOR_CALLS"), + N_("IDS_CST_MBODY_OUTGOING_CALL_CONDITIONS"), + N_("IDS_CST_MBODY_OUTGOING_CALL_TYPE"), + N_("IDS_CST_OPT_FOLLOW_LAST_CALL_LOG_ABB"), + N_("IDS_CST_OPT_EVEN_WHEN_DEVICE_LOCKED_ABB"), + N_("IDS_CST_BODY_MAKE_CALLS_EVEN_WHEN_DEVICE_LOCKED"), + N_("IDS_CST_OPT_ONLY_WHEN_DEVICE_UNLOCKED_ABB"), + N_("IDS_CST_HEADER_BT_HEADSET_SETTINGS_FOR_OUTGOING_CALLS"), + N_("IDS_CST_OPT_BOOST_LOW_TONES_ABB"), + N_("IDS_CST_OPT_BOOST_HIGH_TONES_ABB"), + N_("IDS_CST_MBODY_EYE_CONTACT"), + N_("IDS_CST_BODY_MODIFY_MY_EYES_TO_SEEM_LIKE_I_AM_LOOKING_AT_CAMERA_DURING_VIDEO_CALLS"), + N_("IDS_CST_MBODY_NOISE_REDUCTION"), + N_("IDS_CST_BODY_SUPPRESSES_BACKGROUND_NOISE_FROM_YOUR_SIDE_DURING_CALLS"), + N_("IDS_CST_OPT_FOR_LEFT_EAR_ABB"), + N_("IDS_CST_OPT_FOR_RIGHT_EAR_ABB"), + N_("IDS_CST_HEADER_PERSONALISED_EQ_ABB"), + N_("IDS_CST_BODY_FIND_THE_BEST_EQ_FOR_YOU"), + N_("IDS_CST_BODY_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL"), + N_("IDS_CST_MBODY_OPTIMISED_FOR_LEFT_EAR"), + N_("IDS_CST_MBODY_OPTIMISED_FOR_RIGHT_EAR"), + N_("IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER"), + N_("IDS_CALL_HEADER_REJECT_MESSAGES"), + N_("IDS_CST_MBODY_USE_EXTRA_VOL_FOR_CALLS"), + N_("IDS_CST_BODY_EXTRA_VOLUME_BUTTON_IS_SHOWN_ON_SCREEN_DURING_CALLS"), + N_("IDS_CST_MBODY_INCREASE_VOLUME_IN_POCKET"), + N_("IDS_CST_BODY_RINGTONE_VOLUME_INCREASES_WHEN_DEVICE_IS_IN_POCKET_OR_BAG"), + N_("IDS_CST_BODY_FIXED_DIALLING_NUMBERS"), + N_("IDS_COM_OPT_CONTACT_FDN_CONTACTS"), + N_("IDS_ST_BODY_FIXED_DIALLING_MODE"), + N_("IDS_ST_BODY_PIN2"), + N_("IDS_COM_OPT_CREATE_CONTACT"), + N_("IDS_CST_BODY_NUMBER"), + N_("IDS_PB_HEADER_SELECT_CONTACTS"), + N_("IDS_PB_OPT_CREATE_FDN_CONTACT"), + N_("IDS_PB_OPT_FDN_CONTACT"), + N_("Forwarding"), + N_("Waiting time"), + N_("5 seconds"), + N_("10 seconds"), + N_("15 seconds"), + N_("20 seconds"), + N_("25 seconds"), + N_("30 seconds"), + N_("IDS_CST_POP_BEFORE_YOU_CAN_USE_THIS_FUNCTION_YOU_NEED_TO_FIND_THE_BEST_EQ_FOR_YOU_FIND_NOW_Q"), + N_("IDS_CST_MBODY_MY_CALL_SOUND"), + N_("IDS_CST_MBODY_MY_CALL_SOUND_SETTINGS"), }; static const char *sys_str[] = { @@ -102,7 +190,9 @@ static const char *sys_str[] = { "IDS_COM_POP_DELETED", "IDS_COM_BODY_PHONE", "IDS_COM_BODY_APPLICATION_NOT_INSTALLED", - + "IDS_COM_SK_OK", + "IDS_COM_POP_CANCEL", + "IDS_COM_POP_NAME", }; const char *_cst_get_text(int str_id) @@ -115,3 +205,4 @@ const char *_cst_get_text(int str_id) else return S_(sys_str[str_id - CST_SYS_STRING]); } + diff --git a/src/cst-delete-list.c b/src/cst-delete-list.c index 3f60937..93e2220 100755 --- a/src/cst-delete-list.c +++ b/src/cst-delete-list.c @@ -1,18 +1,18 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 @@ -23,9 +23,12 @@ #include "cst-common.h" #include "cst-common-string.h" -#include "cst-prefix-dial.h" +#include "cst-reject-msg.h" +#include "cst-autoreject.h" +#include "cst-tapi-request.h" -static Elm_Genlist_Item_Class *itc_1text = NULL; +static Elm_Genlist_Item_Class *itc_1text_2text1icon = NULL; +extern char *header; typedef struct { Evas_Object *box; @@ -81,25 +84,40 @@ static void __cst_on_click_delete_button(void *data, Evas_Object *obj, void *eve del_list_it = elm_genlist_first_item_get(vd->genlist); switch (ugd->kind_of_delete_list) { - case CST_DL_PREFIX_DIALING: + case CST_DL_AUTO_REJECT: + while (prev_it != NULL && del_list_it != NULL) { + del_item_data = (CstGlItemData_t *)elm_object_item_data_get(del_list_it); + if (del_item_data->check == EINA_TRUE) { + int ret = phone_misc_block_delete(ugd->reject_handle, del_item_data->reject_id); + if (ret < 0) { + DBG("phone_misc_block_delete() Failed"); + } + } + del_list_it = elm_genlist_item_next_get(del_list_it); + } + elm_genlist_clear(ugd->backup_genlist); + ugd->reject_list = eina_list_free(ugd->reject_list); + ugd->reject_list = NULL; + _cst_genlist_append_auto_reject_list_item(ugd, ugd->backup_genlist); + _cst_set_num_of_reject_list(_cst_get_num_of_reject_list(ugd)); + break; + case CST_DL_REJECT_CALL_WITH_MSG: while (prev_it != NULL && del_list_it != NULL) { prev_item_data = (CstGlItemData_t *)elm_object_item_data_get(prev_it); if (prev_item_data->index != -1) { del_item_data = (CstGlItemData_t *)elm_object_item_data_get(del_list_it); if (del_item_data->check == EINA_FALSE) { - _cst_set_prefix_dialling_list(i, prev_item_data->label); + _cst_set_reject_message(i, prev_item_data->label); i++; } del_list_it = elm_genlist_item_next_get(del_list_it); } prev_it = elm_genlist_item_next_get(prev_it); } - _cst_set_active_prefix_vconf(i - 1); - if(ugd->prefix_gl_list_item != NULL) - elm_genlist_item_update(ugd->prefix_gl_list_item); - _cst_set_num_of_prefix_dialling_list(i); + _cst_set_num_of_reject_message(i); + _cst_set_reject_msg_button_status(i); elm_genlist_clear(ugd->backup_genlist); - _cst_genlist_append_dialling_list_item(ugd, ugd->backup_genlist); + _cst_genlist_append_reject_list_item(ugd, ugd->backup_genlist); break; default: DBG("wrong request"); @@ -127,9 +145,9 @@ static void __cst_update_check_state(Delete_List_View_Data *vd) _cst_create_selectinfo(ugd, vd->main_layout, label); if (vd->checked_count == 0) { - elm_object_item_disabled_set(ec_item[1], EINA_TRUE); + elm_object_item_disabled_set(ec_item[0], EINA_TRUE); } else { - elm_object_item_disabled_set(ec_item[1], EINA_FALSE); + elm_object_item_disabled_set(ec_item[0], EINA_FALSE); } free(label); } @@ -151,7 +169,7 @@ static void __cst_check_select_all(Delete_List_View_Data *vd) it_data->check = vd->select_all_checked; it = elm_genlist_item_next_get(it); } - // Update all realized items + /* Update all realized items */ elm_genlist_realized_items_update(vd->genlist); __cst_update_check_state(vd); } @@ -186,7 +204,7 @@ static void __cst_check_changed_cb(void *data, Evas_Object *obj, void *event_inf else vd->checked_count--; - // update select all check button + /* update select all check button */ if (vd->select_all_layout) { if (vd->total_count == vd->checked_count) vd->select_all_checked = EINA_TRUE; @@ -205,13 +223,17 @@ static char *__cst_gl_label_get_delete_list(void *data, Evas_Object *obj, const CstGlItemData_t *item_data = (CstGlItemData_t *)data; if (!strcmp(part, "elm.text")) { - char *entry_label = elm_entry_markup_to_utf8(item_data->label); - ret_if(entry_label == NULL); - DBG("Label : %s", entry_label); - char *buf = strdup(entry_label); - free(entry_label); - entry_label = NULL; - return buf; + if (kind_of_delete_list == CST_DL_AUTO_REJECT) { + return strdup(item_data->text); + } else { + char *entry_label = elm_entry_markup_to_utf8(item_data->label); + retv_if(NULL == entry_label, NULL); + DBG("Label : %s", entry_label); + char *buf = strdup(entry_label); + free(entry_label); + entry_label = NULL; + return buf; + } } return NULL; } @@ -221,7 +243,7 @@ static Evas_Object *__cst_gl_icon_get_delete_list(void *data, Evas_Object *obj, Evas_Object *check; retv_if(NULL == data, NULL); CstGlItemData_t *item_data = (CstGlItemData_t *)data; - if (!strcmp(part, "elm.edit.icon.1")) { + if (!strcmp(part, "elm.edit.icon.1") || !strcmp(part, "elm.icon")) { check = elm_check_add(obj); elm_check_state_pointer_set(check, &item_data->check); evas_object_smart_callback_add(check, "changed", @@ -284,44 +306,50 @@ static Evas_Object *__cst_create_delete_list_genlist(Delete_List_View_Data *vd) Evas_Object *genlist; genlist = elm_genlist_add(ugd->nf); + 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); - if (!itc_1text) - itc_1text = elm_genlist_item_class_new(); + if (!itc_1text_2text1icon) + itc_1text_2text1icon = elm_genlist_item_class_new(); - itc_1text->item_style = "1text"; - itc_1text->func.text_get = __cst_gl_label_get_delete_list; - itc_1text->func.content_get = __cst_gl_icon_get_delete_list; - itc_1text->func.state_get = NULL; - itc_1text->func.del = __cst_gl_del_delete_list; - itc_1text->decorate_all_item_style = "edit_default"; + itc_1text_2text1icon->item_style = "1text"; + itc_1text_2text1icon->func.text_get = __cst_gl_label_get_delete_list; + itc_1text_2text1icon->decorate_all_item_style = "edit_default"; + elm_genlist_decorate_mode_set(genlist, EINA_TRUE); + + itc_1text_2text1icon->func.content_get = __cst_gl_icon_get_delete_list; + itc_1text_2text1icon->func.del = __cst_gl_del_delete_list; for (index = 0; index < vd->total_count; index++) { item_data = calloc(1, sizeof(CstGlItemData_t)); retv_if(item_data == NULL, NULL); switch (ugd->kind_of_delete_list) { - case CST_DL_PREFIX_DIALING: - item_data->label = _cst_get_prefix_dialling_list(index); + case CST_DL_AUTO_REJECT: + snprintf(item_data->text, CST_MAX_ITEM_TEXT_BUFFER_LEN, + "%s", _cst_get_reject_list_text(ugd->reject_list, index)); + item_data->reject_id = _cst_get_reject_list_id(ugd->reject_list, index); + break; + case CST_DL_REJECT_CALL_WITH_MSG: + item_data->label = _cst_get_reject_message(index); break; default: DBG("wrong request"); free(item_data); item_data = NULL; - return; - break; + return NULL; } item_data->index = index; + item_data->ugd = ugd; item_data->gl_item = elm_genlist_item_append(genlist, - itc_1text, + itc_1text_2text1icon, item_data, NULL, ELM_GENLIST_ITEM_NONE, __cst_gl_sel_delete_list, item_data); } elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_ALWAYS); - elm_genlist_decorate_mode_set(genlist, EINA_TRUE); return genlist; } @@ -332,7 +360,7 @@ static Evas_Object *__cst_create_delete_list_layout(Delete_List_View_Data *view_ CstUgData_t *ugd = (CstUgData_t *)view_data->ugd; Evas_Object *genlist = view_data->genlist; - elm_win_conformant_set(ugd->win_main, EINA_TRUE); + elm_win_conformant_set(ugd->base, EINA_TRUE); Evas_Object *conform = elm_conformant_add(ugd->nf); elm_object_style_set(conform, "internal_layout"); @@ -345,7 +373,7 @@ static Evas_Object *__cst_create_delete_list_layout(Delete_List_View_Data *view_ EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(view_data->box); - // Append 'Select All' layout + /* Append 'Select All' layout */ view_data->select_all_layout = elm_layout_add(view_data->box); elm_layout_theme_set(view_data->select_all_layout, "genlist", "item", "select_all/default"); @@ -382,10 +410,9 @@ void _cst_create_delete_list(void *data, Evas_Object *obj, void *event_info) ENTER(_cst_create_delete_list); ret_if(NULL == data); CstUgData_t *ugd = (CstUgData_t *)data; - Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *)event_info; Delete_List_View_Data *delete_list_view = NULL; Evas_Object *cbar; - Elm_Object_Item *navi_it; + Elm_Object_Item *navi_it = NULL; kind_of_delete_list = ugd->kind_of_delete_list; delete_list_view = (Delete_List_View_Data *)calloc(1, sizeof(Delete_List_View_Data)); @@ -395,19 +422,20 @@ void _cst_create_delete_list(void *data, Evas_Object *obj, void *event_info) DBG("Request list : %d", kind_of_delete_list); switch (kind_of_delete_list) { - case CST_DL_PREFIX_DIALING: - delete_list_view->total_count = _cst_get_num_of_prefix_dialling_list(); + case CST_DL_AUTO_REJECT: + delete_list_view->total_count = _cst_get_num_of_reject_list(ugd); + break; + case CST_DL_REJECT_CALL_WITH_MSG: + delete_list_view->total_count = _cst_get_num_of_reject_message(); break; default: DBG("wrong request"); free(delete_list_view); delete_list_view = NULL; return; - break; } delete_list_view->genlist = __cst_create_delete_list_genlist(delete_list_view); - evas_object_data_set(delete_list_view->genlist, "delete_view_data", delete_list_view); delete_list_view->inter_layout = __cst_create_delete_list_layout(delete_list_view); @@ -422,22 +450,29 @@ void _cst_create_delete_list(void *data, Evas_Object *obj, void *event_info) elm_object_part_content_set(delete_list_view->main_layout, "elm.swallow.contents", delete_list_view->inter_layout); - navi_it = elm_naviframe_item_push(ugd->nf, - T_(CST_STR_SELECT_NUMBER), NULL, NULL, - delete_list_view->main_layout, "1line"); + if (kind_of_delete_list == CST_DL_REJECT_CALL_WITH_MSG) { + navi_it = elm_naviframe_item_push(ugd->nf, + header, NULL, NULL, + delete_list_view->main_layout, "1line"); + } else if (kind_of_delete_list == CST_DL_AUTO_REJECT) { + navi_it = elm_naviframe_item_push(ugd->nf, + T_(CST_STR_SELECT_NUMBER), NULL, NULL, + delete_list_view->main_layout, "1line"); + } Evas_Object *back_btn = elm_object_item_part_content_get(navi_it, "prev_btn"); evas_object_del(back_btn); cbar = _cst_create_navi_control_bar(ugd->nf, - (char *)T_(CST_STR_CANCEL), CST_CTRL_ICON_CLOSE, - __cst_on_click_cancel_button, (char *)T_(CST_STR_DELETE), CST_CTRL_ICON_DELETE, __cst_on_click_delete_button, + (char *)T_(CST_STR_CANCEL), CST_CTRL_ICON_CLOSE, + __cst_on_click_cancel_button, (void *)delete_list_view, navi_it, ec_item); ret_if((NULL == cbar) || (NULL == ec_item[1])); - elm_object_item_disabled_set(ec_item[1], EINA_TRUE); + elm_object_item_disabled_set(ec_item[0], EINA_TRUE); LEAVE(); } + diff --git a/src/cst-forwarding-ime.c b/src/cst-forwarding-ime.c index 1f67541..2bd4726 100755 --- a/src/cst-forwarding-ime.c +++ b/src/cst-forwarding-ime.c @@ -1,18 +1,18 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 @@ -20,9 +20,12 @@ #include "cst-common-string.h" #include "cst-widget.h" +#include "cst-util.h" +#include "cst-forwarding.h" -static Elm_Entry_Filter_Limit_Size limit_filter_data; static Elm_Genlist_Item_Class *itc_ime = NULL; +static Elm_Genlist_Item_Class *itc_sep = NULL; +static char *def_ime_number = NULL; int _cst_get_input_number(char *buffer, void *data) { @@ -33,7 +36,7 @@ int _cst_get_input_number(char *buffer, void *data) Ecore_IMF_Context *imf_ctx; entry_input = elm_entry_entry_get(ugd->dg_entry); - ret_if(!entry_input); + retv_if(NULL == entry_input, -1); if (strlen(entry_input) == 0) { imf_ctx = elm_entry_imf_context_get(ugd->dg_entry); if (imf_ctx) { @@ -57,7 +60,12 @@ static Evas_Object *__cst_gl_icon_get_cf_ime(void *data, Evas_Object *obj, const CstUgData_t *ugd = (CstUgData_t *)data; if (!strcmp(part, "elm.icon")) { - return _cst_create_ime_editfield(ugd, obj, CST_IME_CALL_FORWARD, NULL); + Evas_Object *ef = _cst_create_ime_editfield(ugd, obj, CST_IME_CALL_FORWARD, def_ime_number); + retv_if(ef == NULL, NULL); + + evas_object_smart_callback_add(ugd->dg_entry, "changed", _cst_call_forward_entry_changed_cb, ugd); + return _cst_create_ime_btn_layout(obj, ef, + _cst_on_click_ime_contact_btn, (void *)ugd); } return NULL; @@ -70,9 +78,12 @@ static Evas_Object *__cst_create_cf_ime_genlist(CstUgData_t *ugd) Evas_Object *genlist; genlist = elm_genlist_add(ugd->nf); + elm_object_style_set(genlist, "dialogue"); if (!itc_ime) itc_ime = elm_genlist_item_class_new(); + if (!itc_sep) + itc_sep = elm_genlist_item_class_new(); itc_ime->item_style = "1icon"; itc_ime->func.text_get = NULL; @@ -80,18 +91,35 @@ static Evas_Object *__cst_create_cf_ime_genlist(CstUgData_t *ugd) itc_ime->func.state_get = NULL; itc_ime->func.del = NULL; + itc_sep->item_style = "dialogue/seperator.4"; + itc_sep->func.text_get = NULL; + itc_sep->func.content_get = NULL; + itc_sep->func.state_get = NULL; + itc_sep->func.del = NULL; + item = elm_genlist_item_append(genlist, itc_ime, (void *)ugd, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + + item = elm_genlist_item_append(genlist, itc_sep, + NULL, NULL, ELM_GENLIST_ITEM_NONE, + NULL, NULL); + return genlist; } Evas_Object *_cst_create_cf_ime(Evas_Object *parent, char *edit_string, void *data) { ENTER(_cst_create_cf_ime); - ret_if(NULL == data); + retv_if(data == NULL, NULL); CstUgData_t *ugd = (CstUgData_t *)data; + if ((edit_string != NULL) && (strlen(edit_string) > 0)) { + def_ime_number = edit_string; + } else { + def_ime_number = NULL; + } Evas_Object *genlist = __cst_create_cf_ime_genlist(ugd); return genlist; } + diff --git a/src/cst-forwarding.c b/src/cst-forwarding.c index cc2ea23..d7ddbde 100755 --- a/src/cst-forwarding.c +++ b/src/cst-forwarding.c @@ -1,18 +1,18 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 @@ -26,28 +26,115 @@ #include "cst-tapi-request.h" #include "cst-util.h" +enum { + CST_CF_ALWAYS_SEL = 0, + CST_CF_IF_BUSY_SEL, + CST_CF_IF_NO_REPLY_SEL, + CST_CF_IF_OUT_OF_REACH_SEL, + CST_CF_FORWARD_TO_TEXT, + CST_CF_WAITING_TIME_SEL, + + CST_CF_NONE, +}; + +enum { + CST_CF_WAIT_TIME_5_SEC = 5, + CST_CF_WAIT_TIME_10_SEC = 10, + CST_CF_WAIT_TIME_15_SEC = 15, + CST_CF_WAIT_TIME_20_SEC = 20, + CST_CF_WAIT_TIME_25_SEC = 25, + CST_CF_WAIT_TIME_30_SEC = 30, + + CST_CF_WAIT_TIME_NONE, +}; + +enum { + CST_CF_WAIT_TIME_IDX_5_SEC = 0, + CST_CF_WAIT_TIME_IDX_10_SEC, + CST_CF_WAIT_TIME_IDX_15_SEC, + CST_CF_WAIT_TIME_IDX_20_SEC, + CST_CF_WAIT_TIME_IDX_25_SEC, + CST_CF_WAIT_TIME_IDX_30_SEC, + + CST_CF_WAIT_TIME_IDX_NONE, +}; + +typedef struct +{ + Elm_Genlist_Item_Class *itc_2text_1icon; + Elm_Genlist_Item_Class *itc_forwarding; + Elm_Genlist_Item_Class *itc_forward_to; + Elm_Genlist_Item_Class *itc_waiting_time; + Elm_Genlist_Item_Class *itc_waiting_time_expand; + Elm_Object_Item *ec_item[3]; + Evas_Object *onoff_screen_genlist; + CstGlItemData_t *cf_sel_item; + CstGlItemData_t *forwarding_item; + CstGlItemData_t *forwardto_item; + CstGlItemData_t *waitingtime_item; + Evas_Object *waitingtime_radio_btn; + int cf_wait_time_index; + int cf_wait_time; +}CstCallForward_info_t; + static void __cst_on_click_cf_onoff(void *data, Evas *evas, Evas_Object *obj, void *event_info); -static void __cst_on_click_voice_cf(void *data, Evas *evas, Evas_Object *obj, void *event_info); -static void __cst_on_click_video_cf(void *data, Evas *evas, Evas_Object *obj, void *event_info); +static void __cst_on_click_show_cf_onoff_screen(void *data, Evas *evas, Evas_Object *obj, void *event_info); +static Evas_Object *__cst_create_genlist_cf_onoff_screen(void *data); +static void __cst_on_click_cf_onoff_screen_back_button(void *data, Evas_Object *obj, void *event_info); +static Evas_Object *__cst_gl_cf_onoff_get_icon(void *data, Evas_Object *obj, const char *part); +static char *__cst_gl_cf_onoff_get_forwarding_label(void *data, Evas_Object *obj, const char *part); +static char *__cst_gl_cf_onoff_get_forward_to_label(void *data, Evas_Object *obj, const char *part); +static char *__cst_gl_cf_onoff_get_waiting_time_label(void *data, Evas_Object *obj, const char *part); +static void __cst_gl_cf_onoff_forwarding_sel(void *data, Evas_Object *obj, void *event_info); +static void __cst_gl_cf_onoff_waitingtime_sel(void *data, Evas_Object *obj, void *event_info); +static void __cst_gl_cf_onoff_forwardto_sel(void *data, Evas_Object *obj, void *event_info); +static void __cst_gl_cf_onoff_screen_show_remove_forwardto_item(Eina_Bool show_item, char *number); +static void __cst_gl_cf_onoff_screen_show_remove_waitingtime_item(Eina_Bool show_item); +static void __cst_cf_clear_onoff_screen_data(void); +static void __cst_gl_on_click_waitingtime_expand(void *data, Evas *evas, Evas_Object *obj, void *event_info); +static void __cst_gl_collapse_req(void *data, Evas_Object *obj, void *event_info); +static void __cst_gl_collapse(int selected_time, Evas_Object *obj, void *event_info); +static void __cst_gl_expand_req(void *data, Evas_Object *obj, void *event_info); +static void __cst_gl_expand(void *data, Evas_Object *obj, void *event_info); +static void __cst_gl_sel_waiting_time(void *data, Evas_Object *obj, void *event_info); +static char *__cst_gl_get_wait_time_sub_exp_label(void *data, Evas_Object *obj, const char *part); +static Evas_Object *__cst_gl_get_wait_time_sub_exp_icon(void *data, Evas_Object *obj, const char *part); +static Evas_Object *__cst_gl_create_wait_time_radio_icon(Evas_Object *obj, Evas_Object *rdg, int value, int offset); +static void __cst_update_wait_time_and_index(int wait_time_index, int wait_time); +static void __cst_gl_update_waiting_time_ss_request(void); +static void __cst_update_cf_onoff_screen_state(int call_type, int cf_flavour, Eina_Bool cf_state, char *number, int error, int req_action, void *data, int waiting_time); +static void __cst_on_click_cf_onoff_forward_to(void *data, Evas *evas, Evas_Object *obj, void *event_info); + +static CstCallForward_info_t cst_forward_data = {0, }; -static Elm_Genlist_Item_Class *itc_2text_1icon = NULL; -static Elm_Genlist_Item_Class *itc_1text = NULL; -static CstGlItemDisplayInfo_t list_call_type[] = { - {1, CST_STR_VOICECALL, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, __cst_on_click_voice_cf}, - {1, CST_STR_VIDEOCALL, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, __cst_on_click_video_cf}, +static CstGlItemDisplayInfo_t list_call_forwarding[] = { + {1, CST_STR_ALWAYS, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_2TEXT_ONOFF_PROGRESS, __cst_on_click_show_cf_onoff_screen}, + {1, CST_STR_IF_BUSY, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_2TEXT_ONOFF_PROGRESS, __cst_on_click_show_cf_onoff_screen}, + {1, CST_STR_IF_NO_REPLY, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_2TEXT_ONOFF_PROGRESS, __cst_on_click_show_cf_onoff_screen}, + {1, CST_STR_IF_OUT_OF_REACH, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_2TEXT_ONOFF_PROGRESS, __cst_on_click_show_cf_onoff_screen}, {1, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, }; -static CstGlItemDisplayInfo_t list_call_forwarding[] = { - {1, CST_STR_ALWAYS, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_2TEXT_ONOFF_PROGRESS, __cst_on_click_cf_onoff}, - {1, CST_STR_IF_BUSY, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_2TEXT_ONOFF_PROGRESS, __cst_on_click_cf_onoff}, - {1, CST_STR_IF_NO_REPLY, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_2TEXT_ONOFF_PROGRESS, __cst_on_click_cf_onoff}, - {1, CST_STR_IF_OUT_OF_REACH, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_2TEXT_ONOFF_PROGRESS, __cst_on_click_cf_onoff}, +static CstGlItemDisplayInfo_t list_call_forwarding_status[] = { + {1, CST_STR_FORWARDING, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF, __cst_on_click_cf_onoff}, + {1, CST_STR_FORWARD_TO, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_2TEXT, __cst_on_click_cf_onoff_forward_to}, + {1, CST_STR_WAITING_TIME, ELM_GENLIST_ITEM_TREE, CST_GL_ITEM_2TEXT_EXPANDABLE, __cst_gl_on_click_waitingtime_expand}, {1, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, }; +static CstGlItemDisplayInfo_t list_call_forwarding_dep2_waiting_time[] = { + {2, CST_STR_WAITING_TIME_5_SEC, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_CF_WAIT_TIME_IDX_5_SEC}, + {2, CST_STR_WAITING_TIME_10_SEC, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_CF_WAIT_TIME_IDX_10_SEC}, + {2, CST_STR_WAITING_TIME_15_SEC, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_CF_WAIT_TIME_IDX_15_SEC}, + {2, CST_STR_WAITING_TIME_20_SEC, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_CF_WAIT_TIME_IDX_20_SEC}, + {2, CST_STR_WAITING_TIME_25_SEC, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_CF_WAIT_TIME_IDX_25_SEC}, + {2, CST_STR_WAITING_TIME_30_SEC, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_CF_WAIT_TIME_IDX_30_SEC}, + + {2, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, +}; + static void __cst_on_click_cf_back_button(void *data, Evas_Object *obj, void *event_info) { ENTER(__cst_on_click_cf_back_button); @@ -62,17 +149,18 @@ static void __cst_on_click_cf_back_button(void *data, Evas_Object *obj, void *ev static void __cst_update_cf_state(int call_type, int cf_flavour, Eina_Bool cf_state, char *number, - int error, int req_action, void *data) + int error, int req_action, void *data, int waiting_time) { ret_if(NULL == data); CstGlItemData_t *item_data = (CstGlItemData_t *)data; CstUgData_t *ugd = item_data->ugd; ret_if((call_type != ugd->call_type && call_type != CST_CALLTYPE_ALL)); DBG("call_type=%d (0:voice 1:video)", call_type); - DBG("cf_flavour=%d (0:CFU 1:CFB 2:CFNR 3:CFOR)", cf_flavour); + DBG("cf_flavour=%d item_data->index=%d(0:CFU 1:CFB 2:CFNR 3:CFOR)", cf_flavour, item_data->index); DBG("cf_state=%d (1:on 0:off)", cf_state); DBG("number=%s, error=%d", number, error); DBG("req_action=%d(0: Act, 1:Deact, 2:Query)", req_action); + DBG("waiting_time=%d", waiting_time); if (error == CST_ERROR_NONE) { if (cf_state == EINA_TRUE) { @@ -97,8 +185,10 @@ static void __cst_update_cf_state(int call_type, int cf_flavour, elm_genlist_item_update(ugd->cf_gl_item[CST_SSTYPE_CF_UNCONDITIONAL]); } } - } else + } else { + strcpy(item_data->number, ""); ugd->cf_state[item_data->index] = CST_SS_STATE_OFF; + } elm_genlist_item_update(item_data->gl_item); } else { if (req_action != CST_ACTION_QUERY) { @@ -112,9 +202,13 @@ static void __cst_update_cf_state(int call_type, int cf_flavour, ugd->cf_state[item_data->index] = CST_SS_STATE_OFF; } else { DBG("Network error : %d", error); - ugd->cf_state[item_data->index] = CST_SS_STATE_OFF; + if ((strlen(item_data->number) > 0) && + (strncmp(item_data->number, T_(CST_STR_UNKNOWN), strlen(T_(CST_STR_UNKNOWN))) != 0)) { + ugd->cf_state[item_data->index] = CST_SS_STATE_ON; + } else { + ugd->cf_state[item_data->index] = CST_SS_STATE_OFF; + } } - elm_genlist_item_update(item_data->gl_item); ugd->popup = (Evas_Object *)_cst_create_error_popup(ugd->nf, error); evas_object_show(ugd->popup); @@ -123,6 +217,49 @@ static void __cst_update_cf_state(int call_type, int cf_flavour, elm_genlist_item_update(item_data->gl_item); } } + __cst_update_cf_onoff_screen_state(call_type, cf_flavour, cf_state, number, error, req_action, data, waiting_time); + return; +} + +static void __cst_update_cf_onoff_screen_state(int call_type, int cf_flavour, Eina_Bool cf_state, char *number, int error, int req_action, void *data, int waiting_time) +{ + ret_if(NULL == data); + ret_if(cst_forward_data.onoff_screen_genlist == NULL); + ret_if(cst_forward_data.forwarding_item == NULL); + ret_if(cst_forward_data.forwardto_item == NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + + ENTER(__cst_update_cf_onoff_screen_state); + if ((cf_flavour != item_data->index) || (req_action == CST_ACTION_QUERY) + || (cf_flavour != cst_forward_data.forwarding_item->index)) { /* Ensuring the response is for the requested item only */ + return; + } + + if (error == CST_ERROR_NONE) { + if (cf_state == EINA_TRUE) { + if (strlen(number) > 0) { + snprintf(cst_forward_data.forwarding_item->number, sizeof(cst_forward_data.forwarding_item->number), "%s", number); + } else { + snprintf(cst_forward_data.forwarding_item->number, sizeof(cst_forward_data.forwarding_item->number), "%s", T_(CST_STR_UNKNOWN)); + } + + __cst_gl_cf_onoff_screen_show_remove_forwardto_item(EINA_TRUE, number); + if (cf_flavour == CST_SSTYPE_CF_NO_REPLY) { /* If no reply then show the Waiting time item also */ + __cst_gl_cf_onoff_screen_show_remove_waitingtime_item(EINA_TRUE); + if (waiting_time > 0) { + cst_forward_data.cf_wait_time = waiting_time; + __cst_update_wait_time_and_index(CST_CF_WAIT_TIME_IDX_NONE, cst_forward_data.cf_wait_time); + } + } + } else { + strcpy(cst_forward_data.forwarding_item->number, ""); + __cst_gl_cf_onoff_screen_show_remove_forwardto_item(EINA_FALSE, NULL); + if (cf_flavour == CST_SSTYPE_CF_NO_REPLY) { /* If no reply then show the Waiting time item also */ + __cst_gl_cf_onoff_screen_show_remove_waitingtime_item(EINA_FALSE); + } + } + } + elm_genlist_item_update(cst_forward_data.forwarding_item->gl_item); return; } @@ -156,7 +293,7 @@ static void __cst_query_cf_status(CstGlItemData_t *item_data) } _cst_add_ss_request(&ugd->req_queue, CST_ACTION_QUERY, ugd->call_type, cf_flavour, NULL, - __cst_update_cf_state, item_data); + __cst_update_cf_state, item_data, -1, ugd); } static void __cst_on_click_cf_ime_done_btn(void *data, Evas_Object *obj, void *event_info) @@ -164,12 +301,11 @@ static void __cst_on_click_cf_ime_done_btn(void *data, Evas_Object *obj, void *e ENTER(__cst_on_click_cf_ime_done_btn); ret_if(!data); - CallSettingReq_t *req = (CallSettingReq_t *)data; + CallSettingSSReq_t *req = (CallSettingSSReq_t *)data; CstGlItemData_t *item_data = (CstGlItemData_t *)req->data; CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; - + Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(ugd->dg_entry); char buffer[CST_MAX_PHONE_NUMBER_LEN]; - Evas_Object *lo; if (_cst_get_input_number(buffer, ugd) > 0) { ugd->cf_state[item_data->index] = CST_SS_STATE_PROGRESS; elm_genlist_item_update(item_data->gl_item); @@ -177,12 +313,16 @@ static void __cst_on_click_cf_ime_done_btn(void *data, Evas_Object *obj, void *e snprintf(req->number, CST_MAX_PHONE_NUMBER_LEN, "%s", buffer); _cst_add_ss_request(&ugd->req_queue, req->action, req->call_type, req->flavour, req->number, - __cst_update_cf_state, item_data); + __cst_update_cf_state, cst_forward_data.cf_sel_item, cst_forward_data.cf_wait_time, ugd); memset(ugd->c_item, 0, sizeof(ugd->c_item)); elm_naviframe_item_pop(ugd->nf); ugd->back_button = _cst_get_navifr_prev_btn(ugd->nf); } + if (imf_context) { + ecore_imf_context_input_panel_event_callback_del (imf_context, ECORE_IMF_INPUT_PANEL_STATE_EVENT, _cst_call_forwarding_input_panel_event_callback); + } + evas_object_smart_callback_del(ugd->dg_entry, "changed", _cst_call_forward_entry_changed_cb); free(req); } @@ -191,9 +331,10 @@ static void __cst_on_click_cf_ime_cancel_btn(void *data, Evas_Object *obj, void ENTER(__cst_on_click_cf_ime_cancel_btn); ret_if(!data); - CallSettingReq_t *req = (CallSettingReq_t *)data; + CallSettingSSReq_t *req = (CallSettingSSReq_t *)data; CstGlItemData_t *item_data = (CstGlItemData_t *)req->data; CstUgData_t *ugd = item_data->ugd; + Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(ugd->dg_entry); DBG("original state : %d", req->original_state); if (req->original_state == CST_SS_STATE_ON) @@ -202,6 +343,11 @@ static void __cst_on_click_cf_ime_cancel_btn(void *data, Evas_Object *obj, void ugd->cf_state[item_data->index] = CST_SS_STATE_OFF; elm_genlist_item_update(item_data->gl_item); + if (imf_context) { + ecore_imf_context_input_panel_event_callback_del (imf_context, ECORE_IMF_INPUT_PANEL_STATE_EVENT, _cst_call_forwarding_input_panel_event_callback); + } + evas_object_smart_callback_del(ugd->dg_entry, "changed", _cst_call_forward_entry_changed_cb); + memset(ugd->c_item, 0, sizeof(ugd->c_item)); elm_naviframe_item_pop(ugd->nf); ugd->back_button = _cst_get_navifr_prev_btn(ugd->nf); @@ -216,7 +362,8 @@ static char *__cst_gl_label_get_cf(void *data, Evas_Object *obj, const char *par CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; if (strcmp(part, "elm.text.1") == 0) { - return strdup(T_(list_call_forwarding[item_data->index].str_id)); + if (list_call_forwarding[item_data->index].str_id != -1) + return strdup(T_(list_call_forwarding[item_data->index].str_id)); } else if (strcmp(part, "elm.text.2") == 0) { switch (ugd->cf_state[item_data->index]) { case CST_SS_STATE_PROGRESS: @@ -248,8 +395,8 @@ static void __cst_update_change_cf_req(CstGlItemData_t *item_data, Eina_Bool req Elm_Object_Item *navi_it; Evas_Object *btn; - CallSettingReq_t *req = NULL; - req = (CallSettingReq_t *)calloc(1, sizeof(CallSettingReq_t)); + CallSettingSSReq_t *req = NULL; + req = (CallSettingSSReq_t *)calloc(1, sizeof(CallSettingSSReq_t)); ret_if(req == NULL); ugd->popup = NULL; @@ -261,27 +408,36 @@ static void __cst_update_change_cf_req(CstGlItemData_t *item_data, Eina_Bool req ugd->original_state = !req_state; if (req_state == EINA_TRUE) { req->action = CST_ACTION_ACTIVATE; - req->original_state = CST_SS_STATE_OFF; - eo = _cst_create_cf_ime(ugd->nf, NULL, ugd); + char *edit_string = NULL; + Eina_Bool check_state = elm_check_state_get(item_data->eo_check); + if (check_state == EINA_TRUE) { + req->original_state = CST_SS_STATE_ON; + edit_string = item_data->number; + } else { + req->original_state = CST_SS_STATE_OFF; + } + eo = _cst_create_cf_ime(ugd->nf, edit_string, ugd); _cst_remove_naviframe(ugd->nf); navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_FORWARD_TO), NULL, NULL, eo, "1line"); + elm_object_item_data_set(navi_it, req); btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_CANCEL), __cst_on_click_cf_ime_cancel_btn, (void *)req); - elm_object_item_part_content_set(navi_it, "title_left_btn", btn); - + elm_object_item_part_content_set(navi_it, "title_right_btn", btn); + btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_DONE), __cst_on_click_cf_ime_done_btn, (void *)req); - elm_object_item_part_content_set(navi_it, "title_right_btn", btn); + elm_object_item_part_content_set(navi_it, "title_left_btn", btn); + elm_object_disabled_set(btn, EINA_TRUE); } else { ugd->cf_state[item_data->index] = CST_SS_STATE_PROGRESS; elm_genlist_item_update(item_data->gl_item); _cst_add_ss_request(&ugd->req_queue, CST_ACTION_DEACTIVATE, ugd->call_type, req->flavour, NULL, - __cst_update_cf_state, item_data); + __cst_update_cf_state, cst_forward_data.cf_sel_item, -1, ugd); free(req); } } @@ -292,14 +448,27 @@ static void __cst_on_click_cf_onoff(void *data, Evas *evas, Evas_Object *obj, vo CstGlItemData_t *item_data = (CstGlItemData_t *)data; CstUgData_t *ugd = item_data->ugd; - if (ugd->cf_state[item_data->index] == CST_SS_STATE_PROGRESS) + if (ugd->cf_state[cst_forward_data.forwarding_item->index] == CST_SS_STATE_PROGRESS) { /* Ignore as another SS request is already active */ return; + } Eina_Bool check_state = elm_check_state_get(item_data->eo_check); - __cst_update_change_cf_req(item_data, !check_state); } +static void __cst_on_click_cf_onoff_forward_to(void *data, Evas *evas, Evas_Object *obj, void *event_info) +{ + ret_if(NULL == data); + ret_if(NULL == cst_forward_data.forwarding_item); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = item_data->ugd; + + if (ugd->cf_state[cst_forward_data.forwarding_item->index] == CST_SS_STATE_PROGRESS) { /* Ignore as another SS request is already active */ + return; + } + __cst_update_change_cf_req(cst_forward_data.forwarding_item, EINA_TRUE); +} + static void __cst_gl_sel_cf(void *data, Evas_Object *obj, void *event_info) { ret_if(data == NULL); @@ -319,29 +488,20 @@ static void __cst_on_changed_cf_check(void *data, Evas_Object *obj, void *event_ elm_check_state_set(obj, !check_state); return; } - + elm_check_state_set(obj, !check_state); __cst_update_change_cf_req(item_data, check_state); } static Evas_Object *__cst_gl_icon_get_cf(void *data, Evas_Object *obj, const char *part) { + ENTER(__cst_gl_icon_get_cf); retv_if(NULL == data, NULL); Evas_Object *icon = NULL; CstGlItemData_t *item_data = (CstGlItemData_t *)data; CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; - Eina_Bool check_state = EINA_FALSE; if (!strcmp(part, "elm.icon")) { switch (ugd->cf_state[item_data->index]) { - case CST_SS_STATE_ON: - case CST_SS_STATE_OFF: - DBG("ugd->cf_state : %d(%d)", - ugd->cf_state[item_data->index], item_data->index); - if (ugd->cf_state[item_data->index] == CST_SS_STATE_ON) - check_state = EINA_TRUE; - item_data->eo_check = icon = _cst_create_onoff_button(obj, check_state, - __cst_on_changed_cf_check, item_data); - break; case CST_SS_STATE_PROGRESS: icon = _cst_create_progressbar(obj); break; @@ -354,21 +514,44 @@ static Evas_Object *__cst_gl_icon_get_cf(void *data, Evas_Object *obj, const cha static Evas_Object *__cst_create_genlist_cf(void *data) { - ret_if(data == NULL); + retv_if(NULL == data, NULL); CstUgData_t *ugd = (CstUgData_t *)data; int index = 0; Evas_Object *genlist; CstGlItemData_t *item_data; - itc_2text_1icon->item_style = "dialogue/2text.1icon.6"; - itc_2text_1icon->func.text_get = __cst_gl_label_get_cf; - itc_2text_1icon->func.content_get = __cst_gl_icon_get_cf; - itc_2text_1icon->func.state_get = NULL; - itc_2text_1icon->func.del = __cst_gl_del_cf; + cst_forward_data.itc_2text_1icon = NULL; + cst_forward_data.itc_forwarding = NULL; + cst_forward_data.itc_forward_to = NULL; + cst_forward_data.itc_waiting_time = NULL; + cst_forward_data.itc_waiting_time_expand = NULL; + cst_forward_data.onoff_screen_genlist = NULL; + cst_forward_data.forwardto_item = NULL; + cst_forward_data.waitingtime_item = NULL; + cst_forward_data.waitingtime_radio_btn = NULL; + cst_forward_data.cf_sel_item = NULL; + + if (!cst_forward_data.itc_2text_1icon) + cst_forward_data.itc_2text_1icon = elm_genlist_item_class_new(); + if (!cst_forward_data.itc_forwarding) + cst_forward_data.itc_forwarding = elm_genlist_item_class_new(); + if (!cst_forward_data.itc_forward_to) + cst_forward_data.itc_forward_to = elm_genlist_item_class_new(); + if (!cst_forward_data.itc_waiting_time) + cst_forward_data.itc_waiting_time = elm_genlist_item_class_new(); + if (!cst_forward_data.itc_waiting_time_expand) + cst_forward_data.itc_waiting_time_expand = elm_genlist_item_class_new(); + + cst_forward_data.itc_2text_1icon->item_style = "dialogue/2text.1icon.6"; + cst_forward_data.itc_2text_1icon->func.text_get = __cst_gl_label_get_cf; + cst_forward_data.itc_2text_1icon->func.content_get = __cst_gl_icon_get_cf; + cst_forward_data.itc_2text_1icon->func.state_get = NULL; + cst_forward_data.itc_2text_1icon->func.del = __cst_gl_del_cf; genlist = elm_genlist_add(ugd->nf); + elm_object_style_set(genlist, "dialogue"); - _cst_create_genlist_seperator(genlist, EINA_FALSE); + _cst_create_genlist_separator(genlist, EINA_FALSE); for (index = 0; list_call_forwarding[index].style != CST_GL_ITEM_NONE; ++index) { item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); retv_if(item_data == NULL, NULL); @@ -376,124 +559,487 @@ static Evas_Object *__cst_create_genlist_cf(void *data) item_data->ugd = ugd; if (list_call_forwarding[index].style == CST_GL_ITEM_2TEXT_ONOFF_PROGRESS) { ugd->cf_state[index] = CST_SS_STATE_PROGRESS; - item_data->gl_item = elm_genlist_item_append(genlist, itc_2text_1icon, - (void *)item_data, NULL, list_call_forwarding[index].flags, + item_data->gl_item = elm_genlist_item_append(genlist, cst_forward_data.itc_2text_1icon, + (const void *)item_data, NULL, list_call_forwarding[index].flags, __cst_gl_sel_cf, item_data); __cst_query_cf_status(item_data); } else { DBG("No style"); free(item_data); item_data = NULL; - return; + return NULL; } ugd->cf_gl_item[index] = item_data->gl_item; } + _cst_create_genlist_separator_no_line(genlist); return genlist; } -static void __cst_on_click_voice_cf(void *data, Evas *evas, Evas_Object *obj, void *event_info) +static Evas_Object *__cst_gl_cf_onoff_get_icon(void *data, Evas_Object *obj, const char *part) { - ENTER(__cst_on_click_voice_cf); - ret_if(data == NULL); + retv_if(NULL == data, NULL); + Evas_Object *icon = NULL; + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + Eina_Bool check_state = EINA_FALSE; + + if (!strcmp(part, "elm.icon")) { + switch (ugd->cf_state[item_data->index]) { + case CST_SS_STATE_ON: + case CST_SS_STATE_OFF: + DBG("ugd->cf_state : %d(%d)", + ugd->cf_state[item_data->index], item_data->index); + if (ugd->cf_state[item_data->index] == CST_SS_STATE_ON) + check_state = EINA_TRUE; + item_data->eo_check = icon = _cst_create_onoff_button(obj, check_state, + __cst_on_changed_cf_check, item_data); + break; + case CST_SS_STATE_PROGRESS: + icon = _cst_create_progressbar(obj); + break; + default: + return NULL; + } + } + return icon; +} + +static char *__cst_gl_cf_onoff_get_forwarding_label(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + + if (!strcmp(part, "elm.text")) { + return strdup(T_(list_call_forwarding_status[0].str_id)); + } + return NULL; +} + +static char *__cst_gl_cf_onoff_get_forward_to_label(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + + if (strcmp(part, "elm.text.1") == 0) { + return strdup(T_(list_call_forwarding_status[1].str_id)); + } else if (strcmp(part, "elm.text.2") == 0) { + if (strlen(item_data->number) > 0) { + return strdup(item_data->number); + } else { + return strdup(T_(CST_STR_UNKNOWN)); + } + } + return NULL; +} + +static char *__cst_gl_cf_onoff_get_waiting_time_label(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + + if (strcmp(part, "elm.text.1") == 0) { + return strdup(T_(list_call_forwarding_status[2].str_id)); + } else if (strcmp(part, "elm.text.2") == 0) { + if (list_call_forwarding_dep2_waiting_time[cst_forward_data.cf_wait_time_index].str_id != -1) + return strdup(T_(list_call_forwarding_dep2_waiting_time[cst_forward_data.cf_wait_time_index].str_id)); + } + return NULL; +} + +static void __cst_on_click_cf_onoff_screen_back_button(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_on_click_cf_onoff_screen_back_button); + retm_if(data == NULL, "NULL"); CstUgData_t *ugd = (CstUgData_t *)data; - Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *)event_info; - Evas_Object *back_btn = NULL; - Elm_Object_Item *navi_it; + __cst_cf_clear_onoff_screen_data(); + ugd->back_button = _cst_get_navifr_prev_btn(ugd->nf); +} - if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) { - return; +static void __cst_gl_cf_onoff_forwarding_sel(void *data, Evas_Object *obj, void *event_info) +{ + ret_if(data == NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); + if (list_call_forwarding_status[0].func) + list_call_forwarding_status[0].func((void *)item_data, NULL, obj, event_info); + return; +} + +static void __cst_gl_cf_onoff_forwardto_sel(void *data, Evas_Object *obj, void *event_info) +{ + ret_if(data == NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); + if (list_call_forwarding_status[1].func) + list_call_forwarding_status[1].func((void *)item_data, NULL, obj, event_info); + return; +} + +static void __cst_gl_cf_onoff_waitingtime_sel(void *data, Evas_Object *obj, void *event_info) +{ + ret_if(data == NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); + if (list_call_forwarding_status[2].func) + list_call_forwarding_status[2].func((void *)item_data, NULL, obj, event_info); + return; +} + +static void __cst_gl_cf_onoff_screen_show_remove_forwardto_item(Eina_Bool show_item, char *number) +{ + ENTER(__cst_gl_cf_onoff_screen_show_remove_forwardto_item); + ret_if(cst_forward_data.onoff_screen_genlist == NULL); + ret_if(cst_forward_data.forwardto_item == NULL); + + /* Remove the Forwardto item */ + if (cst_forward_data.forwardto_item->gl_item) { + elm_object_item_del(cst_forward_data.forwardto_item->gl_item); + cst_forward_data.forwardto_item->gl_item = NULL; + strcpy(cst_forward_data.forwardto_item->number, ""); } - ugd->call_type = CST_CALLTYPE_VOICE; - ugd->popup = NULL; + if(show_item == EINA_TRUE) { + if (strlen(number) > 0) { + snprintf(cst_forward_data.forwardto_item->number, sizeof(cst_forward_data.forwardto_item->number), "%s", number); + } else { + snprintf(cst_forward_data.forwardto_item->number, sizeof(cst_forward_data.forwardto_item->number), "%s", T_(CST_STR_UNKNOWN)); + } + cst_forward_data.forwardto_item->gl_item = elm_genlist_item_append(cst_forward_data.onoff_screen_genlist, cst_forward_data.itc_forward_to, + (const void *)cst_forward_data.forwardto_item, NULL, list_call_forwarding_status[1].flags, + __cst_gl_cf_onoff_forwardto_sel, cst_forward_data.forwardto_item); + } +} - Evas_Object *genlist = __cst_create_genlist_cf(ugd); +static void __cst_gl_cf_onoff_screen_show_remove_waitingtime_item(Eina_Bool show_item) +{ + ENTER(__cst_gl_cf_onoff_screen_show_remove_waitingtime_item); + ret_if(cst_forward_data.onoff_screen_genlist == NULL); + ret_if(cst_forward_data.waitingtime_item == NULL); + + /* Remove the Waiting time item */ + if (cst_forward_data.waitingtime_item->gl_item) { + elm_object_item_del(cst_forward_data.waitingtime_item->gl_item); + cst_forward_data.waitingtime_item->gl_item = NULL; + } - back_btn = elm_button_add(ugd->nf); - navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_VOICECALL), - NULL, NULL, genlist, NULL); - back_btn = elm_object_item_part_content_get(navi_it, "prev_btn"); - evas_object_smart_callback_add(back_btn, "clicked", - __cst_on_click_cf_back_button, ugd); + if(show_item == EINA_TRUE) { + cst_forward_data.waitingtime_item->gl_item = elm_genlist_item_append(cst_forward_data.onoff_screen_genlist, cst_forward_data.itc_waiting_time, + (const void *)cst_forward_data.waitingtime_item, NULL, list_call_forwarding_status[2].flags, + __cst_gl_cf_onoff_waitingtime_sel, cst_forward_data.waitingtime_item); + } } -static void __cst_on_click_video_cf(void *data, Evas *evas, Evas_Object *obj, void *event_info) +static void __cst_gl_on_click_waitingtime_expand(void *data, Evas *evas, Evas_Object *obj, void *event_info) { - ENTER(__cst_on_click_video_cf); + ENTER(__cst_gl_on_click_waitingtime_expand); ret_if(NULL == data); - CstUgData_t *ugd = (CstUgData_t *)data; - Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *)event_info; - Evas_Object *back_btn = NULL; - Elm_Object_Item *navi_it; + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + static int selected_waittime = -1; + CstUgData_t *ugd = (CstUgData_t *)((CstGlItemData_t *)data)->ugd; - if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) { + if (ugd->cf_state[cst_forward_data.forwarding_item->index] == CST_SS_STATE_PROGRESS) { /* Ignore as another SS request is already active */ return; } - ugd->call_type = CST_CALLTYPE_VIDEO; - ugd->popup = NULL; + if (elm_genlist_item_expanded_get(item)) { + __cst_gl_collapse_req(data, obj, event_info); + __cst_gl_collapse(selected_waittime, obj, event_info); + } else { + selected_waittime = cst_forward_data.cf_wait_time_index; + __cst_gl_expand_req(data, obj, event_info); + __cst_gl_expand(data, obj, event_info); + } +} - Evas_Object *genlist = __cst_create_genlist_cf(ugd); - navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_VIDEOCALL), - NULL, NULL, genlist, NULL); - back_btn = elm_object_item_part_content_get(navi_it, "prev_btn"); - evas_object_smart_callback_add(back_btn, "clicked", - __cst_on_click_cf_back_button, ugd); +static void __cst_gl_collapse_req(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_gl_collapse_req); + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + elm_genlist_item_expanded_set(item, 0); } -static void __cst_gl_sel_call_type(void *data, Evas_Object *obj, void *event_info) +static void __cst_gl_collapse(int selected_time, Evas_Object *obj, void *event_info) { - ret_if(data == NULL); - CstUgData_t *ugd = (CstUgData_t *)data; - Elm_Object_Item *item= (Elm_Object_Item *)event_info; - int index = (int)elm_object_item_data_get(item); - elm_genlist_item_selected_set(item, EINA_FALSE); + ENTER(__cst_gl_collapse); + Elm_Object_Item *item = event_info; + elm_genlist_item_subitems_clear(item); - if (list_call_type[index].func) - list_call_type[index].func((void *)ugd, NULL, obj, event_info); + if (selected_time != cst_forward_data.cf_wait_time_index) { + __cst_update_wait_time_and_index(cst_forward_data.cf_wait_time_index, CST_CF_WAIT_TIME_NONE); + __cst_gl_update_waiting_time_ss_request(); + } +} + +static void __cst_gl_expand_req(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_gl_expand_req); + Elm_Object_Item *item = event_info; + elm_genlist_item_expanded_set(item, 1); +} + +static void __cst_gl_expand(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_gl_expand); + ret_if(NULL == data); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + Elm_Object_Item *it = (Elm_Object_Item *)event_info; + ret_if(NULL == it); + Evas_Object *genlist = elm_object_item_widget_get(it); + ret_if(NULL == genlist); + CstGlItemData_t *sub_item_data; + int i = 0; + + cst_forward_data.waitingtime_radio_btn = NULL; + cst_forward_data.waitingtime_radio_btn = elm_radio_add(genlist); + elm_radio_value_set(cst_forward_data.waitingtime_radio_btn, -1); + for (i = 0; list_call_forwarding_dep2_waiting_time[i].style != CST_GL_ITEM_NONE; ++i) { + sub_item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); + ret_if(sub_item_data == NULL); + sub_item_data->index = i; + sub_item_data->ugd = ugd; + sub_item_data->parent_gl_item = it; + elm_genlist_item_append(genlist, cst_forward_data.itc_waiting_time_expand, + (const void *)sub_item_data, it, + list_call_forwarding_dep2_waiting_time[i].flags, + __cst_gl_sel_waiting_time, sub_item_data); + } +} + +static void __cst_gl_update_waiting_time_ss_request(void) +{ + ENTER("__cst_gl_update_waiting_time_ss_request"); + CstGlItemData_t *item_data = (CstGlItemData_t *)cst_forward_data.forwarding_item; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + CallSettingSSReq_t *req = NULL; + + req = (CallSettingSSReq_t *)calloc(1, sizeof(CallSettingSSReq_t)); + ret_if(req == NULL); + ugd->popup = NULL; + req->data = (void *)item_data->gl_item; + req->call_type = ugd->call_type; + req->flavour = CST_SSTYPE_CF_NO_REPLY; + req->action = CST_ACTION_ACTIVATE; + req->original_state = CST_SS_STATE_ON; + ugd->cf_state[item_data->index] = CST_SS_STATE_PROGRESS; + elm_genlist_item_update(item_data->gl_item); + snprintf(req->number, CST_MAX_PHONE_NUMBER_LEN, "%s", cst_forward_data.forwardto_item->number); + _cst_add_ss_request(&ugd->req_queue, req->action, + req->call_type, req->flavour, req->number, + __cst_update_cf_state, cst_forward_data.cf_sel_item, cst_forward_data.cf_wait_time, ugd); + free(req); +} + +static void __cst_gl_sel_waiting_time(void *data, Evas_Object *obj, void *event_info) +{ + elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); + ret_if(NULL == data); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + + cst_forward_data.cf_wait_time_index = (int)list_call_forwarding_dep2_waiting_time[item_data->index].func; + if (cst_forward_data.waitingtime_radio_btn) { + elm_radio_value_set(cst_forward_data.waitingtime_radio_btn, + (int)list_call_forwarding_dep2_waiting_time[item_data->index].func); + elm_genlist_item_update(item_data->parent_gl_item); + } return; } -static char *__cst_gl_label_get_call_type(void *data, Evas_Object *obj, const char *part) +static char *__cst_gl_get_wait_time_sub_exp_label(void *data, Evas_Object *obj, const char *part) { - int index = (int)data; + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + if (strcmp(part, "elm.text") == 0) { + return strdup(T_(list_call_forwarding_dep2_waiting_time[item_data->index].str_id)); + } + return NULL; +} - if (strcmp(part, "elm.text") == 0) - return strdup(T_(list_call_type[index].str_id)); +static Evas_Object *__cst_gl_get_wait_time_sub_exp_icon(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + + if (!strcmp(part, "elm.icon")) { + Evas_Object *radio = NULL; + if (NULL == cst_forward_data.waitingtime_radio_btn) { + cst_forward_data.waitingtime_radio_btn = elm_radio_add(obj); + elm_radio_value_set(cst_forward_data.waitingtime_radio_btn, -1); + } + radio = __cst_gl_create_wait_time_radio_icon(obj, cst_forward_data.waitingtime_radio_btn, + (int)list_call_forwarding_dep2_waiting_time[item_data->index].func, 0); + return radio; + } return NULL; } -static Evas_Object *__cst_create_genlist_call_type(void *data) +static Evas_Object *__cst_gl_create_wait_time_radio_icon(Evas_Object *obj, Evas_Object *rdg, int value, int offset) +{ + retv_if(NULL == obj, NULL); + + int rd_value = 0; + Evas_Object *radio = elm_radio_add(obj); + elm_radio_state_value_set(radio, value); + elm_radio_group_add(radio, rdg); + + rd_value = cst_forward_data.cf_wait_time_index; + elm_radio_value_set(rdg, (rd_value + offset)); + return radio; +} + +static void __cst_update_wait_time_and_index(int wait_time_index, int wait_time) +{ + ENTER(__cst_update_wait_time_and_index); + + if (wait_time_index != CST_CF_WAIT_TIME_IDX_NONE) { /* Update the waiting time from the index */ + if (wait_time_index == CST_CF_WAIT_TIME_IDX_5_SEC) { + cst_forward_data.cf_wait_time = CST_CF_WAIT_TIME_5_SEC; + } else if (wait_time_index == CST_CF_WAIT_TIME_IDX_10_SEC) { + cst_forward_data.cf_wait_time = CST_CF_WAIT_TIME_10_SEC; + } else if (wait_time_index == CST_CF_WAIT_TIME_IDX_15_SEC) { + cst_forward_data.cf_wait_time = CST_CF_WAIT_TIME_15_SEC; + } else if (wait_time_index == CST_CF_WAIT_TIME_IDX_20_SEC) { + cst_forward_data.cf_wait_time = CST_CF_WAIT_TIME_20_SEC; + } else if (wait_time_index == CST_CF_WAIT_TIME_IDX_25_SEC) { + cst_forward_data.cf_wait_time = CST_CF_WAIT_TIME_25_SEC; + } else if (wait_time_index == CST_CF_WAIT_TIME_IDX_30_SEC) { + cst_forward_data.cf_wait_time = CST_CF_WAIT_TIME_30_SEC; + } + } else if(wait_time != CST_CF_WAIT_TIME_NONE) { /* Update the waiting time index from the time */ + if (wait_time == CST_CF_WAIT_TIME_5_SEC) { + cst_forward_data.cf_wait_time_index = CST_CF_WAIT_TIME_IDX_5_SEC; + } else if (wait_time == CST_CF_WAIT_TIME_10_SEC) { + cst_forward_data.cf_wait_time_index = CST_CF_WAIT_TIME_IDX_10_SEC; + } else if (wait_time == CST_CF_WAIT_TIME_15_SEC) { + cst_forward_data.cf_wait_time_index = CST_CF_WAIT_TIME_IDX_15_SEC; + } else if (wait_time == CST_CF_WAIT_TIME_20_SEC) { + cst_forward_data.cf_wait_time_index = CST_CF_WAIT_TIME_IDX_20_SEC; + } else if (wait_time == CST_CF_WAIT_TIME_25_SEC) { + cst_forward_data.cf_wait_time_index = CST_CF_WAIT_TIME_IDX_25_SEC; + } else if (wait_time == CST_CF_WAIT_TIME_30_SEC) { + cst_forward_data.cf_wait_time_index = CST_CF_WAIT_TIME_IDX_30_SEC; + } + } + + if (cst_forward_data.waitingtime_item) { + elm_genlist_item_update(cst_forward_data.waitingtime_item->gl_item); + } + return; +} + +static Evas_Object *__cst_create_genlist_cf_onoff_screen(void *data) { - ENTER(__cst_create_genlist_call_type); + DBG("__cst_create_genlist_cf_onoff_screen"); retv_if(NULL == data, NULL); CstUgData_t *ugd = (CstUgData_t *)data; - Evas_Object *genlist; - Elm_Object_Item *git; - int index = 0; - if (!itc_2text_1icon) - itc_2text_1icon = elm_genlist_item_class_new(); - if (!itc_1text) - itc_1text = elm_genlist_item_class_new(); + cst_forward_data.onoff_screen_genlist = elm_genlist_add(ugd->nf); + elm_object_style_set(cst_forward_data.onoff_screen_genlist, "dialogue"); + _cst_create_genlist_separator(cst_forward_data.onoff_screen_genlist, EINA_FALSE); + + /* Forwarding Item */ + cst_forward_data.itc_forwarding->item_style = "dialogue/1text.1icon"; + cst_forward_data.itc_forwarding->func.text_get = __cst_gl_cf_onoff_get_forwarding_label; + cst_forward_data.itc_forwarding->func.content_get = __cst_gl_cf_onoff_get_icon; + cst_forward_data.itc_forwarding->func.state_get = NULL; + cst_forward_data.itc_forwarding->func.del = __cst_gl_del_cf; + + cst_forward_data.forwarding_item = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); + retv_if(cst_forward_data.forwarding_item == NULL, NULL); + cst_forward_data.forwarding_item->index = cst_forward_data.cf_sel_item->index; /* This is the index of the selected item from the previous screen */ + cst_forward_data.forwarding_item->ugd = ugd; + if (strlen(cst_forward_data.cf_sel_item->number) > 0) { + snprintf(cst_forward_data.forwarding_item->number, sizeof(cst_forward_data.forwarding_item->number), "%s", cst_forward_data.cf_sel_item->number); + } + cst_forward_data.forwarding_item->gl_item = elm_genlist_item_append(cst_forward_data.onoff_screen_genlist, cst_forward_data.itc_forwarding, + (const void *)cst_forward_data.forwarding_item, NULL, list_call_forwarding_status[0].flags, + __cst_gl_cf_onoff_forwarding_sel, cst_forward_data.forwarding_item); + + /* Forward to Item displayed only when the selected item is on */ + cst_forward_data.itc_forward_to->item_style = "ciss/2text_call_forward"; + cst_forward_data.itc_forward_to->func.text_get = __cst_gl_cf_onoff_get_forward_to_label; + cst_forward_data.itc_forward_to->func.content_get = NULL; + cst_forward_data.itc_forward_to->func.state_get = NULL; + cst_forward_data.itc_forward_to->func.del = NULL; + + cst_forward_data.forwardto_item = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); + retv_if(cst_forward_data.forwardto_item == NULL, NULL); + cst_forward_data.forwardto_item->index = CST_CF_FORWARD_TO_TEXT; + cst_forward_data.forwardto_item->ugd = ugd; + cst_forward_data.forwardto_item->gl_item = NULL; + if (ugd->cf_state[cst_forward_data.forwarding_item->index] == CST_SS_STATE_ON) { + __cst_gl_cf_onoff_screen_show_remove_forwardto_item(EINA_TRUE, cst_forward_data.cf_sel_item->number); + } - itc_1text->item_style = "dialogue/1text"; - itc_1text->func.text_get = __cst_gl_label_get_call_type; - itc_1text->func.content_get = NULL; - itc_1text->func.state_get = NULL; - itc_1text->func.del = NULL; + /* Waiting time Item displayed only when the selected item is on and is of type "If no reply"*/ + if (cst_forward_data.cf_sel_item->index == CST_CF_IF_NO_REPLY_SEL) { + cst_forward_data.itc_waiting_time->item_style = "dialogue/2text.3/expandable"; + cst_forward_data.itc_waiting_time->func.text_get = __cst_gl_cf_onoff_get_waiting_time_label; + cst_forward_data.itc_waiting_time->func.content_get = NULL; + cst_forward_data.itc_waiting_time->func.state_get = NULL; + cst_forward_data.itc_waiting_time->func.del = NULL; + + cst_forward_data.itc_waiting_time_expand->item_style = "dialogue/1text.1icon/expandable2"; + cst_forward_data.itc_waiting_time_expand->func.text_get = __cst_gl_get_wait_time_sub_exp_label; + cst_forward_data.itc_waiting_time_expand->func.content_get = __cst_gl_get_wait_time_sub_exp_icon; + cst_forward_data.itc_waiting_time_expand->func.state_get = NULL; + cst_forward_data.itc_waiting_time_expand->func.del = __cst_gl_del_cf; + cst_forward_data.waitingtime_item = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); + retv_if(cst_forward_data.waitingtime_item == NULL, NULL); + cst_forward_data.waitingtime_item->index = CST_CF_WAITING_TIME_SEL; + cst_forward_data.waitingtime_item->ugd = ugd; + cst_forward_data.waitingtime_item->gl_item = NULL; + if (ugd->cf_state[cst_forward_data.forwarding_item->index] == CST_SS_STATE_ON) { + __cst_gl_cf_onoff_screen_show_remove_waitingtime_item(EINA_TRUE); + } + } + return cst_forward_data.onoff_screen_genlist; +} - genlist = elm_genlist_add(ugd->nf); +static void __cst_on_click_show_cf_onoff_screen(void *data, Evas *evas, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_on_click_show_cf_onoff_screen); + ret_if(NULL == data); + CstGlItemData_t *sel_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = sel_data->ugd; + Evas_Object *back_btn = NULL; + Elm_Object_Item *navi_it; - _cst_create_genlist_seperator(genlist, EINA_FALSE); - for (index = 0; list_call_type[index].style != CST_GL_ITEM_NONE; index++) { - git = elm_genlist_item_append(genlist, itc_1text, - (void *)index, NULL, ELM_GENLIST_ITEM_NONE, - __cst_gl_sel_call_type, (void *)ugd); - } + if (ugd->cf_state[sel_data->index] == CST_SS_STATE_PROGRESS) + return; - return genlist; + cst_forward_data.cf_sel_item = sel_data; + __cst_create_genlist_cf_onoff_screen(ugd); + + back_btn = elm_button_add(ugd->nf); + navi_it = elm_naviframe_item_push(ugd->nf, T_(list_call_forwarding[sel_data->index].str_id), + NULL, NULL, cst_forward_data.onoff_screen_genlist, NULL); + back_btn = elm_object_item_part_content_get(navi_it, "prev_btn"); + evas_object_smart_callback_add(back_btn, "clicked", + __cst_on_click_cf_onoff_screen_back_button, ugd); +} + +static void __cst_cf_clear_onoff_screen_data(void) +{ + ENTER(__cst_cf_clear_onoff_screen_data); + if (cst_forward_data.forwardto_item) { + if (cst_forward_data.forwardto_item->gl_item) { + elm_object_item_del(cst_forward_data.forwardto_item->gl_item); + cst_forward_data.forwardto_item->gl_item = NULL; + } + free(cst_forward_data.forwardto_item); + cst_forward_data.forwardto_item = NULL; + } + if (cst_forward_data.waitingtime_item) { + if (cst_forward_data.waitingtime_item->gl_item) { + elm_object_item_del(cst_forward_data.waitingtime_item->gl_item); + cst_forward_data.waitingtime_item->gl_item = NULL; + } + free(cst_forward_data.waitingtime_item); + cst_forward_data.waitingtime_item = NULL; + } + if (cst_forward_data.onoff_screen_genlist) { + cst_forward_data.onoff_screen_genlist = NULL; + } } void _cst_on_click_call_forwarding(void *data, Evas *evas, Evas_Object *obj, void *event_info) @@ -522,13 +1068,94 @@ void _cst_on_click_call_forwarding(void *data, Evas *evas, Evas_Object *obj, voi evas_object_show(ugd->popup); return; } + + ugd->call_type = CST_CALLTYPE_VOICE; + ugd->popup = NULL; - Evas_Object *genlist = __cst_create_genlist_call_type(ugd); + Evas_Object *genlist = __cst_create_genlist_cf(ugd); - navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_CALL_FORWARDING), + back_btn = elm_button_add(ugd->nf); + navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_CALL_FORWARDING), NULL, NULL, genlist, NULL); back_btn = elm_object_item_part_content_get(navi_it, "prev_btn"); evas_object_smart_callback_add(back_btn, "clicked", __cst_on_click_cf_back_button, ugd); } +void _cst_call_forwarding_input_panel_event_callback(void *data, Ecore_IMF_Context *imf_context, int value) +{ + ENTER(_cst_call_forwarding_input_panel_event_callback); + ret_if(!data); + CstUgData_t *ugd = (CstUgData_t *)data; + Evas_Object *btn = NULL; + CallSettingSSReq_t *req = NULL; + const char *entry_input = NULL; + + Elm_Object_Item *top_it = elm_naviframe_top_item_get(ugd->nf); + ret_if(!top_it); + req = (CallSettingSSReq_t *)elm_object_item_data_get(top_it); + ret_if(!req); + + entry_input = elm_entry_entry_get(ugd->dg_entry); + if(value == ECORE_IMF_INPUT_PANEL_STATE_SHOW) { + DBG("ECORE_IMF_INPUT_PANEL_STATE_SHOW"); + + btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_CANCEL), + __cst_on_click_cf_ime_cancel_btn, (void *)req); + elm_object_item_part_content_set(top_it, "title_right_btn", btn); + + btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_DONE), + __cst_on_click_cf_ime_done_btn, (void *)req); + elm_object_item_part_content_set(top_it, "title_left_btn", btn); + if (entry_input && strlen(entry_input) > 0) { + elm_object_disabled_set(btn, EINA_FALSE); + } else { + elm_object_disabled_set(btn, EINA_TRUE); + } + } else if(value == ECORE_IMF_INPUT_PANEL_STATE_HIDE) { + Evas_Object *cbar = NULL; + DBG("ECORE_IMF_INPUT_PANEL_STATE_HIDE"); + elm_object_item_part_content_set(top_it, "title_right_btn", NULL); + elm_object_item_part_content_set(top_it, "title_left_btn", NULL); + cbar = _cst_create_navi_control_bar(ugd->nf, + (char *)T_(CST_STR_DONE), NULL, + __cst_on_click_cf_ime_done_btn, + (char *)T_(CST_STR_CANCEL), NULL, + __cst_on_click_cf_ime_cancel_btn, + (void *)req, top_it, + cst_forward_data.ec_item); + if (entry_input && strlen(entry_input) > 0) { + elm_object_item_disabled_set(cst_forward_data.ec_item[0], EINA_FALSE); + } else { + elm_object_item_disabled_set(cst_forward_data.ec_item[0], EINA_TRUE); + } + } +} + +void _cst_call_forward_entry_changed_cb(void *data, Evas_Object *obj, void *event_info) +{ + DBG("_cst_call_forward_entry_changed_cb calling"); + ret_if(!data); + CstUgData_t *ugd = (CstUgData_t *)data; + Evas_Object *btn = NULL; + const char *entry_input = NULL; + + Elm_Object_Item *top_it = elm_naviframe_top_item_get(ugd->nf); + ret_if(!top_it); + + entry_input = elm_entry_entry_get(ugd->dg_entry); + if((btn = elm_object_item_part_content_get(top_it, "title_left_btn")) != NULL) { + if (entry_input && strlen(entry_input) > 0) { + elm_object_disabled_set(btn, EINA_FALSE); + } else { + elm_object_disabled_set(btn, EINA_TRUE); + } + } else { + if (entry_input && strlen(entry_input) > 0) { + elm_object_item_disabled_set(cst_forward_data.ec_item[0], EINA_FALSE); + } else { + elm_object_item_disabled_set(cst_forward_data.ec_item[0], EINA_TRUE); + } + } +} + diff --git a/src/cst-main.c b/src/cst-main.c index df2a289..31594d8 100755 --- a/src/cst-main.c +++ b/src/cst-main.c @@ -1,18 +1,18 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 UG_MODULE_API #define UG_MODULE_API __attribute__ ((visibility("default"))) @@ -22,20 +22,20 @@ #include #include #include +#include #include "cst-common.h" #include "cst-debug.h" #include "cst-common-string.h" #include "cst-tapi-request.h" #include "cst-call-setting.h" - +#include "cst-autoreject.h" +#include "cst-util.h" static Evas_Object *__cst_create_content(Evas_Object *parent, CstUgData_t *ugd) { ENTER(__cst_create_content); Evas_Object *nf; - Evas_Object *eo; - Evas_Object *l_button; retv_if(parent == NULL, NULL); nf = elm_naviframe_add(parent); @@ -44,7 +44,15 @@ static Evas_Object *__cst_create_content(Evas_Object *parent, CstUgData_t *ugd) ugd->popup = NULL; elm_object_part_content_set(ugd->base, "elm.swallow.content", nf); - _cst_create_call_setting(ugd); + + switch(ugd->ug_req_type) { + case CST_UG_REQ_AUTO_REJECT: + _cst_create_auto_reject_ug(ugd); + break; + default: + _cst_create_call_setting(ugd); + break; + } LEAVE(); @@ -90,7 +98,7 @@ static Evas_Object *__cst_create_bg(Evas_Object *parent) return bg; } -static void *__cst_on_create(struct ui_gadget *ug, enum ug_mode mode, bundle *data, void *priv) +static void *__cst_on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, void *priv) { ENTER(__cst_on_create); Evas_Object *parent, *content; @@ -100,19 +108,28 @@ static void *__cst_on_create(struct ui_gadget *ug, enum ug_mode mode, bundle *da return NULL; ugd = priv; - ugd->ug = ug; + ugd->ug = (void *)ug; - bindtextdomain(UGNAME, "/opt/ug/res/locale"); + bindtextdomain(UGNAME, CST_LOCALE); parent = ug_get_parent_layout(ug); ugd->win_main = parent; retv_if(parent == NULL, NULL); ugd->back_button = NULL; ugd->req_queue = NULL; + ugd->sim_req_list = NULL; - // Register the telephony ss events + if (service) + ugd->ug_req_type = _cst_parse_bundle(service); + + /* Register the telephony ss events */ _cst_ciss_register_tel_event(ugd); + /* Get reject list handle */ + _cst_connect_reject_list_handle(ugd); + + elm_theme_extension_add(NULL, THEME_NAME); + ugd->bg = __cst_create_bg(parent); elm_object_style_set(ugd->bg, "transparent"); elm_object_style_set(ugd->bg, "group_list"); @@ -129,25 +146,24 @@ static void *__cst_on_create(struct ui_gadget *ug, enum ug_mode mode, bundle *da elm_object_part_content_set(ugd->base, "elm.swallow.bg", ugd->bg); - DBG("scale factor=%f", elm_config_scale_get()); + ugd->scale = elm_config_scale_get(); + DBG("scale factor=%f", ugd->scale); return ugd->base; } -static void __cst_on_start(struct ui_gadget *ug, bundle *data, void *priv) +static void __cst_on_start(ui_gadget_h ug, service_h service, void *priv) { } -static void __cst_on_pause(struct ui_gadget *ug, bundle *data, void *priv) +static void __cst_on_pause(ui_gadget_h ug, service_h service, void *priv) { - } -static void __cst_on_resume(struct ui_gadget *ug, bundle *data, void *priv) +static void __cst_on_resume(ui_gadget_h ug, service_h service, void *priv) { - } -static void __cst_on_destroy(struct ui_gadget *ug, bundle *data, void *priv) +static void __cst_on_destroy(ui_gadget_h ug, service_h service, void *priv) { ENTER(__cst_on_destroy); @@ -158,9 +174,15 @@ static void __cst_on_destroy(struct ui_gadget *ug, bundle *data, void *priv) ugd = priv; + _cst_disconnect_reject_list_handle(ugd); + + if (ugd->reject_list) { + ugd->reject_list = eina_list_free(ugd->reject_list); + } + if (ugd->req_queue) { Eina_List *l; - CallSettingReq_t *req; + CallSettingSSReq_t *req; EINA_LIST_FOREACH(ugd->req_queue, l, req) { free(req); @@ -168,13 +190,16 @@ static void __cst_on_destroy(struct ui_gadget *ug, bundle *data, void *priv) ugd->req_queue = eina_list_free(ugd->req_queue); } + if (ugd->sim_req_list) { + g_slist_free_full(ugd->sim_req_list, g_free); + ugd->sim_req_list = NULL; + } + if (ugd->popup != NULL) { evas_object_del(ugd->popup); ugd->popup = NULL; } - _cst_ciss_deregister_tel_event(ugd); - if(ugd->bg) { evas_object_del(ugd->bg); ugd->bg = NULL; @@ -187,11 +212,11 @@ static void __cst_on_destroy(struct ui_gadget *ug, bundle *data, void *priv) LEAVE(); } -static void __cst_on_message(struct ui_gadget *ug, bundle *msg, bundle *data, void *priv) +static void __cst_on_message(ui_gadget_h ug, service_h msg, service_h service, void *priv) { } -static void __cst_on_key_event(struct ui_gadget *ug, enum ug_key_event event, bundle *data, void *priv) +static void __cst_on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h service, void *priv) { ENTER(__cst_on_key_event); @@ -222,7 +247,7 @@ static void __cst_on_key_event(struct ui_gadget *ug, enum ug_key_event event, bu } } -static void __cst_on_event(struct ui_gadget *ug, enum ug_event event, bundle *data, void *priv) +static void __cst_on_event(ui_gadget_h ug, enum ug_event event, service_h service, void *priv) { ENTER(__cst_on_event); switch (event) { @@ -300,13 +325,23 @@ UG_MODULE_API void UG_MODULE_EXIT(struct ug_module_ops *ops) * @param[in] data * @param[in] priv */ -UG_MODULE_API int setting_plugin_reset(bundle *data, void *priv) +UG_MODULE_API int setting_plugin_reset(service_h service, void *priv) { ENTER(setting_plugin_reset); int ret = 0; + /*show my number*/ ret += vconf_set_int(VCONFKEY_CISSAPPL_SHOW_MY_NUMBER_INT, CST_CLI_BY_NETWORK); + /*Auto reject*/ + ret += vconf_set_bool(VCONFKEY_CISSAPPL_AUTO_REJECT_UNKNOWN_BOOL, EINA_FALSE); + + /*Answering mode*/ + ret += vconf_set_bool(VCONFKEY_CISSAPPL_ANSWERING_KEY_BOOL, EINA_FALSE); + ret += vconf_set_int(VCONFKEY_CISSAPPL_ANSWERING_MODE_INT, 0); + ret += vconf_set_int(VCONFKEY_CISSAPPL_ANSWERING_MODE_TIME_INT, 1); + ret += vconf_set_bool(VCONFKEY_CISSAPPL_POWER_KEY_ENDS_CALL_BOOL, EINA_FALSE); + /*Prefix dialling*/ ret += vconf_set_bool(VCONFKEY_CISSAPPL_PREFIX_DIAL_BOOL, EINA_FALSE); ret += vconf_set_int(VCONFKEY_CISSAPPL_PREFIX_DIAL_INT, 0); @@ -316,15 +351,27 @@ UG_MODULE_API int setting_plugin_reset(bundle *data, void *priv) ret += vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM3_STR, ""); ret += vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM4_STR, ""); ret += vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM5_STR, ""); + + /*Reject call message*/ + ret += vconf_set_int(VCONFKEY_CISSAPPL_REJECT_CALL_MSG_INT, 5); + ret += vconf_set_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG1_STR, "IDS_CST_BODY_IM_DRIVING"); + ret += vconf_set_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG2_STR, "IDS_CST_BODY_IM_IN_A_MEETING"); + ret += vconf_set_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG3_STR, "IDS_CST_BODY_IM_IN_CLASS_NOW"); + ret += vconf_set_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG4_STR, "IDS_CST_BODY_IM_AT_THE_CINEMA"); + ret += vconf_set_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG5_STR, "IDS_CST_BODY_SORRY_I_AM_BUSY_PLEASE_CALL_BACK_LATER"); + ret += vconf_set_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG6_STR, ""); + /*Call status tone*/ - ret += vconf_set_bool(VCONFKEY_CISSAPPL_CALL_CONNECT_TONE_BOOL, EINA_FALSE); + ret += vconf_set_bool(VCONFKEY_CISSAPPL_CALL_CONNECT_TONE_BOOL, EINA_TRUE); ret += vconf_set_bool(VCONFKEY_CISSAPPL_MINUTE_MINDER_BOOL, EINA_FALSE); - ret += vconf_set_bool(VCONFKEY_CISSAPPL_CALL_END_TONE_BOOL, EINA_FALSE); + ret += vconf_set_bool(VCONFKEY_CISSAPPL_CALL_END_TONE_BOOL, EINA_TRUE); - ret += vconf_set_int(VCONFKEY_CISSAPPL_ALERT_ON_CALL_INT, CST_ALERTS_ON_CALL_OFF); + ret += vconf_set_int(VCONFKEY_CISSAPPL_ALERT_ON_CALL_INT, CST_ALERTS_ON_CALL_SOUND); - ret += vconf_set_bool(VCONFKEY_CISSAPPL_VOICE_AUTO_REDIAL_BOOL, EINA_FALSE); - ret += vconf_set_bool(VCONFKEY_CISSAPPL_VIDEO_AUTO_REDIAL_BOOL, EINA_FALSE); + ret += vconf_set_bool(VCONFKEY_CISSAPPL_PROXIMITY_SENSOR_BOOL, EINA_TRUE); + ret += vconf_set_int(VCONFKEY_CISSAPPL_OUTGOING_CALL_CONDITIONS_INT, 0); + ret += vconf_set_int(VCONFKEY_CISSAPPL_OUTGOING_CALL_TYPE_INT, 1); return ret; } + diff --git a/src/cst-more-call-setting.c b/src/cst-more-call-setting.c new file mode 100755 index 0000000..457a6cc --- /dev/null +++ b/src/cst-more-call-setting.c @@ -0,0 +1,425 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 +#include "cst-common.h" +#include "cst-common-string.h" +#include "cst-more-call-setting.h" +#include "cst-widget.h" +#include "cst-util.h" +#include "cst-barring.h" +#include "cst-waiting.h" +#include "cst-status-tone.h" +#include "cst-prefix-dial.h" + +static Elm_Genlist_Item_Class *itc_1text = NULL; +static Elm_Genlist_Item_Class *itc_2text_expand = NULL; +static Elm_Genlist_Item_Class *itc_sub_expand = NULL; +static Elm_Genlist_Item_Class *itc_help = NULL; +static Elm_Genlist_Item_Class *itc_2text = NULL; + +static void __cst_on_click_expanded(void *data, Evas *evas, Evas_Object *obj, void *event_info); + +static CstGlItemDisplayInfo_t list_more_call_setting[] = { + {1, CST_STR_SHOW_MY_CALLER_ID, ELM_GENLIST_ITEM_TREE, CST_GL_ITEM_EXPANDABLE, __cst_on_click_expanded}, + {1, CST_STR_CALL_BARRING, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, _cst_on_click_call_barring}, + {1, CST_STR_CALL_WAITING, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, _cst_on_click_call_waiting}, + {1, CST_STR_DURING_CALL_NOTIFY_ME, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL}, + {1, CST_STR_CALL_STATUS_TONES, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_TEXT, _cst_on_click_call_status_tone}, + {1, CST_STR_EDIT_SOUND_SETTINGS_DURING_CALL, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL}, + {1, CST_STR_ALERTS_ON_CALL, ELM_GENLIST_ITEM_TREE, CST_GL_ITEM_EXPANDABLE, __cst_on_click_expanded}, + {1, CST_STR_AUTO_AREA_CODE, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_SUB_TEXT, _cst_on_click_prefix_dialling}, + {1, CST_STR_AUTOMATICALLY_ADD_AREA_CODE_TO_NUMBER_DISPLAY_PANEL, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL}, + {1, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, +}; + +static CstGlItemDisplayInfo_t list_dep2_show_my_number[] = { + {2, CST_STR_BY_NETWORK, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_CLI_BY_NETWORK}, + {2, CST_STR_SHOW, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_CLI_SHOW}, + {2, CST_STR_HIDE, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_CLI_HIDE}, + {2, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, +}; + +static CstGlItemDisplayInfo_t list_dep2_alerts_on_call[] = { + {2, CST_STR_OFF, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_ALERTS_ON_CALL_OFF}, + {2, CST_STR_SOUND, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_ALERTS_ON_CALL_SOUND}, + {2, CST_STR_VIBRATION, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_RADIO_1TEXT, (void *)CST_ALERTS_ON_CALL_VIBRATION}, + {2, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, +}; + +static char *__cst_gl_label_get_more_cst(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + + if ((strcmp(part, "elm.text") == 0) || + (strcmp(part, "elm.text.1") == 0)) { + if (list_more_call_setting[item_data->index].str_id != -1) + return strdup(T_(list_more_call_setting[item_data->index].str_id)); + } else if (!strcmp(part, "elm.text.2")) { + if (list_more_call_setting[item_data->index].str_id == CST_STR_AUTO_AREA_CODE) { + int value = 0; + _cst_vconf_get_bool(VCONFKEY_CISSAPPL_PREFIX_DIAL_BOOL, &value); + if (value) + return strdup(_cst_get_prefix_dialling_list(CST_ITEM_1)); + else + return strdup(T_(CST_STR_OFF)); + } + } + return NULL; +} + +static void __cst_gl_del_more_cst(void *data, Evas_Object *obj) +{ + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + if (item_data) + free(item_data); + return; +} + +static void __cst_gl_sel_more_cst(void *data, Evas_Object *obj, void *event_info) +{ + elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); + Elm_Object_Item *it = (Elm_Object_Item *)event_info; + CstGlItemData_t *item_data = (CstGlItemData_t *)elm_object_item_data_get(it); + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + + if (list_more_call_setting[item_data->index].func) { + if (list_more_call_setting[item_data->index].style == CST_GL_ITEM_1TEXT_ONOFF) + list_more_call_setting[item_data->index].func((void *)item_data, NULL, obj, event_info); + else + list_more_call_setting[item_data->index].func((void *)ugd, NULL, obj, event_info); + } + return; +} + +static char *__cst_gl_label_get_expandable(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + if (!strcmp(part, "elm.text.1")) { + if (list_more_call_setting[item_data->index].str_id != -1) + return strdup(T_(list_more_call_setting[item_data->index].str_id)); + } else if (!strcmp(part, "elm.text.2")) { + int value = 0; + if (CST_STR_SHOW_MY_CALLER_ID == list_more_call_setting[item_data->index].str_id) { + _cst_vconf_get_int(VCONFKEY_CISSAPPL_SHOW_MY_NUMBER_INT, &value); + if (list_dep2_show_my_number[value].str_id != -1) + return strdup(T_(list_dep2_show_my_number[value].str_id)); + } else { + _cst_vconf_get_int(VCONFKEY_CISSAPPL_ALERT_ON_CALL_INT, &value); + if (list_dep2_alerts_on_call[value].str_id != -1) + return strdup(T_(list_dep2_alerts_on_call[value].str_id)); + } + } + return NULL; +} + +static void __cst_gl_sel_show_my_number(void *data, Evas_Object *obj, void *event_info) +{ + elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); + ret_if(NULL == data); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + _cst_vconf_set_int(VCONFKEY_CISSAPPL_SHOW_MY_NUMBER_INT, + (int)list_dep2_show_my_number[item_data->index].func); + if (ugd->rdg_show_my_number) { + elm_radio_value_set(ugd->rdg_show_my_number, + (int)list_dep2_show_my_number[item_data->index].func); + elm_genlist_item_update(item_data->parent_gl_item); + } + return; +} + +static char *__cst_gl_label_get_sub_exp(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstGlItemData_t *parent_item_data = (CstGlItemData_t *)elm_object_item_data_get(item_data->parent_gl_item); + if (strcmp(part, "elm.text") == 0) { + if (CST_STR_SHOW_MY_CALLER_ID == list_more_call_setting[parent_item_data->index].str_id) { + return strdup(T_(list_dep2_show_my_number[item_data->index].str_id)); + } else if (CST_STR_ALERTS_ON_CALL == list_more_call_setting[parent_item_data->index].str_id) { + return strdup(T_(list_dep2_alerts_on_call[item_data->index].str_id)); + } else { + DBG("Unknown parent"); + return NULL; + } + } + return NULL; +} + +static Evas_Object *__cst_gl_icon_get_sub_exp(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + retv_if(NULL == ugd, NULL); + CstGlItemData_t *parent_item_data = (CstGlItemData_t *)elm_object_item_data_get(item_data->parent_gl_item); + + if (!strcmp(part, "elm.icon")) { + Evas_Object *radio; + if (CST_STR_SHOW_MY_CALLER_ID == list_more_call_setting[parent_item_data->index].str_id) { + if (NULL == ugd->rdg_show_my_number) { + ugd->rdg_show_my_number = elm_radio_add(obj); + elm_radio_value_set(ugd->rdg_show_my_number, -1); + } + + radio = _cst_create_radio_icon(obj, ugd->rdg_show_my_number, + (int)list_dep2_show_my_number[item_data->index].func, 0, + VCONFKEY_CISSAPPL_SHOW_MY_NUMBER_INT); + } else if (CST_STR_ALERTS_ON_CALL == list_more_call_setting[parent_item_data->index].str_id) { + if (NULL == ugd->rdg_alerts_on_call) { + ugd->rdg_show_my_number = elm_radio_add(obj); + elm_radio_value_set(ugd->rdg_alerts_on_call, -1); + } + + radio = _cst_create_radio_icon(obj, ugd->rdg_alerts_on_call, + (int)list_dep2_alerts_on_call[item_data->index].func, 0, + VCONFKEY_CISSAPPL_ALERT_ON_CALL_INT); + } else { + DBG("Unknown parent"); + return NULL; + } + return radio; + } + return NULL; +} + +static void __cst_gl_sel_alerts_on_call(void *data, Evas_Object *obj, void *event_info) +{ + elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); + ret_if(NULL == data); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + ret_if(NULL == ugd); + _cst_vconf_set_int(VCONFKEY_CISSAPPL_ALERT_ON_CALL_INT, + (int)list_dep2_alerts_on_call[item_data->index].func); + if (ugd->rdg_alerts_on_call) { + elm_radio_value_set(ugd->rdg_alerts_on_call, + (int)list_dep2_alerts_on_call[item_data->index].func); + elm_genlist_item_update(item_data->parent_gl_item); + } + return; +} + +static void __cst_gl_con(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_gl_con); + Elm_Object_Item *item = event_info; + elm_genlist_item_subitems_clear(item); +} + +static void __cst_gl_exp_req(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_gl_exp_req); + + ret_if(NULL == data); + + Elm_Object_Item *item = event_info; + elm_genlist_item_expanded_set(item, 1); +} + +static void __cst_gl_con_req(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_gl_con_req); + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + elm_genlist_item_expanded_set(item, 0); +} + +static void __cst_gl_exp(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_gl_exp); + ret_if(NULL == data); + CstUgData_t *ugd = (CstUgData_t *)data; + Elm_Object_Item *it = (Elm_Object_Item *)event_info; + ret_if(NULL == it); + CstGlItemData_t *parent_item_data1 = (CstGlItemData_t *)elm_object_item_data_get(it); + Evas_Object *genlist = elm_object_item_widget_get(it); + ret_if(NULL == parent_item_data1); + ret_if(NULL == genlist); + + CstGlItemData_t *sub_item_data; + + int i = 0; + + if (CST_STR_SHOW_MY_CALLER_ID == list_more_call_setting[parent_item_data1->index].str_id) { + ugd->rdg_show_my_number = NULL; + ugd->rdg_show_my_number = elm_radio_add(genlist); + elm_radio_value_set(ugd->rdg_show_my_number, -1); + for (i = 0; list_dep2_show_my_number[i].style != CST_GL_ITEM_NONE; ++i) { + sub_item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); + ret_if(sub_item_data == NULL); + sub_item_data->index = i; + sub_item_data->ugd = ugd; + sub_item_data->parent_gl_item = it; + elm_genlist_item_append(genlist, itc_sub_expand, + (void *)sub_item_data, it, + list_dep2_show_my_number[i].flags, + __cst_gl_sel_show_my_number, sub_item_data); + } + } else if (CST_STR_ALERTS_ON_CALL == list_more_call_setting[parent_item_data1->index].str_id) { + ugd->rdg_alerts_on_call = NULL; + ugd->rdg_alerts_on_call = elm_radio_add(genlist); + elm_radio_value_set(ugd->rdg_alerts_on_call, -1); + for (i = 0; list_dep2_alerts_on_call[i].style != CST_GL_ITEM_NONE; ++i) { + sub_item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); + ret_if(sub_item_data == NULL); + sub_item_data->index = i; + sub_item_data->ugd = ugd; + sub_item_data->parent_gl_item = it; + elm_genlist_item_append(genlist, itc_sub_expand, + (void *)sub_item_data, it, list_dep2_alerts_on_call[i].flags, + __cst_gl_sel_alerts_on_call, sub_item_data); + } + } +} + +static void __cst_on_click_expanded(void *data, Evas *evas, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_on_click_expanded); + ret_if(NULL == data); + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + if (elm_genlist_item_expanded_get(item)) { + __cst_gl_con_req(data, obj, event_info); + __cst_gl_con(data, obj, event_info); + } else { + __cst_gl_exp_req(data, obj, event_info); + __cst_gl_exp(data, obj, event_info); + } +} + +static void __cst_navifr_updated_cb(void *data, Evas_Object *obj, void *event_info) +{ + ret_if(NULL == data); + Elm_Object_Item *item = (Elm_Object_Item *)data; + elm_genlist_item_expanded_set(item, 0); + elm_genlist_item_subitems_clear(item); +} + +static void __cst_set_genlist_item_styles_more_cst(void) +{ + ENTER(__cst_set_genlist_item_styles_more_cst); + if (!itc_1text) + itc_1text = elm_genlist_item_class_new(); + if (!itc_2text_expand) + itc_2text_expand = elm_genlist_item_class_new(); + if (!itc_sub_expand) + itc_sub_expand = elm_genlist_item_class_new(); + if (!itc_help) + itc_help = elm_genlist_item_class_new(); + if (!itc_2text) + itc_2text = elm_genlist_item_class_new(); + + itc_1text->item_style = "dialogue/1text"; + itc_1text->func.text_get = __cst_gl_label_get_more_cst; + itc_1text->func.content_get = NULL; + itc_1text->func.state_get = NULL; + itc_1text->func.del = __cst_gl_del_more_cst; + itc_2text_expand->item_style = "dialogue/2text.3/expandable"; + itc_2text_expand->func.text_get = __cst_gl_label_get_expandable; + itc_2text_expand->func.content_get = NULL; + itc_2text_expand->func.state_get = NULL; + itc_2text_expand->func.del = __cst_gl_del_more_cst; + + itc_help->item_style = "multiline/1text"; + itc_help->func.text_get = __cst_gl_label_get_more_cst; + itc_help->func.content_get = NULL; + itc_help->func.state_get = NULL; + itc_help->func.del = __cst_gl_del_more_cst; + + itc_sub_expand->item_style = "dialogue/1text.1icon/expandable2"; + itc_sub_expand->func.text_get = __cst_gl_label_get_sub_exp; + itc_sub_expand->func.content_get = __cst_gl_icon_get_sub_exp; + itc_sub_expand->func.state_get = NULL; + itc_sub_expand->func.del = __cst_gl_del_more_cst; + + itc_2text->item_style = "dialogue/2text.3"; + itc_2text->func.text_get = __cst_gl_label_get_more_cst; + itc_2text->func.content_get = NULL; + itc_2text->func.state_get = NULL; + itc_2text->func.del = __cst_gl_del_more_cst; +} + +static Evas_Object *__cst_create_genlist_more_cst(void *data) +{ + ENTER(__cst_create_genlist_more_cst); + retv_if(NULL == data, NULL); + CstUgData_t *ugd = (CstUgData_t *)data; + CstGlItemData_t *item_data; + Evas_Object *genlist; + int i; + + genlist = elm_genlist_add(ugd->nf); + retv_if(NULL == genlist, NULL); + elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); + elm_object_style_set(genlist, "dialogue"); + + _cst_create_genlist_separator(genlist, EINA_FALSE); + for (i = 0; list_more_call_setting[i].style != CST_GL_ITEM_NONE; ++i) { + item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); + retv_if(NULL == item_data, NULL); + + item_data->index = i; + item_data->ugd = ugd; + if (list_more_call_setting[i].style == CST_GL_ITEM_TEXT) { + item_data->gl_item = elm_genlist_item_append(genlist, itc_1text, + (void *)item_data, NULL, list_more_call_setting[i].flags, + __cst_gl_sel_more_cst, ugd); + } else if (list_more_call_setting[i].style == CST_GL_ITEM_EXPANDABLE) { + item_data->gl_item = elm_genlist_item_append(genlist, itc_2text_expand, + (void *)item_data, NULL, list_more_call_setting[i].flags, + __cst_gl_sel_more_cst, ugd); + evas_object_smart_callback_add(ugd->nf, "transition,finished", + __cst_navifr_updated_cb, item_data->gl_item); + } else if (list_more_call_setting[i].style == CST_GL_ITEM_HELP_TEXT) { + item_data->gl_item = elm_genlist_item_append(genlist, itc_help, + (void *)item_data, NULL, list_more_call_setting[i].flags, + NULL, NULL); + elm_genlist_item_select_mode_set(item_data->gl_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + _cst_create_genlist_underline(genlist); + } else if (list_more_call_setting[i].style == CST_GL_ITEM_SUB_TEXT) { + item_data->gl_item = elm_genlist_item_append(genlist, itc_2text, + (void *)item_data, NULL, list_more_call_setting[i].flags, + __cst_gl_sel_more_cst, ugd); + ugd->vm_gl_item = item_data->gl_item; + } else { + DBG("No style"); + free(item_data); + item_data = NULL; + return NULL; + } + } + _cst_create_genlist_separator_no_line(genlist); + + return genlist; +} + +void _cst_on_click_more_call_setting(void *data, Evas *evas, Evas_Object *obj, void *event_info) +{ + ENTER(_cst_on_click_more_call_setting); + ret_if(NULL == data); + CstUgData_t *ugd = (CstUgData_t *)data; + + __cst_set_genlist_item_styles_more_cst(); + Evas_Object *genlist = __cst_create_genlist_more_cst(ugd); + + elm_naviframe_item_push(ugd->nf, T_(CST_STR_MORE_CALL_SETTINGS), + NULL, NULL, genlist, NULL); + + LEAVE(); +} + diff --git a/src/cst-prefix-dial-ime.c b/src/cst-prefix-dial-ime.c index 65e4dee..c7125b4 100755 --- a/src/cst-prefix-dial-ime.c +++ b/src/cst-prefix-dial-ime.c @@ -1,29 +1,127 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 +#include #include "cst-common.h" #include "cst-common-string.h" - #include "cst-widget.h" +#include "cst-util.h" +#include "cst-prefix-dial.h" -static Elm_Entry_Filter_Limit_Size limit_filter_data; -static Elm_Entry_Filter_Accept_Set digits_filter_data; static Elm_Genlist_Item_Class *itc_ime = NULL; +static Elm_Genlist_Item_Class *itc_1text_1icon = NULL; + +static void __cst_on_click_prefix_dialling_onoff(void *data, Evas *evas, Evas_Object *obj, void *event_info); +static CstGlItemDisplayInfo_t list_dep1_prefix_dialling[] = { + {1, CST_STR_AUTO_AREA_CODE, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF, __cst_on_click_prefix_dialling_onoff}, + {1, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, +}; + +static void __cst_on_click_prefix_dialling_onoff(void *data, Evas *evas, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_on_click_prefix_dialling_onoff); + ret_if(NULL == data); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = item_data->ugd; + Eina_Bool check_state = elm_check_state_get(item_data->eo_check); + if (CST_STR_AUTO_AREA_CODE == list_dep1_prefix_dialling[item_data->index].str_id) { + _cst_vconf_set_bool(VCONFKEY_CISSAPPL_PREFIX_DIAL_BOOL, !check_state); + if (ugd->prefix_gl_list_item != NULL) { + Ecore_IMF_Context *imf_context; + imf_context = elm_entry_imf_context_get(ugd->dg_entry); + elm_object_item_disabled_set(ugd->prefix_gl_list_item, check_state); + ecore_imf_context_input_panel_enabled_set(imf_context, !(check_state)); + } + + } + elm_genlist_item_update(item_data->gl_item); +} + +static void __cst_on_changed_enable_prefix_dialling_check(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_on_changed_enable_prefix_dialling_check); + ret_if(NULL == data); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + Eina_Bool check_state; + check_state = elm_check_state_get(obj); + + _cst_vconf_set_bool(VCONFKEY_CISSAPPL_PREFIX_DIAL_BOOL, check_state); + if (ugd->prefix_gl_list_item != NULL) { + Ecore_IMF_Context *imf_context; + imf_context = elm_entry_imf_context_get(ugd->dg_entry); + elm_object_item_disabled_set(ugd->prefix_gl_list_item, !(check_state)); + ecore_imf_context_input_panel_enabled_set(imf_context, check_state); + } +} + +static Evas_Object *__cst_gl_icon_get_prefix_dailling(void *data, Evas_Object *obj, const char *part) +{ + ENTER(__cst_gl_icon_get_prefix_dailling); + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + + if (!strcmp(part, "elm.icon")) { + if (CST_STR_AUTO_AREA_CODE == list_dep1_prefix_dialling[item_data->index].str_id) { + int value = 0; + _cst_vconf_get_bool(VCONFKEY_CISSAPPL_PREFIX_DIAL_BOOL, &value); + item_data->eo_check = _cst_create_onoff_button(obj, value, + __cst_on_changed_enable_prefix_dialling_check, item_data); + } + return item_data->eo_check; + } + return NULL; +} + +static char *__cst_gl_label_get_prefix_dailling(void *data, Evas_Object *obj, const char *part) +{ + retv_if(NULL == data, NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + + if (!strcmp(part, "elm.text") || !strcmp(part, "elm.text.1")) { + if (list_dep1_prefix_dialling[item_data->index].str_id != -1) + return strdup(T_(list_dep1_prefix_dialling[item_data->index].str_id)); + } + return NULL; +} + +static void __cst_gl_del_prefix_dailling(void *data, Evas_Object *obj) +{ + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + if (item_data) { + if (item_data->label) + free(item_data->label); + free(item_data); + } + + return; +} + +static void __cst_gl_sel_prefix_dailling(void *data, Evas_Object *obj, void *event_info) +{ + elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + CstGlItemData_t *item_data = (CstGlItemData_t *)elm_object_item_data_get(item); + + if (list_dep1_prefix_dialling[item_data->index].func) + list_dep1_prefix_dialling[item_data->index].func(item_data, NULL, obj, event_info); + return; +} static Evas_Object *__cst_gl_icon_get_prefix_dialling_ime(void *data, Evas_Object *obj, const char *part) { @@ -31,7 +129,8 @@ static Evas_Object *__cst_gl_icon_get_prefix_dialling_ime(void *data, Evas_Objec CstUgData_t *ugd = (CstUgData_t *)data; if (!strcmp(part, "elm.icon")) { - return _cst_create_ime_editfield(ugd, obj, CST_IME_PREFIX_DIAL, NULL); + char *buf = _cst_get_prefix_dialling_list(CST_ITEM_1); + return _cst_create_ime_editfield(ugd, obj, CST_IME_PREFIX_DIAL, buf); } return NULL; @@ -40,13 +139,39 @@ static Evas_Object *__cst_gl_icon_get_prefix_dialling_ime(void *data, Evas_Objec static Evas_Object *__cst_create_prefix_dialling_ime_genlist(CstUgData_t *ugd) { ENTER(__cst_create_prefix_dialling_ime_genlist); - Elm_Object_Item *item = NULL; Evas_Object *genlist; genlist = elm_genlist_add(ugd->nf); + elm_object_style_set(genlist, "dialogue"); + + _cst_create_genlist_separator(genlist, EINA_FALSE); + CstGlItemData_t *item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); + retv_if(item_data == NULL, NULL); + item_data->index = 0; + item_data->ugd = ugd; + + item_data->gl_item = elm_genlist_item_append(genlist, itc_1text_1icon, + (void *)item_data, NULL, list_dep1_prefix_dialling[0].flags, + __cst_gl_sel_prefix_dailling, ugd); + + ugd->prefix_gl_list_item = elm_genlist_item_append(genlist, itc_ime, + (void *)ugd, NULL, ELM_GENLIST_ITEM_NONE, + NULL, NULL); + + int value = 0; + _cst_vconf_get_bool(VCONFKEY_CISSAPPL_PREFIX_DIAL_BOOL, &value); + elm_object_item_disabled_set(ugd->prefix_gl_list_item, !(value)); + return genlist; +} + +static void __cst_set_genlist_item_styles(void) +{ + ENTER(__cst_set_genlist_item_styles); if (!itc_ime) itc_ime = elm_genlist_item_class_new(); + if (!itc_1text_1icon) + itc_1text_1icon = elm_genlist_item_class_new(); itc_ime->item_style = "1icon"; itc_ime->func.text_get = NULL; @@ -54,10 +179,11 @@ static Evas_Object *__cst_create_prefix_dialling_ime_genlist(CstUgData_t *ugd) itc_ime->func.state_get = NULL; itc_ime->func.del = NULL; - item = elm_genlist_item_append(genlist, itc_ime, - (void *)ugd, NULL, ELM_GENLIST_ITEM_NONE, - NULL, NULL); - return genlist; + itc_1text_1icon->item_style = "dialogue/1text.1icon"; + itc_1text_1icon->func.text_get = __cst_gl_label_get_prefix_dailling; + itc_1text_1icon->func.content_get = __cst_gl_icon_get_prefix_dailling; + itc_1text_1icon->func.state_get = NULL; + itc_1text_1icon->func.del = __cst_gl_del_prefix_dailling; } Evas_Object *_cst_create_prefix_dialling_ime(Evas_Object *parent, char *edit_string, void *data) @@ -66,6 +192,8 @@ Evas_Object *_cst_create_prefix_dialling_ime(Evas_Object *parent, char *edit_str retv_if(NULL == data, NULL); CstUgData_t *ugd = (CstUgData_t *)data; + __cst_set_genlist_item_styles(); Evas_Object *genlist = __cst_create_prefix_dialling_ime_genlist(ugd); return genlist; } + diff --git a/src/cst-prefix-dial.c b/src/cst-prefix-dial.c index 8340aa0..8ccbf8e 100755 --- a/src/cst-prefix-dial.c +++ b/src/cst-prefix-dial.c @@ -1,21 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 -#include #include #include "cst-common.h" #include "cst-common-string.h" @@ -27,73 +26,29 @@ #include "cst-delete-list.h" #include "cst-util.h" -static Elm_Genlist_Item_Class *itc_1text_1icon = NULL; -static Elm_Genlist_Item_Class *itc_2text = NULL; -static Elm_Genlist_Item_Class *itc_1text_1icon2 = NULL; -static Elm_Genlist_Item_Class *itc_help = NULL; -Elm_Object_Item *ec_item[3]; - -static void __cst_on_click_prefix_dialling_onoff(void *data, Evas *evas, Evas_Object *obj, void *event_info); -static void __cst_on_click_prefix_dialling_list(void *data, Evas *evas, Evas_Object *obj, void *event_info); - -static CstGlItemDisplayInfo_t list_dep1_prefix_dialling[] = { - {1, CST_STR_ENABLE_PREFIX_DIALLING, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF, __cst_on_click_prefix_dialling_onoff}, - {1, CST_STR_MANAGE_PREFIX_DIALING_NUMBERS, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL}, - {1, CST_STR_PREFIX_DIALLING_LIST, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_SUB_TEXT, __cst_on_click_prefix_dialling_list}, - {1, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, -}; - -static void __cst_clicked_prefix_back(void *data, Evas_Object *obj, void *event_info) -{ - ENTER(__cst_clicked_prefix_back); - ret_if(NULL == data); - CstUgData_t *ugd = (CstUgData_t *)data; - - if (ugd->backup_genlist) { - ugd->backup_genlist = NULL; - } - - if (ugd->backup_layout) { - ugd->backup_layout = NULL; - } - _cst_del_selectinfo(ugd); -} - -void _cst_set_active_prefix_vconf(int i) -{ - _cst_vconf_set_int(VCONFKEY_CISSAPPL_PREFIX_DIAL_VALUE_INT, i); -} - -static int __cst_get_active_prefix_list() -{ - int index; - _cst_vconf_get_int(VCONFKEY_CISSAPPL_PREFIX_DIAL_VALUE_INT, &index); - return index; -} - -void _cst_set_prefix_dialling_list(int index, char *number) + void _cst_set_prefix_dialling_list(int index, char *number) { ENTER(_cst_set_prefix_dialling_list); ret_if(number == NULL); switch (index) { - case 0: + case CST_ITEM_1: _cst_vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM1_STR, number); break; - case 1: + case CST_ITEM_2: _cst_vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM2_STR, number); break; - case 2: + case CST_ITEM_3: _cst_vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM3_STR, number); break; - case 3: + case CST_ITEM_4: _cst_vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM4_STR, number); break; - case 4: + case CST_ITEM_5: _cst_vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM5_STR, number); break; @@ -129,217 +84,35 @@ char *_cst_get_prefix_dialling_list(int index) return number; } -void _cst_set_num_of_prefix_dialling_list(int i) -{ - ENTER(_cst_set_num_of_prefix_dialling_list); - _cst_vconf_set_int(VCONFKEY_CISSAPPL_PREFIX_DIAL_INT, i); - - if (ec_item[0] != NULL) { - if (i == 0) { - elm_object_item_disabled_set(ec_item[0], EINA_TRUE); - } else { - elm_object_item_disabled_set(ec_item[0], EINA_FALSE); - } - } - if (ec_item[1] != NULL) { - if (i == 5) { - elm_object_item_disabled_set(ec_item[1], EINA_TRUE); - } else { - elm_object_item_disabled_set(ec_item[1], EINA_FALSE); - } - } -} - -int _cst_get_num_of_prefix_dialling_list(void) -{ - int cnt; - _cst_vconf_get_int(VCONFKEY_CISSAPPL_PREFIX_DIAL_INT, &cnt); - return cnt; -} - -static Eina_Bool __cst_prefix_check_same_data(void *data, const char *string) -{ - ENTER(__cst_prefix_check_same_data); - CstUgData_t *ugd = (CstUgData_t *)data; - char *buf; - int i, prefix_entries; - Eina_Bool value = EINA_FALSE; - Evas_Object *error; - - prefix_entries = _cst_get_num_of_prefix_dialling_list(); - - DBG("the value of the string is %s (%d) \n", string, prefix_entries); - - for (i = 0; i < prefix_entries; i++) { - buf = _cst_get_prefix_dialling_list(i); - if (buf) { - DBG("buf : %s", buf); - if (strcmp(buf, string) == 0) { - error = _cst_create_error_popup(ugd->nf, - CST_ERROR_DUPLICATE_MESSAGE); - ugd->popup = error; - evas_object_show(error); - value = EINA_TRUE; - } - free(buf); - buf = NULL; - } - } - - return value; -} - -static char *__cst_gl_label_get_dialling_list(void *data, - Evas_Object *obj, - const char *part) -{ - retv_if(NULL == data, NULL); - CstGlItemData_t *item_data = (CstGlItemData_t *)data; - - if (!strcmp(part, "elm.text")) - return strdup(item_data->label); - return NULL; -} - -static void __cst_gl_radio_del_dialling_cb(void *data, - Evas *evas, - Evas_Object *obj, - void *event_info) -{ - ret_if(data == NULL); - CstUgData_t *ugd = (CstUgData_t *)data; - - ugd->prefix_rdg = NULL; -} - -static Evas_Object *__cst_gl_icon_get_dialling_list(void *data, - Evas_Object *obj, - const char *part) -{ - Evas_Object *radio; - - retv_if(NULL == data, NULL); - CstGlItemData_t *item_data = (CstGlItemData_t *)data; - CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; - retv_if(NULL == ugd, NULL); - retv_if(NULL == ugd->backup_genlist, NULL); - - if (!strcmp(part, "elm.swallow.icon") || !strncmp(part, "elm.icon", 8)) { - if (NULL == ugd->prefix_rdg) { - ugd->prefix_rdg = elm_radio_add(obj); - elm_radio_value_set(ugd->prefix_rdg, - 1); - } - radio = elm_radio_add(obj); - elm_radio_state_value_set(radio, item_data->index); - elm_radio_group_add(radio, ugd->prefix_rdg); - elm_radio_value_set(ugd->prefix_rdg, - __cst_get_active_prefix_list()); - return radio; - } - return NULL; -} - -static void __cst_gl_del_dialling_list(void *data, Evas_Object *obj) -{ - CstGlItemData_t *item_data = (CstGlItemData_t *)data; - if (item_data) { - if (item_data->label) - free(item_data->label); - free(item_data); - } -} - -static void __cst_gl_sel_dialling_list(void *data, - Evas_Object *obj, - void *event_info) -{ - - ENTER(__cst_gl_sel_dialling_list); - elm_genlist_item_selected_set((Elm_Object_Item *)event_info, - EINA_FALSE); - if (_cst_get_num_of_prefix_dialling_list() == 0) - return; - - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - ret_if(NULL == data); - CstUgData_t *ugd = (CstUgData_t *)data; - CstGlItemData_t *item_data = - (CstGlItemData_t *)elm_object_item_data_get(item); - - _cst_set_active_prefix_vconf(item_data->index); - if(ugd->prefix_gl_list_item != NULL) - elm_genlist_item_update(ugd->prefix_gl_list_item); - elm_radio_value_set(ugd->prefix_rdg, item_data->index); - return; -} - -static void __cst_click_prefix_create_cancel(void *data, +static void __cst_click_prefix_dial_save(void *data, Evas_Object *obj, void *event_info) { - ENTER(__cst_click_prefix_create_cancel); - ret_if(!data); - CstUgData_t *ugd = (CstUgData_t *)data; - - memset(ugd->c_item, 0, sizeof(ugd->c_item)); - elm_naviframe_item_pop(ugd->nf); -} - -static void __cst_click_prefix_create_done(void *data, - Evas_Object *obj, - void *event_info) -{ - ENTER(__cst_click_prefix_create_done); + ENTER(__cst_click_prefix_dial_save); ret_if(!data); CstUgData_t *ugd = (CstUgData_t *)data; - const char *number; - int num_of_prefix_dialling_list; + const char *number = elm_entry_entry_get(ugd->dg_entry); + Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(ugd->dg_entry); - num_of_prefix_dialling_list = _cst_get_num_of_prefix_dialling_list(); - - if (num_of_prefix_dialling_list > 4) { - DBG("Error popup is needed, Maximum number of messages is 5"); - return; + if (imf_context) { + ecore_imf_context_input_panel_event_callback_del (imf_context, ECORE_IMF_INPUT_PANEL_STATE_EVENT, _cst_prefix_dialling_input_panel_event_callback); } - number = elm_entry_entry_get(ugd->dg_entry); DBG("number : %s ", number); if (0 == strlen(number)) { - Evas_Object *error; - - DBG("No new number"); - error = _cst_create_error_popup(ugd->nf, - CST_ERROR_ENTER_NUMBER); - ugd->popup = error; - evas_object_show(error); - return; - } - - if (__cst_prefix_check_same_data(ugd, number) == EINA_TRUE) { - DBG("same number exist"); - return; + if (0 == strlen(_cst_get_prefix_dialling_list(CST_ITEM_1))) { + _cst_vconf_set_bool(VCONFKEY_CISSAPPL_PREFIX_DIAL_BOOL, EINA_FALSE); + } + } else { + _cst_set_prefix_dialling_list(CST_ITEM_1, (char *)number); } - - _cst_set_prefix_dialling_list(num_of_prefix_dialling_list, - (char *)number); - _cst_set_active_prefix_vconf(num_of_prefix_dialling_list); - if(ugd->prefix_gl_list_item != NULL) - elm_genlist_item_update(ugd->prefix_gl_list_item); - _cst_set_num_of_prefix_dialling_list(num_of_prefix_dialling_list + 1); - elm_genlist_clear(ugd->backup_genlist); - _cst_genlist_append_dialling_list_item(ugd, ugd->backup_genlist); - - elm_radio_value_set(ugd->prefix_rdg, __cst_get_active_prefix_list()); - memset(ugd->c_item, 0, sizeof(ugd->c_item)); elm_naviframe_item_pop(ugd->nf); } -static void __cst_on_click_prefix_dialling_list_add_button(void *data, - Evas_Object *obj, - void *event_info) +static void __cst_create_prefix_dialling_ime(Evas_Object *parent, void *data) { - ENTER(__cst_on_click_prefix_dialling_list_add_button); + ENTER(__cst_create_prefix_dialling_ime); ret_if(!data); CstUgData_t *ugd = (CstUgData_t *)data; Evas_Object *eo; @@ -351,328 +124,48 @@ static void __cst_on_click_prefix_dialling_list_add_button(void *data, evas_object_show(eo); _cst_remove_naviframe(ugd->nf); - navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_PREFIX_DIALLING_NUMBER), - NULL, NULL, eo, "1line"); - - btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_CANCEL), - __cst_click_prefix_create_cancel, (void *)ugd); - elm_object_item_part_content_set(navi_it, "title_left_btn", btn); - - btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_SAVE), - __cst_click_prefix_create_done, (void *)ugd); - elm_object_item_part_content_set(navi_it, "title_right_btn", btn); - elm_object_disabled_set(btn, EINA_TRUE); -} - -static void __cst_set_genlist_item_styles_dialling_list(void) -{ - ENTER(__cst_set_genlist_item_styles_dialling_list); - - if (!itc_1text_1icon2) - itc_1text_1icon2 = elm_genlist_item_class_new(); - - itc_1text_1icon2->item_style = "dialogue/1text.1icon.2"; - itc_1text_1icon2->func.text_get = __cst_gl_label_get_dialling_list; - itc_1text_1icon2->func.content_get = __cst_gl_icon_get_dialling_list; - itc_1text_1icon2->func.del = __cst_gl_del_dialling_list; - itc_1text_1icon2->func.state_get = NULL; -} - -void _cst_genlist_append_dialling_list_item(CstUgData_t *ugd, Evas_Object *genlist) -{ - ENTER(_cst_genlist_append_dialling_list_item); - ret_if(NULL == ugd); - Elm_Object_Item *item; - int num_of_prefix_dialling_list; - CstGlItemData_t *item_data; - int index = 0; - - num_of_prefix_dialling_list = _cst_get_num_of_prefix_dialling_list(); - - if (num_of_prefix_dialling_list == 0) { - edje_object_signal_emit(_EDJ(ugd->backup_layout), - "show,content2", "code"); - } else { - _cst_create_genlist_seperator(genlist, EINA_TRUE); - ugd->prefix_rdg = NULL; - ugd->prefix_rdg = elm_radio_add(genlist); - elm_radio_value_set(ugd->prefix_rdg, -1); - for (index = 0; index < num_of_prefix_dialling_list; index++) { - - item_data = calloc(1, sizeof(CstGlItemData_t)); - ret_if(item_data == NULL); - item_data->index = index; - item_data->ugd = (void *)ugd; - - item_data->label = _cst_get_prefix_dialling_list(index); - item = elm_genlist_item_append(genlist, itc_1text_1icon2, - (void *)item_data, NULL, ELM_GENLIST_ITEM_NONE, - __cst_gl_sel_dialling_list, ugd); - - item_data->gl_item = item; - } - edje_object_signal_emit(_EDJ(ugd->backup_layout), - "show,content1", "code"); - } -} -static Evas_Object *__cst_create_genlist_dialling_list(CstUgData_t *ugd) -{ - ENTER(__cst_create_genlist_dialling_list); - retv_if(NULL == ugd, NULL); - Evas_Object *genlist; - genlist = elm_genlist_add(ugd->nf); - - elm_genlist_tree_effect_enabled_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); - - _cst_genlist_append_dialling_list_item(ugd, genlist); - - return genlist; -} - -static Evas_Object *__cst_create_nocontents_layout(CstUgData_t *ugd) -{ - ENTER(__cst_create_nocontents_layout); - retv_if(NULL == ugd, NULL); - Evas_Object *layout; - - layout = elm_layout_add(ugd->nf); - elm_layout_file_set(layout, EDJ_NAME, "nocontents"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_layout_theme_set(layout, "layout", "nocontents", "text"); - elm_object_part_text_set(layout, "elm.text", (char *)T_(CST_STR_NO_NUMBERS)); + btn = elm_button_add(ugd->nf); + navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_AUTO_AREA_CODE), + btn, NULL, eo, "1line"); + elm_object_style_set(btn, "naviframe/back_btn/default"); - return layout; + evas_object_smart_callback_add(btn, "clicked", + __cst_click_prefix_dial_save, ugd); } -static void __cst_create_dialling_list(Evas_Object *parent, void *data) -{ - ENTER(__cst_create_dialling_list); - - Evas_Object *layout, *back_btn, *nocontent, *cbar; - CstUgData_t *ugd = (CstUgData_t *)data; - Elm_Object_Item *navi_it; - ret_if(ugd == NULL); - __cst_set_genlist_item_styles_dialling_list(); - - /*Create layout */ - layout = elm_layout_add(ugd->nf); - ugd->backup_layout = layout; - elm_layout_file_set(layout, EDJ_NAME, "toolbar"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - nocontent = __cst_create_nocontents_layout(ugd); - - ugd->backup_genlist = __cst_create_genlist_dialling_list(ugd); - elm_object_part_content_set(layout, "elm.swallow.contents", ugd->backup_genlist); - elm_object_part_content_set(layout, "elm.swallow.contents2", nocontent); - navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_PREFIX_DIALLING_LIST), - NULL, NULL, layout, "1line"); - back_btn = elm_object_item_part_content_get(navi_it, "prev_btn"); - evas_object_smart_callback_add(back_btn, "clicked", - __cst_clicked_prefix_back, ugd); - cbar = _cst_create_navi_control_bar(ugd->nf, - (char *)T_(CST_STR_DELETE), CST_CTRL_ICON_EDIT, - _cst_create_delete_list, - (char *)T_(CST_STR_ADD), CST_CTRL_ICON_CREATE, - __cst_on_click_prefix_dialling_list_add_button, - (void *)ugd, navi_it, - ec_item); - ret_if(NULL == cbar); - _cst_set_num_of_prefix_dialling_list(_cst_get_num_of_prefix_dialling_list()); -} - -static void __cst_on_click_prefix_dialling_list(void *data, Evas *evas, Evas_Object *obj, void *event_info) -{ - ret_if(NULL == data); - CstGlItemData_t *item_data = (CstGlItemData_t *)data; - CstUgData_t *ugd = item_data->ugd; - __cst_create_dialling_list(ugd->nf, ugd); -} - -static void __cst_on_click_prefix_dialling_onoff(void *data, Evas *evas, Evas_Object *obj, void *event_info) -{ - ret_if(NULL == data); - CstGlItemData_t *item_data = (CstGlItemData_t *)data; - CstUgData_t *ugd = item_data->ugd; - Eina_Bool check_state = elm_check_state_get(item_data->eo_check); - if (CST_STR_ENABLE_PREFIX_DIALLING == list_dep1_prefix_dialling[item_data->index].str_id) { - _cst_vconf_set_bool(VCONFKEY_CISSAPPL_PREFIX_DIAL_BOOL, !check_state); - if (ugd->prefix_gl_list_item != NULL) - elm_object_item_disabled_set(ugd->prefix_gl_list_item, check_state); - } - elm_genlist_item_update(item_data->gl_item); -} - -static void __cst_on_changed_enable_prefix_dialling_check(void *data, Evas_Object *obj, void *event_info) +void _cst_on_click_prefix_dialling(void *data, Evas *evas, Evas_Object *obj, void *event_info) { + ENTER(_cst_on_click_prefix_dialling); ret_if(NULL == data); - Evas_Object *eo; - CstGlItemData_t *item_data = (CstGlItemData_t *)data; - CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; - Eina_Bool check_state; - check_state = elm_check_state_get(obj); - - _cst_vconf_set_bool(VCONFKEY_CISSAPPL_PREFIX_DIAL_BOOL, check_state); - if (ugd->prefix_gl_list_item != NULL) - elm_object_item_disabled_set(ugd->prefix_gl_list_item, !(check_state)); -} - -static Evas_Object *__cst_gl_icon_get_prefix_dailling(void *data, Evas_Object *obj, const char *part) -{ - retv_if(NULL == data, NULL); - CstGlItemData_t *item_data = (CstGlItemData_t *)data; - - if (!strcmp(part, "elm.icon")) { - if (CST_STR_ENABLE_PREFIX_DIALLING == list_dep1_prefix_dialling[item_data->index].str_id) { - int value = 0; - _cst_vconf_get_bool(VCONFKEY_CISSAPPL_PREFIX_DIAL_BOOL, &value); - item_data->eo_check = _cst_create_onoff_button(obj, value, - __cst_on_changed_enable_prefix_dialling_check, item_data); - } - return item_data->eo_check; - } - return NULL; -} - -static char *__cst_gl_label_get_prefix_dailling(void *data, Evas_Object *obj, const char *part) -{ - retv_if(NULL == data, NULL); - CstGlItemData_t *item_data = (CstGlItemData_t *)data; - - if (!strcmp(part, "elm.text") || !strcmp(part, "elm.text.1")) { - return strdup(T_(list_dep1_prefix_dialling[item_data->index].str_id)); - } else if (!strcmp(part, "elm.text.2")) { - int num_of_prefix_dialling_list = _cst_get_num_of_prefix_dialling_list(); - - if (num_of_prefix_dialling_list == 0) - return strdup(T_(CST_STR_NO_NUMBERS)); - else { - int index = __cst_get_active_prefix_list(); - char *number = _cst_get_prefix_dialling_list(index); - return number; - } - } else - return NULL; -} - -static void __cst_gl_del_prefix_dailling(void *data, Evas_Object *obj) -{ - return; -} - -static void __cst_gl_sel_prefix_dailling(void *data, Evas_Object *obj, void *event_info) -{ - elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - CstGlItemData_t *item_data = (CstGlItemData_t *)elm_object_item_data_get(item); - - if (list_dep1_prefix_dialling[item_data->index].func) - list_dep1_prefix_dialling[item_data->index].func(item_data, NULL, obj, event_info); - return; -} - -static void __cst_set_genlist_item_styles_prefix_dialling(void) -{ - ENTER(__cst_set_genlist_item_styles_prefix_dialling); - - if (!itc_1text_1icon) - itc_1text_1icon = elm_genlist_item_class_new(); - if (!itc_help) - itc_help = elm_genlist_item_class_new(); - if (!itc_2text) - itc_2text = elm_genlist_item_class_new(); - - itc_1text_1icon->item_style = "dialogue/1text.1icon"; - itc_1text_1icon->func.text_get = __cst_gl_label_get_prefix_dailling; - itc_1text_1icon->func.content_get = __cst_gl_icon_get_prefix_dailling; - itc_1text_1icon->func.state_get = NULL; - itc_1text_1icon->func.del = __cst_gl_del_prefix_dailling; - - itc_2text->item_style = "dialogue/2text.3"; - itc_2text->func.text_get = __cst_gl_label_get_prefix_dailling; - itc_2text->func.content_get = NULL; - itc_2text->func.state_get = NULL; - itc_2text->func.del = __cst_gl_del_prefix_dailling; - - itc_help->item_style = "multiline/1text"; - itc_help->func.text_get = __cst_gl_label_get_prefix_dailling; - itc_help->func.content_get = NULL; - itc_help->func.state_get = NULL; - itc_help->func.del = __cst_gl_del_prefix_dailling; + CstUgData_t *ugd = (CstUgData_t *)data; + __cst_create_prefix_dialling_ime(ugd->nf, ugd); } -static Evas_Object *__cst_create_genlist_prefix_dialling(void *data) +void _cst_prefix_dialling_input_panel_event_callback(void *data, Ecore_IMF_Context *imf_context, int value) { - ENTER(__cst_create_genlist_prefix_dialling); - retv_if(NULL == data, NULL); + ENTER(_cst_prefix_dialling_input_panel_event_callback); + ret_if(!data); CstUgData_t *ugd = (CstUgData_t *)data; - int index = 0; - Evas_Object *genlist; - Elm_Object_Item *item; - CstGlItemData_t *item_data; - - genlist = elm_genlist_add(ugd->nf); - - elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); - _cst_create_genlist_seperator(genlist, EINA_FALSE); - for (index = 0; list_dep1_prefix_dialling[index].style != CST_GL_ITEM_NONE; ++index) { - item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); - retv_if(item_data == NULL, NULL); - item_data->index = index; - item_data->ugd = ugd; - if (list_dep1_prefix_dialling[index].style == CST_GL_ITEM_SUB_TEXT) { - int value = 0; - item = elm_genlist_item_append(genlist, itc_2text, - (void *)item_data, NULL, list_dep1_prefix_dialling[index].flags, - __cst_gl_sel_prefix_dailling, ugd); - ugd->prefix_gl_list_item = item; - _cst_vconf_get_bool(VCONFKEY_CISSAPPL_PREFIX_DIAL_BOOL, &value); - elm_object_item_disabled_set(item, !(value)); - } else if (list_dep1_prefix_dialling[index].style == CST_GL_ITEM_1TEXT_ONOFF) { - item = elm_genlist_item_append(genlist, itc_1text_1icon, - (void *)item_data, NULL, list_dep1_prefix_dialling[index].flags, - __cst_gl_sel_prefix_dailling, ugd); - } else if (list_dep1_prefix_dialling[index].style == CST_GL_ITEM_HELP_TEXT) { - item = elm_genlist_item_append(genlist, itc_help, - (void *)item_data, NULL, list_dep1_prefix_dialling[index].flags, - NULL, NULL); - elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - _cst_create_genlist_underline(genlist); - } else { - DBG("No style"); - free(item_data); - item_data = NULL; - return; - } - item_data->gl_item = item; - } + Elm_Object_Item *top_it = elm_naviframe_top_item_get(ugd->nf); - return genlist; -} + Evas_Object *btn = elm_object_item_part_content_get(top_it, "prev_btn"); + evas_object_del(btn); + btn = elm_button_add(ugd->nf); + elm_object_style_set(btn, "naviframe/back_btn/default"); + evas_object_smart_callback_add(btn, "clicked", + __cst_click_prefix_dial_save, ugd); -static void __cst_create_prefix_dialling(Evas_Object *parent, void *data) -{ - ENTER(__cst_create_prefix_dialling); - Evas_Object *genlist; - CstUgData_t *ugd = data; - ret_if(ugd == NULL); + if(value == ECORE_IMF_INPUT_PANEL_STATE_SHOW) { - __cst_set_genlist_item_styles_prefix_dialling(); - genlist = __cst_create_genlist_prefix_dialling(ugd); - ugd->kind_of_delete_list = CST_DL_PREFIX_DIALING; + DBG("ECORE_IMF_INPUT_PANEL_STATE_SHOW"); + elm_object_item_part_content_set(top_it, "title_right_btn", btn); - elm_naviframe_item_push(ugd->nf, T_(CST_STR_PREFIX_DIALLING), - NULL, NULL, genlist, NULL); + } else if(value == ECORE_IMF_INPUT_PANEL_STATE_HIDE) { + DBG("ECORE_IMF_INPUT_PANEL_STATE_HIDE"); + elm_object_item_part_content_set(top_it, "title_right_btn", NULL); + elm_object_item_part_content_set(top_it, "prev_btn", btn); + } } -void _cst_on_click_prefix_dialling(void *data, Evas *evas, Evas_Object *obj, void *event_info) -{ - ENTER(_cst_on_click_prefix_dialling); - ret_if(NULL == data); - CstUgData_t *ugd = (CstUgData_t *)data; - __cst_create_prefix_dialling(ugd->nf, ugd); -} diff --git a/src/cst-reject-msg-ime.c b/src/cst-reject-msg-ime.c new file mode 100755 index 0000000..fb4bbd6 --- /dev/null +++ b/src/cst-reject-msg-ime.c @@ -0,0 +1,75 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 + +#include "cst-common.h" +#include "cst-common-string.h" + +#include "cst-widget.h" +#include "cst-reject-msg-ime.h" + +static Elm_Genlist_Item_Class *itc_ime = NULL; +static char *input_string; + +static Evas_Object *__cst_gl_icon_get_reject_msg_ime(void *data, Evas_Object *obj, const char *part) +{ + ENTER(__cst_gl_icon_get_reject_msg_ime); + retv_if(data == NULL, NULL); + CstUgData_t *ugd = (CstUgData_t *)data; + + if (!strcmp(part, "elm.icon")) { + return _cst_create_ime_editfield(ugd, obj, CST_IME_REJECT_MSG, input_string); + } + + return NULL; +} + +static Evas_Object *__cst_create_genlist_reject_msg_ime(CstUgData_t *ugd) +{ + ENTER(__cst_create_genlist_reject_msg_ime); + Elm_Object_Item *item = NULL; + Evas_Object *genlist; + + genlist = elm_genlist_add(ugd->nf); + elm_object_style_set(genlist, "dialogue"); + + if (!itc_ime) + itc_ime = elm_genlist_item_class_new(); + + itc_ime->item_style = "1icon"; + itc_ime->func.text_get = NULL; + itc_ime->func.content_get = __cst_gl_icon_get_reject_msg_ime; + itc_ime->func.state_get = NULL; + itc_ime->func.del = NULL; + + item = elm_genlist_item_append(genlist, itc_ime, + (void *)ugd, NULL, ELM_GENLIST_ITEM_NONE, + NULL, NULL); + return genlist; +} + +Evas_Object *_cst_create_reject_message_ime(Evas_Object *parent, char *edit_string, void *data) +{ + ENTER(_cst_create_reject_message_ime); + retv_if(NULL == data, NULL); + CstUgData_t *ugd = (CstUgData_t *)data; + + Evas_Object *genlist = __cst_create_genlist_reject_msg_ime(ugd); + input_string = edit_string; + return genlist; +} + diff --git a/src/cst-reject-msg.c b/src/cst-reject-msg.c new file mode 100755 index 0000000..28c70a4 --- /dev/null +++ b/src/cst-reject-msg.c @@ -0,0 +1,576 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 +#include +#include "cst-common.h" +#include "cst-common-string.h" +#include "cst-widget.h" +#include "cst-call-setting.h" +#include "cst-delete-list.h" + +#include "cst-reject-msg.h" +#include "cst-reject-msg-ime.h" +#include "cst-util.h" + +static Elm_Genlist_Item_Class *itc_1text = NULL; +char *header = NULL; +static gboolean b_edit_mode = EINA_FALSE; +static CstGlItemData_t *g_item_data = NULL; +Elm_Object_Item *g_navi_it; + +Elm_Object_Item *ec_item[3]; + +static void __cst_edit_reject_message_list(void *data, Evas_Object *obj, void *event_info); +static void __cst_reject_msg_back_to_prev(CstUgData_t *ugd); + +static void _back_btn_clicked_reject_msg_cb(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(_back_btn_clicked_reject_msg_cb); + ret_if(NULL == data); + CstUgData_t *ugd = (CstUgData_t *)data; + + if (header) { + free(header); + header = NULL; + } + + if (ugd->backup_genlist) + ugd->backup_genlist = NULL; + + if (ugd->backup_layout) + ugd->backup_layout = NULL; + _cst_del_selectinfo(ugd); +} + +char *_cst_get_reject_message(int index) +{ + char *message = NULL; + char *return_str = NULL; + switch (index) { + case 0: + message = _cst_vconf_get_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG1_STR); + break; + case 1: + message = _cst_vconf_get_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG2_STR); + break; + case 2: + message = _cst_vconf_get_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG3_STR); + break; + case 3: + message = _cst_vconf_get_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG4_STR); + break; + case 4: + message = _cst_vconf_get_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG5_STR); + break; + case 5: + message = _cst_vconf_get_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG6_STR); + break; + default: + return NULL; + } + retv_if(NULL == message, NULL); + return_str = strdup(dgettext(UGNAME,message)); + free(message); + message = NULL; + + return return_str; +} + +void _cst_set_reject_message(int index, char *message) +{ + switch (index) { + case 0: + _cst_vconf_set_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG1_STR, message); + break; + case 1: + _cst_vconf_set_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG2_STR, message); + break; + case 2: + _cst_vconf_set_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG3_STR, message); + break; + case 3: + _cst_vconf_set_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG4_STR, message); + break; + case 4: + _cst_vconf_set_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG5_STR, message); + break; + case 5: + _cst_vconf_set_str(VCONFKEY_CISSAPPL_USER_CREATE_MSG6_STR, message); + break; + default: + DBG("Error set reject message"); + break; + } +} + +int _cst_set_reject_msg_button_status(int num) +{ + ENTER(_cst_set_reject_msg_button_status); + + if (ec_item[0] != NULL) { + if (num == 6) { + elm_object_item_disabled_set(ec_item[0], EINA_TRUE); + } else { + elm_object_item_disabled_set(ec_item[0], EINA_FALSE); + } + } + if (ec_item[1] != NULL) { + if (num == 0) { + elm_object_item_disabled_set(ec_item[1], EINA_TRUE); + } else { + elm_object_item_disabled_set(ec_item[1], EINA_FALSE); + } + } + return num; +} + +int _cst_set_num_of_reject_message(int num) +{ + ENTER(_cst_set_num_of_reject_message); + + _cst_vconf_set_int(VCONFKEY_CISSAPPL_REJECT_CALL_MSG_INT, num); + + return num; +} + +int _cst_get_num_of_reject_message(void) +{ + int cnt; + _cst_vconf_get_int(VCONFKEY_CISSAPPL_REJECT_CALL_MSG_INT, &cnt); + return cnt; +} + +static Eina_Bool __cst_rejectcall_message_check_same_data(void *data, const char *string) +{ + ENTER(__cst_rejectcall_message_check_same_data); + CstUgData_t *ugd = (CstUgData_t *)data; + char *buf; + int i, reject_message_count; + Eina_Bool value = EINA_TRUE; + Evas_Object *error; + + DBG("Input string : %s", string); + _cst_vconf_get_int(VCONFKEY_CISSAPPL_REJECT_CALL_MSG_INT, &reject_message_count); + for (i = 0; i < reject_message_count; i++) { + buf = _cst_get_reject_message(i); + if (buf) { + if (strcmp(buf, string) == 0) { + error = _cst_create_error_popup(ugd->nf, CST_ERROR_DUPLICATE_MESSAGE); + ugd->popup = error; + evas_object_show(error); + value = EINA_FALSE; + } + free(buf); + buf = NULL; + } + } + return value; +} + +static char *__cst_gl_label_get_reject_msg(void *data, Evas_Object *obj, const char *part) +{ + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + retv_if(item_data == NULL, NULL); + + if (!strcmp(part, "elm.text")) { + char *entry_label = elm_entry_markup_to_utf8(item_data->label); + retv_if(entry_label == NULL, NULL); + char *buf = strdup(entry_label); + free(entry_label); + entry_label = NULL; + return buf; + } + + return NULL; +} + +static void __cst_gl_del_reject_msg(void *data, Evas_Object *obj) +{ + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + if (item_data) { + if (item_data->label) + free(item_data->label); + free(item_data); + } + + return; +} + +static void __cst_set_genlist_item_styles_reject_msg(void) +{ + if (!itc_1text) + itc_1text = elm_genlist_item_class_new(); + + itc_1text->item_style = "dialogue/1text"; + itc_1text->func.text_get = __cst_gl_label_get_reject_msg; + itc_1text->func.content_get = NULL; + itc_1text->func.del = __cst_gl_del_reject_msg; +} + +void _cst_genlist_append_reject_list_item(CstUgData_t *ugd, Evas_Object *genlist) +{ + ENTER(_cst_genlist_append_reject_list_item); + Elm_Object_Item *item; + int num_of_message; + CstGlItemData_t *item_data; + int index = 0; + + num_of_message = _cst_get_num_of_reject_message(); + + if (header) { + snprintf(header, sizeof(char)*256, "%s (%d/6)", T_(CST_STR_REJECT_MESSAGES), num_of_message); + elm_object_item_part_text_set(g_navi_it, "elm.text.title", header); + } + if (num_of_message == 0) + edje_object_signal_emit(_EDJ(ugd->backup_layout), "show,content2", "code"); + else { + _cst_create_genlist_separator(genlist, EINA_TRUE); + for (index = 0; index < num_of_message; index++) { + item_data = calloc(1, sizeof(CstGlItemData_t)); + ret_if(item_data == NULL); + item_data->index = index; + item_data->ugd = (void *)ugd; + item_data->label = _cst_get_reject_message(index); + + item = elm_genlist_item_append(genlist, itc_1text, + item_data, NULL, ELM_GENLIST_ITEM_NONE, + __cst_edit_reject_message_list, item_data); + item_data->gl_item = item; + } + edje_object_signal_emit(_EDJ(ugd->backup_layout), "show,content1", "code"); + } +} + +static Evas_Object *__cst_create_genlist_reject_msg(CstUgData_t *ugd) +{ + ENTER(__cst_create_genlist_reject_msg); + Evas_Object *genlist; + + genlist = elm_genlist_add(ugd->nf); + elm_object_style_set(genlist, "dialogue"); + + elm_genlist_tree_effect_enabled_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); + + _cst_genlist_append_reject_list_item(ugd, genlist); + return genlist; +} + +static void __cst_click_reject_msg_edit_cancel(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_click_reject_msg_edit_cancel); + ret_if(!data); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + memset(ugd->c_item, 0, sizeof(ugd->c_item)); + __cst_reject_msg_back_to_prev(ugd); + b_edit_mode = EINA_FALSE; + _cst_set_reject_msg_button_status(_cst_get_num_of_reject_message()); +} + +static void __cst_click_reject_msg_create_cancel(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_click_reject_msg_create_cancel); + ret_if(!data); + CstUgData_t *ugd = (CstUgData_t *)data; + memset(ugd->c_item, 0, sizeof(ugd->c_item)); + __cst_reject_msg_back_to_prev(ugd); + _cst_set_reject_msg_button_status(_cst_get_num_of_reject_message()); +} + +static void __cst_click_reject_msg_edit_done(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_click_reject_msg_edit_done); + ret_if(!data); + + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + const char *new_message = elm_entry_entry_get(ugd->dg_entry); + + DBG("item_data->label = %s", item_data->label); + + if (NULL == new_message) { + DBG("No new message"); + return; + } else if (0 == strlen(new_message)) { + Evas_Object *error; + DBG("No Message"); + error = _cst_create_error_popup(ugd->nf, CST_ERROR_ENTER_MESSAGE); + ugd->popup = error; + evas_object_show(error); + return; + } else if (strcmp(item_data->label, new_message) == 0) { + __cst_reject_msg_back_to_prev(ugd); + _cst_set_reject_msg_button_status(_cst_get_num_of_reject_message()); + return; + } else if ((__cst_rejectcall_message_check_same_data((void *)ugd, new_message)) == EINA_FALSE) { + DBG("Duplicate message"); + return; + } + + g_free(item_data->label); + item_data->label = strdup(new_message); + _cst_set_reject_message(item_data->index, (char *)new_message); + elm_genlist_item_update(item_data->gl_item); + + memset(ugd->c_item, 0, sizeof(ugd->c_item)); + __cst_reject_msg_back_to_prev(ugd); + b_edit_mode = EINA_FALSE; + _cst_set_reject_msg_button_status(_cst_get_num_of_reject_message()); +} + +static void __cst_click_reject_msg_create_done(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_click_reject_msg_create_done); + ret_if(!data); + + CstUgData_t *ugd = (CstUgData_t *)data; + int num_of_reject_message; + + num_of_reject_message = _cst_get_num_of_reject_message(); + const char *new_message = elm_entry_entry_get(ugd->dg_entry); + + if (NULL == new_message) { + DBG("No new message"); + return; + } else if (0 == strlen(new_message)) { + Evas_Object *error; + DBG("No Message"); + error = _cst_create_error_popup(ugd->nf, CST_ERROR_ENTER_MESSAGE); + ugd->popup = error; + evas_object_show(error); + return; + } else if ((__cst_rejectcall_message_check_same_data((void *)ugd, new_message)) == EINA_FALSE) { + DBG("Duplicate message"); + return; + } + + _cst_set_reject_message(num_of_reject_message, (char *)new_message); + _cst_set_num_of_reject_message(num_of_reject_message + 1); + elm_genlist_clear(ugd->backup_genlist); + _cst_genlist_append_reject_list_item(ugd, ugd->backup_genlist); + + memset(ugd->c_item, 0, sizeof(ugd->c_item)); + __cst_reject_msg_back_to_prev(ugd); + _cst_set_reject_msg_button_status(_cst_get_num_of_reject_message()); +} + +static void __cst_edit_reject_message_list(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_edit_reject_message_list); + ret_if(!data); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + Evas_Object *eo; + Evas_Object *btn; + Elm_Object_Item *navi_it; + + b_edit_mode = EINA_TRUE; + g_item_data = item_data; + + elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); + ugd->popup = NULL; + eo = _cst_create_reject_message_ime(ugd->nf, item_data->label, ugd); + + evas_object_show(eo); + + _cst_remove_naviframe(ugd->nf); + navi_it = elm_naviframe_item_push(ugd->nf, + T_(CST_STR_REJECT_MESSAGE), NULL, NULL, eo, "1line"); + + btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_CANCEL), + __cst_click_reject_msg_edit_cancel, (void *)item_data); + elm_object_item_part_content_set(navi_it, "title_right_btn", btn); + + btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_SAVE), + __cst_click_reject_msg_edit_done, (void *)item_data); + elm_object_item_part_content_set(navi_it, "title_left_btn", btn); +} + +static void __cst_on_click_reject_message_add_button(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(__cst_on_click_reject_message_add_button); + ret_if(!data); + CstUgData_t *ugd = (CstUgData_t *)data; + Evas_Object *eo; + Evas_Object *btn; + Elm_Object_Item *navi_it; + + ugd->popup = NULL; + eo = _cst_create_reject_message_ime(ugd->nf, NULL, ugd); + evas_object_show(eo); + + _cst_remove_naviframe(ugd->nf); + navi_it = elm_naviframe_item_push(ugd->nf, + T_(CST_STR_REJECT_MESSAGE), NULL, NULL, eo, "1line"); + + btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_CANCEL), + __cst_click_reject_msg_create_cancel, (void *)ugd); + elm_object_item_part_content_set(navi_it, "title_right_btn", btn); + + btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_SAVE), + __cst_click_reject_msg_create_done, (void *)ugd); + elm_object_item_part_content_set(navi_it, "title_left_btn", btn); + elm_object_disabled_set(btn, EINA_TRUE); +} + +static Evas_Object *__cst_create_nocontents_layout(CstUgData_t *ugd) +{ + ENTER(__cst_create_nocontents_layout); + Evas_Object *layout; + + layout = elm_layout_add(ugd->nf); + elm_layout_file_set(layout, EDJ_NAME, "nocontents"); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_layout_theme_set(layout, "layout", "nocontents", "text"); + elm_object_part_text_set(layout, "elm.text", (char *)T_(CST_STR_NO_MESSAGE)); + + return layout; +} + +static void __cst_create_reject_message(Evas_Object *parent, void *data) +{ + ENTER(_cst_on_click_reject_message); + Evas_Object *back_btn, *layout, *nocontent, *cbar; + CstUgData_t *ugd = data; + ret_if(ugd == NULL); + + __cst_set_genlist_item_styles_reject_msg(); + ugd->kind_of_delete_list = CST_DL_REJECT_CALL_WITH_MSG; + + /*Create layout */ + layout = elm_layout_add(ugd->nf); + ugd->backup_layout = layout; + elm_layout_file_set(layout, EDJ_NAME, "toolbar"); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + nocontent = __cst_create_nocontents_layout(ugd); + ugd->backup_genlist = __cst_create_genlist_reject_msg(ugd); + + elm_object_part_content_set(layout, "elm.swallow.contents", ugd->backup_genlist); + elm_object_part_content_set(layout, "elm.swallow.contents2", nocontent); + + header = (char*)malloc(sizeof(char)*256); + memset(header, 0x0, 256); + + snprintf(header, sizeof(char)*256, "%s (%d/6)", T_(CST_STR_REJECT_MESSAGES), _cst_get_num_of_reject_message()); + + DBG("header = %s",header); + g_navi_it = elm_naviframe_item_push(ugd->nf, + header, NULL, NULL, layout, "1line"); + back_btn = elm_object_item_part_content_get(g_navi_it, "prev_btn"); + evas_object_smart_callback_add(back_btn, "clicked", + _back_btn_clicked_reject_msg_cb, ugd); + + cbar = _cst_create_navi_control_bar(ugd->nf, + (char *)T_(CST_STR_ADD), CST_CTRL_ICON_CREATE, + __cst_on_click_reject_message_add_button, + (char *)T_(CST_STR_DELETE), CST_CTRL_ICON_EDIT, + _cst_create_delete_list, + (void *)ugd, g_navi_it, + ec_item); + ret_if(NULL == cbar); + _cst_set_reject_msg_button_status(_cst_get_num_of_reject_message()); +} + +void _cst_on_click_reject_message(void *data, Evas *evas, Evas_Object *obj, void *event_info) +{ + ENTER(_cst_on_click_reject_message); + ret_if(NULL == data); + CstUgData_t *ugd = (CstUgData_t *)data; + Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *)event_info; + if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) { + return; + } + + __cst_create_reject_message(ugd->nf, ugd); +} + +void _cst_reject_msg_input_panel_event_callback(void *data, Ecore_IMF_Context *imf_context, int value) +{ + ENTER(_cst_reject_msg_input_panel_event_callback); + ret_if(!data); + CstUgData_t *ugd = (CstUgData_t *)data; + Evas_Object *btn; + void (*save_cb_func)(); + void (*cancel_cb_func)(); + void *evnt_data; + + if (b_edit_mode) { + save_cb_func = __cst_click_reject_msg_edit_done; + cancel_cb_func = __cst_click_reject_msg_edit_cancel; + evnt_data = g_item_data; + } else { + save_cb_func = __cst_click_reject_msg_create_done; + cancel_cb_func = __cst_click_reject_msg_create_cancel; + evnt_data = data; + } + + Elm_Object_Item *top_it = elm_naviframe_top_item_get(ugd->nf); + + if(value == ECORE_IMF_INPUT_PANEL_STATE_SHOW) { + DBG("ECORE_IMF_INPUT_PANEL_STATE_SHOW"); + + btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_CANCEL), + cancel_cb_func, evnt_data); + elm_object_item_part_content_set(top_it, "title_right_btn", btn); + + btn = _cst_create_title_btn(ugd->nf, (char *)T_(CST_STR_SAVE), + save_cb_func, evnt_data); + elm_object_item_part_content_set(top_it, "title_left_btn", btn); + + + } else if(value == ECORE_IMF_INPUT_PANEL_STATE_HIDE) { + Evas_Object *cbar; + DBG("ECORE_IMF_INPUT_PANEL_STATE_HIDE"); + elm_object_item_part_content_set(top_it, "title_right_btn", NULL); + elm_object_item_part_content_set(top_it, "title_left_btn", NULL); + cbar = _cst_create_navi_control_bar(ugd->nf, + (char *)T_(CST_STR_SAVE), NULL, + save_cb_func, + (char *)T_(CST_STR_CANCEL), NULL, + cancel_cb_func, + (void *)evnt_data, top_it, + ec_item); + } +} + +static void __cst_reject_msg_back_to_prev(CstUgData_t *ugd) +{ + ret_if(!ugd); + Evas_Object *cbar; + Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(ugd->dg_entry); + Elm_Object_Item *top_it = NULL; + + elm_naviframe_item_pop(ugd->nf); + + top_it = elm_naviframe_top_item_get(ugd->nf); + + if (imf_context) { + ecore_imf_context_input_panel_event_callback_del (imf_context, ECORE_IMF_INPUT_PANEL_STATE_EVENT, _cst_reject_msg_input_panel_event_callback); + } + + cbar = _cst_create_navi_control_bar(ugd->nf, + (char *)T_(CST_STR_ADD), CST_CTRL_ICON_CREATE, + __cst_on_click_reject_message_add_button, + (char *)T_(CST_STR_DELETE), CST_CTRL_ICON_EDIT, + _cst_create_delete_list, + (void *)ugd, top_it, + ec_item); +} + diff --git a/src/cst-status-tone.c b/src/cst-status-tone.c index ed9cc7a..e971246 100755 --- a/src/cst-status-tone.c +++ b/src/cst-status-tone.c @@ -1,18 +1,18 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 #include @@ -81,9 +81,10 @@ static char *__cst_gl_label_get_call_status_tone(void *data, Evas_Object *obj, c if (!strcmp(part, "elm.text") || !strcmp(part, "elm.text.1") || !strcmp(part, "elm.text.2")) { - return strdup(T_(list_call_status_tone[item_data->index].str_id)); - } else - return NULL; + if (list_call_status_tone[item_data->index].str_id != -1) + return strdup(T_(list_call_status_tone[item_data->index].str_id)); + } + return NULL; } static Evas_Object *__cst_gl_icon_get_call_status_tone(void *data, Evas_Object *obj, const char *part) @@ -134,7 +135,6 @@ static void __cst_gl_sel_call_status_tone(void *data, Evas_Object *obj, void *ev static void __cst_set_gl_item_styles_call_status_tone(void) { ENTER(__cst_set_gl_item_styles_call_status_tone); - if (!itc_1text_1icon) itc_1text_1icon = elm_genlist_item_class_new(); if (!itc_help) @@ -166,11 +166,11 @@ static Evas_Object *__cst_create_call_status_tone_genlist(void *data) genlist = elm_genlist_add(ugd->nf); elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); - _cst_create_genlist_seperator(genlist, EINA_FALSE); - + elm_object_style_set(genlist, "dialogue"); + _cst_create_genlist_separator(genlist, EINA_FALSE); for (index = 0; list_call_status_tone[index].style != CST_GL_ITEM_NONE; ++index) { item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); - ret_if(item_data == NULL); + retv_if(NULL == item_data, NULL); item_data->index = index; item_data->ugd = ugd; @@ -188,10 +188,11 @@ static Evas_Object *__cst_create_call_status_tone_genlist(void *data) DBG("No style"); free(item_data); item_data = NULL; - return; + return NULL; } item_data->gl_item = item; } + _cst_create_genlist_separator_no_line(genlist); return genlist; } @@ -217,3 +218,4 @@ void _cst_on_click_call_status_tone(void *data, Evas *evas, Evas_Object *obj, vo CstUgData_t *ugd = (CstUgData_t *)data; __cst_create_call_status_tone(ugd->nf, ugd); } + diff --git a/src/cst-tapi-request.c b/src/cst-tapi-request.c index 68ae430..c9cdabe 100755 --- a/src/cst-tapi-request.c +++ b/src/cst-tapi-request.c @@ -1,32 +1,345 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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 "ITapiSs.h" -#include "TapiEvent.h" + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 + +#include +#include +#include +#include #include "cst-tapi-request.h" #include "cst-common.h" #include "cst-common-string.h" -#include +#include "cst-tapi-request.h" + +static void __cst_remove_ss_request(void *data); +static void __cst_send_ss_req_to_telephony_server(CallSettingSSReq_t *req); +static gboolean __cst_ss_barring_resp_cb(TapiHandle *handle, int result, void *data, void *user_data); +static gboolean __cst_ss_forward_resp_cb(TapiHandle *handle, int result, void *data, void *user_data); +static gboolean __cst_ss_waiting_resp_cb(TapiHandle *handle, int result, void *data, void *user_data); +static int __cst_get_ciss_error_from_tapi_error(TelSsCause_t tapi_err); + +static gboolean __cst_ss_barring_resp_cb(TapiHandle *handle, int result, void *data, void *user_data) +{ + DBG("Enter"); + TelSsCause_t ss_result = result; + TelSsBarringResp_t *cb_data = NULL; + CallSettingSSReq_t *req = NULL; + CstUgData_t *ugd = NULL; + + cb_data = (TelSsBarringResp_t *)data; + if (cb_data == NULL) { + ERR("data is NULL, returning"); + return FALSE; + } + + req = (CallSettingSSReq_t *)user_data; + if (req == NULL) { + ERR("User_data is NULL, returning"); + return FALSE; + } + + ugd = (CstUgData_t *)req->ugd; + if (ugd == NULL) { + ERR("ugd is NULL, returning"); + return FALSE; + } + + retv_if(req->is_requesting == EINA_FALSE, 0); + if (req->is_canceled == EINA_TRUE) { + __cst_remove_ss_request(ugd); + return FALSE; + } + + if (ss_result != TAPI_SS_SUCCESS) { + DBG("Event Status is %d", ss_result); + int error; + error = __cst_get_ciss_error_from_tapi_error(ss_result); + if (req) { + req->func(req->call_type, req->flavour, EINA_FALSE, NULL, error, req->action, req->data, req->waiting_time); + } + __cst_remove_ss_request(ugd); + return FALSE; + } + + char number[50]; + Eina_Bool cb_state = EINA_FALSE; + int cb_flavour = -1; + int call_type = -1; + int i = 0; -static void __cst_send_ss_req_to_telephony_server(CallSettingReq_t *req); + for (i = 0; i < cb_data->record_num; ++i) { + number[0] = '\0'; + DBG("TeleCommService=0x%x", cb_data->record[i].Class); + DBG("Flavour=0x%x", cb_data->record[i].Flavour); + DBG("Status=0x%x", cb_data->record[i].Status); + switch (cb_data->record[i].Class) { + case TAPI_SS_CLASS_VOICE: + call_type = CST_CALLTYPE_VOICE; + break; + case TAPI_SS_CLASS_ALL_TELE: + case TAPI_SS_CLASS_ALL_TELE_BEARER: + call_type = CST_CALLTYPE_ALL; + break; + default: + ERR("Invalid call type"); + return FALSE; + } + + if (req->call_type != call_type && call_type != CST_CALLTYPE_ALL) + continue; + + switch (cb_data->record[i].Flavour) { + case TAPI_SS_CB_TYPE_BAOC: + cb_flavour = CST_SSTYPE_CB_OC; + break; + case TAPI_SS_CB_TYPE_BOIC: + cb_flavour = CST_SSTYPE_CB_OIC; + break; + case TAPI_SS_CB_TYPE_BOIC_NOT_HC: + cb_flavour = CST_SSTYPE_CB_OICEH; + break; + case TAPI_SS_CB_TYPE_BAIC: + cb_flavour = CST_SSTYPE_CB_IC; + break; + case TAPI_SS_CB_TYPE_BIC_ROAM: + cb_flavour = CST_SSTYPE_CB_ICR; + break; + default: + ERR("Invalid CB Flavour"); + return FALSE; + } + + switch (cb_data->record[i].Status) { + case TAPI_SS_STATUS_ACTIVE: + case TAPI_SS_STATUS_REGISTERED: + cb_state = EINA_TRUE; + break; + case TAPI_SS_STATUS_NOTHING: + case TAPI_SS_STATUS_PROVISIONED: + case TAPI_SS_STATUS_QUIESCENT: + cb_state = EINA_FALSE; + break; + default: + ERR("Invalid CB status"); + return FALSE; + } + } + + req->func(call_type, cb_flavour, cb_state, NULL, CST_ERROR_NONE, req->action, req->data, req->waiting_time); + __cst_remove_ss_request(ugd); + return TRUE; +} + +static gboolean __cst_ss_forward_resp_cb(TapiHandle *handle, int result, void *data, void *user_data) +{ + DBG("Enter __cst_ss_forward_resp_cb"); + TelSsCause_t ss_result = result; + TelSsForwardResp_t *cf_data = NULL; + CallSettingSSReq_t *req = NULL; + CstUgData_t *ugd = NULL; + + cf_data = (TelSsForwardResp_t *)data; + if (cf_data == NULL) { + ERR("data is NULL, returning"); + return FALSE; + } + + req = (CallSettingSSReq_t *)user_data; + if (req == NULL) { + ERR("User_data is NULL, returning"); + return FALSE; + } + + ugd = (CstUgData_t *)req->ugd; + if (ugd == NULL) { + ERR("ugd is NULL, returning"); + return FALSE; + } + + retv_if(req->is_requesting == EINA_FALSE, 0); + if (req->is_canceled == EINA_TRUE) { + DBG("Req(0x%xp,req_id=%d) was canceled. So It will be removed", req, req->req_id); + __cst_remove_ss_request(ugd); + return FALSE; + } + + if (ss_result != TAPI_SS_SUCCESS) { + DBG("Event Status is %d", ss_result); + int error; + error = __cst_get_ciss_error_from_tapi_error(ss_result); + DBG("req=0x%p", req); + if (req) { + req->func(req->call_type, req->flavour, EINA_FALSE, NULL, error, req->action, req->data, req->waiting_time); + } + __cst_remove_ss_request(ugd); + return FALSE; + } + + char number[TAPI_CALL_DIALDIGIT_LEN_MAX]; + + Eina_Bool cf_state = EINA_FALSE; + int cf_flavour = -1; + int call_type = -1; + int waiting_time = 30; + int i = 0; + + for (i = 0; i < cf_data->record_num; ++i) { + number[0] = '\0'; + DBG("TeleCommService=%d", cf_data->record[i].Class); + DBG("Flavour=%d", cf_data->record[i].ForwardCondition); + DBG("Status=%d", cf_data->record[i].Status); + switch (cf_data->record[i].Class) { + case TAPI_SS_CLASS_VOICE: + call_type = CST_CALLTYPE_VOICE; + break; + case TAPI_SS_CLASS_ALL_TELE: + case TAPI_SS_CLASS_ALL_BEARER: + call_type = CST_CALLTYPE_ALL; + break; + default: + ERR("Invalid CF call type"); + return FALSE; + } + + DBG("req->call_type == %d call_type=%d", req->call_type, call_type); + if (req->call_type != call_type && call_type != CST_CALLTYPE_ALL) + continue; + + switch (cf_data->record[i].ForwardCondition) { + case TAPI_SS_CF_WHEN_CFU: + cf_flavour = CST_SSTYPE_CF_UNCONDITIONAL; + break; + case TAPI_SS_CF_WHEN_CFB: + cf_flavour = CST_SSTYPE_CF_BUSY; + break; + case TAPI_SS_CF_WHEN_CFNRy: + cf_flavour = CST_SSTYPE_CF_NO_REPLY; + waiting_time = (int)cf_data->record[i].NoReplyWaitTime; + DBG("******** Waiting time =%d **********", waiting_time); + break; + case TAPI_SS_CF_WHEN_CFNRc: + cf_flavour = CST_SSTYPE_CF_NOT_REACHABLE; + break; + case TAPI_SS_CF_WHEN_CF_ALL: + cf_flavour = CST_SSTYPE_CF_ALL; + break; + case TAPI_SS_CF_WHEN_CFC: + cf_flavour = CST_SSTYPE_CF_ALL_CONDITIONAL; + break; + default: + ERR("Invalid CF Flavour"); + return FALSE; + } + + switch (cf_data->record[i].Status) { + case TAPI_SS_STATUS_ACTIVE: + case TAPI_SS_STATUS_REGISTERED: + cf_state = EINA_TRUE; + break; + case TAPI_SS_STATUS_NOTHING: + case TAPI_SS_STATUS_PROVISIONED: + case TAPI_SS_STATUS_QUIESCENT: + cf_state = EINA_FALSE; + break; + default: + ERR("Invalid CF status"); + return FALSE; + } + + if (cf_data->record[i].bCallForwardingNumberPresent == 1) { + snprintf(number, TAPI_CALL_DIALDIGIT_LEN_MAX, "%s", cf_data->record[i].szCallForwardingNumber); + } + + req->func(call_type, cf_flavour, cf_state, number, CST_ERROR_NONE, req->action, req->data, waiting_time); + } + + __cst_remove_ss_request(ugd); + return TRUE; +} + +static gboolean __cst_ss_waiting_resp_cb(TapiHandle *handle, int result, void *data, void *user_data) +{ + DBG("Enter __cst_ss_waiting_resp_cb"); + TelSsCause_t ss_result = result; + TelSsWaitingResp_t *cw_data = NULL; + CallSettingSSReq_t *req = NULL; + CstUgData_t *ugd = NULL; + + cw_data = (TelSsWaitingResp_t *)data; + if (cw_data == NULL) { + ERR("data is NULL, returning"); + return FALSE; + } + + req = (CallSettingSSReq_t *)user_data; + if (req == NULL) { + ERR("User_data is NULL, returning"); + return FALSE; + } + + ugd = (CstUgData_t *)req->ugd; + if (ugd == NULL) { + ERR("ugd is NULL, returning"); + return FALSE; + } + + retv_if(req->is_requesting == EINA_FALSE, 0); + if (req->is_canceled == EINA_TRUE) { + __cst_remove_ss_request(ugd); + return FALSE; + } + + if (ss_result != TAPI_SS_SUCCESS) { + DBG("Event Status is %d", ss_result); + int error; + + error = __cst_get_ciss_error_from_tapi_error(ss_result); + + if (req) { + req->func(req->call_type, req->flavour, EINA_TRUE, NULL, error, req->action, req->data, req->waiting_time); + } + __cst_remove_ss_request(ugd); + return FALSE; + } + + DBG("CW Status = %d", cw_data->record[0].Status); + retv_if(NULL == req->func, 0); + switch (cw_data->record[0].Status) { + case TAPI_SS_STATUS_ACTIVE: + case TAPI_SS_STATUS_REGISTERED: + req->func(req->call_type, req->flavour, EINA_TRUE, NULL, CST_ERROR_NONE, req->action, req->data, req->waiting_time); + break; + case TAPI_SS_STATUS_PROVISIONED: + case TAPI_SS_STATUS_QUIESCENT: + req->func(req->call_type, req->flavour, EINA_FALSE, NULL, CST_ERROR_NONE, req->action, req->data, req->waiting_time); + break; + default: + ERR("Call waiting query error"); + break; + } + + __cst_remove_ss_request(ugd); + return TRUE; +} static void __cst_print_req_queue(Eina_List *queue) { Eina_List *l; - CallSettingReq_t *req; + CallSettingSSReq_t *req; EINA_LIST_FOREACH(queue, l, req) { ret_if(req == NULL); DBG("req=0x%p req_id=0x%x requesting=%d canceled=%d flavour=%d", req, req->req_id, req->is_requesting, req->is_canceled, req->flavour); @@ -40,7 +353,7 @@ void _cst_cancel_all_ss_request(void *data) Eina_List *l; Eina_List *l_next; - CallSettingReq_t *req; + CallSettingSSReq_t *req; EINA_LIST_FOREACH_SAFE(ugd->req_queue, l, l_next, req) { ret_if(req == NULL); @@ -56,13 +369,13 @@ void _cst_cancel_all_ss_request(void *data) LEAVE(); } -void _cst_add_ss_request(Eina_List ** queue, int action_type, int call_type, int flavour, char *number, void *func, void *data) +void _cst_add_ss_request(Eina_List ** queue, int action_type, int call_type, int flavour, char *number, void *func, void *data, int waiting_time, CstUgData_t *ugd) { ENTER(_cst_add_ss_request); ret_if(NULL == data); ret_if(NULL == func); - CallSettingReq_t *req = (CallSettingReq_t *)malloc(sizeof(CallSettingReq_t)); + CallSettingSSReq_t *req = (CallSettingSSReq_t *)malloc(sizeof(CallSettingSSReq_t)); ret_if(NULL == req); req->action = action_type; req->original_state = EINA_FALSE; @@ -70,6 +383,8 @@ void _cst_add_ss_request(Eina_List ** queue, int action_type, int call_type, int req->flavour = flavour; req->data = data; req->func = func; + req->waiting_time = waiting_time; + req->ugd = ugd; snprintf(req->number, CST_MAX_PHONE_NUMBER_LEN, "%s", number); int cnt; @@ -90,13 +405,13 @@ static void __cst_remove_ss_request(void *data) { ENTER(__cst_remove_ss_request); CstUgData_t *ugd = (CstUgData_t *)data; - CallSettingReq_t *req; + CallSettingSSReq_t *req; Eina_List *first; int cnt; ret_if(eina_list_count(ugd->req_queue) == 0); first = eina_list_nth_list(ugd->req_queue, 0); - req = (CallSettingReq_t *)first->data; + req = (CallSettingSSReq_t *)first->data; DBG("Remove req=0x%p", req); ugd->req_queue = eina_list_remove_list(ugd->req_queue, first); free(req); @@ -106,7 +421,7 @@ static void __cst_remove_ss_request(void *data) if (cnt > 0) { first = eina_list_nth_list(ugd->req_queue, 0); - req = (CallSettingReq_t *)first->data; + req = (CallSettingSSReq_t *)first->data; __cst_send_ss_req_to_telephony_server(req); } __cst_print_req_queue(ugd->req_queue); @@ -115,15 +430,15 @@ static void __cst_remove_ss_request(void *data) } -static CallSettingReq_t *__cst_get_current_request(void *data) +static CallSettingSSReq_t *__cst_get_current_request(void *data) { ENTER(__cst_get_current_request); CstUgData_t *ugd = (CstUgData_t *)data; - CallSettingReq_t *req = NULL; + CallSettingSSReq_t *req = NULL; retv_if(ugd->req_queue == NULL, NULL); DBG("list length=%d", eina_list_count(ugd->req_queue)); if (eina_list_count(ugd->req_queue) > 0) { - req = (CallSettingReq_t *)ugd->req_queue->data; + req = (CallSettingSSReq_t *)ugd->req_queue->data; DBG("current req=0x%p", req); } LEAVE(); @@ -163,7 +478,6 @@ static int __cst_get_ciss_error_from_tapi_error(TelSsCause_t tapi_err) case TAPI_SS_NEGATIVEPWCHECK: error_code = CST_ERROR_INVALID_PASSWORD; break; - /*Show message password error this function has been locked, so please call customer center for Vodafone R11 */ case TAPI_SS_NUMBEROFPWATTEMPTSVIOLATION: error_code = CST_ERROR_PASSWORD_BLOCKED; break; @@ -179,35 +493,16 @@ static int __cst_get_ciss_error_from_tapi_error(TelSsCause_t tapi_err) return error_code; } -static int __cst_get_tapi_cf_teleservice_type(int ciss_call_type) -{ - int teleservice; - - switch (ciss_call_type) { - case CST_CALLTYPE_VOICE: - teleservice = TAPI_CS_FORWARD_TYPE_VOICE_EV; - break; - case CST_CALLTYPE_VIDEO: - teleservice = TAPI_CS_FORWARD_TYPE_DATA_EV; - break; - default: - teleservice = 0; - ERR("Invalid CF teleservice type"); - } - LEAVE(); - return teleservice; -} - static int __cst_get_tapi_cf_mode(int ciss_action) { int mode; switch (ciss_action) { case CST_ACTION_ACTIVATE: - mode = TAPI_CALL_FORWARD_MODE_REGISTRATION_EV; + mode = TAPI_SS_CF_MODE_REGISTRATION_EV; break; case CST_ACTION_DEACTIVATE: - mode = TAPI_CALL_FORWARD_MODE_ERASURE_EV; + mode = TAPI_SS_CF_MODE_ERASURE_EV; break; default: mode = 0; @@ -223,16 +518,16 @@ static int __cst_get_tapi_cf_flavour(int ciss_cf_flavour) int tel_cf_flavour; switch (ciss_cf_flavour) { case CST_SSTYPE_CF_UNCONDITIONAL: - tel_cf_flavour = TAPI_SS_FORWARD_WHEN_UNCONDITIONAL_EV; + tel_cf_flavour = TAPI_SS_CF_WHEN_CFU; break; case CST_SSTYPE_CF_BUSY: - tel_cf_flavour = TAPI_SS_FORWARD_WHEN_BUSY_EV; + tel_cf_flavour = TAPI_SS_CF_WHEN_CFB; break; case CST_SSTYPE_CF_NO_REPLY: - tel_cf_flavour = TAPI_SS_FORWARD_WHEN_NO_ANSWER_EV; + tel_cf_flavour = TAPI_SS_CF_WHEN_CFNRy; break; case CST_SSTYPE_CF_NOT_REACHABLE: - tel_cf_flavour = TAPI_SS_FORWARD_WHEN_NOT_REACHABLE_EV; + tel_cf_flavour = TAPI_SS_CF_WHEN_CFNRc; break; default: tel_cf_flavour = -1; @@ -247,13 +542,10 @@ static int __cst_get_tapi_teleservice_type(int ciss_call_type) switch (ciss_call_type) { case CST_CALLTYPE_VOICE: - teleservice = TAPI_CALL_TYPE_VOICE_EV; - break; - case CST_CALLTYPE_VIDEO: - teleservice = TAPI_CALL_TYPE_DATA_CIRCUIT_SYNC_EV; + teleservice = TAPI_SS_CLASS_VOICE; break; case CST_CALLTYPE_ALL: - teleservice = TAPI_CALL_TYPE_ALL_TELE_BEARER; + teleservice = TAPI_SS_CLASS_ALL_TELE_BEARER; break; default: teleservice = 0; @@ -268,10 +560,10 @@ static int __cst_get_tapi_cb_mode(int ciss_action) switch (ciss_action) { case CST_ACTION_ACTIVATE: - mode = TAPI_SS_CALL_BAR_ACTIVATE; + mode = TAPI_SS_CB_MODE_ACTIVATE; break; case CST_ACTION_DEACTIVATE: - mode = TAPI_SS_CALL_BAR_DEACTIVATE; + mode = TAPI_SS_CB_MODE_DEACTIVATE; break; default: mode = 0; @@ -286,19 +578,19 @@ static int __cst_get_tapi_cb_flavour(int ciss_cb_flavour) int tel_cb_flavour; switch (ciss_cb_flavour) { case CST_SSTYPE_CB_OC: - tel_cb_flavour = TAPI_CALL_BARRING_ALL_OUTGOING_CALLS; + tel_cb_flavour = TAPI_SS_CB_TYPE_BAOC; break; case CST_SSTYPE_CB_OIC: - tel_cb_flavour = TAPI_CALL_BARRING_ALL_OUTGOING_INTERN_CALL; + tel_cb_flavour = TAPI_SS_CB_TYPE_BOIC; break; case CST_SSTYPE_CB_OICEH: - tel_cb_flavour = TAPI_CALL_BARRING_ALL_OUTGOING_INTERN_CALL_EXCEPT; + tel_cb_flavour = TAPI_SS_CB_TYPE_BOIC_NOT_HC; break; case CST_SSTYPE_CB_IC: - tel_cb_flavour = TAPI_CALL_BARRING_ALL_INCOMING_CALLS; + tel_cb_flavour = TAPI_SS_CB_TYPE_BAIC; break; case CST_SSTYPE_CB_ICR: - tel_cb_flavour = TAPI_CALL_BARRING_ALL_INCOMING_CALLS_ROAMING; + tel_cb_flavour = TAPI_SS_CB_TYPE_BIC_ROAM; break; default: tel_cb_flavour = -1; @@ -313,10 +605,10 @@ static int __cst_get_tapi_cw_mode(int ciss_action) switch (ciss_action) { case CST_ACTION_ACTIVATE: - mode = TAPI_SS_CW_ACTIVATE; + mode = TAPI_SS_CW_MODE_ACTIVATE; break; case CST_ACTION_DEACTIVATE: - mode = TAPI_SS_CW_DEACTIVATE; + mode = TAPI_SS_CW_MODE_DEACTIVATE; break; default: mode = 0; @@ -325,21 +617,22 @@ static int __cst_get_tapi_cw_mode(int ciss_action) return mode; } -void __cst_send_ss_req_to_telephony_server(CallSettingReq_t *req) +static void __cst_send_ss_req_to_telephony_server(CallSettingSSReq_t *req) { ENTER(__cst_send_ss_req_to_telephony_server); TelSsForwardInfo_t cf_info; - TelSsCallBarringInfo_t cb_info; + TelSsBarringInfo_t cb_info; TelSsWaitingInfo_t cw_info; int api_ret = -1; - int req_id = -1; + CstUgData_t *ugd = req->ugd; + ret_if(req == NULL); - DBG("Send req=0x%p action=%d call_type=%d flavour=%d", req, req->action, req->call_type, req->flavour); + DBG("Send req=0x%p action=%d call_type=%d flavour=%d waiting_time=%d", req, req->action, req->call_type, req->flavour, req->waiting_time); req->is_requesting = EINA_TRUE; memset(&cf_info, 0x0, sizeof(TelSsForwardInfo_t)); - memset(&cb_info, 0x0, sizeof(TelSsCallBarringInfo_t)); + memset(&cb_info, 0x0, sizeof(TelSsBarringInfo_t)); memset(&cw_info, 0x0, sizeof(TelSsWaitingInfo_t)); switch (req->flavour) { @@ -350,14 +643,17 @@ void __cst_send_ss_req_to_telephony_server(CallSettingReq_t *req) case CST_SSTYPE_CF_ALL: case CST_SSTYPE_CF_ALL_CONDITIONAL: cf_info.Condition = __cst_get_tapi_cf_flavour(req->flavour); - cf_info.Type = __cst_get_tapi_cf_teleservice_type(req->call_type); + cf_info.Class = TAPI_SS_CLASS_VOICE; + if (req->action == CST_ACTION_QUERY) { - api_ret = tel_get_ss_forward_status(cf_info.Type, cf_info.Condition, &req_id); + api_ret = tel_get_ss_forward_status(ugd->tapi_handle, cf_info.Class, cf_info.Condition, __cst_ss_forward_resp_cb, (void *)req); } else { cf_info.Mode = __cst_get_tapi_cf_mode(req->action); - cf_info.NoReplyConditionTimer = 20; + if ((req->flavour == CST_SSTYPE_CF_NO_REPLY) && (req->waiting_time > 0)) { + cf_info.NoReplyConditionTimer = req->waiting_time; + } snprintf(cf_info.szPhoneNumber, TAPI_CALL_DIALDIGIT_LEN_MAX, "%s", req->number); - api_ret = tel_set_ss_forward(&cf_info, &req_id); + api_ret = tel_set_ss_forward(ugd->tapi_handle, &cf_info, __cst_ss_forward_resp_cb, (void *)req); } break; case CST_SSTYPE_CB_OC: @@ -366,27 +662,28 @@ void __cst_send_ss_req_to_telephony_server(CallSettingReq_t *req) case CST_SSTYPE_CB_IC: case CST_SSTYPE_CB_ICR: cb_info.Type = __cst_get_tapi_cb_flavour(req->flavour); - cb_info.CallType = __cst_get_tapi_teleservice_type(req->call_type); + cb_info.Class = __cst_get_tapi_teleservice_type(req->call_type); - DBG("%d <= %d <= %d calltype", TAPI_CALL_TYPE_VOICE_EV, cb_info.CallType, TAPI_CALL_TYPE_ALL_TELE); - DBG("%d <= %d <= %d type", TAPI_CALL_BARRING_ALL, cb_info.Type, TAPI_CALL_BARRING_ALL_INCOMING_CALLS_INSIM); + DBG("%d <= %d <= %d calltype", TAPI_SS_CLASS_VOICE, cb_info.Class, TAPI_SS_CLASS_ALL_TELE); + DBG("%d <= %d <= %d type", TAPI_SS_CB_TYPE_AB, cb_info.Type, TAPI_SS_CB_TYPE_BIC_NOT_SIM); if (req->action == CST_ACTION_QUERY) { - api_ret = tel_get_ss_barring_status(cb_info.Type, cb_info.CallType, &req_id); + /*To do - add callback function*/ + api_ret = tel_get_ss_barring_status(ugd->tapi_handle, cb_info.Class, cb_info.Type, __cst_ss_barring_resp_cb, (void *)req); } else { cb_info.Mode = __cst_get_tapi_cb_mode(req->action); - DBG("%d <= %d <= %d mode", TAPI_SS_CALL_BAR_ACTIVATE, cb_info.Mode, TAPI_SS_CALL_BAR_DEACTIVATE); + DBG("%d <= %d <= %d mode", TAPI_SS_CB_MODE_ACTIVATE, cb_info.Mode, TAPI_SS_CB_MODE_DEACTIVATE); DBG("%d == %d pwd length", strnlen(cb_info.szPassword, 4), TAPI_SS_GSM_BARR_PW_LEN_MAX); memcpy(cb_info.szPassword, req->number, TAPI_SS_GSM_BARR_PW_LEN_MAX); - api_ret = tel_set_ss_barring(&cb_info, &req_id); + api_ret = tel_set_ss_barring(ugd->tapi_handle, &cb_info, __cst_ss_barring_resp_cb, (void *)req); } break; case CST_SSTYPE_CW: - cw_info.CallType = __cst_get_tapi_teleservice_type(req->call_type); + cw_info.Class = __cst_get_tapi_teleservice_type(req->call_type); if (req->action == CST_ACTION_QUERY) { - api_ret = tel_get_ss_waiting_status(cw_info.CallType, &req_id); + api_ret = tel_get_ss_waiting_status(ugd->tapi_handle, cw_info.Class, __cst_ss_waiting_resp_cb, (void *)req); } else { cw_info.Mode = __cst_get_tapi_cw_mode(req->action); - api_ret = tel_set_ss_waiting(&cw_info, &req_id); + api_ret = tel_set_ss_waiting(ugd->tapi_handle, &cw_info, __cst_ss_waiting_resp_cb, (void *)req); } break; } @@ -399,7 +696,7 @@ void __cst_send_ss_req_to_telephony_server(CallSettingReq_t *req) CstGlItemData_t *item_data; CstUgData_t *ugd; - req->func(req->call_type, req->flavour, EINA_FALSE, NULL, CST_ERROR_INCORRECT_OPERATION, req->action, req->data); + req->func(req->call_type, req->flavour, EINA_FALSE, NULL, CST_ERROR_INCORRECT_OPERATION, req->action, req->data, req->waiting_time); item_data = (CstGlItemData_t *)req->data; ugd = (CstUgData_t *)item_data->ugd; __cst_remove_ss_request(ugd); @@ -410,394 +707,23 @@ void __cst_send_ss_req_to_telephony_server(CallSettingReq_t *req) return; } -static int __cst_on_tel_event_cf_cnf(const TelTapiEvent_t *event, void *userdata) -{ - ENTER(__cst_on_tel_event_cf_cnf); - - CstUgData_t *ugd = (CstUgData_t *)userdata; - retv_if(event == NULL, -1); - retv_if(ugd == NULL, -1); - - int i; - - DBG("event->type =%d req_id=0x%x status=0x%x dlen=%d", event->EventType, event->RequestId, event->Status, event->pDataLen); - - CallSettingReq_t *req; - req = __cst_get_current_request(ugd); - retv_if(req == NULL, -1); - retv_if(req->req_id != event->RequestId, -1); - retv_if(req->is_requesting == EINA_FALSE, -1); - if (req->is_canceled == EINA_TRUE) { - DBG("Req(0x%xp,req_id=%d) was canceled. So It will be removed", req, req->req_id); - __cst_remove_ss_request(ugd); - return 0; - } - - if (event->EventClass != TAPI_EVENT_CLASS_SS) { - DBG("wrong event class"); - return -1; - } - - if (event->EventType != TAPI_EVENT_SS_FORWARD_CNF && event->EventType != TAPI_EVENT_SS_FORWARD_QUERYSTATUS_CNF) { - DBG("wrong event type"); - return -1; - } - - if (event->Status != TAPI_SS_SUCCESS) { - DBG("Event Status is %d", event->Status); - int error; - error = __cst_get_ciss_error_from_tapi_error(event->Status); - DBG("req=0x%p", req); - if (req) { - req->func(req->call_type, req->flavour, EINA_FALSE, NULL, error, req->action, req->data); - } - __cst_remove_ss_request(ugd); - return 0; - } - - if (event->pData == NULL) { - DBG("Event data is NULL"); - return -1; - } - - TelSsInfo_t ss_info; - memcpy(&ss_info, event->pData, sizeof(TelSsInfo_t)); - - char number[TAPI_CALL_DIALDIGIT_LEN_MAX]; - - Eina_Bool cf_state = EINA_FALSE; - int cf_flavour; - int call_type; - - for (i = 0; i < ss_info.NumberOfRecords; ++i) { - number[0] = '\0'; - DBG("TeleCommService=%d", ss_info.SsRecord.ForwardingRecord.rec_class[i].TeleCommService); - DBG("Flavour=%d", ss_info.SsRecord.ForwardingRecord.rec_class[i].ForwardCondition); - DBG("Status=%d", ss_info.SsRecord.ForwardingRecord.rec_class[i].Status); - switch (ss_info.SsRecord.ForwardingRecord.rec_class[i].TeleCommService) { - case TAPI_SS_TS_ALL_SPEECH: - call_type = CST_CALLTYPE_VOICE; - break; - case TAPI_SS_BS_DATA_CIRCUIT_SYNC: - call_type = CST_CALLTYPE_VIDEO; - break; - case TAPI_SS_TS_ALL_TELESERVICES: - case TAPI_SS_TS_ALL_TELE_AND_BEARER_SERVICES: - call_type = CST_CALLTYPE_ALL; - break; - default: - call_type = -1; - break; - } - //If the call type of the record is not same with request, skip below code - DBG("req->call_type == %d call_type=%d", req->call_type, call_type); - if (req->call_type != call_type && call_type != CST_CALLTYPE_ALL) - continue; - - switch (ss_info.SsRecord.ForwardingRecord.rec_class[i].ForwardCondition) { - case TAPI_SS_FORWARD_WHEN_UNCONDITIONAL_EV: - cf_flavour = CST_SSTYPE_CF_UNCONDITIONAL; - break; - case TAPI_SS_FORWARD_WHEN_BUSY_EV: - cf_flavour = CST_SSTYPE_CF_BUSY; - break; - case TAPI_SS_FORWARD_WHEN_NO_ANSWER_EV: - cf_flavour = CST_SSTYPE_CF_NO_REPLY; - break; - case TAPI_SS_FORWARD_WHEN_NOT_REACHABLE_EV: - cf_flavour = CST_SSTYPE_CF_NOT_REACHABLE; - break; - case TAPI_SS_FORWARD_WHEN_ALL_FORWARDING_EV: - cf_flavour = CST_SSTYPE_CF_ALL; - break; - case TAPI_SS_FORWARD_WHEN_ALL_CONDITIONAL_EV: - cf_flavour = CST_SSTYPE_CF_ALL_CONDITIONAL; - break; - default: - ERR("Invalid CF Flavour"); - return -1; - } - - switch (ss_info.SsRecord.ForwardingRecord.rec_class[i].Status) { - case TAPI_SS_STATUS_ACTIVE: - case TAPI_SS_STATUS_REGISTERED: - cf_state = EINA_TRUE; - break; - case TAPI_SS_STATUS_NOTHING: - case TAPI_SS_STATUS_PROVISIONED: - case TAPI_SS_STATUS_QUIESCENT: - cf_state = EINA_FALSE; - break; - default: - ERR("Invalid CF state"); - return -1; - } - - if (ss_info.SsRecord.ForwardingRecord.rec_class[i].bCallForwardingNumberPresent == 1) { - snprintf(number, TAPI_CALL_DIALDIGIT_LEN_MAX, "%s", ss_info.SsRecord.ForwardingRecord.rec_class[i].szCallForwardingNumber); - } - - req->func(call_type, cf_flavour, cf_state, number, CST_ERROR_NONE, req->action, req->data); - } - - __cst_remove_ss_request(ugd); - - LEAVE(); - - return 0; -} - -static int __cst_on_tel_event_cb_cnf(const TelTapiEvent_t *event, void *userdata) -{ - ENTER(__cst_on_tel_event_cb_cnf); - - CstUgData_t *ugd = (CstUgData_t *)userdata; - retv_if(event == NULL, -1); - retv_if(ugd == NULL, -1); - - int i; - - DBG("event->type =%d req_id=0x%x status=0x%x dlen=%d", event->EventType, event->RequestId, event->Status, event->pDataLen); - - CallSettingReq_t *req; - req = __cst_get_current_request(ugd); - retv_if(req == NULL, -1); - retv_if(req->req_id != event->RequestId, -1); - retv_if(req->is_requesting == EINA_FALSE, -1); - if (req->is_canceled == EINA_TRUE) { - __cst_remove_ss_request(ugd); - return 0; - } - - if (event->EventClass != TAPI_EVENT_CLASS_SS) { - DBG("wrong event class"); - return -1; - } - - if (event->Status != TAPI_SS_SUCCESS) { - DBG("Event Status is %d", event->Status); - int error; - error = __cst_get_ciss_error_from_tapi_error(event->Status); - if (req) { - req->func(req->call_type, req->flavour, EINA_FALSE, NULL, error, req->action, req->data); - } - __cst_remove_ss_request(ugd); - return 0; - } - - if (event->pData == NULL) { - DBG("Event data is NULL"); - return -1; - } - - TelSsInfo_t ss_info; - memcpy(&ss_info, event->pData, sizeof(TelSsInfo_t)); - - char number[50]; - - Eina_Bool cb_state = EINA_FALSE; - int cb_flavour = -1; - int call_type; - - for (i = 0; i < ss_info.NumberOfRecords; ++i) { - number[0] = '\0'; - DBG("TeleCommService=0x%x", ss_info.SsRecord.BarringRecord.rec_class[i].TeleCommService); - DBG("Flavour=0x%x", ss_info.SsRecord.BarringRecord.rec_class[i].Flavour); - DBG("Status=0x%x", ss_info.SsRecord.BarringRecord.rec_class[i].Status); - switch (ss_info.SsRecord.BarringRecord.rec_class[i].TeleCommService) { - case TAPI_SS_TS_ALL_SPEECH: - call_type = CST_CALLTYPE_VOICE; - break; - case TAPI_SS_TS_ALL_DATA_TELESERVICES: - call_type = CST_CALLTYPE_VIDEO; - break; - case TAPI_SS_TS_ALL_TELESERVICES: - case TAPI_SS_ALL_TELE_BEARER: - call_type = CST_CALLTYPE_ALL; - break; - default: - call_type = -1; - break; - } - //If the call type of the record is not same with request, skip below code - if (req->call_type != call_type && call_type != CST_CALLTYPE_ALL) - continue; - - switch (ss_info.SsRecord.BarringRecord.rec_class[i].Flavour) { - case TAPI_CALL_BARRING_ALL_OUTGOING_CALLS: - cb_flavour = CST_SSTYPE_CB_OC; - break; - case TAPI_CALL_BARRING_ALL_OUTGOING_INTERN_CALL: - cb_flavour = CST_SSTYPE_CB_OIC; - break; - case TAPI_CALL_BARRING_ALL_OUTGOING_INTERN_CALL_EXCEPT: - cb_flavour = CST_SSTYPE_CB_OICEH; - break; - case TAPI_CALL_BARRING_ALL_INCOMING_CALLS: - cb_flavour = CST_SSTYPE_CB_IC; - break; - case TAPI_CALL_BARRING_ALL_INCOMING_CALLS_ROAMING: - cb_flavour = CST_SSTYPE_CB_ICR; - break; - default: - ERR("Invalid CB Flavour"); - return 0; - } - - switch (ss_info.SsRecord.BarringRecord.rec_class[i].Status) { - case TAPI_SS_STATUS_ACTIVE: - case TAPI_SS_STATUS_REGISTERED: - cb_state = EINA_TRUE; - break; - case TAPI_SS_STATUS_NOTHING: - case TAPI_SS_STATUS_PROVISIONED: - case TAPI_SS_STATUS_QUIESCENT: - cb_state = EINA_FALSE; - break; - default: - ERR("Invalid CB state"); - return 0; - } - - } - - req->func(call_type, cb_flavour, cb_state, NULL, CST_ERROR_NONE, req->action, req->data); - - __cst_remove_ss_request(ugd); - - LEAVE(); - - return -1; -} - -static int __cst_on_tel_event_cw_cnf(const TelTapiEvent_t *event, void *userdata) -{ - ENTER(__cst_on_tel_event_cw_cnf); - CstUgData_t *ugd = (CstUgData_t *)userdata; - retv_if(event == NULL, -1); - retv_if(ugd == NULL, -1); - - CallSettingReq_t *req; - - req = __cst_get_current_request(ugd); - retv_if(req == NULL, -1); - retv_if(req->req_id != event->RequestId, -1); - retv_if(req->is_requesting == EINA_FALSE, -1); - retv_if(NULL == req->data, -1); - if (req->is_canceled == EINA_TRUE) { - __cst_remove_ss_request(ugd); - return 0; - } - - DBG("event->type =%d req_id=0x%x status=0x%x dlen=%d", event->EventType, event->RequestId, event->Status, event->pDataLen); - - if (event->EventClass != TAPI_EVENT_CLASS_SS) { - DBG("wrong event class"); - return -1; - } - - if (event->Status != TAPI_SS_SUCCESS) { - DBG("Event Status is %d", event->Status); - int error; - - error = __cst_get_ciss_error_from_tapi_error(event->Status); - - if (req) { - req->func(req->call_type, req->flavour, EINA_TRUE, NULL, error, req->action, req->data); - } - - __cst_remove_ss_request(ugd); - return 0; - } - - if (event->pData == NULL) { - DBG("Event data is NULL"); - return -1; - } - - TelSsInfo_t ss_info; - memcpy(&ss_info, event->pData, sizeof(TelSsInfo_t)); - - DBG("CW Status = %d", ss_info.SsRecord.WaitingRecord.rec_class[0].Status); - retv_if(NULL == req->func, -1); - switch (ss_info.SsRecord.WaitingRecord.rec_class[0].Status) { - case TAPI_SS_STATUS_ACTIVE: - case TAPI_SS_STATUS_REGISTERED: - req->func(req->call_type, req->flavour, EINA_TRUE, NULL, CST_ERROR_NONE, req->action, req->data); - break; - case TAPI_SS_STATUS_PROVISIONED: - case TAPI_SS_STATUS_QUIESCENT: - req->func(req->call_type, req->flavour, EINA_FALSE, NULL, CST_ERROR_NONE, req->action, req->data); - break; - default: - ERR("Call waiting query error"); - break; - } - - __cst_remove_ss_request(ugd); - LEAVE(); - return 0; -} - -typedef struct _EventHandler { - int event_type; - TelAppCallback func; -} EventHandler; - void _cst_ciss_register_tel_event(void *data) { ENTER(_cst_ciss_register_tel_event); CstUgData_t *ugd = (CstUgData_t *)data; - int i = 0; - int len = 0; - int sub_id = 0; - int api_ret = -1; - EventHandler event_list[] = { - {TAPI_EVENT_SS_FORWARD_QUERYSTATUS_CNF, __cst_on_tel_event_cf_cnf}, - {TAPI_EVENT_SS_FORWARD_CNF, __cst_on_tel_event_cf_cnf}, - {TAPI_EVENT_SS_WAITING_QUERYSTATUS_CNF, __cst_on_tel_event_cw_cnf}, - {TAPI_EVENT_SS_WAITING_CNF, __cst_on_tel_event_cw_cnf}, - {TAPI_EVENT_SS_BARRING_QUERYSTATUS_CNF, __cst_on_tel_event_cb_cnf}, - {TAPI_EVENT_SS_BARRING_CNF, __cst_on_tel_event_cb_cnf}, - }; - - len = sizeof(event_list) / sizeof(EventHandler); - - ugd->tel_event_subscription_list = NULL; - if (tel_init() == TAPI_API_SUCCESS) { - for (i = 0; i < len; i++) { - api_ret = tel_register_event(event_list[i].event_type, &sub_id, event_list[i].func, (void *)ugd); - if (api_ret != TAPI_API_SUCCESS) - DBG("tel_register_event error=%d", api_ret); - DBG("tapi callback=0x%p", event_list[i].func); - ugd->tel_event_subscription_list = g_slist_append(ugd->tel_event_subscription_list, GINT_TO_POINTER(sub_id)); - } - api_ret = tel_register_app_name("org.tizen.ciss"); - if (api_ret != TAPI_API_SUCCESS) - DBG("tel_register_app_name error=%d", api_ret); - } else - ERR("TelTapiInit() failed."); + if (ugd == NULL) { + ERR("ugd = NULL, so returning"); + return; + } - LEAVE(); + ugd->tapi_handle = tel_init(NULL); + if (ugd->tapi_handle != NULL) + ERR("tel_init() Success, handle created."); + else + ERR("tel_init() failed."); + LEAVE(); return; } -static void __cst_deregister_tel_event(gpointer data, gpointer userdata) -{ - int ret; - int sub_id = GPOINTER_TO_INT(data); - ret = tel_deregister_event(sub_id); - DBG("sub_id = %d, ret = %d", sub_id, ret); -} - -void _cst_ciss_deregister_tel_event(void *data) -{ - ENTER(_cst_ciss_deregister_tel_event); - CstUgData_t *ugd = (CstUgData_t *)data; - - g_slist_foreach(ugd->tel_event_subscription_list, __cst_deregister_tel_event, NULL); - g_slist_free(ugd->tel_event_subscription_list); - LEAVE(); -} diff --git a/src/cst-util.c b/src/cst-util.c index 2eee749..5ede3dd 100755 --- a/src/cst-util.c +++ b/src/cst-util.c @@ -1,23 +1,43 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 "cst-debug.h" #include "cst-util.h" +#include "cst-common.h" +#include "cst-reject-msg.h" +#include "cst-widget.h" #include #include +#include +#include +#include +#include + +#ifndef UG_MODULE_API +#define UG_MODULE_API __attribute__ ((visibility("default"))) +#endif + +UG_MODULE_API char *cst_reject_msg_get(int index) +{ + ENTER(cst_reject_msg_get); + bindtextdomain(UGNAME, CST_LOCALE); + + char *message = _cst_get_reject_message(index); + return message; +} void _cst_vconf_get_bool(const char *in_key, int *boolval) { @@ -86,3 +106,181 @@ Eina_Bool _cst_check_sim_status(void) } return sim_avail; } + +int _cst_parse_bundle(service_h service) +{ + int type = CST_UG_REQ_NONE; + char* val = NULL; + + if (service) { + service_get_extra_data(service, CST_UG_BUNDLE_TYPE, &val); + if (val) type = atoi(val); + DBG("Bundle type = %d", type); + } + + return type; +} + +static void __cst_contact_list_view_ug_destroy_cb(ui_gadget_h ug, void *priv) +{ + ENTER(__cst_contact_list_view_ug_destroy_cb); + if (ug) + ug_destroy(ug); +} + +static void __cst_contact_list_view_ug_result_cb(ui_gadget_h ug, service_h service, void *priv) +{ + ENTER(__cst_contact_list_view_ug_result_cb); + CstUgData_t *ugd = (CstUgData_t *)priv; + + char *temp_p = NULL; + int contact_index; + int error_code = CTS_SUCCESS; + CTSvalue *number = NULL; + CTSvalue *name = NULL; + const char *first = NULL, *last = NULL, *display_name = NULL, *return_name = NULL, *return_number = NULL; + Evas_Object *error; + CTSstruct *contact = NULL; + + service_get_extra_data(service, CT_UG_BUNDLE_RESULT_NUMBER_ID, &temp_p); + contact_index = atoi(temp_p); + + contacts_svc_connect(); + error_code = contacts_svc_get_contact_value(CTS_GET_NUMBER_VALUE, contact_index, &number); + + if (error_code >= CTS_SUCCESS) { + return_number = contacts_svc_value_get_str(number, CTS_NUM_VAL_NUMBER_STR); + if (ugd->dg_entry_contact_number) + elm_entry_entry_set(ugd->dg_entry_contact_number, return_number); + else + elm_entry_entry_set(ugd->dg_entry, return_number); + DBG("contact number : %s", return_number); + } else { + DBG(" contact API has a problem \n"); + error = _cst_create_error_popup(ugd->nf, CST_ERROR_SELECT_VALID_ENTRY); + ugd->popup = error; + evas_object_show(error); + return; + } + + if (ugd->dg_entry_contact_name) { + service_get_extra_data(service, CT_UG_BUNDLE_RESULT_CONTACT_ID, &temp_p); + contact_index = atoi(temp_p); + + if (contact_index >= 0 && contacts_svc_get_contact(contact_index, &contact) == CTS_SUCCESS) { + contacts_svc_struct_get_value(contact, CTS_CF_NAME_VALUE, &name); + DBG("after contacts_svc_struct_get_value\n"); + display_name = contacts_svc_value_get_str(name, CTS_NAME_VAL_DISPLAY_STR); + DBG("display name: %s\n", return_name); + first = contacts_svc_value_get_str(name, CTS_NAME_VAL_FIRST_STR); + DBG("first name: %s\n", return_name); + last = contacts_svc_value_get_str(name, CTS_NAME_VAL_LAST_STR); + DBG("last name : %s\n", return_name); + + if (display_name != NULL) { + return_name = g_strdup(display_name); + } else if (first != NULL && last != NULL) { + if (CTS_ORDER_NAME_FIRSTLAST == contacts_svc_get_order(CTS_ORDER_OF_DISPLAY)) + return_name = g_strdup_printf("%s %s", first, last); + else + return_name = g_strdup_printf("%s %s", last, first); + DBG("after contacts_svc_get_order\n"); + } else if (first != NULL) { + return_name = g_strdup_printf("%s", first); + } else if (last != NULL) { + return_name = g_strdup_printf("%s", last); + } else + DBG("No name available"); + + if (return_name) { + elm_entry_entry_set(ugd->dg_entry_contact_name, return_name); + } + DBG("return_name : %s\n", return_name); + g_free((gpointer)return_name); + } + } + + + contacts_svc_disconnect(); + + ug_destroy(ug); +} + +static void __cst_contact_list_view_ug_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv) +{ + ENTER(__cst_contact_list_view_ug_layout_cb); + Evas_Object *base = ug_get_layout(ug); + + ret_if(NULL == base); + + evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(ug_get_window(), base); + evas_object_show(base); +} + +static ui_gadget_h __cst_invoke_contact_uigadget(void *data) +{ + ENTER(__cst_invoke_contact_uigadget); + ui_gadget_h ug; + struct ug_cbs cbs = {0, }; + char buf[16]; + retv_if(NULL == data, NULL); + CstUgData_t *ugd = (CstUgData_t *)data; + + service_h service = NULL; + + service_create(&service); + + retv_if(NULL == service, NULL); + + service_set_operation(service, SERVICE_OPERATION_CREATE_CONTENT); + + snprintf(buf, sizeof(buf), "%d", CT_UG_REQUEST_SELECT_NUMBER); + + service_add_extra_data(service, CT_UG_BUNDLE_TYPE, buf); + + cbs.layout_cb = __cst_contact_list_view_ug_layout_cb; + cbs.result_cb = __cst_contact_list_view_ug_result_cb; + cbs.destroy_cb = __cst_contact_list_view_ug_destroy_cb; + cbs.priv = (void *)ugd; + + ug = ug_create((ui_gadget_h)ugd->ug, UG_CONTACTS_LIST, UG_MODE_FULLVIEW, service, &cbs); + + service_destroy(service); + + return ug; +} + +void _cst_on_click_ime_contact_btn(void *data, Evas_Object *obj, void *event_info) +{ + ENTER(_cst_on_click_ime_contact_btn); + ret_if(NULL == data); + CstUgData_t *ugd = (CstUgData_t *)data; + + __cst_invoke_contact_uigadget(ugd); +} + +void _cst_connect_reject_list_handle(CstUgData_t *ugd) +{ + ENTER(_cst_connect_reject_list_handle); + ret_if(NULL == ugd); + + ugd->reject_handle = phone_misc_connect(); + if (NULL == ugd->reject_handle) { + DBG("phone_misc_connect Failed"); + return; + } +} + +void _cst_disconnect_reject_list_handle(CstUgData_t *ugd) +{ + ENTER(_cst_connect_reject_list_handle); + ret_if(NULL == ugd); + + int phone_misc_ret = phone_misc_disconnect(ugd->reject_handle); + if (phone_misc_ret < 0) { + DBG("phone_misc_disconnect() Failed(%d)", phone_misc_ret); + return; + } +} + diff --git a/src/cst-waiting.c b/src/cst-waiting.c index 783f58e..230b7f2 100755 --- a/src/cst-waiting.c +++ b/src/cst-waiting.c @@ -1,18 +1,18 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 @@ -26,12 +26,9 @@ #include "cst-util.h" static Elm_Genlist_Item_Class *itc_1text_1icon = NULL; -static Elm_Genlist_Item_Class *itc_help = NULL; -static Elm_Object_Item *ec_item[3]; static CstGlItemDisplayInfo_t list_call_waiting[] = { {1, CST_STR_CALL_WAITING, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF_PROGRESS, NULL}, - {1, CST_STR_DURING_CALL_NOTIFY_ME, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL}, {1, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL}, }; @@ -54,7 +51,6 @@ static void __cst_on_update_cw_state(int call_type, int flavour, else ugd->cw_state = CST_SS_STATE_OFF; elm_genlist_item_update(item_data->gl_item); - elm_object_item_disabled_set(ec_item[0], EINA_TRUE); } else { ugd->cw_state = CST_SS_STATE_OFF; elm_genlist_item_update(item_data->gl_item); @@ -65,7 +61,6 @@ static void __cst_on_update_cw_state(int call_type, int flavour, ugd->cw_state = CST_SS_STATE_OFF; elm_genlist_item_update(item_data->gl_item); elm_object_item_disabled_set(item_data->gl_item, EINA_TRUE); - elm_object_item_disabled_set(ec_item[0], EINA_FALSE); } } } @@ -87,13 +82,12 @@ static void __cst_gl_sel_cw(void *data, Evas_Object *obj, void *event_info) elm_genlist_item_update(item_data->gl_item); _cst_add_ss_request(&ugd->req_queue, action, CST_CALLTYPE_ALL, CST_SSTYPE_CW, NULL, - __cst_on_update_cw_state, item_data); + __cst_on_update_cw_state, item_data, -1, ugd); } static void __cst_on_changed_cw_check(void *data, Evas_Object *obj, void *event_info) { - Evas_Object *eo; - + ret_if(data == NULL); CstGlItemData_t *item_data = (CstGlItemData_t *)data; CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; int check_state = elm_check_state_get(obj); @@ -108,7 +102,7 @@ static void __cst_on_changed_cw_check(void *data, Evas_Object *obj, void *event_ elm_genlist_item_update(item_data->gl_item); _cst_add_ss_request(&ugd->req_queue, action, CST_CALLTYPE_ALL, CST_SSTYPE_CW, NULL, - __cst_on_update_cw_state, item_data); + __cst_on_update_cw_state, item_data, -1, ugd); } @@ -119,7 +113,8 @@ static char *__cst_gl_label_get_cw(void *data, Evas_Object *obj, const char *par if ((strcmp(part, "elm.text") == 0) || (strcmp(part, "elm.text.1") == 0)) { - return strdup(T_(list_call_waiting[item_data->index].str_id)); + if (list_call_waiting[item_data->index].str_id != -1) + return strdup(T_(list_call_waiting[item_data->index].str_id)); } return NULL; } @@ -168,15 +163,8 @@ static Evas_Object *__cst_create_genlist_cw(void *data) Evas_Object *genlist; CstGlItemData_t *item_data; - genlist = elm_genlist_add(ugd->nf); - - elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); - _cst_create_genlist_seperator(genlist, EINA_FALSE); - if (!itc_1text_1icon) itc_1text_1icon = elm_genlist_item_class_new(); - if (!itc_help) - itc_help = elm_genlist_item_class_new(); itc_1text_1icon->item_style = "dialogue/1text.1icon"; itc_1text_1icon->func.text_get = __cst_gl_label_get_cw; @@ -184,15 +172,14 @@ static Evas_Object *__cst_create_genlist_cw(void *data) itc_1text_1icon->func.state_get = NULL; itc_1text_1icon->func.del = __cst_gl_del_cw; - itc_help->item_style = "multiline/1text"; - itc_help->func.text_get = __cst_gl_label_get_cw; - itc_help->func.content_get = NULL; - itc_help->func.state_get = NULL; - itc_help->func.del = __cst_gl_del_cw; - + genlist = elm_genlist_add(ugd->nf); + + elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); + elm_object_style_set(genlist, "dialogue"); + _cst_create_genlist_separator(genlist, EINA_FALSE); for (index = 0; list_call_waiting[index].style != CST_GL_ITEM_NONE; ++index) { item_data = (CstGlItemData_t *)calloc(1, sizeof(CstGlItemData_t)); - ret_if(item_data == NULL); + retv_if(NULL == item_data, NULL); item_data->index = index; item_data->ugd = ugd; @@ -203,49 +190,17 @@ static Evas_Object *__cst_create_genlist_cw(void *data) ugd->cw_state = CST_SS_STATE_PROGRESS; _cst_add_ss_request(&ugd->req_queue, CST_ACTION_QUERY, CST_CALLTYPE_ALL, CST_SSTYPE_CW, NULL, - __cst_on_update_cw_state, item_data); - } else if (list_call_waiting[index].style == CST_GL_ITEM_HELP_TEXT) { - item_data->gl_item = elm_genlist_item_append(genlist, itc_help, - (void *)item_data, NULL, list_call_waiting[index].flags, - NULL, NULL); - elm_genlist_item_select_mode_set(item_data->gl_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - _cst_create_genlist_underline(genlist); + __cst_on_update_cw_state, item_data, -1, ugd); } else { DBG("No style"); free(item_data); item_data = NULL; - return; + return NULL; } } - return genlist; -} - -static void __cst_on_click_cw_check_status_btn(void *data, Evas_Object *obj, void *event_info) -{ - ENTER(__cst_on_click_cw_check_status_btn); - ret_if(!data); + _cst_create_genlist_separator_no_line(genlist); - Evas_Object *genlist = (Evas_Object *)data; - CstGlItemData_t *item_data; - CstUgData_t *ugd; - Eina_List *realized_list; - Elm_Object_Item *it; - Eina_List *l; - - realized_list = elm_genlist_realized_items_get(genlist); - EINA_LIST_FOREACH(realized_list, l, it) { - item_data = (CstGlItemData_t *)elm_object_item_data_get(it); - if (elm_object_item_disabled_get(it) == EINA_TRUE) { - ugd = item_data->ugd; - ugd->cw_state = CST_SS_STATE_PROGRESS; - _cst_add_ss_request(&ugd->req_queue, CST_ACTION_QUERY, - CST_CALLTYPE_ALL, CST_SSTYPE_CW, NULL, - __cst_on_update_cw_state, item_data); - elm_object_item_disabled_set(it, EINA_FALSE); - elm_genlist_item_update(it); - } - } - elm_object_item_disabled_set(ec_item[0], EINA_TRUE); + return genlist; } static void __cst_on_click_cw_back_button(void *data, Evas_Object *obj, void *event_info) @@ -266,7 +221,6 @@ void _cst_on_click_call_waiting(void *data, Evas *evas, Evas_Object *obj, void * Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *)event_info; Evas_Object *back_btn = NULL; Evas_Object *layout; - Evas_Object *cbar; Elm_Object_Item *navi_it; if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) { @@ -300,12 +254,5 @@ void _cst_on_click_call_waiting(void *data, Evas *evas, Evas_Object *obj, void * back_btn = elm_object_item_part_content_get(navi_it, "prev_btn"); evas_object_smart_callback_add(back_btn, "clicked", __cst_on_click_cw_back_button, ugd); - cbar = _cst_create_navi_control_bar(ugd->nf, - (char *)T_(CST_STR_CHECK_STATUS), CST_CTRL_ICON_UPDATE, - __cst_on_click_cw_check_status_btn, - NULL, NULL, NULL, - (void *)genlist, navi_it, - ec_item); - ret_if((NULL == cbar) || (NULL == ec_item[0])); - elm_object_item_disabled_set(ec_item[0], EINA_TRUE); } + diff --git a/src/cst-widget.c b/src/cst-widget.c index b29e457..7b2b687 100755 --- a/src/cst-widget.c +++ b/src/cst-widget.c @@ -1,30 +1,38 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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 #include #include #include +#include #include "cst-common.h" #include "cst-widget.h" #include "cst-common-string.h" #include "cst-debug.h" +#include "cst-reject-msg.h" +#include "cst-autoreject.h" +#include "cst-prefix-dial.h" +#include "cst-forwarding.h" +#include "cst-util.h" +#include "cst-widget.h" static Elm_Genlist_Item_Class *itc_seperator = NULL; +static Elm_Genlist_Item_Class *itc_seperator_no_line = NULL; static Elm_Genlist_Item_Class *itc_underline = NULL; /* This callback is for showing(hiding) X marked button. */ @@ -140,6 +148,62 @@ Evas_Object *_cst_create_error_popup(Evas_Object *parent, int error) return popup; } +static void __cst_2btn_popup_ok_cb(void *data, Evas_Object *obj, void *event_info) +{ + ret_if(data == NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + + switch (item_data->str_id) { + case CST_STR_UNABLE_TO_TURN_OFF_PROXIMITY: + _cst_vconf_set_bool(VCONFKEY_CISSAPPL_PROXIMITY_SENSOR_BOOL, EINA_FALSE); + _cst_vconf_set_bool(VCONFKEY_CISSAPPL_POWER_KEY_ENDS_CALL_BOOL, EINA_FALSE); + break; + case CST_STR_UNABLE_TO_SET_POWER_KEY_END_CALL: + _cst_vconf_set_bool(VCONFKEY_CISSAPPL_POWER_KEY_ENDS_CALL_BOOL, EINA_TRUE); + _cst_vconf_set_bool(VCONFKEY_CISSAPPL_PROXIMITY_SENSOR_BOOL, EINA_TRUE); + break; + default: + DBG("__cst_2btn_popup_response_cb() error"); + break; + } + elm_genlist_item_update(item_data->gl_item); + evas_object_del(ugd->popup); + ugd->popup = NULL; +} + +static void __cst_2btn_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info) +{ + ret_if(data == NULL); + CstGlItemData_t *item_data = (CstGlItemData_t *)data; + CstUgData_t *ugd = (CstUgData_t *)item_data->ugd; + + evas_object_del(ugd->popup); + ugd->popup = NULL; +} + +Evas_Object *_cst_create_2btn_popup(Evas_Object *parent, CstGlItemData_t *item_data) +{ + retv_if((parent == NULL) || (item_data == NULL), NULL); + + Evas_Object *popup, *btn1, *btn2; + popup = elm_popup_add(parent); + elm_object_text_set(popup, T_(item_data->str_id)); + evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + btn1 = elm_button_add(popup); + elm_object_text_set(btn1, T_(CST_STR_OK)); + elm_object_part_content_set(popup, "button1", btn1); + evas_object_smart_callback_add(btn1, "clicked", __cst_2btn_popup_ok_cb, (void *)item_data); + + btn2 = elm_button_add(popup); + elm_object_text_set(btn2, T_(CST_STR_POP_CANCEL)); + elm_object_part_content_set(popup, "button2", btn2); + evas_object_smart_callback_add(btn2, "clicked", __cst_2btn_popup_cancel_cb, (void *)item_data); + + return popup; +} + Evas_Object *_cst_get_navifr_prev_btn(Evas_Object *nf) { ENTER(_cst_get_navifr_prev_btn); @@ -162,39 +226,47 @@ Evas_Object *_cst_create_navi_control_bar(Evas_Object *parent, Elm_Object_Item *item; Evas_Object *cbar = elm_toolbar_add(parent); elm_toolbar_shrink_mode_set(cbar, ELM_TOOLBAR_SHRINK_EXPAND); + int i = 0; retv_if(cbar == NULL, NULL); retv_if(label1 == NULL, NULL); - if (label2) { - Evas_Object *btn = elm_object_item_part_content_get(navi_it, - "prev_btn"); - if (btn) { - Elm_Object_Item *temp_it = NULL; - temp_it = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL); - elm_object_item_disabled_set(temp_it, EINA_TRUE); - if (label1) { - c_item[0] = elm_toolbar_item_append(cbar, - icon1, label1, cb1, data); - } - temp_it = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL); - elm_object_item_disabled_set(temp_it, EINA_TRUE); - } else { - if (label1) { - c_item[0] = elm_toolbar_item_append(cbar, - icon1, label1, cb1, data); - } - item = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL); + if (label1) { + c_item[0] = elm_toolbar_item_append(cbar, + icon1, label1, cb1, data); + } + + item = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL); + elm_object_item_part_content_set(item, "object", NULL); + elm_object_item_disabled_set(item, EINA_TRUE); + + Evas_Object *btn = elm_object_item_part_content_get(navi_it, + "prev_btn"); + + if (btn) { + if (label2) { + c_item[1] = elm_toolbar_item_append(cbar, + icon2, label2, cb2, data); + item = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL); elm_object_item_part_content_set(item, "object", NULL); + elm_object_item_disabled_set(item, EINA_TRUE); + } else { + for (;i < 2; i++) { + item = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL); + elm_object_item_part_content_set(item, "object", NULL); + elm_object_item_disabled_set(item, EINA_TRUE); + } } - c_item[1] = elm_toolbar_item_append(cbar, - icon2, label2, cb2, data); } else { - item = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL); - elm_object_item_part_content_set(item, "object", NULL); - - c_item[0] = elm_toolbar_item_append(cbar, - icon1, label1, cb1, data); + if (label2) { + for (;i < 2; i++) { + item = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL); + elm_object_item_part_content_set(item, "object", NULL); + elm_object_item_disabled_set(item, EINA_TRUE); + } + c_item[1] = elm_toolbar_item_append(cbar, + icon2, label2, cb2, data); + } } elm_object_item_part_content_set(navi_it, "controlbar", cbar); @@ -210,7 +282,7 @@ static void __cst_gl_del_seperator(void *data, Evas_Object *obj) return; } -void _cst_create_genlist_seperator(Evas_Object *genlist, Eina_Bool need_item_data) +void _cst_create_genlist_separator(Evas_Object *genlist, Eina_Bool need_item_data) { Elm_Object_Item *item = NULL; @@ -234,7 +306,25 @@ void _cst_create_genlist_seperator(Evas_Object *genlist, Eina_Bool need_item_dat itc_seperator->func.del = NULL; item = elm_genlist_item_append(genlist, itc_seperator, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); } - elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); +} + +void _cst_create_genlist_separator_no_line(Evas_Object *genlist) +{ + ret_if(NULL == genlist); + Elm_Object_Item *item = NULL; + + if (!itc_seperator_no_line) + itc_seperator_no_line = elm_genlist_item_class_new(); + + itc_seperator_no_line->item_style = "dialogue/separator/20"; + itc_seperator_no_line->func.text_get = NULL; + itc_seperator_no_line->func.content_get = NULL; + itc_seperator_no_line->func.state_get = NULL; + + itc_seperator_no_line->func.del = NULL; + item = elm_genlist_item_append(genlist, itc_seperator_no_line, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); } void _cst_create_genlist_underline(Evas_Object *genlist) @@ -244,7 +334,7 @@ void _cst_create_genlist_underline(Evas_Object *genlist) if (!itc_underline) itc_underline = elm_genlist_item_class_new(); - + itc_underline->item_style = "dialogue/separator/1/with_line"; itc_underline->func.text_get = NULL; itc_underline->func.content_get = NULL; @@ -353,14 +443,19 @@ Evas_Object *_cst_create_onoff_button(Evas_Object *obj, Evas_Object *_cst_create_radio_icon(Evas_Object *obj, Evas_Object *rdg, int value, int offset, const char *vconf_key) { - retv_if((NULL == obj) || (NULL == vconf_key), NULL); + retv_if(NULL == obj, NULL); int rd_value = 0; Evas_Object *radio = elm_radio_add(obj); - elm_radio_state_value_set(radio, value); + elm_radio_state_value_set(radio, value); elm_radio_group_add(radio, rdg); - _cst_vconf_get_int(vconf_key, &rd_value); - elm_radio_value_set(rdg, (rd_value + offset)); + if (vconf_key == NULL) { + elm_radio_value_set(rdg, offset); + } + else { + _cst_vconf_get_int(vconf_key, &rd_value); + elm_radio_value_set(rdg, (rd_value + offset)); + } return radio; } @@ -402,7 +497,7 @@ static void __cst_changed_editfield_cb(void *data, Evas_Object *obj, void *event Elm_Object_Item *navi_it = elm_naviframe_top_item_get(ugd->nf); ret_if(!navi_it); Evas_Object *btn = elm_object_item_part_content_get(navi_it, - "title_right_btn"); + "title_left_btn"); if (btn != NULL) { if (NULL == entry_str || '\0' == entry_str[0]) @@ -419,9 +514,12 @@ Evas_Object *_cst_create_ime_editfield(CstUgData_t *ugd, Ecore_IMF_Input_Panel_Layout panel_layout; Evas_Object *layout = elm_layout_add(parent); - elm_layout_theme_set(layout, "layout", "editfield", "default"); + elm_layout_theme_set(layout, "layout", "editfield", "title"); Elm_Entry_Filter_Limit_Size limit_filter_data; Elm_Entry_Filter_Accept_Set digits_filter_data; + Ecore_IMF_Context *imf_context; + void (*input_panel_cb)() = NULL; + int value = 0; ugd->dg_entry = elm_entry_add(parent); elm_object_part_content_set(layout, "elm.swallow.content", ugd->dg_entry); @@ -431,11 +529,21 @@ Evas_Object *_cst_create_ime_editfield(CstUgData_t *ugd, evas_object_smart_callback_add(ugd->dg_entry, "unfocused", _unfocused_cb, layout); elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, ugd->dg_entry); - if (input_string != NULL) - elm_entry_entry_set(ugd->dg_entry, input_string); - elm_entry_cursor_end_set(ugd->dg_entry); - switch (ime_type) { + case CST_IME_AUTO_REJECT: + elm_entry_single_line_set(ugd->dg_entry, EINA_TRUE); + elm_entry_scrollable_set(ugd->dg_entry, EINA_TRUE); + elm_object_part_text_set(layout, "elm.text", T_(CST_STR_ENTER_NUMBER)); + panel_layout = ECORE_IMF_INPUT_PANEL_LAYOUT_PHONENUMBER; + elm_entry_input_panel_layout_set(ugd->dg_entry, panel_layout); + limit_filter_data.max_char_count = 0; + limit_filter_data.max_byte_count = CST_MAX_PHONE_NUMBER_LEN; + digits_filter_data.accepted = "0123456789+*#"; + digits_filter_data.rejected = NULL; + elm_entry_markup_filter_append(ugd->dg_entry, + elm_entry_filter_accept_set, &digits_filter_data); + input_panel_cb = _cst_auto_reject_input_panel_event_callback; + break; case CST_IME_PREFIX_DIAL: elm_entry_single_line_set(ugd->dg_entry, EINA_TRUE); elm_entry_scrollable_set(ugd->dg_entry, EINA_TRUE); @@ -448,6 +556,15 @@ Evas_Object *_cst_create_ime_editfield(CstUgData_t *ugd, digits_filter_data.rejected = NULL; elm_entry_markup_filter_append(ugd->dg_entry, elm_entry_filter_accept_set, &digits_filter_data); + _cst_vconf_get_bool(VCONFKEY_CISSAPPL_PREFIX_DIAL_BOOL, &value); + input_panel_cb = _cst_prefix_dialling_input_panel_event_callback; + break; + case CST_IME_REJECT_MSG: + panel_layout = ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL; + elm_entry_input_panel_layout_set(ugd->dg_entry, panel_layout); + limit_filter_data.max_char_count = 0; + limit_filter_data.max_byte_count = CST_MAX_ITEM_TEXT_BUFFER_LEN - 1; + input_panel_cb = _cst_reject_msg_input_panel_event_callback; break; case CST_IME_CALL_FORWARD: elm_entry_single_line_set(ugd->dg_entry, EINA_TRUE); @@ -461,6 +578,7 @@ Evas_Object *_cst_create_ime_editfield(CstUgData_t *ugd, digits_filter_data.rejected = NULL; elm_entry_markup_filter_append(ugd->dg_entry, elm_entry_filter_accept_set, &digits_filter_data); + input_panel_cb = _cst_call_forwarding_input_panel_event_callback; break; case CST_IME_CALL_BAR: elm_entry_single_line_set(ugd->dg_entry, EINA_TRUE); @@ -479,11 +597,83 @@ Evas_Object *_cst_create_ime_editfield(CstUgData_t *ugd, elm_entry_markup_filter_append(ugd->dg_entry, elm_entry_filter_limit_size, &limit_filter_data); + + elm_entry_cnp_mode_set(ugd->dg_entry, ELM_CNP_MODE_PLAINTEXT); + + if (input_string != NULL) + elm_entry_entry_set(ugd->dg_entry, input_string); + + elm_entry_cursor_end_set(ugd->dg_entry); + + imf_context = elm_entry_imf_context_get(ugd->dg_entry); + + DBG("ugd->entry = 0x%x, imf_context = 0x%x", ugd->dg_entry, imf_context); + + if (imf_context) { + ecore_imf_context_input_panel_event_callback_add (imf_context, ECORE_IMF_INPUT_PANEL_STATE_EVENT, input_panel_cb, ugd); + if (ime_type == CST_IME_PREFIX_DIAL && value == 0) + ecore_imf_context_input_panel_enabled_set(imf_context, EINA_FALSE); + } + evas_object_show(ugd->dg_entry); elm_object_focus_set(ugd->dg_entry, EINA_TRUE); + evas_object_smart_callback_add(ugd->dg_entry, "changed", __cst_changed_editfield_cb, ugd); return layout; } + +Evas_Object *_cst_create_ime_btn_layout(Evas_Object *parent, + Evas_Object *ef, Evas_Smart_Cb cb, void *cb_data) +{ + retv_if((NULL == ef || NULL == parent), NULL); + + Evas_Object *ly = NULL; + Evas_Object *btn = NULL; + Evas_Object *icon = NULL; + Eina_Bool ret = EINA_FALSE; + + ly = elm_layout_add(parent); + retv_if(NULL == ly, NULL); + + ret = elm_layout_file_set(ly, EDJ_NAME, "dialoguegroup/contact"); + if (ret == EINA_FALSE) { + DBG("elm_layout_file_set() failed"); + evas_object_del(ly); + return NULL; + } + + evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(ly); + + elm_object_part_content_set(ly, "editfield/sw", ef); + + btn = elm_button_add(ly); + if (!btn) { + DBG("elm_button_add() failed"); + evas_object_del(ly); + return NULL; + } + + icon = elm_icon_add(ly); + if (!icon) { + DBG("elm_icon_add() failed"); + evas_object_del(ly); + evas_object_del(btn); + return NULL; + } + + elm_icon_file_set(icon, CST_CTRL_ICON_CONTACTS, NULL); + evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + elm_icon_resizable_set(icon, EINA_TRUE, EINA_TRUE); + elm_object_part_content_set(btn, "icon", icon); + elm_object_part_content_set(ly, "button/sw", btn); + elm_object_focus_set(ef, EINA_TRUE); + evas_object_smart_callback_add(btn, "clicked", + cb, cb_data); + + return ly; +} + diff --git a/theme/call-setting-theme.edc b/theme/call-setting-theme.edc index 8305a95..83f0014 100755 --- a/theme/call-setting-theme.edc +++ b/theme/call-setting-theme.edc @@ -1,21 +1,179 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.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. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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_113_INC 113 +#define GENLIST_PADDING_16_INC 16 +#define GENLIST_PADDING_32_INC 32 +#define GENLIST_SIZE_133_INC 420 +#define GENLIST_PART_FONT_LIST_SUB_TEXT_COLOR_INC 129 129 129 255 +#define GENLIST_FONT_32_INC 32 +#define GENLIST_PART_TEXT_PRESS_COLOR_INC 249 249 249 255 +#define GENLIST_SIZE_32_INC 32 +#define GENLIST_PART_FONT_LIST_MAIN_TEXT_UNREAD_COLOR_INC 249 249 249 255 +#define GENLIST_FONT_44_INC 44 +#define GENLIST_PART_BG_COLOR_INC 0 0 0 255 +#define GENLIST_PART_LIST_BG_COLOR_INC 0 0 0 255 +#define GENLIST_PART_LIST_PRESS_COLOR_INC 0 140 210 255 +#define GENLIST_PART_LIST_LINE_COLOR_INC 68 68 68 255 +#define GENLIST_PART_DISCLIP_COLOR_INC 255 255 255 64 +#define GENLIST_PADDING_12_INC 12 +#define GENLIST_DIALOGUE_GROUP_LEFT_BG_COLOR_INC 68 68 68 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_BG_IMAGE \ + part { name: "bg_image"; \ + type: RECT; \ + clip_to: "disclip"; \ + mouse_events: 0; \ + description { state: "default" 0.0; \ + color: GENLIST_PART_LIST_BG_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_DESCRIPTION_FLIP_ENABLED \ + description { state: "flip_enabled" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } + +#define GENLIST_PART_FLIP \ + 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; \ + } \ + } + +#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_PROGRAM_FLIP_2TEXT \ + program { name: "flip_enabled"; \ + signal: "elm,state,flip,enabled"; \ + source: "elm"; \ + action: STATE_SET "flip_enabled" 0.0; \ + target: "elm.text.1"; \ + target: "elm.text.2"; \ + target: "elm.flip.content"; \ + } \ + program { name: "flip_disabled"; \ + signal: "elm,state,flip,disabled"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + target: "elm.text.1"; \ + target: "elm.text.2"; \ + target: "elm.flip.content"; \ + } + +#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; \ + } \ + } collections { - group { name: "elm/dialogueitem/base/ciss/dialoguegroup_hidden_three_button"; + group { + name: "elm/dialogueitem/base/ciss/dialoguegroup_hidden_three_button"; parts { part { name: "bg"; type: RECT; @@ -55,8 +213,9 @@ collections { } } } - - group { name: "elm/dialogueitem/base/ciss/dialoguegroup_hidden_two_button"; + + group { + name: "elm/dialogueitem/base/ciss/dialoguegroup_hidden_two_button"; parts { part { name: "bg"; type: RECT; @@ -87,4 +246,132 @@ collections { } } } + + group { + name: "elm/genlist/item/ciss/2text_call_forward/default"; + alias: "elm/genlist/item_odd/ciss/2text_call_forward/default"; + alias: "elm/genlist/item_compress/ciss/2text_call_forward/default"; + alias: "elm/genlist/item_compress_odd/ciss/2text_call_forward/default"; + data.item: "stacking" "above"; + data.item: "selectraise" "on"; + data.item: "texts" "elm.text.1 elm.text.2"; + data.item: "flips" "elm.flip.content"; + parts { + GENLIST_PART_BASE(GENLIST_HEIGHT_113_INC) + GENLIST_PART_BG_IMAGE + GENLIST_PART_BOTTOM_LINE + GENLIST_PART_PADDING_LEFT(GENLIST_PADDING_32_INC) + GENLIST_PART_PADDING_RIGHT(GENLIST_PADDING_16_INC) + GENLIST_PART_DIALOGUE_ITEM + + part { name: "elm.text.2"; + clip_to: "disclip"; + type: TEXT; + mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + min: GENLIST_SIZE_133_INC 0; + fixed: 1 0; + rel1.to_x: "elm.padding.right"; + rel2 { + relative: 0.0 1.0; + to_x: "elm.padding.right"; + } + align: 1.0 0.5; + color: GENLIST_PART_FONT_LIST_SUB_TEXT_COLOR_INC; + text { + font: "SLP:style=Medium"; + size: GENLIST_FONT_32_INC; + min: 0 1; + align: 1.0 0.5; + } + } + description { state: "selected" 0.0; + inherit: "default" 0.0; + color: GENLIST_PART_TEXT_PRESS_COLOR_INC; + } + GENLIST_DESCRIPTION_FLIP_ENABLED + } + part { name: "elm.padding.text2.left"; + clip_to: "disclip"; + type: RECT; + mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + min: GENLIST_SIZE_32_INC 0; + fixed: 1 0; + rel1.to_x: "elm.text.2"; + rel2 { + relative: 0.0 1.0; + to_x: "elm.text.2"; + } + visible: 0; + align: 1.0 0.5; + } + } + part { name: "elm.text.1"; + clip_to: "disclip"; + type: TEXT; + 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.text2.left"; + } + align: 0.0 0.5; + color: GENLIST_PART_FONT_LIST_MAIN_TEXT_UNREAD_COLOR_INC; + text { + font: "SLP:style=Roman"; + size: GENLIST_FONT_44_INC; + min: 0 1; + align: 0.0 0.5; + } + } + description { state: "selected" 0.0; + inherit: "default" 0.0; + color: GENLIST_PART_TEXT_PRESS_COLOR_INC; + } + GENLIST_DESCRIPTION_FLIP_ENABLED + } + GENLIST_PART_FLIP + GENLIST_PART_DISCLIP + } + programs { + program { name: "go_active"; + signal: "elm,state,selected"; + source: "elm"; + action: STATE_SET "selected" 0.0; + target: "bg_image"; + 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.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"; + } + GENLIST_PROGRAM_FLIP_2TEXT + } + } } -- 2.7.4