apply FSL(Flora Software License)
authorKim Kibum <kb0929.kim@samsung.com>
Fri, 8 Jun 2012 05:53:54 +0000 (14:53 +0900)
committerKim Kibum <kb0929.kim@samsung.com>
Fri, 8 Jun 2012 05:53:54 +0000 (14:53 +0900)
73 files changed:
CMakeLists.txt [new file with mode: 0755]
LICENSE [new file with mode: 0644]
NOTICE [new file with mode: 0755]
debian/changelog [new file with mode: 0755]
debian/compat [new file with mode: 0755]
debian/control [new file with mode: 0755]
debian/copyright [new file with mode: 0644]
debian/dirs [new file with mode: 0755]
debian/docs [new file with mode: 0755]
debian/libug-setting-call-efl.install.in [new file with mode: 0755]
debian/libug-setting-call-efl.postinst [new file with mode: 0755]
debian/rules [new file with mode: 0755]
images/01_controlbar_icon_close.png [new file with mode: 0755]
images/01_controlbar_icon_create.png [new file with mode: 0755]
images/01_controlbar_icon_delete.png [new file with mode: 0755]
images/01_controlbar_icon_edit.png [new file with mode: 0755]
images/01_controlbar_icon_update.png [new file with mode: 0755]
images/video_call_image_default.jpg [new file with mode: 0755]
include/cst-barring-ime.h [new file with mode: 0755]
include/cst-barring.h [new file with mode: 0755]
include/cst-call-setting.h [new file with mode: 0755]
include/cst-common-string.h [new file with mode: 0755]
include/cst-common.h [new file with mode: 0755]
include/cst-debug.h [new file with mode: 0755]
include/cst-delete-list.h [new file with mode: 0755]
include/cst-forwarding-ime.h [new file with mode: 0755]
include/cst-forwarding.h [new file with mode: 0755]
include/cst-prefix-dial-ime.h [new file with mode: 0755]
include/cst-prefix-dial.h [new file with mode: 0755]
include/cst-status-tone.h [new file with mode: 0755]
include/cst-tapi-request.h [new file with mode: 0755]
include/cst-util.h [new file with mode: 0755]
include/cst-waiting.h [new file with mode: 0755]
include/cst-widget.h [new file with mode: 0755]
libug-setting-call-efl.ini [new file with mode: 0755]
packaging/call-setting.spec [new file with mode: 0755]
po/CMakeLists.txt [new file with mode: 0755]
po/POTFILES.in [new file with mode: 0755]
po/de_DE.po [new file with mode: 0755]
po/el_GR.po [new file with mode: 0755]
po/en.po [new file with mode: 0755]
po/es_ES.po [new file with mode: 0755]
po/fr_FR.po [new file with mode: 0755]
po/it_IT.po [new file with mode: 0755]
po/ja_JP.po [new file with mode: 0755]
po/ko_KR.po [new file with mode: 0755]
po/nl_NL.po [new file with mode: 0755]
po/pt_PT.po [new file with mode: 0755]
po/ru_RU.po [new file with mode: 0755]
po/test.pot [new file with mode: 0755]
po/tr_TR.po [new file with mode: 0755]
po/update-po.sh [new file with mode: 0755]
po/zh_CN.po [new file with mode: 0755]
po/zh_HK.po [new file with mode: 0755]
po/zh_TW.po [new file with mode: 0755]
resource/call-setting.edc [new file with mode: 0755]
resource/ug_effect.edc [new file with mode: 0755]
src/cst-barring-ime.c [new file with mode: 0755]
src/cst-barring.c [new file with mode: 0755]
src/cst-call-setting.c [new file with mode: 0755]
src/cst-common-string.c [new file with mode: 0755]
src/cst-delete-list.c [new file with mode: 0755]
src/cst-forwarding-ime.c [new file with mode: 0755]
src/cst-forwarding.c [new file with mode: 0755]
src/cst-main.c [new file with mode: 0755]
src/cst-prefix-dial-ime.c [new file with mode: 0755]
src/cst-prefix-dial.c [new file with mode: 0755]
src/cst-status-tone.c [new file with mode: 0755]
src/cst-tapi-request.c [new file with mode: 0755]
src/cst-util.c [new file with mode: 0755]
src/cst-waiting.c [new file with mode: 0755]
src/cst-widget.c [new file with mode: 0755]
theme/call-setting-theme.edc [new file with mode: 0755]

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..9399820
--- /dev/null
@@ -0,0 +1,81 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ug-setting-call-efl C)
+
+SET(SETTING_CISS_UG ug-setting-call-efl)
+
+IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
+       SET(CMAKE_BUILD_TYPE "Release")
+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)
+
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+FOREACH(flag ${pkgs_CFLAGS})
+       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
+
+ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
+ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{PREFIX}\"") 
+ADD_DEFINITIONS("-DSLP_DEBUG")
+
+ADD_LIBRARY(${SETTING_CISS_UG} SHARED
+       ./src/cst-call-setting.c
+       ./src/cst-main.c
+       ./src/cst-common-string.c
+       ./src/cst-widget.c
+       ./src/cst-tapi-request.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-prefix-dial.c
+       ./src/cst-prefix-dial-ime.c
+       ./src/cst-delete-list.c
+       ./src/cst-waiting.c
+       ./src/cst-util.c
+)
+       
+TARGET_LINK_LIBRARIES(${SETTING_CISS_UG} ${pkgs_LDFLAGS})
+
+ADD_CUSTOM_TARGET(ug_effect.edj
+               COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/resource/images
+               ${CMAKE_CURRENT_SOURCE_DIR}/resource/ug_effect.edc ${CMAKE_BINARY_DIR}/ug_effect.edj
+               DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/resource/ug_effect.edc
+)
+ADD_DEPENDENCIES(${SETTING_CISS_UG} ug_effect.edj)
+
+ADD_CUSTOM_TARGET(call-setting.edj
+               COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/resource/images
+               ${CMAKE_CURRENT_SOURCE_DIR}/resource/call-setting.edc ${CMAKE_BINARY_DIR}/call-setting.edj
+               DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/resource/call-setting.edc
+)
+ADD_DEPENDENCIES(${SETTING_CISS_UG} call-setting.edj)
+
+# edje theme
+ADD_CUSTOM_TARGET(call-setting-theme.edj
+               COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/theme
+               ${CMAKE_CURRENT_SOURCE_DIR}/theme/call-setting-theme.edc ${CMAKE_BINARY_DIR}/call-setting-theme.edj
+               DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/theme/call-setting-theme.edc
+)
+ADD_DEPENDENCIES(${SETTING_CISS_UG} call-setting-theme.edj)
+
+INSTALL(TARGETS ${SETTING_CISS_UG} DESTINATION /opt/ug/lib)
+INSTALL(FILES ${CMAKE_BINARY_DIR}/call-setting.edj DESTINATION /opt/ug/res/edje/${PROJECT_NAME})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/call-setting-theme.edj DESTINATION /opt/ug/res/edje/${PROJECT_NAME})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/ug_effect.edj DESTINATION /opt/ug/res/edje/${PROJECT_NAME})
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/images/ DESTINATION /opt/ug/res/images/${PROJECT_NAME} FILES_MATCHING PATTERN "*.png")
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/images/ DESTINATION /opt/ug/res/images/${PROJECT_NAME} FILES_MATCHING PATTERN "*.jpg") 
+
+# i18n
+ADD_SUBDIRECTORY(po)
+
+# install ini file
+# INSTALL(FILES ${CMAKE_SOURCE_DIR}/libug-setting-call-efl.ini DESTINATION share/process-info)
+
diff --git a/LICENSE b/LICENSE
new file mode 100644 (file)
index 0000000..7ccb5b5
--- /dev/null
+++ b/LICENSE
@@ -0,0 +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.
diff --git a/NOTICE b/NOTICE
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/debian/changelog b/debian/changelog
new file mode 100755 (executable)
index 0000000..ab4d466
--- /dev/null
@@ -0,0 +1,6 @@
+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 <js49.lee@samsung.com>  Mon, 02 Apr 2012 20:52:50 -0700
diff --git a/debian/compat b/debian/compat
new file mode 100755 (executable)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/debian/control b/debian/control
new file mode 100755 (executable)
index 0000000..bfc1de5
--- /dev/null
@@ -0,0 +1,19 @@
+Source: libug-setting-call-efl
+Section: devel
+Priority: extra
+Maintainer: Jungmin Kim <jm15.kim@samsung.com>, JongSeok Lee <js49.lee@samsung.com>, Sungjoon Won <sungjoon.won@samsung.com>
+Uploaders: Jungmin Kim <jm15.kim@samsung.com>, JongSeok Lee <js49.lee@samsung.com>, Sungjoon Won <sungjoon.won@samsung.com>
+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
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/debian/dirs b/debian/dirs
new file mode 100755 (executable)
index 0000000..ca882bb
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin
+usr/sbin
diff --git a/debian/docs b/debian/docs
new file mode 100755 (executable)
index 0000000..7a77580
--- /dev/null
@@ -0,0 +1,2 @@
+CMakeCache.txt
+CMakeLists.txt
diff --git a/debian/libug-setting-call-efl.install.in b/debian/libug-setting-call-efl.install.in
new file mode 100755 (executable)
index 0000000..e18df37
--- /dev/null
@@ -0,0 +1,2 @@
+/opt/ug/lib/*
+/opt/ug/res/*
diff --git a/debian/libug-setting-call-efl.postinst b/debian/libug-setting-call-efl.postinst
new file mode 100755 (executable)
index 0000000..a4141d5
--- /dev/null
@@ -0,0 +1,39 @@
+#!/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
new file mode 100755 (executable)
index 0000000..7b47cd8
--- /dev/null
@@ -0,0 +1,134 @@
+#!/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_close.png b/images/01_controlbar_icon_close.png
new file mode 100755 (executable)
index 0000000..91b04e5
Binary files /dev/null and b/images/01_controlbar_icon_close.png differ
diff --git a/images/01_controlbar_icon_create.png b/images/01_controlbar_icon_create.png
new file mode 100755 (executable)
index 0000000..0dc1144
Binary files /dev/null and b/images/01_controlbar_icon_create.png differ
diff --git a/images/01_controlbar_icon_delete.png b/images/01_controlbar_icon_delete.png
new file mode 100755 (executable)
index 0000000..faaa0d3
Binary files /dev/null and b/images/01_controlbar_icon_delete.png differ
diff --git a/images/01_controlbar_icon_edit.png b/images/01_controlbar_icon_edit.png
new file mode 100755 (executable)
index 0000000..4ddc598
Binary files /dev/null and b/images/01_controlbar_icon_edit.png differ
diff --git a/images/01_controlbar_icon_update.png b/images/01_controlbar_icon_update.png
new file mode 100755 (executable)
index 0000000..3337b94
Binary files /dev/null and b/images/01_controlbar_icon_update.png differ
diff --git a/images/video_call_image_default.jpg b/images/video_call_image_default.jpg
new file mode 100755 (executable)
index 0000000..32d9347
Binary files /dev/null and b/images/video_call_image_default.jpg differ
diff --git a/include/cst-barring-ime.h b/include/cst-barring-ime.h
new file mode 100755 (executable)
index 0000000..a410f11
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+  * 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_
+
+#include <Elementary.h>
+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
new file mode 100755 (executable)
index 0000000..df692be
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+  * 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_
+
+#include <Elementary.h>
+
+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
new file mode 100755 (executable)
index 0000000..7a9e9c7
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+  * 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_SETTING_H_
+#define _CISS_SETTING_CALL_SETTING_H_
+#include <Elementary.h>
+
+void _cst_create_call_setting(void *data);
+
+#endif
diff --git a/include/cst-common-string.h b/include/cst-common-string.h
new file mode 100755 (executable)
index 0000000..cc70051
--- /dev/null
@@ -0,0 +1,108 @@
+/*
+  * 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_
+
+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_BARRING,
+       CST_STR_CALL_CONNECT_TONE,
+       CST_STR_CALL_END_TONE,
+       CST_STR_CALL_STATUS_TONES,
+       CST_STR_CALL_WAITING,
+       CST_STR_CHECK_STATUS,
+       CST_STR_BY_NETWORK,
+       CST_STR_SHOW,
+       CST_STR_HIDE,
+       CST_STR_CALL_INTL_EXCEPT_HOME,
+       CST_STR_INTL_CALLS,
+       CST_STR_SHOW_MY_NUMBER,
+       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,
+       CST_STR_PASSWORD_BLOCKED,
+       CST_STR_REJECTED_BY_NETWORK,
+       CST_STR_SERVICE_UNAVAILABLE,
+       CST_STR_UNKNOWN_OPERATION,
+       CST_STR_CANCEL,
+       CST_STR_ENTER_NUMBER,
+       CST_STR_SELECT_VALID_ENTRY,
+       CST_STR_ENTER_DUPLICATE_MESSAGE,
+       CST_STR_ENTER_MESSAGE,
+       CST_STR_PREFIX_DIALLING_LIST,
+       CST_STR_SOUND,
+       CST_STR_VIBRATION,
+       CST_STR_CALL_FORWARDING,
+       CST_STR_ENABLE_PREFIX_DIALLING,
+       CST_STR_PREFIX_DIALLING_NUMBER,
+       CST_STR_SELECT_NUMBER,
+       CST_STR_MINUTE_REMINDER,
+       CST_STR_EDIT_SOUND_SETTINGS_DURING_CALL,
+       CST_STR_DO_NOT_REDIAL_IF_CALL_IS_UNABLE,
+       CST_STR_MANAGE_PREFIX_DIALING_NUMBERS,
+       CST_STR_THERE_WILL_BE_WEHN_LINE_IS_CONNECTED,
+       CST_STR_THERE_WILL_BE_EVERY_A_MINUTE,
+       CST_STR_THERE_WILL_BE_WEHN_LINE_IS_DISCONNECTED,
+       CST_STR_CHANGE_PRESET_IMAGE,
+       CST_STR_DURING_CALL_NOTIFY_ME,
+       CST_STR_SELECT_MESSAGE,
+       CST_STR_NO_NUMBERS,
+       CST_STR_FORWARD_TO,
+       CST_STR_INSERT_SIM_CARD,
+       CST_STR_CHNAGE_FLIGHT_MODE_MESSAGE,
+       CST_STR_NO_MESSAGE,
+       CST_STR_DEFAULT_IMAGE,
+
+       CST_SYS_STRING,
+       CST_STR_ON,
+       CST_STR_OFF,
+       CST_STR_VOICECALL,
+       CST_STR_VIDEOCALL,
+       CST_STR_DONE,
+       CST_STR_CREATE,
+       CST_STR_UNKNOWN,
+       CST_STR_DELETE,
+       CST_STR_BACK,
+       CST_STR_ACTIVATED,
+       CST_STR_DEACTIVATED,
+       CST_STR_ADD,
+       CST_STR_SELECT_ALL,
+       CST_STR_ENTER_PASSWORD,
+       CST_STR_CONTACTS,
+       CST_STR_LOGS,
+       CST_STR_CALL,
+       CST_STR_PASSWORD,
+       CST_STR_SAVE,
+       CST_STR_PD_SELECTED,
+       CST_STR_DELETED,
+       CST_STR_PHONE,
+       CST_STR_APP_NOT_INSTALLED,
+};
+
+const char *_cst_get_text(int str_id);
+#define T_(str_id) _cst_get_text(str_id)
+#define S_(text) dgettext("sys_string", text)
+
+#endif
diff --git a/include/cst-common.h b/include/cst-common.h
new file mode 100755 (executable)
index 0000000..c2829e7
--- /dev/null
@@ -0,0 +1,286 @@
+/*
+  * 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_
+
+#include <Elementary.h>
+#include <libintl.h>
+#include <glib.h>
+#include "cst-debug.h"
+
+#ifdef _
+#undef _
+#endif
+
+#ifdef N_
+#undef N_
+#endif
+
+#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_MAX_PASSWORD_LEN           4
+#define CST_MAX_PREFIX_NUM             5
+#define CST_MAX_ITEM_TEXT_BUFFER_LEN   140
+#define CST_MAX_PHONE_NUMBER_LEN       100
+#define CST_MAX_PREFIX_NUMBER_LEN      20
+
+#define CST_CTRL_ICON_CLOSE            IMG_DIR"/01_controlbar_icon_close.png"
+#define CST_CTRL_ICON_CREATE           IMG_DIR"/01_controlbar_icon_create.png"
+#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"
+
+/**
+ * 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*/
+
+} CstErr_t;
+
+enum {
+       CST_SSTYPE_CF_UNCONDITIONAL,
+       CST_SSTYPE_CF_BUSY,
+       CST_SSTYPE_CF_NO_REPLY,
+       CST_SSTYPE_CF_NOT_REACHABLE,
+       CST_SSTYPE_CF_ALL,
+       CST_SSTYPE_CF_ALL_CONDITIONAL,
+       CST_SSTYPE_CB_OC,
+       CST_SSTYPE_CB_OIC,
+       CST_SSTYPE_CB_OICEH,
+       CST_SSTYPE_CB_IC,
+       CST_SSTYPE_CB_ICR,
+       CST_SSTYPE_CW,
+};
+
+enum {
+       CST_CLI_BY_NETWORK,
+       CST_CLI_SHOW,
+       CST_CLI_HIDE,
+};
+
+enum {
+       CST_ALERTS_ON_CALL_OFF,
+       CST_ALERTS_ON_CALL_SOUND,
+       CST_ALERTS_ON_CALL_VIBRATION,
+};
+
+enum {
+       CST_STATUS_ACTIVATED,
+       CST_STATUS_DEACTIVATED,
+       CST_STATUS_UNKNOWN,
+};
+
+enum {
+       CST_CALLTYPE_VOICE,
+       CST_CALLTYPE_VIDEO,
+       CST_CALLTYPE_ALL,
+};
+
+enum {
+       CST_ACTION_ACTIVATE,
+       CST_ACTION_DEACTIVATE,
+       CST_ACTION_QUERY,
+};
+
+enum {
+       CST_SS_STATE_ON,
+       CST_SS_STATE_OFF,
+       CST_SS_STATE_PROGRESS,
+};
+
+enum {
+       CST_ERROR_NONE,
+       CST_ERROR_SERVICE_UNAVAILABLE,
+       CST_ERROR_INCORRECT_OPERATION,
+       CST_ERROR_INVALID_PASSWORD,
+       CST_ERROR_PASSWORD_BLOCKED,
+       CST_ERROR_ENTER_NUMBER,
+       CST_ERROR_ENTER_MESSAGE,
+       CST_ERROR_SELECT_VALID_ENTRY,
+       CST_ERROR_DUPLICATE_MESSAGE,
+       CST_ERROR_REJECTED_BY_NETWORK,
+       CST_ERROR_INSERT_SIM_CARD,
+       CST_ERROR_CHANGE_FLIGHT_MODE,
+       CST_ERROR_AUL_LAUNCH_ERROR,
+
+       CST_ERROR_UNKNOWN,
+};
+enum {
+       CST_ITEM_1,
+       CST_ITEM_2,
+       CST_ITEM_3,
+       CST_ITEM_4,
+       CST_ITEM_5,
+};
+
+enum {
+       CST_GL_ITEM_TEXT,
+       CST_GL_ITEM_SUB_TEXT,
+       CST_GL_ITEM_1TEXT_ONOFF,
+       CST_GL_ITEM_1TEXT_ONOFF_PROGRESS,
+       CST_GL_ITEM_RADIO_1TEXT,
+       CST_GL_ITEM_EXPANDABLE,
+       CST_GL_ITEM_DG_SPERATOR,
+       CST_GL_ITEM_DG_TITLE,
+       CST_GL_ITEM_HELP_TEXT,
+       CST_GL_ITEM_2TEXT_ONOFF_PROGRESS,
+       CST_GL_ITEM_IMG_1TEXT,
+       CST_GL_ITEM_NONE,
+};
+
+enum {
+       CST_DL_PREFIX_DIALING,
+
+       CST_DL_NONE,
+};
+
+typedef enum {
+       CST_IME_PREFIX_DIAL,
+       CST_IME_CALL_FORWARD,
+       CST_IME_CALL_BAR,
+
+       CST_IME_NONE,
+}CstImeType_t;
+
+typedef struct {
+       int depth;
+       int str_id;
+       Elm_Genlist_Item_Type flags;
+       int style;
+       Evas_Object_Event_Cb func;
+} CstGlItemDisplayInfo_t;
+
+typedef struct {
+       Evas_Object *base;
+       Evas_Object *bg;
+       Evas_Object *win_main;
+       struct ui_gadget *ug;
+       struct ui_gadget *invoked_ug;
+       Evas_Object *nf;
+       Evas_Object *controlbar;
+       Evas *evas;
+       Evas_Object *back_button;
+       Evas_Object *backup_layout;
+
+       Evas_Object *selectinfo;
+       Evas_Object *selectinfo_layout;
+       Evas_Object *select_backup;
+
+       /* IME */
+       Evas_Object *dg_entry;
+
+       /*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;
+       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];
+       char cf_number[CST_MAX_PHONE_NUMBER_LEN][4];
+       Evas_Object *popup;
+
+       int cw_state;
+       Eina_Bool original_state;
+
+       int call_type;
+       int cb_flavour;
+       int cf_flavour;
+       Eina_List *req_queue;
+       Eina_Bool is_requesting;
+       Evas_Object *backup_genlist;
+
+       int kind_of_delete_list;
+
+       GSList *tel_event_subscription_list;
+       Evas_Object *video_call_img;
+} CstUgData_t;
+
+typedef struct _Item_Data {
+       int index;
+       Elm_Object_Item *gl_item;
+       Elm_Object_Item *parent_gl_item;
+       char *label;
+       Eina_Bool check;
+       Evas_Object *radio;
+       Evas_Object *eo_check;
+       Eina_Bool is_activated;
+       Eina_Bool is_unknown;
+       Eina_List *list;
+       char number[CST_MAX_PHONE_NUMBER_LEN + 1];
+       char text[CST_MAX_ITEM_TEXT_BUFFER_LEN + 1];
+       void *ugd;
+} CstGlItemData_t;
+
+#endif                         /* __CALL_SETTING_COMMON_H_ */
diff --git a/include/cst-debug.h b/include/cst-debug.h
new file mode 100755 (executable)
index 0000000..6832eb4
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+  * 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 <dlog.h>
+#include <stdio.h>
+#ifndef CISS_LOG_TAG
+#define CISS_LOG_TAG "CISS"
+#endif
+
+#define DBGFILE(fmt, arg...) \
+       do { \
+                       FILE *fp; \
+                       fp = fopen(CISS_DEBUG_FILE, "a"); \
+                       fprintf(fp, "[CISS][%s:%d] "fmt"\n",  __func__, __LINE__, ##arg); \
+                       if(fp) \
+                               fclose(fp); \
+       } while(0)
+
+#define DBG(fmt, arg...) \
+       do { \
+               LOG(LOG_INFO, CISS_LOG_TAG, "[CISS][%s:%d] "fmt"\n",  __func__, __LINE__, ##arg); \
+       } while(0)
+
+#define ENTER(arg...) \
+    do {\
+        LOG(LOG_INFO, CISS_LOG_TAG, "[CISS][%s:%d] Enter func=%p", __func__, __LINE__, ##arg);\
+    }while(0)
+
+#define LEAVE() \
+    do {\
+        LOG(LOG_INFO, CISS_LOG_TAG, "[CISS][%s:%d] Leave func", __func__, __LINE__);\
+    } while(0)
+
+#define ERR(fmt, arg...) \
+       do { \
+               LOGE(""fmt"\n", ##arg); \
+       } while(0)
+
+#  define warn_if(expr, fmt, arg...) do { \
+               if(expr) { \
+                       DBG("(%s) -> "fmt, #expr, ##arg); \
+               } \
+       } while (0)
+#  define ret_if(expr) do { \
+               if(expr) { \
+                       DBG("(%s) -> %s() return", #expr, __FUNCTION__); \
+                       return; \
+               } \
+       } while (0)
+#  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 { \
+               if(expr) { \
+                       ERR(fmt, ##arg); \
+                       DBG("(%s) -> %s() return", #expr, __FUNCTION__); \
+                       return; \
+               } \
+       } while (0)
+#  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
new file mode 100755 (executable)
index 0000000..bdc6a35
--- /dev/null
@@ -0,0 +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.
+  */
+
+#ifndef _CISS_SETTING_DELETE_LIST_H_
+#define _CISS_SETTING_DELETE_LIST_H_
+
+#include <Elementary.h>
+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
new file mode 100755 (executable)
index 0000000..e660577
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+  * 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_
+
+#include <Elementary.h>
+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
new file mode 100755 (executable)
index 0000000..d9eb08a
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+  * 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.
+  */
+
+#if !defined(_VIEW_CALL_DIVERTING_DIALOG)
+#define _VIEW_CALL_DIVERTING_DIALOG
+#include <Elementary.h>
+
+void _cst_on_click_call_forwarding(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
new file mode 100755 (executable)
index 0000000..49a3e92
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+  * 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_
+
+#include <Elementary.h>
+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
new file mode 100755 (executable)
index 0000000..26b49d3
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+  * 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_
+
+#include <Elementary.h>
+
+void _cst_on_click_prefix_dialling(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+char *_cst_get_prefix_dialling_list(int index);
+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);
+#endif
diff --git a/include/cst-status-tone.h b/include/cst-status-tone.h
new file mode 100755 (executable)
index 0000000..1926fcd
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+  * 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_STATUS_TONE_H_
+#define _CISS_SETTING_CALL_STATUS_TONE_H_
+#include <Elementary.h>
+
+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
new file mode 100755 (executable)
index 0000000..82289ef
--- /dev/null
@@ -0,0 +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.
+  */
+
+#ifndef _CISS_TEL_REQUEST_H_
+#define _CISS_TEL_REQUEST_H_
+#include "cst-common.h"
+#include <Eina.h>
+#include <Elementary.h>
+
+typedef void (*SsReqCb)(int call_type, int flavour, Eina_Bool ss_state, char *number, int error, int req_action, void *);
+
+typedef struct {
+       int call_type;
+       int flavour;
+       int action;
+       int req_id;
+       Eina_Bool is_requesting;
+       Eina_Bool is_canceled;
+       Eina_Bool original_state;
+       SsReqCb func;
+       void *data;
+       char number[CST_MAX_PHONE_NUMBER_LEN];
+} CallSettingReq_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_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
new file mode 100755 (executable)
index 0000000..a7564ce
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+  * 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_
+
+#include <Elementary.h>
+#include "cst-common.h"
+
+void _cst_vconf_get_bool(const char *in_key, int *boolval);
+void _cst_vconf_get_int(const char *in_key, int *intval);
+char *_cst_vconf_get_str(const char *in_key);
+void _cst_vconf_set_bool(const char *in_key, const int boolval);
+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);
+#endif
diff --git a/include/cst-waiting.h b/include/cst-waiting.h
new file mode 100755 (executable)
index 0000000..2d50a9f
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+  * 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_
+
+#include <Elementary.h>
+
+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
new file mode 100755 (executable)
index 0000000..469e7d4
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+  * 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_
+
+#include <Elementary.h>
+#include "cst-common.h"
+
+#define BOTTOM_PADDING_CONTENT_SIGNAL "elm,layout,content,bottom_padding"
+#define DEFAULT_CONTENT_SIGNAL "elm,layout,content,default"
+#define BOTTOM_PADDING_CONTENT_SOURCE "layout"
+
+Evas_Object *_cst_create_error_popup(Evas_Object *parent, int error_code);
+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_underline(Evas_Object *genlist);
+Elm_Object_Item *_cst_create_genlist_update_underline(Evas_Object *genlist);
+Evas_Object *_cst_create_progressbar(Evas_Object *parent);
+Evas_Object *_cst_get_navifr_prev_btn(Evas_Object *nf);
+void _cst_create_selectinfo(CstUgData_t *ugd, Evas_Object *layout, const char *label);
+void _cst_del_selectinfo(CstUgData_t *ugd);
+Evas_Object *_cst_create_onoff_button(Evas_Object *obj,
+       int state_value, Evas_Smart_Cb cb_func, void *cb_data);
+Evas_Object *_cst_create_radio_icon(Evas_Object *obj,
+       Evas_Object *rdg, int value, int offset, const char *vconf_key);
+Evas_Object *_cst_create_title_btn(Evas_Object *parent,
+               const char *text, Evas_Smart_Cb func, void *data);
+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);
+#endif
diff --git a/libug-setting-call-efl.ini b/libug-setting-call-efl.ini
new file mode 100755 (executable)
index 0000000..5abbace
--- /dev/null
@@ -0,0 +1,2 @@
+[ProcessSetting]
+BG_SCHEDULE=true
diff --git a/packaging/call-setting.spec b/packaging/call-setting.spec
new file mode 100755 (executable)
index 0000000..7fd48bf
--- /dev/null
@@ -0,0 +1,91 @@
+Name:       call-setting
+Summary:    Call Settings
+Version:    0.2.82
+Release:    1
+Group:      Settings
+License:    Flora Software License
+Source0:    %{name}-%{version}.tar.gz
+
+BuildRequires: pkgconfig(appcore-efl)
+BuildRequires: pkgconfig(elementary)
+BuildRequires: pkgconfig(tapi)
+BuildRequires: pkgconfig(utilX)
+BuildRequires: pkgconfig(vconf)
+BuildRequires: pkgconfig(eina)
+BuildRequires: pkgconfig(ecore-imf)
+BuildRequires: pkgconfig(ecore-x)
+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: cmake
+BuildRequires: gettext-tools
+BuildRequires: libug-contacts-devel
+BuildRequires: edje-bin, embryo-bin
+
+Requires(post): /usr/bin/vconftool
+
+%description
+Call Settings.
+
+%prep
+%setup -q
+
+
+%build
+export LDFLAGS+="-Wl,--hash-style=both -Wl,--rpath=%{_prefix}/lib -Wl,--as-needed,--unresolved-symbols=ignore-in-shared-libs"
+LDFLAGS="$LDFLAGS" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
+make %{?jobs:-j%jobs}
+
+%install
+%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
+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
+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/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/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/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 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/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
+
+%files -f ug-setting-call-efl.lang
+/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/*
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..b8de33a
--- /dev/null
@@ -0,0 +1,24 @@
+# for i18n
+
+SET(POFILES de_DE.po el_GR.po en.po es_ES.po fr_FR.po it_IT.po ja_JP.po ko_KR.po nl_NL.po pt_PT.po ru_RU.po tr_TR.po zh_CN.po zh_HK.po zh_TW.po)
+
+SET(MSGFMT "/usr/bin/msgfmt")
+
+FOREACH(pofile ${POFILES})
+       SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
+       MESSAGE("PO: ${pofile}")
+       GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
+       GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
+       SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
+       ADD_CUSTOM_COMMAND(
+                       OUTPUT ${moFile}
+                       COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
+                       DEPENDS ${absPofile}
+       )
+       INSTALL(FILES ${moFile}
+                       DESTINATION /opt/ug/res/locale/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
+       SET(moFiles ${moFiles} ${moFile})
+ENDFOREACH(pofile)
+
+MESSAGE(".mo files: ${moFiles}")
+ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100755 (executable)
index 0000000..8ef333c
--- /dev/null
@@ -0,0 +1,30 @@
+# List of source files containing translatable strings.
+ciss-0.c
+answeringmode.c
+autoreject.c
+main.c
+common_callback.c
+cissUG-efl.c
+autoreject_del.c
+calldiverting-dialog.c
+allcalls.c
+callbarring.c
+videocall.c
+ciss_tel_request.c
+ciss_helptext.c
+prefixdialing_delete.c
+callstatustone.c
+ciss_common_draw_widget.c
+ime-view.c
+stack.c
+rejectcall_message.c
+rejectcall_message_del.c
+voicecall.c
+view.c
+answeringmode_automatic.c
+callbarring-dialog.c
+db.c
+alloutgoingcalls.c
+showmynumber.c
+calldiverting.c
+prefixdialing.c
diff --git a/po/de_DE.po b/po/de_DE.po
new file mode 100755 (executable)
index 0000000..e852aa3
--- /dev/null
@@ -0,0 +1,450 @@
+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_BODY_ADD_TO_REJECT_LIST"
+msgstr "Zur Sperrliste hinzufügen"
+
+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_REJECT_CALL_WITH_MESSAGE_HELP_MSG"
+msgstr "Sie können eine Textnachricht an abgewiesene Anrufer senden"
+
+msgid "IDS_CST_BODY_REJECT_LIST"
+msgstr "Sperrliste"
+
+msgid "IDS_CST_HEADER_ANSWERING_CALL"
+msgstr "Anruf beantworten"
+
+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_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"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "Automatisch abweisen"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "Durch Netz"
+
+msgid "IDS_CST_BODY_CALL_BARRING"
+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"
+
+msgid "IDS_CST_BODY_CALL_WAITING"
+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"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "Ich rufe später zurück"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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"
+
+msgid "IDS_CST_BODY_SHOW_MY_NUMBER"
+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"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "Falls keine Antwort"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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_SERVICE_NOT_AUTHORISED"
+msgstr "Dienst nicht autorisiert"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "Status"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "Unbekannter Vorgang"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "Autom. Antworten"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "Bild für Videoanruf"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "Automatische Ablehnung aktivieren"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "Modus für autom. Ablehnen deaktiviert"
+
+msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"
+msgstr "Modus für automatische Ablehnung verwalten"
+
+msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING"
+msgstr "Anruf beantworten/beenden"
+
+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."
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "Nach %d Sekunden"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+msgstr "Die automatische Annahme funktioniert nur mit einem verbundenen Headset"
+
+msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"
+msgstr "Ein/Aus beendet Anrufe"
+
+msgid "IDS_CST_MBODY_AFTER_1_SECOND"
+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"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "Präfix-Wählliste"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "Keine Nummern"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "Vorwahl-Anrufnummer"
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "Kurzwahl"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "Nachricht auswählen"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "Nachrichtentexte ändern"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "Es werden jede Minute Signaltöne erzeugt"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "Ton"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "Vibration"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "Rufumleitung"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "Weiterleiten von Sprachanrufen"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "Immer"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "Weiterleiten an"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "Videoanruf weiterleiten"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "Sprachanrufsperre"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "Intern. Anrufe"
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "Int. Anr. außer Heim"
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "Nicht automatisch neu wählen, wenn der Anruf nicht durchgestellt werden konnte bzw. unterbrochen wurde."
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "Ändern"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "Anzeigen"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "Foto aufnehmen"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "Es wird ein akustisches Signal ausgegeben, wenn die Verbindung hergestellt ist"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+msgstr "Es wird ein akustisches Signal ausgegeben, wenn die Verbindung getrennt wurde"
+
+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"
+
+msgid "IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS"
+msgstr "Benachrichtigungen über eingehende Anrufe während eines laufenden Anrufs"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "Abzuweisende Nummern"
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "Minutenerinnerungen"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "Dem Anrufer ein vorher festgelegte Bild zeigen, wenn mein Bild bei Videoanrufen ausgeblendet"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "Aus Galerie auswählen"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "Voreingest. Bild ändern"
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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"
+
+msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"
+msgstr "Einstell. zum Annehmen/Beenden von Anrufen verw."
+
+msgid "IDS_CST_BODY_MANAGE_PREFIX_DIALLING"
+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"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "Nummer wird bereits verwendet"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "Nummer auswählen"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "Falsche Nummer für automatische Ablehnung"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "SIM-Karte einsetzen"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "Offline-Modus deaktivieren, um 3G-Netzdienste zu verwenden."
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "Keine Nachricht"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "Standardbild"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "Modus für autom. Ablehnen aktiviert"
+
diff --git a/po/el_GR.po b/po/el_GR.po
new file mode 100755 (executable)
index 0000000..ba8fc7f
--- /dev/null
@@ -0,0 +1,450 @@
+msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG"
+msgstr "Όταν πραγματοποιείτε μια κλήση, μπορείτε να προσθέσετε αυτόματα στην οθόνη κλήσης ένα πρόθεμα αριθμού που χρησιμοποιείτε συχνά"
+
+msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST"
+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_REJECT_LIST"
+msgstr "Λίστα απόρριψης"
+
+msgid "IDS_CST_HEADER_ANSWERING_CALL"
+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_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 "Αυτόματη επανάκληση"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "Αυτόματη απόρριψη"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "Μέσω δικτύου"
+
+msgid "IDS_CST_BODY_CALL_BARRING"
+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 "Αναμονή κλήσεων"
+
+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 "Απόκρυψη"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "Θα σας καλέσω αργότερα"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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 "Απόρριψη κλήσης με μήνυμα"
+
+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 "Υπό όρους"
+
+msgid "IDS_CST_HEADER_IF_BUSY"
+msgstr "Αν είναι κατειλημμένο"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "Αν δεν αποκρίνεται"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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_SERVICE_NOT_AUTHORISED"
+msgstr "Υπηρεσία δεν επιτρέπεται"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "Κατάσταση"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "Άγνωστη λειτουργία"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "Αυτόματη απάντηση"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "Εικόνα κλήσης βίντεο"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "Ενεργοποίηση αυτόματης απόρριψης"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "Η αυτόματη απόρριψη απενεργοποιήθηκε"
+
+msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"
+msgstr "Διαχείριση λειτουργίας αυτόματης απόρριψης"
+
+msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING"
+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 "Αποδοχή εισερχόμενων κλήσεων πατώντας το κεντρικό πλήκτρο"
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "Μετά από %d δευτερόλεπτα"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+msgstr "Η αυτόματη αποδοχή κλήσεων θα λειτουργεί μόνο με συνδεδεμένο ακουστικό"
+
+msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"
+msgstr "Τερμ.κλ.με το πλήκτ.ενερ."
+
+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 "Κλήση με πρόθεμα"
+
+msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING"
+msgstr "Ενεργοποίηση κλήσεων με πρόθεμα"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "Λίστα κλήσεων με πρόθεμα"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "Κανένας αριθμός"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "Πρόθεμα αριθμού κλήσης"
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "Ταχεία κλήση"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "Επιλέξτε μήνυμα"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "Επεξερ.μηνυμ.απόρριψης"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "Θα ακούγονται ήχοι σήματος κάθε λεπτό"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "Ήχος"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "Δόνηση"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "Προώθηση κλήσης"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "Προώθηση φωνητικής κλήσης"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "Πάντα"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "Προώθηση σε"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "Προώθηση κλήσης βίντεο"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "Φραγή φωνητικών κλήσεων"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "Διεθνείς κλήσεις"
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "Φρ.δ.κλ.εκτ.χώρ.επ."
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "Να μην γίνεται αυτόματη επανάκληση αν δεν είναι δυνατή η σύνδεση της κλήσης ή αν η κλήση έχει διακοπεί"
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "Αλλαγή"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "Εμφάνιση"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "Λήψη εικόνας"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "Θα ακούγεται ήχος σήματος όταν η γραμμή είναι συνδεδεμένη"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+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 "Κατά τη διάρκεια μιας κλήσης, να ειδοποιούμαι για εισερχόμενες κλήσεις"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "Εισάγ. αριθμό απόρ."
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "Υπενθυμίσεις λεπτών"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "Εμφάνιση προεπιλεγμένης εικόνας στον καλούντα κατά την απόκρυψη της εικόνας μου κατά τη διάρκεια των κλήσεων βίντεο"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "Επιλογή από τη Συλλογή"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "Αλλαγή προεπιλ. εικόνας"
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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 "Λίστα αυτόματης απόρριψης"
+
+msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"
+msgstr "Διαχείριση λειτ. απάντησης/τερματισμού κλήσης"
+
+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 "Είμαι στο μάθημα"
+
+msgid "IDS_CST_POP_ENTER_MESSAGE"
+msgstr "Πληκτρολογήστε μήνυμα"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "Ο αριθμός χρησιμοποιείται ήδη"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "Επιλογή αριθμού"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "Λάθος αριθμός αυτόματης απόρριψης"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "Τοποθετήστε την κάρτα SIM"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "Απενεργοποιήστε τη λειτουργία πτήσης για να χρησιμοποιήσετε τις υπηρεσίες δικτύου"
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "Κανένα μήνυμα"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "Προεπιλεγμένη εικόνα"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "Η αυτόματη απόρριψη ενεργοποιήθηκε"
+
diff --git a/po/en.po b/po/en.po
new file mode 100755 (executable)
index 0000000..2254a4d
--- /dev/null
+++ b/po/en.po
@@ -0,0 +1,450 @@
+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_BODY_ADD_TO_REJECT_LIST"
+msgstr "Add to reject list"
+
+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_REJECT_CALL_WITH_MESSAGE_HELP_MSG"
+msgstr "Send an explanatory SMS to callers when you reject their calls"
+
+msgid "IDS_CST_BODY_REJECT_LIST"
+msgstr "Reject list"
+
+msgid "IDS_CST_HEADER_ANSWERING_CALL"
+msgstr "Answering call"
+
+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_CST_BODY_ALERTS_ON_CALL"
+msgstr "Alerts on call"
+
+msgid "IDS_CST_BODY_ALL_CALLS"
+msgstr "All calls"
+
+msgid "IDS_CST_BODY_ALL_INCOMING_CALLS"
+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"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "Auto reject"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "By network"
+
+msgid "IDS_CST_BODY_CALL_BARRING"
+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"
+
+msgid "IDS_CST_BODY_CALL_WAITING"
+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"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "I'll call you later"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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"
+
+msgid "IDS_CST_BODY_SHOW_MY_NUMBER"
+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"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "If no reply"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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_SERVICE_NOT_AUTHORISED"
+msgstr "Service not authorised"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "Status"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "Unknown operation"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "Automatic answering"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "Video call image"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "Enable auto reject"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "Auto reject mode disabled"
+
+msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"
+msgstr "Manage Auto reject mode"
+
+msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING"
+msgstr "Call answering/ending"
+
+msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_THE_HOME_KEY"
+msgstr "Accept calls using the home key"
+
+msgid "IDS_CST_BODY_ACCEPT_INCOMING_CALLS_BY_PRESSING_THE_HOME_KEY"
+msgstr "Accept incoming calls by pressing the home key"
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "After %d seconds"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+msgstr "Automatic answering will operate only with headset connected"
+
+msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"
+msgstr "The power key ends calls"
+
+msgid "IDS_CST_MBODY_AFTER_1_SECOND"
+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"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "Prefix dialling list"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "No numbers"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "Prefix dialling number"
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "Speed dial"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "Select message"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "Edit reject messages"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "There will be signal sounds every minute"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "Sound"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "Vibration"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "Call forwarding"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "Voice call forwarding"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "Always"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "Forward to"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "Video call forwarding"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "Voice call barring"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "Int'l calls"
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "Int'l calls except home"
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "Do not redial automatically if call is unable to connect or is cut off"
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "Change"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "Show"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "Take a picture"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "There will be a signal sound when the line is connected"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+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"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "Enter number to reject"
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "Minute reminders"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "Show preset image to caller when hiding my image during video calls"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "Select from Gallery"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "Change preset image"
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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"
+
+msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"
+msgstr "Manage call answering/ending settings"
+
+msgid "IDS_CST_BODY_MANAGE_PREFIX_DIALLING"
+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"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "Number already in use"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "Select number"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "Wrong auto reject number"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "Insert SIM card"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "Deactivate Flight mode to use network services"
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "No message"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "Default image"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "Auto reject mode enabled"
+
diff --git a/po/es_ES.po b/po/es_ES.po
new file mode 100755 (executable)
index 0000000..26b2c5e
--- /dev/null
@@ -0,0 +1,450 @@
+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_BODY_ADD_TO_REJECT_LIST"
+msgstr "Añadir a lista de rechazados"
+
+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_REJECT_CALL_WITH_MESSAGE_HELP_MSG"
+msgstr "Puede enviar un mensaje de texto explicativo a los llamantes cuando rechace sus llamadas"
+
+msgid "IDS_CST_BODY_REJECT_LIST"
+msgstr "Lista de rechazados"
+
+msgid "IDS_CST_HEADER_ANSWERING_CALL"
+msgstr "Responder llamadas"
+
+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_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"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "Rechazo automático"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "Por la red"
+
+msgid "IDS_CST_BODY_CALL_BARRING"
+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"
+
+msgid "IDS_CST_BODY_CALL_WAITING"
+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"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "Te llamo más tarde"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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"
+
+msgid "IDS_CST_BODY_SHOW_MY_NUMBER"
+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"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "Si no responde"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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_SERVICE_NOT_AUTHORISED"
+msgstr "Servicio no autorizado"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "Estado"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "Operación desconocida"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "Respuesta automática"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "Imagen de videollamada"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "Activar rechazo automático"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "Modo de rechazo automático desactivado"
+
+msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"
+msgstr "Gestionar modo de rechazo automático"
+
+msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING"
+msgstr "Resp./fin. llamada"
+
+msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_THE_HOME_KEY"
+msgstr "Acep llam con tec inicio"
+
+msgid "IDS_CST_BODY_ACCEPT_INCOMING_CALLS_BY_PRESSING_THE_HOME_KEY"
+msgstr "Aceptar llamadas entrantes pulsando la tecla de inicio"
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "Tras %d segundos"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+msgstr "La respuesta automática sólo funcionará con auriculares conectados"
+
+msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"
+msgstr "Tecla encendido y fin de llamada"
+
+msgid "IDS_CST_MBODY_AFTER_1_SECOND"
+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"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "Lista de marcaciones de prefijo"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "Sin números"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "Núm. marcación pref."
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "Marcación rápida"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "Seleccionar mensaje"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "Editar rechazar mensajes"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "Se emitirán señales acústicas cada minuto"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "Sonido"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "Vibración"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "Desvío de llamadas"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "Desvío de llamadas de voz"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "Siempre"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "Reenviar a"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "Desvío de videollamada"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "Restricción de llamadas de voz"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "Llamadas internacionales"
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "Llam inter exc país origen"
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "No marcar automáticamente si la llamada no se puede conectar o se corta"
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "Cambiar"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "Mostrar"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "Hacer una fotografía"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "Se emitirá una señal acústica cuando se conecte la línea"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+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"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "Intr núm para rechazar"
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "Recordatorios minutos"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "Mostrar imagen predefinida al llamante cuando oculte mi imagen durante las videollamadas"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "Selec. desde Galería"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "Camb imagen predef."
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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."
+
+msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"
+msgstr "Gestionar ajustes respuesta/finalización llamadas"
+
+msgid "IDS_CST_BODY_MANAGE_PREFIX_DIALLING"
+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"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "Número ya en uso"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "Seleccionar número"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "Número de rechazo automático incorrecto"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "Introducir tarjeta SIM"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "Desactive el modo Avión para usar los servicios de red"
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "No hay mensajes"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "Imagen predeterminada"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "Modo de rechazo automático activado"
+
diff --git a/po/fr_FR.po b/po/fr_FR.po
new file mode 100755 (executable)
index 0000000..142e7c5
--- /dev/null
@@ -0,0 +1,450 @@
+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_BODY_ADD_TO_REJECT_LIST"
+msgstr "Ajouter à la liste de rejet"
+
+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_REJECT_CALL_WITH_MESSAGE_HELP_MSG"
+msgstr "Vous pouvez envoyer un SMS d'explication aux appelants dont vous rejetez les appels"
+
+msgid "IDS_CST_BODY_REJECT_LIST"
+msgstr "Liste de rejet"
+
+msgid "IDS_CST_HEADER_ANSWERING_CALL"
+msgstr "Réponse à l'appel"
+
+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_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"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "Rejet automatique"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "Par réseau"
+
+msgid "IDS_CST_BODY_CALL_BARRING"
+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"
+
+msgid "IDS_CST_BODY_CALL_STATUS_TONES"
+msgstr "Tonalités état d'appel"
+
+msgid "IDS_CST_BODY_CALL_WAITING"
+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"
+
+msgid "IDS_CST_BODY_HIDE"
+msgstr "Masquer"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "Je vous rappelle plus tard"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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"
+
+msgid "IDS_CST_BODY_SHOW_MY_NUMBER"
+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é"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "Si pas de réponse"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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_SERVICE_NOT_AUTHORISED"
+msgstr "Service non autorisé"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "Etat"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "Opération inconnue"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "Réponse automatique"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "Image appel visio"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "Activer le rejet automatique"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "Mode de rejet automatique désactivé"
+
+msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"
+msgstr "Gérer le mode de rejet automatique"
+
+msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING"
+msgstr "Début/Fin d'appel"
+
+msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_THE_HOME_KEY"
+msgstr "Accepter avec Accueil"
+
+msgid "IDS_CST_BODY_ACCEPT_INCOMING_CALLS_BY_PRESSING_THE_HOME_KEY"
+msgstr "Accepter les appels entrants en appuyant sur la touche d'accueil"
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "Au bout de %d secondes"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+msgstr "La réponse automatique fonctionne seulement si le casque est branché"
+
+msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"
+msgstr "Touche Marche pour terminer les appels"
+
+msgid "IDS_CST_MBODY_AFTER_1_SECOND"
+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"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "Liste de numérotation du préfixe"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "Aucun numéro"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "Numérotation préfixe"
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "Numérotation rapide"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "Sélectionner le message"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "Modif. messages de rejet"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "Un signal sonore est émis toutes les minutes"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "Son"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "Vibreur"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "Transfert d'appel"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "Transfert appels vocaux"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "Toujours"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "Transférer à"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "Transfert d'appel visio"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "Interdiction appels vocaux"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "Appels internationaux"
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "Internat. sauf pays d'origine"
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "Ne pas rappeler automatiquement si l'appel n'a pas abouti ou a été coupé"
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "Modifier"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "Afficher"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "Prendre une photo"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "Un signal sonore est émis lorsque la ligne est connectée"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+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"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "Saisir num. à rejeter"
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "Rappels minute"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "Afficher l'image prédéfinie à l'appelant lorsque mon image est masquée pendant des appels visio"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "Sélect. dans galerie"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "Modifier image prédéfinie"
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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"
+
+msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"
+msgstr "Gérer les paramètres de début/fin d'appel"
+
+msgid "IDS_CST_BODY_MANAGE_PREFIX_DIALLING"
+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"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "Numéro déjà utilisé"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "Sélectionner numéro"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "Numéro de rejet automatique erroné"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "Insérer la carte SIM"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "Désactivez le mode Hors-ligne pour utiliser les services réseau"
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "Aucun message"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "Image par défaut"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "Mode de rejet automatique activé"
+
diff --git a/po/it_IT.po b/po/it_IT.po
new file mode 100755 (executable)
index 0000000..a9d4efc
--- /dev/null
@@ -0,0 +1,450 @@
+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_BODY_ADD_TO_REJECT_LIST"
+msgstr "Aggiungi a rifiutati"
+
+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_REJECT_CALL_WITH_MESSAGE_HELP_MSG"
+msgstr "Potete inviare un SMS a chi avete rifiutato la chamata contenente una spiegazione"
+
+msgid "IDS_CST_BODY_REJECT_LIST"
+msgstr "Elenco rifiutati"
+
+msgid "IDS_CST_HEADER_ANSWERING_CALL"
+msgstr "Risposta alla chiamata"
+
+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_CST_BODY_ALERTS_ON_CALL"
+msgstr "Avvisi in chiamata"
+
+msgid "IDS_CST_BODY_ALL_CALLS"
+msgstr "Tutte le chiamate"
+
+msgid "IDS_CST_BODY_ALL_INCOMING_CALLS"
+msgstr "Tutte in entrata"
+
+msgid "IDS_CST_BODY_ALL_OUTGOING_CALLS"
+msgstr "Tutte in uscita"
+
+msgid "IDS_CST_BODY_ANSWERING_MODE"
+msgstr "Modalità risposta"
+
+msgid "IDS_CST_BODY_AUTO_REDIAL"
+msgstr "Ricomposiz. automatica"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "Rifiuto automatico"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "Predefinito"
+
+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"
+
+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"
+
+msgid "IDS_CST_BODY_CALL_WAITING"
+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"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "Ti richiamo più tardi"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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"
+
+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"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "Nessuna risposta"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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"
+
+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_SERVICE_NOT_AUTHORISED"
+msgstr "Servizio non autorizzato"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "Stato"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "Operazione sconosciuta"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "Risposta automatica"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "Immagine videochiamata"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "Attiva rifiuto automatico"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "Modalità rifiuto automatico disattivata"
+
+msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"
+msgstr "Imposta la modalità di rifiuto automatico delle chiamate"
+
+msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING"
+msgstr "Risposta/Fine chiamata"
+
+msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_THE_HOME_KEY"
+msgstr "Rispondi con tasto Home"
+
+msgid "IDS_CST_BODY_ACCEPT_INCOMING_CALLS_BY_PRESSING_THE_HOME_KEY"
+msgstr "Accetta chiamate in arrivo premendo il tasto Home"
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "Dopo %d secondi"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+msgstr "La risposta automatica funzionerà solo con l'auricolare collegato"
+
+msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"
+msgstr "Termina chiamata"
+
+msgid "IDS_CST_MBODY_AFTER_1_SECOND"
+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"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "Elenco composizione prefisso"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "Nessun numero"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "Numero comp. prefisso"
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "Selezione rapida"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "Seleziona messaggio"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "Modifica o crea i messaggi di rifiuto di una chiamata"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "Verranno emessi dei segnali acustici ogni minuto"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "Suono"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "Vibrazione"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "Trasferimento chiamate"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "Trasferimento chiamate vocali"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "Sempre"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "Inoltra a"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "Trasferimento videochiamata"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "Blocco chiamate vocali"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "Chiamate internazionali"
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "Int. tranne proprio paese"
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "Non ricomporre automaticamente il numero se la chiamata non viene collegata o viene interrotta"
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "Cambia"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "Mostra"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "Scatta una foto"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "Viene emesso un segnale acustico quando la linea è collegata"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+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"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "Imm. nr. da rifiutare"
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "Contaminuti"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "Mostra un'immagine predefinita al chiamante se si nasconde quella personale durante le videochiamate"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "Seleziona da Galleria"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "Modifica immagine predef."
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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"
+
+msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"
+msgstr "Imposta la modalità di risposta e di chiusura delle chiamate"
+
+msgid "IDS_CST_BODY_MANAGE_PREFIX_DIALLING"
+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"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "Numero già utilizzato"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "Seleziona numero"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "Numero rifiuto automatico errato"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "Inserire scheda SIM"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "Disattivare la modalità Offline per usare i servizi di rete"
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "Nessun messaggio"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "Immagine predefinita"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "Modalità rifiuto automatico attivata"
+
diff --git a/po/ja_JP.po b/po/ja_JP.po
new file mode 100755 (executable)
index 0000000..34ab0c8
--- /dev/null
@@ -0,0 +1,450 @@
+msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG"
+msgstr "電話​を​かけた​とき、​ダイヤル​画面​に​よく​使う​プレフィックス​番号​を​自動​で​追加​する​ことが​できます"
+
+msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST"
+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 "着信​を拒否する​場合、​発信者​に​SMSを送信​できます"
+
+msgid "IDS_CST_BODY_REJECT_LIST"
+msgstr "拒否​リスト"
+
+msgid "IDS_CST_HEADER_ANSWERING_CALL"
+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_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 "オートリダイヤル"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "着信​拒否"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "ネットワーク​設定​に​従う"
+
+msgid "IDS_CST_BODY_CALL_BARRING"
+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 "キャッチホン"
+
+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"
+
+msgid "IDS_CST_BODY_HIDE"
+msgstr "表示しない"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "後で​電話​します"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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 "着信拒否時にSMS送信"
+
+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 "条件付き"
+
+msgid "IDS_CST_HEADER_IF_BUSY"
+msgstr "ビジー​時"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "返事​が​ない​場合"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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_SERVICE_NOT_AUTHORISED"
+msgstr "サービス​は​未認証​です"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "ステータス"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "ご利用に​なれ​ません"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "自動​応答"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "テレビ​電話​画像"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "自動着信拒否の有効化"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "自動​拒否​モード​が​無効​に​する"
+
+msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"
+msgstr "自動着信​拒否モードを管理"
+
+msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING"
+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 "ホームキー​を​押して​着信​に応答"
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "%d​秒​後"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+msgstr "自動応答機能は、ヘッドセットが接続された状態でのみ動作"
+
+msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"
+msgstr "電源キーで通話終了"
+
+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 "プレフィックス​番号"
+
+msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING"
+msgstr "プレフィックス​ダイヤルモードをON/OFF"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "プレフィックス​番号​リスト"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "番号​が​ありません"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "プレフィックス​ダイヤル​番号"
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "スピード​ダイヤル​"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "画像​選択"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "着信拒否SMSを編集"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "毎分、​シグナル​音が​します"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "サウンド"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "バイブ"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "転送でんわ"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "転送でんわ"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "通常"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "転送先"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "テレビ​電話​転送中"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "音声​通話​規制"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "国際​通話"
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "自国以外への国際電話は無効です"
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "通話が​接続​できない場合、​または​切れた​場合は、自動​リダイヤル​しないで​ください"
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "変更"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "通知"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "画像を​撮影"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "回線​が​接続​されると、​信号音​が​します"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+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 "通話中​着信を​通知"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "拒否する番号を入力"
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "分単位の通知"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "テレビ電話中の自分の画像を非表示にしておくと、相手にはプリセット画像が表示されます。"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "ギャラリーから選択"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "プリセット画像を変更"
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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 "自動着信拒否​リスト"
+
+msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"
+msgstr "通話​応答/​終了​設定"
+
+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 "申し訳ありません、授業​中です"
+
+msgid "IDS_CST_POP_ENTER_MESSAGE"
+msgstr "メッセージ​を​入力​"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "番号​は​既に​使用​されて​います"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "番号​を​選択"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "自動着信​拒否番号が​正しくありません"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "SIMカードを挿入してください"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "ネットワーク​サービス​を​使用​する​には​、​フライト​モード​を​無効​に​します"
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "SMSがありません"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "標準​画像"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "自動着信拒否モード設定中"
+
diff --git a/po/ko_KR.po b/po/ko_KR.po
new file mode 100755 (executable)
index 0000000..e9d2107
--- /dev/null
@@ -0,0 +1,450 @@
+msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG"
+msgstr "전화를 걸 때 자주 사용하는 지역/국제번호를 자동으로 다이얼 화면에 입력할 수 있습니다"
+
+msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST"
+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_REJECT_LIST"
+msgstr "수신 거부 목록"
+
+msgid "IDS_CST_HEADER_ANSWERING_CALL"
+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_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 "자동 재발신"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "자동 수신 거부"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "네트워크 설정에 따름"
+
+msgid "IDS_CST_BODY_CALL_BARRING"
+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 "통화대기"
+
+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 "숨기기"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "나중에 연락드리겠습니다"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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 "수신 거절 메시지"
+
+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 "조건부"
+
+msgid "IDS_CST_HEADER_IF_BUSY"
+msgstr "통화 중일 때"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "응답이 없을 때"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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_SERVICE_NOT_AUTHORISED"
+msgstr "서비스가 인증되지 않았습니다"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "상태"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "수행할 수 없는 작업입니다"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "자동 전화 받기"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "영상통화 이미지"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "자동 수신 거부 실행"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "자동 수신 거부가 해제되었습니다"
+
+msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"
+msgstr "자동 수신 거부 모드 관리"
+
+msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING"
+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 "홈 버튼을 눌러 전화를 받습니다"
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "%d초 후"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+msgstr "자동 전화 받기는 헤드셋이 연결되어 있을 때만 작동합니다"
+
+msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"
+msgstr "전원 버튼으로 통화 종료"
+
+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 "자동 지역/국가번호"
+
+msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING"
+msgstr "지역/국제번호 실행"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "지역/국제번호 목록"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "번호가 없습니다"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "자동 지역/국가 번호"
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "단축번호"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "메시지 선택"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "거절 메시지를 편집합니다"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "통화 중 1분마다 신호음이 들립니다"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "소리"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "진동"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "착신전환"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "음성통화 착신전환"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "항상"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "착신 전환 번호"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "영상통화 착신전환"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "음성통화 제한"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "국제전화"
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "국제전화(자국 제외)"
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "전화가 연결되지 않았거나 강제로 끊어졌을 경우 다시 걸지 않습니다"
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "변경"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "보이기"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "사진 촬영"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "전화가 연결되면 신호음이 들립니다"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+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 "통화 중에 다른 전화가 걸려오면 알려줍니다"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "수신 거부 번호 입력"
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "1분 경과음"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "영상통화 동안 내 이미지 숨기기를 설정하면 기본 이미지를 상대방에게 보여줍니다"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "갤러리에서 선택"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "기본 이미지 변경"
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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 "자동 수신 거부 목록"
+
+msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"
+msgstr "전화 수신/종료 설정을 관리합니다"
+
+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 "수업 중입니다"
+
+msgid "IDS_CST_POP_ENTER_MESSAGE"
+msgstr "메시지를 입력하세요"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "사용 중인 번호입니다"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "번호를 선택하세요"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "자동 수신 거부 번호가 바르지 않습니다"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "SIM을 삽입하세요"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "네트워크 서비스를 사용하려면 비행기 탑승 모드를 해제하세요"
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "메시지가 없습니다"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "기본 이미지"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "자동 수신 거부가 설정되었습니다"
+
diff --git a/po/nl_NL.po b/po/nl_NL.po
new file mode 100755 (executable)
index 0000000..fc3d31b
--- /dev/null
@@ -0,0 +1,450 @@
+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_BODY_ADD_TO_REJECT_LIST"
+msgstr "Toevoegen aan weigerlijst"
+
+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_REJECT_CALL_WITH_MESSAGE_HELP_MSG"
+msgstr "U kunt een SMS met uitleg verzenden naar bellers wanneer u hun oproepen weigert"
+
+msgid "IDS_CST_BODY_REJECT_LIST"
+msgstr "Blokkeerlijst"
+
+msgid "IDS_CST_HEADER_ANSWERING_CALL"
+msgstr "Oproep 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_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"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "Automatisch weigeren"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "Door netwerk"
+
+msgid "IDS_CST_BODY_CALL_BARRING"
+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"
+
+msgid "IDS_CST_BODY_CALL_WAITING"
+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"
+
+msgid "IDS_CST_BODY_HIDE"
+msgstr "Verbergen"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "Ik bel u later"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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"
+
+msgid "IDS_CST_BODY_SHOW_MY_NUMBER"
+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"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "Bij geen antwoord"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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_SERVICE_NOT_AUTHORISED"
+msgstr "Dienst niet toegestaan"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "Status"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "Onbekende bewerking"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "Autom. beantwoorden"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "Afbeelding video-oproep"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "Automatisch weigeren inschakelen"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "Automatisch weigeren uitgeschakeld"
+
+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"
+
+msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_THE_HOME_KEY"
+msgstr "Accept. met Start-toets"
+
+msgid "IDS_CST_BODY_ACCEPT_INCOMING_CALLS_BY_PRESSING_THE_HOME_KEY"
+msgstr "Inkomende oproepen accepteren met de Start-toets"
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "Na %d seconden"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+msgstr "Automatisch antwoord werkt alleen met aangesloten headset"
+
+msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"
+msgstr "Aan/uit-toets einde oproep"
+
+msgid "IDS_CST_MBODY_AFTER_1_SECOND"
+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"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "Lijst met prefixnummers"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "Geen cijfers"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "Prefix kiesnummer"
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "Snelkiezen"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "Bericht selecteren"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "Weigerberichten bewerken"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "U hoort elke minuut een geluidssignaal"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "Geluid"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "Trillen"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "Oproepen doorschakelen"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "Spraakoproep doorschakelen"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "Altijd"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "Doorsturen naar"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "Video-oproep doorschakelen"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "Spraakoproep blokkeren"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "Internat. oproepen"
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "Internationale oproepen behalve in eigen land"
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "Niet automatisch herhalen als verbinding niet wordt gemaakt of wordt afgebroken"
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "Wijzig"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "Tonen"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "Een foto maken"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "U hoort een geluidssignaal wanneer de lijn wordt verbonden"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+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"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "Nummer om te weigeren"
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "Herinneringen minuten"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "Vooraf ingestelde afbeelding aan beller tonen wanneer mijn afbeelding wordt verborgen tijdens video-oproepen"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "Selecteren uit galerie"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "Vooringest. afb. wijzigen"
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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"
+
+msgid "IDS_CST_BODY_MANAGE_PREFIX_DIALLING"
+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"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "Nummer al in gebruik"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "Selecteer nummer"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "Verkeerd nummer voor automatisch weigeren"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "Plaats SIM-kaart"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "Vliegtuigstand uitschakelen om netwerkservices te gebruiken"
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "Geen berichten"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "Standaardafbeelding"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "Automatisch weigeren ingeschakeld"
+
diff --git a/po/pt_PT.po b/po/pt_PT.po
new file mode 100755 (executable)
index 0000000..9010b39
--- /dev/null
@@ -0,0 +1,450 @@
+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_BODY_ADD_TO_REJECT_LIST"
+msgstr "Adicionar à lista de rejeições"
+
+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_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_CST_HEADER_ANSWERING_CALL"
+msgstr "Atendimento de chamadas"
+
+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_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"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "Lista de rejeições"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "Por rede"
+
+msgid "IDS_CST_BODY_CALL_BARRING"
+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"
+
+msgid "IDS_CST_BODY_CALL_WAITING"
+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"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "Eu telefono mais tarde"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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"
+
+msgid "IDS_CST_BODY_SHOW_MY_NUMBER"
+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"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "Se não atender"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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_SERVICE_NOT_AUTHORISED"
+msgstr "Serviço não autorizado"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "Estado"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "Operação desconhecida"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "Atendim. automático"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "Imagem de chamada de vídeo"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "Activar rejeição automática"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "Modo de rejeição automática desactivado"
+
+msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"
+msgstr "Gerir modo de rejeição automática"
+
+msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING"
+msgstr "Atender/terminar chamada"
+
+msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_THE_HOME_KEY"
+msgstr "Ac. ch. utlz. tec. prin."
+
+msgid "IDS_CST_BODY_ACCEPT_INCOMING_CALLS_BY_PRESSING_THE_HOME_KEY"
+msgstr "Aceitar chamadas recebidas premindo a tecla principal"
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "Após %d segundos"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+msgstr "O atendimento automático só funcionará com um auricular ligado"
+
+msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"
+msgstr "Tec. alim. termina cham."
+
+msgid "IDS_CST_MBODY_AFTER_1_SECOND"
+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"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "Lista de marcação com prefixo"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "Sem números"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "N.º marc. com prefixo"
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "Marcação rápida"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "Seleccionar mensagem"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "Editar msgs de rejeição"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "Serão emitidos sinais sonoros de minuto a minuto"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "Som"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "Vibração"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "Desvio de chamadas"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "Reencaminhamento de chamadas de voz"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "Sempre"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "Reencaminhar para"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "Reencaminhamento de chamada de vídeo"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "Barramento de chamadas de voz"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "Efectuadas internac."
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "Intern. exc. origem"
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "Não faça a remarcação automática se a chamada não conseguir estabelecer a ligação ou estiver cortada"
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "Alterar"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "Exibir"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "Tirar uma fotografia"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "Será emitido um sinal sonoro quando a chamada for iniciada"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+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"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "Intr. n.º p/ rejeitar"
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "Lembretes de minutos"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "Mostrar imagem predefinida ao chamador ao ocultar a minha imagem durante chamadas de vídeo"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "Seleccionar da Galeria"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "Alterar imagem predefin."
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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"
+
+msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"
+msgstr "Gerir definições de atender/terminar chamada"
+
+msgid "IDS_CST_BODY_MANAGE_PREFIX_DIALLING"
+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"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "Número já utilizado"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "Seleccionar número"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "Número de rejeição automática errado"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "Insira o cartão SIM"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "Desactivar o modo de Voo para utilizar os serviços de rede"
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "Nenhuma mensagem"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "Imagem padrão"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "Modo de rejeição automática activado"
+
diff --git a/po/ru_RU.po b/po/ru_RU.po
new file mode 100755 (executable)
index 0000000..b04093f
--- /dev/null
@@ -0,0 +1,450 @@
+msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG"
+msgstr "На экран набора номера можно автоматически добавлять часто используемый префикс"
+
+msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST"
+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_REJECT_LIST"
+msgstr "Черный список"
+
+msgid "IDS_CST_HEADER_ANSWERING_CALL"
+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_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 "Автодозвон"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "Черный список"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "По умолчанию"
+
+msgid "IDS_CST_BODY_CALL_BARRING"
+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 "Ожидание вызова"
+
+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 "Скрыть"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "Я перезвоню позже"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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 "Отклонить вызов и отправить сообщение"
+
+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 "Условная"
+
+msgid "IDS_CST_HEADER_IF_BUSY"
+msgstr "Если занято"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "Если нет ответа"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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_SERVICE_NOT_AUTHORISED"
+msgstr "Услуга не разрешена"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "Состояние"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "Неизвестная операция"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "Автоматический ответ"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "Изображение для видеовызова"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "Включить черный список"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "Отключен режим автоотклонения"
+
+msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"
+msgstr "Управление автоотклонением вызовов"
+
+msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING"
+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 "Принимать входящие вызовы с помощью клавиши \"Домашняя страница\""
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "Через %d с"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+msgstr "Функция автоматического ответа будет работать только при подключенной гарнитуре"
+
+msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"
+msgstr "Завер. вызова клав. пит."
+
+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 "Набор префикса"
+
+msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING"
+msgstr "Включить набор префикса"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "Список префиксов набора"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "Нет номеров"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "Номер префикса"
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "Быстрый набор"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "Выберите сообщение"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "Изменение сообщения для отклонения"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "Сигнал будет звучать каждую минуту"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "Звук"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "Вибрация"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "Переадресация вызова"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "Переадресация голосовых вызовов"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "Всегда"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "Переадресовать"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "Переадресация видеовызовов"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "Запрет голосовых вызовов"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "Международные вызовы"
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "Международные кроме домой"
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "Не использовать автодозвон, если не удалось подключиться при вызове или произошло отключение"
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "Изменить"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "Показать"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "Сделать снимок"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "При подключении вызова будет звучать сигнал"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+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 "Уведомлять о входящих вызовах во время звонка"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "Введ. номер для откл."
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "Поминутное уведомление"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "Показывать предварительно заданное изображение вместо моего изображения во время видеовызова"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "Выбрать из галереи"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "Изменить изображение"
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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 "Черный список"
+
+msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"
+msgstr "Управление ответами на звонки и завершением вызовов"
+
+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 "Я на занятиях"
+
+msgid "IDS_CST_POP_ENTER_MESSAGE"
+msgstr "Введите сообщение"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "Номер уже используется"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "Выбор номера"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "Неверный номер для черного списка"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "Вставьте SIM-карту"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "Отключите автономный режим для использования услуг сети"
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "Нет сообщений"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "Изображение по умолчанию"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "Включен режим автоотклонения"
+
diff --git a/po/test.pot b/po/test.pot
new file mode 100755 (executable)
index 0000000..d900988
--- /dev/null
@@ -0,0 +1,30 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-11-30 15:21+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: test.c:40
+msgid "Application template"
+msgstr ""
+
+#: test.c:41
+msgid "Click to exit"
+msgstr ""
+
+#. SLP_appfwk_set_window_size(480, 800);
+#: test.c:94
+msgid "FONT_NAME"
+msgstr ""
diff --git a/po/tr_TR.po b/po/tr_TR.po
new file mode 100755 (executable)
index 0000000..10c1d46
--- /dev/null
@@ -0,0 +1,450 @@
+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_BODY_ADD_TO_REJECT_LIST"
+msgstr "Reddedilen listesine ekle"
+
+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_REJECT_CALL_WITH_MESSAGE_HELP_MSG"
+msgstr "Aramalarını reddettiğinizde arayanlara açıklayıcı bir mesaj bırakabilirsiniz"
+
+msgid "IDS_CST_BODY_REJECT_LIST"
+msgstr "Reddedilenler listesi"
+
+msgid "IDS_CST_HEADER_ANSWERING_CALL"
+msgstr "Çağrı 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_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"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "Otomatik reddet"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "Şebeke ile"
+
+msgid "IDS_CST_BODY_CALL_BARRING"
+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"
+
+msgid "IDS_CST_BODY_CALL_WAITING"
+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"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "Seni sonra arayacağım"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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"
+
+msgid "IDS_CST_BODY_SHOW_MY_NUMBER"
+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"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "Cevap yoksa"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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_SERVICE_NOT_AUTHORISED"
+msgstr "Servise izin verilmemiş"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "Durum"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "Bilinmeyen operasyon"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "Otomatik cevaplama"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "Görüntülü arama resmi"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "Otomatik reddetmeyi etkinleştir"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "Otomatik reddetme modu devre dışı"
+
+msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"
+msgstr "Otomatik reddetme modunu yönet"
+
+msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING"
+msgstr "Arama yanıtlama/bitirme"
+
+msgid "IDS_CST_BODY_ACCEPT_CALLS_USING_THE_HOME_KEY"
+msgstr "Menü tuş ile ara. kbl et"
+
+msgid "IDS_CST_BODY_ACCEPT_INCOMING_CALLS_BY_PRESSING_THE_HOME_KEY"
+msgstr "Menü tuşuna basarak gelen aramaları kabul edin"
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "%d saniye sonra"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+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"
+
+msgid "IDS_CST_MBODY_AFTER_1_SECOND"
+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"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "Ön ekli arama listesi"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "Numara yok"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "Kodlu arama numarası"
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "Hızlı arama"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "Mesajı seçin"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "Red mesajlarını düzenle"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "Her bir dakikada bir sinyal sesi duyacaksınız"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "Ses"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "Titreşim"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "Arama yönlendirme"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "Sesli arama yönlendirme"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "Her zaman"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "Yönlendir"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "Görüntülü arama yönlendirme"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "Sesli arama engelleme"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "Uluslararası aramalar"
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "Ev hariç uluslararası aramalar"
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "Arama bağlanamazsa veya kesilirse otomatik olarak tekrar arama"
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "Değiştir"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "Göster"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "Resim çekin"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "Hat bağlandığında bir sinyal sesi duyacaksınız"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+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"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "Reddedileck numara gir"
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "Dakika hatırlatıcılar"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "Görüntülü arama sırasında görüntümü gizlerken arayana önceden ayarlı görüntüyü göster"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "Galeriden seç"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "Öncedn ayarlı resmi dğştr"
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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"
+
+msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"
+msgstr "Arama yanıtlama/bitirme ayarlarını yönet"
+
+msgid "IDS_CST_BODY_MANAGE_PREFIX_DIALLING"
+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"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "Numara kullanımda"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "Numara seçin"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "Yanlış otomatik reddetme numarası"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "Lütfen SIM kartı takın"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "Ağ servislerini kullanmak için Uçuş modunu devre dışı bırakın"
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "Mesaj yok"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "Varsayılan resim"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "Otomatik reddetme modu etkin"
+
diff --git a/po/update-po.sh b/po/update-po.sh
new file mode 100755 (executable)
index 0000000..e5f9728
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+PACKAGE=libug-setting-call-efl
+SRCROOT=..
+POTFILES=POTFILES.in
+
+ALL_LINGUAS= am az be ca cs da de el en_CA en_GB es et fi fr hr hu it ja ko lv mk ml ms nb ne nl pa pl pt pt_BR ru rw sk sl sr sr@Latn sv ta tr uk vi zh_CN zh_TW
+#ALL_LINGUAS="en_US en_GB ja ko zh_CN"
+
+XGETTEXT=/usr/bin/xgettext
+MSGMERGE=/usr/bin/msgmerge
+
+echo -n "Make ${PACKAGE}.pot  "
+if [ ! -e $POTFILES ] ; then
+       echo "$POTFILES not found"
+       exit 1
+fi
+
+$XGETTEXT --default-domain=${PACKAGE} --directory=${SRCROOT} \
+               --add-comments --keyword=_ --keyword=N_ --files-from=$POTFILES \
+&& test ! -f ${PACKAGE}.po \
+       || (rm -f ${PACKAGE}.pot && mv ${PACKAGE}.po ${PACKAGE}.pot)
+
+if [ $? -ne 0 ]; then
+       echo "error"
+       exit 1
+else
+       echo "done"
+fi
+
+for LANG in $ALL_LINGUAS; do 
+       echo "$LANG : "
+
+       if [ ! -e $LANG.po ] ; then
+               sed 's/CHARSET/UTF-8/g' ${PACKAGE}.pot > ${LANG}.po
+               echo "${LANG}.po created"
+       else
+               if $MSGMERGE ${LANG}.po ${PACKAGE}.pot -o ${LANG}.new.po ; then
+                       if cmp ${LANG}.po ${LANG}.new.po > /dev/null 2>&1; then
+                               rm -f ${LANG}.new.po
+                       else
+                               if mv -f ${LANG}.new.po ${LANG}.po; then
+                                       echo "" 
+                               else
+                                       echo "msgmerge for $LANG.po failed: cannot move $LANG.new.po to $LANG.po" 1>&2
+                                       rm -f ${LANG}.new.po
+                                       exit 1
+                               fi
+                       fi
+               else
+                       echo "msgmerge for $LANG failed!"
+                       rm -f ${LANG}.new.po
+               fi
+       fi
+       echo ""
+done
+
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100755 (executable)
index 0000000..cfbd641
--- /dev/null
@@ -0,0 +1,450 @@
+msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG"
+msgstr "拨打电话时,可以自动将常用前缀号码添加至拨号屏幕中"
+
+msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST"
+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_REJECT_LIST"
+msgstr "拒绝列表"
+
+msgid "IDS_CST_HEADER_ANSWERING_CALL"
+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_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 "自动重拨"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "自动拒绝"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "经网络"
+
+msgid "IDS_CST_BODY_CALL_BARRING"
+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 "呼叫等待"
+
+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 "隐藏"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "我会稍侯给您回电"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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 "拒接来电并发送短信"
+
+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 "有条件的"
+
+msgid "IDS_CST_HEADER_IF_BUSY"
+msgstr "遇忙转移"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "无应答转移"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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_SERVICE_NOT_AUTHORISED"
+msgstr "服务未授权"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "状态"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "未知操作"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "自动应答"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "视频电话图像"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "启动自动拒绝"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "已取消自动拒绝模式"
+
+msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"
+msgstr "自动拒绝模式管理"
+
+msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING"
+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 "按下主屏幕键接听来电"
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "%d秒钟之后"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+msgstr "仅在连接耳机时自动接听才可使用"
+
+msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"
+msgstr "电源键结束通话"
+
+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 "拨号前缀"
+
+msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING"
+msgstr "启动前缀拨号"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "前缀拨号列表"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "没有号码"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "拨号前缀号码"
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "快速拨号"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "选择信息"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "编辑拒绝信息"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "每分钟将会有信号音"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "声音"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "振动"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "呼叫转移"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "语音呼叫转移"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "总是"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "转发至"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "视频通话转移"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "语音呼叫限制"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "国际长途"
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "国际长途(本国除外)"
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "呼叫无法连接或断开时不自动重拨"
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "更改"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "显示"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "拍照"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "通话连接时会有提示音"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+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 "通话时通知来电"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "输入拒绝号码"
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "分钟提醒功能"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "当在视频通话期间隐藏我的图像时显示来电预设图像"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "从图库选择"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "更改预设图像"
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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 "自动拒绝列表"
+
+msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"
+msgstr "管理呼叫应答/结束设置"
+
+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 "我正在上课"
+
+msgid "IDS_CST_POP_ENTER_MESSAGE"
+msgstr "输入信息"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "号码已使用"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "选择号码"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "自动拒绝号码错误"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "插入SIM卡"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "取消飞行模式以使用网络服务"
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "无信息"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "默认图像"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "已启动自动拒绝模式"
+
diff --git a/po/zh_HK.po b/po/zh_HK.po
new file mode 100755 (executable)
index 0000000..46f1334
--- /dev/null
@@ -0,0 +1,450 @@
+msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG"
+msgstr "當撥出通話時,您可以將常用字首號碼自動加入至撥號螢幕中"
+
+msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST"
+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_REJECT_LIST"
+msgstr "拒絕清單"
+
+msgid "IDS_CST_HEADER_ANSWERING_CALL"
+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_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 "自動重撥"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "自動拒絕來電"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "按網絡"
+
+msgid "IDS_CST_BODY_CALL_BARRING"
+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 "來電待接"
+
+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 "隱藏"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "我稍後打給你"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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 "發訊息以拒絕來電"
+
+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 "條件性的"
+
+msgid "IDS_CST_HEADER_IF_BUSY"
+msgstr "線路繁忙時轉駁"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "無人接聽轉駁"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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_SERVICE_NOT_AUTHORISED"
+msgstr "服務未授權"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "狀態"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "不明的操作"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "自動接聽"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "視像通話圖像"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "啟動自動拒絕"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "自動拒絕模式已停用"
+
+msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"
+msgstr "管理自動拒絕模式"
+
+msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING"
+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 "按下首頁鍵接聽來電"
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "%d秒後"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+msgstr "自動接聽只會在連接耳機後運作"
+
+msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"
+msgstr "以電源鍵結束通話"
+
+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 "字首撥號"
+
+msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING"
+msgstr "啟動字首撥號"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "字首撥號清單"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "無號碼"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "字首撥號號碼"
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "快速撥號"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "選擇訊息"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "編輯拒絕訊息"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "每分鐘將會有訊號音"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "聲音"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "震動"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "來電轉駁"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "語音來電轉駁"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "總是轉駁"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "轉寄至"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "視像通話轉駁設定"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "語音通話限制"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "國際長途電話"
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "國際(本國除外)"
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "通話無法接通或中斷時不會自動重撥"
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "更改"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "顯示"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "拍攝圖片"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "線路連接時會有訊號音"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+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 "通話期間如有來電,請通知我"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "輸入要拒絕的號碼"
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "分鐘提醒"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "在視像通話期間隱藏我的圖像時,會對來電者顯示預設圖像"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "從媒體瀏覽器選擇"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "更改預設圖像"
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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 "自動拒絕清單"
+
+msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"
+msgstr "管理接聽/結束通話設定"
+
+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 "我正在上課"
+
+msgid "IDS_CST_POP_ENTER_MESSAGE"
+msgstr "請輸入訊息"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "號碼已在使用"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "選擇號碼"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "錯誤的自動拒絕號碼"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "請插入 SIM 卡"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "請關閉飛行模式以使用網絡服務"
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "無訊息"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "預設圖像"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "自動拒絕模式已啟用"
+
diff --git a/po/zh_TW.po b/po/zh_TW.po
new file mode 100755 (executable)
index 0000000..ee3262b
--- /dev/null
@@ -0,0 +1,450 @@
+msgid "IDS_CST_BODY_ADD_PREFIX_NUMBER_HELP_MSG"
+msgstr "撥打手機時,可以自動將常用前置號碼加入至撥號畫面中"
+
+msgid "IDS_CST_BODY_ADD_TO_REJECT_LIST"
+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_REJECT_LIST"
+msgstr "拒絕清單"
+
+msgid "IDS_CST_HEADER_ANSWERING_CALL"
+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_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 "自動重撥"
+
+msgid "IDS_CST_BODY_AUTO_REJECT"
+msgstr "自動拒絕"
+
+msgid "IDS_CST_BODY_BY_NETWORK"
+msgstr "按網路"
+
+msgid "IDS_CST_BODY_CALL_BARRING"
+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 "來電等待"
+
+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 "隱藏"
+
+msgid "IDS_CST_BODY_ILL_CALL_YOU_LATER"
+msgstr "我稍候回您電話"
+
+msgid "IDS_CST_BODY_IM_AT_THE_CINEMA"
+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 "使用訊息拒絕來電"
+
+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 "條件式"
+
+msgid "IDS_CST_HEADER_IF_BUSY"
+msgstr "若忙線"
+
+msgid "IDS_CST_HEADER_IF_NO_REPLY"
+msgstr "若無回覆"
+
+msgid "IDS_CST_HEADER_IF_OUT_OF_REACH"
+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_SERVICE_NOT_AUTHORISED"
+msgstr "服務未經授權"
+
+msgid "IDS_CST_POP_STATUS"
+msgstr "狀態"
+
+msgid "IDS_CST_POP_UNKNOWN_OPERATION"
+msgstr "不明操作"
+
+msgid "IDS_CST_HEADER_AUTOMATIC_ANSWERING_ABB"
+msgstr "自動接聽"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_IMAGE"
+msgstr "影片通話圖像"
+
+msgid "IDS_CST_BODY_ENABLE_AUTO_REJECT"
+msgstr "啟用自動拒絕"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_DISABLED_ABB"
+msgstr "在自動拒絕模式禁用"
+
+msgid "IDS_CST_BODY_MANAGE_AUTO_REJECT_MODE"
+msgstr "管理自動拒絕模式"
+
+msgid "IDS_CST_MBODY_CALL_ANSWERING_ENDING"
+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 "點選撥號鍵接聽來電"
+
+msgid "IDS_CST_BODY_AFTER_PD_SECONDS"
+msgstr "經過%d秒"
+
+msgid "IDS_CST_BODY_AUTOMATIC_ANSWERING_WILL_OPERATE_ONLY_WITH_A_CONNECTED_HEADSET"
+msgstr "自動接聽只有在已連接耳機時可設定"
+
+msgid "IDS_CST_MBODY_THE_POWER_KEY_ENDS_CALLS"
+msgstr "電源鍵結束通話"
+
+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 "前綴撥號"
+
+msgid "IDS_CST_BODY_ENABLE_PREFIX_DIALLING"
+msgstr "啟用撥號字首"
+
+msgid "IDS_CST_BODY_PREFIX_DIALLING_LIST"
+msgstr "字首撥號列表"
+
+msgid "IDS_CST_BODY_NO_NUMBERS"
+msgstr "沒有號碼"
+
+msgid "IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"
+msgstr "前綴撥號"
+
+msgid "IDS_CST_BODY_SPEED_DIAL"
+msgstr "怏速撥號"
+
+msgid "IDS_CST_HEADER_SELECT_MESSAGE"
+msgstr "選擇訊息"
+
+msgid "IDS_CST_BODY_EDIT_REJECT_MESSAGES_ABB"
+msgstr "編輯拒接訊息"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_SIGNAL_SOUNDS_EVERY_MINUTE"
+msgstr "每分鐘將有訊號音"
+
+msgid "IDS_CST_BODY_SOUND"
+msgstr "聲音"
+
+msgid "IDS_CST_BODY_VIBRATION"
+msgstr "振動"
+
+msgid "IDS_CST_BODY_CALL_FORWARDING"
+msgstr "來電轉接"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_FORWARDING"
+msgstr "語音來電轉接"
+
+msgid "IDS_CST_HEADER_ALWAYS"
+msgstr "永遠"
+
+msgid "IDS_CST_HEADER_FORWARD_TO"
+msgstr "轉發給"
+
+msgid "IDS_CST_BODY_VIDEO_CALL_FORWARDING"
+msgstr "視訊通話轉移"
+
+msgid "IDS_CST_HEADER_VOICE_CALL_BARRING_ABB"
+msgstr "語音通話限制"
+
+msgid "IDS_CST_BODY_INTL_CALLS"
+msgstr "國際電話"
+
+msgid "IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"
+msgstr "國際電話(本國除外)"
+
+msgid "IDS_CST_BODY_DO_NOT_REDIAL_AUTOMATICALLY_IF_CALL_IS_UNABLE_TO_CONNECT_OR_IS_CUT_OFF"
+msgstr "不要自動重撥,如果無法接通或被切斷"
+
+msgid "IDS_CST_SK_CHANGE"
+msgstr "更改"
+
+msgid "IDS_CST_BODY_SHOW"
+msgstr "顯示"
+
+msgid "IDS_CST_BODY_TAKE_A_PICTURE"
+msgstr "拍攝相片"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_CONNECTED"
+msgstr "電話接通時會播放訊號音"
+
+msgid "IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"
+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 "通話期間若有來電,請通知我"
+
+msgid "IDS_CST_HEADER_ENTER_NUMBER_TO_REJECT_ABB"
+msgstr "輸入要拒接的號碼"
+
+msgid "IDS_CST_BODY_MINUTE_REMINDERS_ABB"
+msgstr "會議提醒"
+
+msgid "IDS_CST_BODY_SHOW_PRESET_IMAGE_TO_CALLER_WHEN_HIDING_MY_IMAGE_DURING_VIDEO_CALLS"
+msgstr "在視訊通話期間隱藏我的影像時,會對來電者顯示預設影像"
+
+msgid "IDS_CST_OPT_SELECT_FROM_GALLERY_ABB"
+msgstr "從媒體瀏覽器選取"
+
+msgid "IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"
+msgstr "變更預設影像"
+
+msgid "IDS_CST_BODY_SOUND_SETTINGS_DURING_CALL"
+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 "自動拒絕清單"
+
+msgid "IDS_CST_BODY_MANAGE_CALL_ANSWERING_ENDING_SETTINGS_ABB"
+msgstr "管理接聽/結束通話設定"
+
+msgid "IDS_CST_BODY_MANAGE_PREFIX_DIALLING"
+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 "輸入訊息"
+
+msgid "IDS_CST_POP_NUMBER_ALREADY_IN_USE"
+msgstr "號碼已被使用"
+
+msgid "IDS_CST_HEADER_SELECT_NUMBER"
+msgstr "選擇號碼"
+
+msgid "IDS_CST_BODY_WRONG_AUTO_REJECT_NUMBER"
+msgstr "錯誤的自動拒絕號碼"
+
+msgid "IDS_COM_POP_INSERT_SIM_CARD"
+msgstr "請插入 SIM 卡"
+
+msgid "IDS_COM_POP_DEACTIVATE_FLIGHT_MODE_TO_USE_NETWORK_SERVICES"
+msgstr "關閉飛航模式以使用網路服務"
+
+msgid "IDS_CST_BODY_NO_MESSAGE"
+msgstr "無訊息"
+
+msgid "IDS_CST_BODY_DEFAULT_IMAGE"
+msgstr "預設影像"
+
+msgid "IDS_CST_BODY_AUTO_REJECT_MODE_ENABLED_ABB"
+msgstr "啟用自動拒絕模式"
+
diff --git a/resource/call-setting.edc b/resource/call-setting.edc
new file mode 100755 (executable)
index 0000000..fd02437
--- /dev/null
@@ -0,0 +1,257 @@
+/*
+  * 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
+#define DIALOGUEGROUP_ITEM_BOTTOM_TEXT_COLOR_1_INC 213 129 31 255
+#define DIALOGUEGROUP_ITEM_BOTTOM_TEXT_DISABLED_COLOR_1_INC 147 120 98 255
+#define DIALOGUEGROUP_ITEM_PRESSED_TEXT_COLOR_INC 255 255 255 255
+#define DIALOGUEGROUP_ITEM_PRESSED_TEXT_COLOR_INC 255 255 255 255
+
+#define DIALOGUEGROUP_ITEM_SINGLE_TEXT_COLOR_INC 0 0 0 255
+#define DIALOGUEGROUP_ITEM_DISABLED_TEXT_COLOR_INC 163 157 138 255
+
+collections {
+       group {
+               name: "nocontents";
+               parts {
+                       part { name: "bg";
+                               mouse_events: 0;
+                               type: RECT;
+                               description { state: "default" 0.0;
+                                       visible: 1;
+                                       rel1 { relative: 0.0 0.0;}
+                                       rel2 { relative: 1.0 1.0;}
+                                       color: 0 0 0 0;
+                               }
+                       }
+
+                       part {
+                               name: "contents";
+                               type: SWALLOW;
+                               mouse_events: 1;
+                               description {
+                                       state: "default" 0.0;
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "toolbar";
+               parts {
+                       part { 
+                               name: "background";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0.0 0.0; }
+                                       rel2 { relative: 1.0 1.0; }
+                                       color: 0 0 0 0;
+                               }
+                       }
+
+                       part {
+                               name: "elm.swallow.contents";
+                               type: SWALLOW;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       visible: 1;
+                                       rel1 { relative: 0.0 0.0; to:"background"; }
+                                       rel2 { relative: 1.0 0.0; to_x: "background"; to_y:"bottom_padding"; }
+                               }
+                               description {
+                                       state: "show_content2" 0.0;
+                                       visible: 0;
+                                       rel1 { relative: 0.0 0.0; to:"background"; }
+                                       rel2 { relative: 1.0 0.0; to_x: "background"; to_y:"bottom_padding"; }
+                               }
+                       }
+
+                       part { 
+                               name: "elm.swallow.contents2";
+                               type: SWALLOW;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       visible: 0;                                     
+                                       rel1 { relative: 0.0 0.0; to:"background"; }
+                                       rel2 { relative: 1.0 0.0; to_x: "background"; to_y:"bottom_padding"; }
+                               }
+                               description {
+                                       state: "show_content2" 0.0;
+                                       visible: 1;
+                                       rel1 { relative: 0.0 0.0; to:"background"; }
+                                       rel2 { relative: 1.0 0.0; to_x: "background"; to_y:"bottom_padding"; }
+                               }
+                       }
+
+                       part {
+                               name: "bottom_padding";
+                               type: RECT;
+                               mouse_events: 0;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 0 0;
+                                       fixed: 0 1;
+                                       align: 0.5 1.0;
+                                       rel1 { relative: 0.0 1.0; to: "background"; }
+                                       rel2 { relative: 1.0 1.0; to: "background"; }
+                                       color: 0 0 0 0;
+                               }
+
+                               description {
+                                       state: "padding" 0.0;
+                                       inherit: "default" 0.0;
+                                       min: 0 82;
+                               }
+                       }
+
+                       part {
+                               name: "elm.swallow.toolbar";
+                               type: SWALLOW;
+                               mouse_events: 1;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 0 86;
+                                       fixed: 0 1;
+                                       align: 0.5 1.0;
+                                       rel1 { relative: 0.0 1.0; }
+                                       rel2 { relative: 1.0 1.0; }
+                               }
+                       }
+               }
+
+               programs {
+                       program {
+                               name: "bottom_padding_content_area";
+                               signal: "elm,layout,content,bottom_padding";
+                               source: "layout";
+                               action: STATE_SET "padding" 0.0;
+                               target: "bottom_padding";
+                       }
+
+                       program {
+                               name: "default_content_area";
+                               signal: "elm,layout,content,default";
+                               source: "layout";
+                               action: STATE_SET "default" 0.0;
+                               target: "bottom_padding";
+                       }
+
+                       program {
+                               name: "show_contents1";
+                               signal: "show,content1";
+                               source: "code";
+                               action: STATE_SET "default" 0.0;
+                               target: "elm.swallow.contents";
+                               target: "elm.swallow.contents2";
+                       }
+
+                       program {
+                               name: "show_contents2";
+                               signal: "show,content2";
+                               source: "code";
+                               action: STATE_SET "show_content2" 0.0;
+                               target: "elm.swallow.contents";
+                               target: "elm.swallow.contents2";
+                       }
+               }
+       }
+
+       group {
+               name: "video_call_image";
+
+               parts {
+                       /* background */
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0.0 0.0;}
+                                       rel2 { relative: 1.0 1.0;}
+                                       color: 0 0 0 0;
+                               }
+                       }
+
+                       part {
+                               name: "swallow.image.bg";
+                               type: RECT;
+                               mouse_events: 0;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 4/480 61/800; offset: 0 0; to:"bg";}
+                                       rel2 { relative: 476/480 449/800; offset: 0 0; to:"bg";}
+                                       color: 0 0 0 0;
+                               }
+                       }
+
+                       part {
+                               name: "swallow.image";
+                               type: SWALLOW;
+                               mouse_events: 0;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 460 376;
+                                       fixed: 1 1;
+                                       align: 0.5 0.5;
+                                       rel1 { relative: 0.0 0.0; offset: 0 0; to: "swallow.image.bg";}
+                                       rel2 { relative: 1.0 1.0; offset: 0 0; to: "swallow.image.bg";}
+
+                               }
+                       }
+
+                       part {
+                               name: "elm.swallow.contents";
+                               type    : SWALLOW;
+                               mouse_events: 1;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       fixed: 0 1;
+                                       align   : 0.5 1.0;
+                                       rel1 { relative: 0.0 493/800; }
+                                       rel2 { relative: 1.0 1.0; to : "elm.swallow.toolbar";}
+                               }
+                       }
+
+                       part {
+                               name : "elm.swallow.toolbar";
+                               type: SWALLOW;
+                               mouse_events: 1;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 0 86;
+                                       fixed: 0 1;
+                                       align: 0.5 1.0;
+                                       rel1 { relative: 0.0 1.0; }
+                                       rel2 { relative: 1.0 1.0; }
+                               }
+                       }
+               }
+       }
+
+}
diff --git a/resource/ug_effect.edc b/resource/ug_effect.edc
new file mode 100755 (executable)
index 0000000..613a0e9
--- /dev/null
@@ -0,0 +1,100 @@
+/*
+  * 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
+collections {
+       group {
+               name: "ug_effect";
+               parts {
+                       part {
+                               name: "clip";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 1 0; }
+                                       rel2 { relative: 2 1; }
+                                       color: 255 255 255 0;
+                               }
+                               description {
+                                       state: "show" 0.0;
+                                       rel1 { relative: 0 0; }
+                                       rel2 { relative: 1 1; }
+                                       color: 255 255 255 255;
+                               }
+                       }
+                       part {
+                               name: "elm.swallow.content";
+                               type: SWALLOW;
+                               clip_to: "clip";
+                               description {
+                                       rel1.to: "clip";
+                                       rel2.to: "clip";
+                               }
+                       }
+                       part {
+                               name: "event_blocker";
+                               description {
+                                       state: "default" 0.0;
+                                       visible: 1;
+                               }
+                               description {
+                                       state: "show" 0.0;
+                                       inherit: "default" 0.0;
+                               }
+                               description {
+                                       state: "disabled" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 0;
+                               }
+                       }
+               }
+               programs {
+                       program {
+                               name: "show";
+                               signal: "elm,state,show";
+                               action: STATE_SET "show" 0.0;
+                               target: "clip";
+                               target: "event_blocker";
+                               transition: "DECELERATE" 0.5;
+                               after: "show_end";
+                       }       
+                       program {
+                               name: "hide";
+                               signal: "elm,state,hide";
+                               action: STATE_SET "default" 0.0;
+                               target: "clip";
+                               target: "event_blocker";
+                               transition: "DECELERATE" 0.5;
+                               after: "hide_end";
+                       }
+                       program {
+                               name: "disable_blocker";
+                               action: STATE_SET "disabled" 0.0;
+                               target: "event_blocker";
+                       }
+                       program {
+                               name: "show_end";
+                               action: SIGNAL_EMIT "elm,action,show,finished" "";
+                               after: "disable_blocker";
+                       }
+                       program {
+                               name: "hide_end";
+                               action: SIGNAL_EMIT "elm,action,hide,finished" "";
+                               after: "disable_blocker"; 
+                       }
+               }
+       }
+}
diff --git a/src/cst-barring-ime.c b/src/cst-barring-ime.c
new file mode 100755 (executable)
index 0000000..655d233
--- /dev/null
@@ -0,0 +1,101 @@
+/*
+  * 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 <Elementary.h>
+
+#include "cst-common.h"
+#include "cst-common-string.h"
+
+#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)
+{
+       ENTER(_cst_get_cb_input_password);
+       CstUgData_t *ugd = (CstUgData_t *)data;
+       retv_if(!ugd, -1);
+       const char *entry_input;
+       Evas_Object *error;
+       Ecore_IMF_Context *imf_ctx;
+
+       entry_input = elm_entry_entry_get(ugd->dg_entry);
+       retv_if(!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);
+               retv_if(!error, -1);
+               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_cb_ime(void *data, Evas_Object *obj, const char *part)
+{
+       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_CALL_BAR, NULL);
+       }
+
+       return NULL;
+}
+
+static Evas_Object *__cst_create_cb_ime_genlist(CstUgData_t *ugd)
+{
+       ENTER(__cst_create_cb_ime_genlist);
+       Elm_Object_Item *item = NULL;
+       Evas_Object *genlist;
+
+       genlist = elm_genlist_add(ugd->nf);
+
+       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_cb_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_cb_ime(Evas_Object *parent, char *edit_string, void *data)
+{
+       ENTER(_cst_create_cb_ime);
+       retv_if(NULL == data, NULL);
+       CstUgData_t *ugd = (CstUgData_t *)data;
+
+       Evas_Object *genlist = __cst_create_cb_ime_genlist(ugd);
+       return genlist;
+}
diff --git a/src/cst-barring.c b/src/cst-barring.c
new file mode 100755 (executable)
index 0000000..86a6c82
--- /dev/null
@@ -0,0 +1,594 @@
+/*
+  * 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 <Elementary.h>
+
+#include "cst-common-string.h"
+#include "cst-call-setting.h"
+
+#include "cst-barring.h"
+#include "cst-barring-ime.h"
+#include "cst-widget.h"
+#include "cst-common.h"
+#include "cst-tapi-request.h"
+#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},
+       {1, CST_STR_INTL_CALLS, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF_PROGRESS, __cst_on_click_cb_onoff},
+       {1, CST_STR_CALL_INTL_EXCEPT_HOME, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF_PROGRESS, __cst_on_click_cb_onoff},
+       {1, CST_STR_ALL_INCOMING_CALLS, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF_PROGRESS, __cst_on_click_cb_onoff},
+       {1, CST_STR_CALL_INCOMING_WHEN_ROAMING, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF_PROGRESS, __cst_on_click_cb_onoff},
+
+       {1, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL},
+};
+
+static void __cst_on_click_cb_back_button(void *data, Evas_Object *obj, void *event_info)
+{
+       ENTER(__cst_on_click_cb_back_button);
+       retm_if(data == NULL, "NULL UgData");
+
+       CstUgData_t *ugd = (CstUgData_t *)data;
+       _cst_cancel_all_ss_request(ugd);
+
+       ugd->back_button = _cst_get_navifr_prev_btn(ugd->nf);
+}
+
+static void __cst_disable_cb_glitem(CstGlItemData_t *item_data)
+{
+       ENTER(__cst_disable_cb_glitem);
+       CstUgData_t *ugd = (CstUgData_t *)item_data->ugd;
+       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);
+       CstGlItemData_t *item_data = (CstGlItemData_t *)data;
+       CstUgData_t *ugd = item_data->ugd;
+       DBG("call_type=%d (0:voice 1:video)", call_type);
+       DBG("cb_flavour=%d (6:BAOC 7:BAOIC 8:BAOIC exc home 9:BAIC 10:BAIC roaming)", cb_flavour);
+       DBG("cb_state=%d (1:on 0:off), error=%d", cb_state, error);
+       DBG("req_action=%d(0: Activate, 1:Deactivate, 2:Query)", req_action);
+       retv_if((call_type != ugd->call_type && call_type != CST_CALLTYPE_ALL), -1);
+
+       if (error == CST_ERROR_NONE) {
+               if (cb_state == EINA_TRUE)
+                       ugd->cb_state[item_data->index] = CST_SS_STATE_ON;
+               else
+                       ugd->cb_state[item_data->index] = CST_SS_STATE_OFF;
+               elm_genlist_item_update(item_data->gl_item);
+       } else {
+               if (req_action != CST_ACTION_QUERY) {
+                       if (error != CST_ERROR_SERVICE_UNAVAILABLE &&
+                               error != CST_ERROR_REJECTED_BY_NETWORK &&
+                               error != CST_ERROR_UNKNOWN) {
+                               if (req_action == CST_ACTION_DEACTIVATE)
+                                       ugd->cb_state[item_data->index] = CST_SS_STATE_ON;
+                               else
+                                       ugd->cb_state[item_data->index] = CST_SS_STATE_OFF;
+                       } else
+                               ugd->cb_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);
+               } else
+                       __cst_disable_cb_glitem(item_data);
+       }
+       return 0;
+}
+
+static void __cst_query_cb_status(CstGlItemData_t *item_data)
+{
+       ENTER(__cst_query_cb_status);
+       ret_if(NULL == item_data);
+       CstUgData_t *ugd = (CstUgData_t *)item_data->ugd;
+       int cb_flavour = -1;
+
+       ugd->original_state = EINA_FALSE;
+       switch (item_data->index) {
+       case 0:
+               cb_flavour = CST_SSTYPE_CB_OC;
+               DBG("CST_SSTYPE_CB_OC");
+               break;
+       case 1:
+               cb_flavour = CST_SSTYPE_CB_OIC;
+               DBG("CST_SSTYPE_CB_OIC");
+               break;
+       case 2:
+               cb_flavour = CST_SSTYPE_CB_OICEH;
+               DBG("CST_SSTYPE_CB_OICEH");
+               break;
+       case 3:
+               cb_flavour = CST_SSTYPE_CB_IC;
+               DBG("CST_SSTYPE_CB_IC");
+               break;
+       case 4:
+               cb_flavour = CST_SSTYPE_CB_ICR;
+               DBG("CST_SSTYPE_CB_ICR");
+               break;
+       default:
+               DBG("Error type");
+               break;
+       }
+
+       _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);
+}
+
+static void __cst_on_click_cb_ime_done_btn(void *data, Evas_Object *obj, void *event_info)
+{
+       ENTER(__cst_on_click_cb_ime_done_btn);
+       ret_if(!data);
+
+       CallSettingReq_t *req = (CallSettingReq_t *)data;
+
+       CstGlItemData_t *item_data = (CstGlItemData_t *)req->data;
+       CstUgData_t *ugd = item_data->ugd;
+
+       char buffer[CST_MAX_PHONE_NUMBER_LEN];
+
+       if (_cst_get_cb_input_password(buffer, ugd) > 0) {
+               ugd->cb_state[item_data->index] = CST_SS_STATE_PROGRESS;
+               elm_genlist_item_update(item_data->gl_item);
+
+               DBG("activate CB pwd=%s", buffer);
+               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);
+
+               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);
+       }
+}
+
+static void __cst_on_click_cb_ime_cancel_btn(void *data, Evas_Object *obj, void *event_info)
+{
+       ENTER(__cst_on_click_cb_ime_cancel_btn);
+       ret_if(!data);
+
+       CallSettingReq_t *req = (CallSettingReq_t *)data;
+       CstGlItemData_t *item_data = (CstGlItemData_t *)req->data;
+       CstUgData_t *ugd = item_data->ugd;
+
+       DBG("original state : %d", req->original_state);
+       if (req->original_state == CST_SS_STATE_ON)
+               ugd->cb_state[item_data->index] = CST_SS_STATE_ON;
+       else
+               ugd->cb_state[item_data->index] = CST_SS_STATE_OFF;
+       elm_genlist_item_update(item_data->gl_item);
+
+       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 (req)
+               free(req);
+}
+
+static char *__cst_gl_label_get_cb(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) {
+               return strdup(T_(list_call_barring[item_data->index].str_id));
+       }
+       return NULL;
+}
+
+static void __cst_gl_del_cb(void *data, Evas_Object *obj)
+{
+       CstGlItemData_t *item_data = (CstGlItemData_t *)data;
+       if (item_data)
+               free(item_data);
+       return;
+}
+
+static void __cst_update_change_cb_req(CstGlItemData_t *item_data, Eina_Bool req_state)
+{
+       ret_if(item_data == NULL);
+
+       Evas_Object *eo;
+       CallSettingReq_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));
+       ret_if(req == NULL);
+
+       ugd->popup = NULL;
+       req->data = item_data;
+       req->call_type = ugd->call_type;
+       req->flavour = -1;
+
+       DBG("req_state = %d", req_state);
+       switch (item_data->index) {
+       case 0:
+               req->flavour = CST_SSTYPE_CB_OC;
+               DBG("CST_SSTYPE_CB_OC");
+               break;
+       case 1:
+               req->flavour = CST_SSTYPE_CB_OIC;
+               DBG("CST_SSTYPE_CB_OIC");
+               break;
+       case 2:
+               req->flavour = CST_SSTYPE_CB_OICEH;
+               DBG("CST_SSTYPE_CB_OICEH");
+               break;
+       case 3:
+               req->flavour = CST_SSTYPE_CB_IC;
+               DBG("CST_SSTYPE_CB_IC");
+               break;
+       case 4:
+               req->flavour = CST_SSTYPE_CB_ICR;
+               DBG("CST_SSTYPE_CB_ICR");
+               break;
+       default:
+               DBG("Error type");
+               break;
+       }
+
+       ugd->original_state = !req_state;
+       if (req_state == EINA_TRUE) {
+               req->original_state = CST_SS_STATE_OFF;
+               req->action = CST_ACTION_ACTIVATE;
+       } else {
+               req->original_state = CST_SS_STATE_ON;
+               req->action = CST_ACTION_DEACTIVATE;
+       }
+
+       eo = _cst_create_cb_ime(ugd->nf, NULL, ugd);
+       _cst_remove_naviframe(ugd->nf);
+       navi_it = elm_naviframe_item_push(ugd->nf,
+               T_(CST_STR_PASSWORD), NULL, NULL, eo, "1line");
+
+       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);
+       
+       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_disabled_set(btn, EINA_TRUE);
+}
+
+static void __cst_on_click_cb_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;
+       if (ugd->cb_state[item_data->index] == CST_SS_STATE_PROGRESS)
+               return;
+
+       Eina_Bool check_state = elm_check_state_get(item_data->eo_check);
+
+       __cst_update_change_cb_req(item_data, !check_state);
+       elm_genlist_item_update(item_data->gl_item);
+}
+
+static void __cst_gl_sel_cb(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_barring[item_data->index].func)
+               list_call_barring[item_data->index].func((void *)item_data, NULL, obj, event_info);
+       return;
+}
+
+static void __cst_on_changed_cb_check(void *data, Evas_Object *obj, void *event_info)
+{
+       CstGlItemData_t *item_data = (CstGlItemData_t *)data;
+       Eina_Bool check_state = elm_check_state_get(obj);
+
+       if (elm_object_item_disabled_get(item_data->gl_item) == EINA_TRUE) {
+               elm_check_state_set(obj, EINA_FALSE);
+               return;
+       }
+
+       __cst_update_change_cb_req(item_data, check_state);
+}
+
+static Evas_Object *__cst_gl_icon_get_cb(void *data, Evas_Object *obj, const char *part)
+{
+       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->cb_state[item_data->index]) {
+               case CST_SS_STATE_ON:
+               case CST_SS_STATE_OFF:
+                       DBG("ugd->cb_state : %d(%d)",
+                               ugd->cb_state[item_data->index], item_data->index);
+                       if (ugd->cb_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_cb_check, item_data);
+                       break;
+               case CST_SS_STATE_PROGRESS:
+                       icon = _cst_create_progressbar(obj);
+                       break;
+               default:
+                       return NULL;
+               }
+       }
+       return icon;
+}
+
+static Evas_Object *__cst_create_genlist_cb(void *data)
+{
+       ENTER(__cst_create_genlist_cb);
+       retv_if(NULL == data, NULL);
+       CstUgData_t *ugd = (CstUgData_t *)data;
+       int index = 0;
+       Evas_Object *genlist;
+       CstGlItemData_t *item_data;
+
+       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;
+       itc_1text_1icon->func.state_get = NULL;
+       itc_1text_1icon->func.del = __cst_gl_del_cb;
+
+       genlist = elm_genlist_add(ugd->nf);
+
+       _cst_create_genlist_seperator(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);
+               item_data->index = index;
+               item_data->ugd = ugd;
+               if (list_call_barring[index].style == CST_GL_ITEM_1TEXT_ONOFF_PROGRESS) {
+                       ugd->cb_state[index] = CST_SS_STATE_PROGRESS;
+                       item_data->gl_item = elm_genlist_item_append(genlist, itc_1text_1icon,
+                               (void *)item_data, NULL, list_call_barring[index].flags,
+                               __cst_gl_sel_cb, item_data);
+                       __cst_query_cb_status(item_data);
+               } else {
+                       DBG("No style");
+                       free(item_data);
+                       item_data = NULL;
+                       return;
+               }
+       }
+
+       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);
+       }
+
+       return genlist;
+}
+
+void _cst_on_click_call_barring(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       ENTER(_cst_on_click_call_barring);
+       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;
+
+       if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) {
+               return;
+       }
+
+       if (_cst_check_flight_mode()) {
+               ugd->popup = _cst_create_error_popup(ugd->nf,
+                       CST_ERROR_CHANGE_FLIGHT_MODE);
+               evas_object_show(ugd->popup);
+               return;
+       }
+
+       if (!_cst_check_sim_status()) {
+               ugd->popup = _cst_create_error_popup(ugd->nf,
+                       CST_ERROR_INSERT_SIM_CARD);
+               evas_object_show(ugd->popup);
+               return;
+       }
+
+       Evas_Object *genlist = __cst_create_genlist_call_type(ugd);
+       navi_it = elm_naviframe_item_push(ugd->nf, T_(CST_STR_CALL_BARRING),
+               back_btn, 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_cb_back_button, ugd);
+}
diff --git a/src/cst-call-setting.c b/src/cst-call-setting.c
new file mode 100755 (executable)
index 0000000..0eeb652
--- /dev/null
@@ -0,0 +1,491 @@
+/*
+  * 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-forwarding.h"
+#include "cst-barring.h"
+#include "cst-prefix-dial.h"
+#include "cst-waiting.h"
+#include "cst-util.h"
+#include <ui-gadget-module.h>
+#include <Elementary.h>
+#include <vconf.h>
+
+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 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},
+*/
+
+       {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_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") == 0) ||
+               (strcmp(part, "elm.text.1") == 0)) {
+               return strdup(T_(list_dep1[item_data->index].str_id));
+       }
+       return NULL;
+}
+
+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")) {
+               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));
+               }
+       }
+       return NULL;
+}
+
+static void __cst_gl_del_phone(void *data, Evas_Object *obj)
+{
+       CstGlItemData_t *item_data = (CstGlItemData_t *)data;
+       if (item_data)
+               free(item_data);
+       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);
+       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_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)
+                       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);
+}
+
+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();
+       
+       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;
+       itc_title->func.state_get = NULL;
+       itc_title->func.del = __cst_gl_del_phone;
+
+       itc_help->item_style = "multiline/1text";
+       itc_help->func.text_get = __cst_gl_label_get_phone;
+       itc_help->func.content_get = NULL;
+       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;
+}
+
+static Evas_Object *__cst_create_genlist_phone(void *data)
+{
+       ENTER(__cst_create_genlist_phone);
+       ret_if(NULL == data);
+       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);
+       elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+
+       _cst_create_genlist_seperator(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);
+
+               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);
+               } 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);
+                       _cst_create_genlist_underline(genlist);
+               } else {
+                       DBG("No style");
+                       free(item_data);
+                       item_data = NULL;
+                       return;
+               }
+       }
+       return genlist;
+}
+void _cst_create_call_setting(void *data)
+{
+       ENTER(_cst_create_call_setting);
+       ret_if(NULL == data);
+       CstUgData_t *ugd = (CstUgData_t *)data;
+
+       __cst_set_genlist_item_styles_phone();
+       Evas_Object *genlist = __cst_create_genlist_phone(ugd);
+       Evas_Object *back_btn = elm_button_add(ugd->nf);
+       evas_object_smart_callback_add(back_btn, "clicked",
+               __cst_on_clicked_back_btn, ugd);
+
+       elm_naviframe_item_push(ugd->nf, T_(CST_STR_PHONE),
+               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
new file mode 100755 (executable)
index 0000000..119c1c8
--- /dev/null
@@ -0,0 +1,117 @@
+/*
+  * 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 <appcore-efl.h>
+#include "cst-common-string.h"
+#include "cst-common.h"
+
+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_BODY_CALL_BARRING"),
+       N_("IDS_CST_BODY_CALL_CONNECT_TONE"),
+       N_("IDS_CST_BODY_CALL_END_TONE"),
+       N_("IDS_CST_BODY_CALL_STATUS_TONES"),
+       N_("IDS_CST_BODY_CALL_WAITING"),
+       N_("IDS_CST_BODY_CHECK_STATUS"),
+       N_("IDS_CST_BODY_BY_NETWORK"),
+       N_("IDS_CST_BODY_SHOW"),
+       N_("IDS_CST_BODY_HIDE"),
+       N_("IDS_CST_BODY_INTL_CALLS_EXCEPT_HOME"),
+       N_("IDS_CST_BODY_INTL_CALLS"),
+       N_("IDS_CST_BODY_SHOW_MY_NUMBER"),
+       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"),
+       N_("IDS_CST_POP_PASSWORD_BLOCKED"),
+       N_("IDS_CST_POP_REJECTED_BY_NETWORK"),
+       N_("IDS_CST_POP_SERVICE_UNAVAILABLE"),
+       N_("IDS_CST_POP_UNKNOWN_OPERATION"),
+       N_("IDS_CST_SK3_CANCEL"),
+       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_POP_ENTER_MESSAGE"),
+       N_("IDS_CST_BODY_PREFIX_DIALLING_LIST"),
+       N_("IDS_CST_BODY_SOUND"),
+       N_("IDS_CST_BODY_VIBRATION"),
+       N_("IDS_CST_BODY_CALL_FORWARDING"),
+       N_("IDS_CST_BODY_ENABLE_PREFIX_DIALLING"),
+       N_("IDS_CST_HEADER_PREFIX_DIALLING_NUMBER_ABB"),
+       N_("IDS_CST_HEADER_SELECT_NUMBER"),
+       N_("IDS_CST_BODY_MINUTE_REMINDERS_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_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"),
+       N_("IDS_CST_BODY_THERE_WILL_BE_A_SIGNAL_SOUND_WHEN_THE_LINE_IS_DISCONNECTED"),
+       N_("IDS_CST_HEADER_CHANGE_PRESET_IMAGE_ABB"),
+       N_("IDS_CST_BODY_DURING_A_CALL_NOTIFY_ME_OF_INCOMING_CALLS"),
+       N_("IDS_CST_HEADER_SELECT_MESSAGE"),
+       N_("IDS_CST_BODY_NO_NUMBERS"),
+       N_("IDS_CST_HEADER_FORWARD_TO"),
+       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"),
+};
+
+static const char *sys_str[] = {
+       "",
+       "IDS_COM_BODY_ON",
+       "IDS_COM_BODY_OFF",
+       "IDS_COM_BODY_VOICE_CALL",
+       "IDS_COM_BODY_VIDEO_CALL",
+       "IDS_COM_SK_DONE",
+       "IDS_COM_BODY_CREATE",
+       "IDS_COM_BODY_UNKNOWN",
+       "IDS_COM_BODY_DELETE",
+       "IDS_COM_BODY_BACK",
+       "IDS_COM_BODY_ACTIVATED",
+       "IDS_COM_POP_DEACTIVATED",
+       "IDS_COM_SK_ADD",
+       "IDS_COM_BODY_SELECT_ALL",
+       "IDS_COM_BODY_ENTER_PASSWORD",
+       "IDS_COM_BODY_CONTACTS",
+       "IDS_COM_BODY_LOGS",
+       "IDS_COM_BODY_CALL",
+       "IDS_COM_BODY_PASSWORD",
+       "IDS_COM_SK_SAVE",
+       "IDS_COM_BODY_PD_SELECTED",
+       "IDS_COM_POP_DELETED",
+       "IDS_COM_BODY_PHONE",
+       "IDS_COM_BODY_APPLICATION_NOT_INSTALLED",
+
+};
+
+const char *_cst_get_text(int str_id)
+{
+       const char **table;
+
+       table = cst_str;
+       if (str_id < CST_SYS_STRING)
+               return dgettext(UGNAME, table[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
new file mode 100755 (executable)
index 0000000..3f60937
--- /dev/null
@@ -0,0 +1,443 @@
+/*
+  * 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 <Elementary.h>
+
+#include "cst-call-setting.h"
+
+#include "cst-delete-list.h"
+#include "cst-widget.h"
+#include "cst-common.h"
+#include "cst-common-string.h"
+
+#include "cst-prefix-dial.h"
+
+static Elm_Genlist_Item_Class *itc_1text = NULL;
+
+typedef struct {
+       Evas_Object *box;
+       Evas_Object *main_layout;
+       Evas_Object *inter_layout;
+       Evas_Object *genlist;
+       Evas_Object *select_all_layout;
+       Evas_Object *select_all_checkbox;
+       Eina_Bool select_all_checked;
+
+       int total_count;
+       int checked_count;
+
+       void *ugd;
+} Delete_List_View_Data;
+
+static void __cst_select_all_check_changed_cb(void *data, Evas_Object *obj, void *event_info);
+static void __cst_check_changed_cb(void *data, Evas_Object *obj, void *event_info);
+static void __cst_update_check_state(Delete_List_View_Data *vd);
+
+static int kind_of_delete_list;
+static Elm_Object_Item *ec_item[3];
+
+static void __cst_on_click_cancel_button(void *data, Evas_Object *obj, void *event_info)
+{
+       ENTER(__cst_on_click_cancel_button);
+       Delete_List_View_Data *vd = (Delete_List_View_Data *)data;
+
+       ret_if(vd == NULL);
+       CstUgData_t *ugd = (CstUgData_t *)vd->ugd;
+       ret_if(ugd == NULL);
+
+       _cst_del_selectinfo(ugd);
+       elm_naviframe_item_pop(ugd->nf);
+
+       evas_object_data_set(vd->genlist, "delete_view_data", NULL);
+       free(vd);
+       vd = NULL;
+}
+
+static void __cst_on_click_delete_button(void *data, Evas_Object *obj, void *event_info)
+{
+       ENTER(__cst_on_click_delete_button);
+       ret_if(NULL == data);
+       Delete_List_View_Data *vd = (Delete_List_View_Data *)data;
+       CstUgData_t *ugd = vd->ugd;
+       Elm_Object_Item *prev_it = NULL;
+       Elm_Object_Item *del_list_it = NULL;
+       CstGlItemData_t *del_item_data, *prev_item_data;
+       int i = 0;
+
+       prev_it = elm_genlist_first_item_get(ugd->backup_genlist);
+       del_list_it = elm_genlist_first_item_get(vd->genlist);
+
+       switch (ugd->kind_of_delete_list) {
+       case CST_DL_PREFIX_DIALING:
+               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);
+                                       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);
+               elm_genlist_clear(ugd->backup_genlist);
+               _cst_genlist_append_dialling_list_item(ugd, ugd->backup_genlist);
+               break;
+       default:
+               DBG("wrong request");
+               return;
+               break;
+       }
+
+       __cst_on_click_cancel_button(vd, NULL, NULL);
+       _cst_create_selectinfo(ugd, ugd->backup_layout, T_(CST_STR_DELETED));
+}
+
+static void __cst_update_check_state(Delete_List_View_Data *vd)
+{
+       ret_if(vd == NULL);
+       ENTER(__cst_update_check_state);
+       CstUgData_t *ugd = (CstUgData_t *)vd->ugd;
+       ret_if(ugd == NULL);
+       char *label = NULL;
+       if (vd->checked_count != 0) {
+               label = calloc(CST_MAX_ITEM_TEXT_BUFFER_LEN, sizeof(char));
+               ret_if(label == NULL);
+               snprintf(label, CST_MAX_ITEM_TEXT_BUFFER_LEN,
+                       (char *)T_(CST_STR_PD_SELECTED), vd->checked_count);
+       }
+       _cst_create_selectinfo(ugd, vd->main_layout, label);
+
+       if (vd->checked_count == 0) {
+               elm_object_item_disabled_set(ec_item[1], EINA_TRUE);
+       } else {
+               elm_object_item_disabled_set(ec_item[1], EINA_FALSE);
+       }
+       free(label);
+}
+
+static void __cst_check_select_all(Delete_List_View_Data *vd)
+{
+       CstGlItemData_t *it_data;
+       Elm_Object_Item *it;
+       ret_if(NULL == vd);
+       if (vd->select_all_checked)
+               vd->checked_count = vd->total_count;
+       else
+               vd->checked_count = 0;
+
+       it = elm_genlist_first_item_get(vd->genlist);
+       while (it) {
+               it_data = elm_object_item_data_get(it);
+               if (it_data)
+                       it_data->check = vd->select_all_checked;
+               it = elm_genlist_item_next_get(it);
+       }
+       // Update all realized items
+       elm_genlist_realized_items_update(vd->genlist);
+       __cst_update_check_state(vd);
+}
+
+static void __cst_select_all_layout_mouse_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       ret_if(NULL == data);
+       Delete_List_View_Data *vd = (Delete_List_View_Data *)data;
+
+       vd->select_all_checked = !vd->select_all_checked;
+       elm_check_state_pointer_set(vd->select_all_checkbox, &vd->select_all_checked);
+
+       __cst_check_select_all(vd);
+}
+
+static void __cst_select_all_check_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       __cst_check_select_all(data);
+}
+
+static void __cst_check_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       ret_if(data == NULL);
+       CstGlItemData_t *item_data = (CstGlItemData_t *)data;
+
+       Delete_List_View_Data *vd =
+               (Delete_List_View_Data *)evas_object_data_get(
+                       elm_object_item_widget_get(item_data->gl_item), "delete_view_data");
+
+       if (item_data->check)
+               vd->checked_count++;
+       else
+               vd->checked_count--;
+
+       // update select all check button
+       if (vd->select_all_layout) {
+               if (vd->total_count == vd->checked_count)
+                       vd->select_all_checked = EINA_TRUE;
+               else
+                       vd->select_all_checked = EINA_FALSE;
+
+               elm_check_state_pointer_set(vd->select_all_checkbox,
+                       &vd->select_all_checked);
+       }
+       __cst_update_check_state(vd);
+}
+
+static char *__cst_gl_label_get_delete_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")) {
+               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;
+       }
+       return NULL;
+}
+
+static Evas_Object *__cst_gl_icon_get_delete_list(void *data, Evas_Object *obj, const char *part)
+{
+       Evas_Object *check;
+       retv_if(NULL == data, NULL);
+       CstGlItemData_t *item_data = (CstGlItemData_t *)data;
+       if (!strcmp(part, "elm.edit.icon.1")) {
+               check = elm_check_add(obj);
+               elm_check_state_pointer_set(check, &item_data->check);
+               evas_object_smart_callback_add(check, "changed",
+                       __cst_check_changed_cb, item_data);
+               return check;
+       }
+
+       return NULL;
+}
+
+static void __cst_gl_del_delete_list(void *data, Evas_Object *obj)
+{
+       ret_if(NULL == data);
+       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_delete_list(void *data, Evas_Object *obj, void *event_info)
+{
+       ret_if(NULL == data);
+       CstGlItemData_t *item_data = (CstGlItemData_t *)data;
+       Delete_List_View_Data *vd =
+               (Delete_List_View_Data *)evas_object_data_get(obj, "delete_view_data");
+       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+
+       item_data->check = !item_data->check;
+       if (item_data->check)
+               vd->checked_count++;
+       else
+               vd->checked_count--;
+
+       if (vd->select_all_layout) {
+               if (vd->total_count == vd->checked_count)
+                       vd->select_all_checked = EINA_TRUE;
+               else
+                       vd->select_all_checked = EINA_FALSE;
+
+               elm_check_state_pointer_set(vd->select_all_checkbox,
+                       &vd->select_all_checked);
+       }
+
+       elm_genlist_item_update(item_data->gl_item);
+       __cst_update_check_state(vd);
+}
+
+static Evas_Object *__cst_create_delete_list_genlist(Delete_List_View_Data *vd)
+{
+       ENTER(__cst_create_delete_list_genlist);
+       retv_if(NULL == vd, NULL);
+       int index = 0;
+       CstGlItemData_t *item_data;
+       CstUgData_t *ugd = vd->ugd;
+       retv_if(ugd == NULL, NULL);
+       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();
+
+       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";
+
+       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);
+                       break;
+               default:
+                       DBG("wrong request");
+                       free(item_data);
+                       item_data = NULL;
+                       return;
+                       break;
+               }
+
+               item_data->index = index;
+               item_data->gl_item = elm_genlist_item_append(genlist,
+                                                            itc_1text,
+                                                            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;
+}
+
+static Evas_Object *__cst_create_delete_list_layout(Delete_List_View_Data *view_data)
+{
+       ENTER(__cst_create_delete_list_layout);
+       retv_if(NULL == view_data, NULL);
+       CstUgData_t *ugd = (CstUgData_t *)view_data->ugd;
+       Evas_Object *genlist = view_data->genlist;
+
+       elm_win_conformant_set(ugd->win_main, EINA_TRUE);
+
+       Evas_Object *conform = elm_conformant_add(ugd->nf);
+       elm_object_style_set(conform, "internal_layout");
+       evas_object_size_hint_weight_set(conform,
+               EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_show(conform);
+
+       view_data->box = elm_box_add(ugd->nf);
+       evas_object_size_hint_weight_set(view_data->box,
+               EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_show(view_data->box);
+
+       // 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");
+       evas_object_size_hint_weight_set(view_data->select_all_layout,
+               EVAS_HINT_EXPAND, EVAS_HINT_FILL);
+       evas_object_size_hint_align_set(view_data->select_all_layout,
+               EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_event_callback_add(view_data->select_all_layout,
+               EVAS_CALLBACK_MOUSE_DOWN, __cst_select_all_layout_mouse_down_cb, view_data);
+
+       view_data->select_all_checkbox = elm_check_add(view_data->select_all_layout);
+       elm_object_part_content_set(view_data->select_all_layout,
+               "elm.icon", view_data->select_all_checkbox);
+       elm_check_state_pointer_set(view_data->select_all_checkbox,
+               &view_data->select_all_checked);
+       evas_object_smart_callback_add(view_data->select_all_checkbox,
+               "changed", __cst_select_all_check_changed_cb, view_data);
+       evas_object_propagate_events_set(view_data->select_all_checkbox, EINA_FALSE);
+
+       elm_object_part_text_set(view_data->select_all_layout,
+               "elm.text", (char *)(T_(CST_STR_SELECT_ALL)));
+       elm_box_pack_start(view_data->box, view_data->select_all_layout);
+       evas_object_show(view_data->select_all_layout);
+
+       elm_box_pack_end(view_data->box, genlist);
+       evas_object_show(genlist);
+       elm_object_content_set(conform, view_data->box);
+
+       return conform;
+}
+
+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;
+
+       kind_of_delete_list = ugd->kind_of_delete_list;
+       delete_list_view = (Delete_List_View_Data *)calloc(1, sizeof(Delete_List_View_Data));
+       ret_if(delete_list_view == NULL);
+       delete_list_view->ugd = ugd;
+       ugd->selectinfo = NULL;
+
+       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();
+               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);
+
+       /*Create layout */
+       delete_list_view->main_layout = elm_layout_add(ugd->nf);
+       elm_layout_file_set(delete_list_view->main_layout, EDJ_NAME, "toolbar");
+       evas_object_size_hint_weight_set(delete_list_view->main_layout,
+               EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(delete_list_view->main_layout,
+               EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+       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");
+
+       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,
+                       (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);
+       LEAVE();
+}
diff --git a/src/cst-forwarding-ime.c b/src/cst-forwarding-ime.c
new file mode 100755 (executable)
index 0000000..1f67541
--- /dev/null
@@ -0,0 +1,97 @@
+/*
+  * 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 <Elementary.h>
+
+#include "cst-common.h"
+#include "cst-common-string.h"
+
+#include "cst-widget.h"
+
+static Elm_Entry_Filter_Limit_Size limit_filter_data;
+static Elm_Genlist_Item_Class *itc_ime = NULL;
+
+int _cst_get_input_number(char *buffer, void *data)
+{
+       ENTER(_cst_get_input_number);
+       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);
+       ret_if(!entry_input);
+       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_cf_ime(void *data, Evas_Object *obj, const char *part)
+{
+       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_CALL_FORWARD, NULL);
+       }
+
+       return NULL;
+}
+
+static Evas_Object *__cst_create_cf_ime_genlist(CstUgData_t *ugd)
+{
+       ENTER(__cst_create_cf_ime_genlist);
+       Elm_Object_Item *item = NULL;
+       Evas_Object *genlist;
+
+       genlist = elm_genlist_add(ugd->nf);
+
+       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_cf_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_cf_ime(Evas_Object *parent, char *edit_string, void *data)
+{
+       ENTER(_cst_create_cf_ime);
+       ret_if(NULL == data);
+       CstUgData_t *ugd = (CstUgData_t *)data;
+
+       Evas_Object *genlist = __cst_create_cf_ime_genlist(ugd);
+       return genlist;
+}
diff --git a/src/cst-forwarding.c b/src/cst-forwarding.c
new file mode 100755 (executable)
index 0000000..cc2ea23
--- /dev/null
@@ -0,0 +1,534 @@
+/*
+  * 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 <Elementary.h>
+
+#include "cst-common-string.h"
+#include "cst-call-setting.h"
+
+#include "cst-forwarding.h"
+#include "cst-forwarding-ime.h"
+#include "cst-widget.h"
+#include "cst-common.h"
+#include "cst-tapi-request.h"
+#include "cst-util.h"
+
+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 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},
+
+       {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},
+
+       {1, -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);
+
+       retm_if(data == NULL, "NULL UgData");
+
+       CstUgData_t *ugd = (CstUgData_t *)data;
+
+       ugd->back_button = _cst_get_navifr_prev_btn(ugd->nf);
+       _cst_cancel_all_ss_request(ugd);
+}
+
+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)
+{
+       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_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);
+
+       if (error == CST_ERROR_NONE) {
+               if (cf_state == EINA_TRUE) {
+                       ugd->cf_state[item_data->index] = CST_SS_STATE_ON;
+                       if (strlen(number) > 0) {
+                               snprintf(item_data->number, sizeof(item_data->number), "%s", number);
+                       } else {
+                               snprintf(item_data->number, sizeof(item_data->number), "%s", T_(CST_STR_UNKNOWN));
+                       }
+
+                       if (cf_flavour == CST_SSTYPE_CF_UNCONDITIONAL) {
+                               int cf_index = 0;
+                               for (cf_index = CST_SSTYPE_CF_BUSY; cf_index <= CST_SSTYPE_CF_NOT_REACHABLE; cf_index++) {
+                                       if (ugd->cf_state[cf_index] == CST_SS_STATE_ON) {
+                                               ugd->cf_state[cf_index] = CST_SS_STATE_OFF;
+                                               elm_genlist_item_update(ugd->cf_gl_item[cf_index]);
+                                       }
+                               }
+                       } else {
+                               if (ugd->cf_state[CST_SSTYPE_CF_UNCONDITIONAL] == CST_SS_STATE_ON) {
+                                       ugd->cf_state[CST_SSTYPE_CF_UNCONDITIONAL] = CST_SS_STATE_OFF;
+                                       elm_genlist_item_update(ugd->cf_gl_item[CST_SSTYPE_CF_UNCONDITIONAL]);
+                               }
+                       }
+               } else
+                       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) {
+                       if (error != CST_ERROR_SERVICE_UNAVAILABLE &&
+                               error != CST_ERROR_REJECTED_BY_NETWORK &&
+                               error != CST_ERROR_UNKNOWN) {
+                               DBG("User error : %d(Restore previous state)", error);
+                               if (req_action == CST_ACTION_DEACTIVATE)
+                                       ugd->cf_state[item_data->index] = CST_SS_STATE_ON;
+                               else
+                                       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;
+                       }
+
+                       elm_genlist_item_update(item_data->gl_item);
+                       ugd->popup = (Evas_Object *)_cst_create_error_popup(ugd->nf, error);
+                       evas_object_show(ugd->popup);
+               } else {
+                       ugd->cf_state[item_data->index] = CST_SS_STATE_OFF;
+                       elm_genlist_item_update(item_data->gl_item);
+               }
+       }
+       return;
+}
+
+static void __cst_query_cf_status(CstGlItemData_t *item_data)
+{
+       ret_if(NULL == item_data);
+       CstUgData_t *ugd = (CstUgData_t *)item_data->ugd;
+       int cf_flavour = -1;
+
+       ugd->original_state = EINA_FALSE;
+       switch (item_data->index) {
+       case 0:
+               cf_flavour = CST_SSTYPE_CF_UNCONDITIONAL;
+               DBG("CST_SSTYPE_CF_UNCONDITIONAL");
+               break;
+       case 1:
+               cf_flavour = CST_SSTYPE_CF_BUSY;
+               DBG("CST_SSTYPE_CF_BUSY");
+               break;
+       case 2:
+               cf_flavour = CST_SSTYPE_CF_NO_REPLY;
+               DBG("CST_SSTYPE_CF_NO_REPLY");
+               break;
+       case 3:
+               cf_flavour = CST_SSTYPE_CF_NOT_REACHABLE;
+               DBG("CST_SSTYPE_CF_NOT_REACHABLE");
+               break;
+       default:
+               DBG("Error type");
+               break;
+       }
+       _cst_add_ss_request(&ugd->req_queue, CST_ACTION_QUERY,
+               ugd->call_type, cf_flavour, NULL,
+               __cst_update_cf_state, item_data);
+}
+
+static void __cst_on_click_cf_ime_done_btn(void *data, Evas_Object *obj, void *event_info)
+{
+       ENTER(__cst_on_click_cf_ime_done_btn);
+       ret_if(!data);
+
+       CallSettingReq_t *req = (CallSettingReq_t *)data;
+       CstGlItemData_t *item_data = (CstGlItemData_t *)req->data;
+       CstUgData_t *ugd = (CstUgData_t *)item_data->ugd;
+
+       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);
+               DBG("activate CF num=%s", buffer);
+               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);
+               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);
+       }
+
+       free(req);
+}
+
+static void __cst_on_click_cf_ime_cancel_btn(void *data, Evas_Object *obj, void *event_info)
+{
+       ENTER(__cst_on_click_cf_ime_cancel_btn);
+       ret_if(!data);
+
+       CallSettingReq_t *req = (CallSettingReq_t *)data;
+       CstGlItemData_t *item_data = (CstGlItemData_t *)req->data;
+       CstUgData_t *ugd = item_data->ugd;
+
+       DBG("original state : %d", req->original_state);
+       if (req->original_state == CST_SS_STATE_ON)
+               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);
+
+       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);
+
+       free(req);
+}
+
+static char *__cst_gl_label_get_cf(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.text.1") == 0) {
+               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:
+               case CST_SS_STATE_OFF:
+                       return strdup(T_(CST_STR_DEACTIVATED));
+               case CST_SS_STATE_ON:
+                       return strdup(item_data->number);
+               default:
+                       return NULL;
+               }
+       }
+       return NULL;
+}
+
+static void __cst_gl_del_cf(void *data, Evas_Object *obj)
+{
+       ret_if(NULL == data);
+       CstGlItemData_t *item_data = (CstGlItemData_t *)data;
+       if (item_data)
+               free(item_data);
+       return;
+}
+
+static void __cst_update_change_cf_req(CstGlItemData_t *item_data, Eina_Bool req_state)
+{
+       ret_if(NULL == item_data);
+       CstUgData_t *ugd = (CstUgData_t *)item_data->ugd;
+       Evas_Object *eo;
+       Elm_Object_Item *navi_it;
+       Evas_Object *btn;
+
+       CallSettingReq_t *req = NULL;
+       req = (CallSettingReq_t *)calloc(1, sizeof(CallSettingReq_t));
+       ret_if(req == NULL);
+
+       ugd->popup = NULL;
+       req->data = item_data;
+       req->call_type = ugd->call_type;
+       req->flavour = item_data->index;
+       DBG("req->flavour = %d", req->flavour);
+
+       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);
+
+               _cst_remove_naviframe(ugd->nf);
+               navi_it = elm_naviframe_item_push(ugd->nf,
+                       T_(CST_STR_FORWARD_TO), NULL, NULL, eo, "1line");
+
+               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);
+               
+               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_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);
+               free(req);
+       }
+}
+
+static void __cst_on_click_cf_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;
+
+       if (ugd->cf_state[item_data->index] == CST_SS_STATE_PROGRESS)
+               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_gl_sel_cf(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[item_data->index].func)
+               list_call_forwarding[item_data->index].func((void *)item_data, NULL, obj, event_info);
+       return;
+}
+
+static void __cst_on_changed_cf_check(void *data, Evas_Object *obj, void *event_info)
+{
+       CstGlItemData_t *item_data = (CstGlItemData_t *)data;
+
+       Eina_Bool check_state = elm_check_state_get(obj);
+       if (elm_object_item_disabled_get(item_data->gl_item) == EINA_TRUE) {
+               elm_check_state_set(obj, !check_state);
+               return;
+       }
+
+       __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)
+{
+       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 Evas_Object *__cst_create_genlist_cf(void *data)
+{
+       ret_if(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;
+
+       genlist = elm_genlist_add(ugd->nf);
+
+       _cst_create_genlist_seperator(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);
+               item_data->index = index;
+               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,
+                               __cst_gl_sel_cf, item_data);
+                       __cst_query_cf_status(item_data);
+               } else {
+                       DBG("No style");
+                       free(item_data);
+                       item_data = NULL;
+                       return;
+               }
+               ugd->cf_gl_item[index] = item_data->gl_item;
+       }
+
+       return genlist;
+}
+
+static void __cst_on_click_voice_cf(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       ENTER(__cst_on_click_voice_cf);
+       ret_if(data == 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;
+
+       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_cf(ugd);
+
+       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);
+}
+
+static void __cst_on_click_video_cf(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       ENTER(__cst_on_click_video_cf);
+       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;
+
+       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_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_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_2text_1icon)
+               itc_2text_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);
+       }
+
+       return genlist;
+}
+
+void _cst_on_click_call_forwarding(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       ENTER(_cst_on_click_call_forwarding);
+       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;
+
+       if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) {
+               return;
+       }
+
+       if (_cst_check_flight_mode()) {
+               ugd->popup = _cst_create_error_popup(ugd->nf,
+                       CST_ERROR_CHANGE_FLIGHT_MODE);
+               evas_object_show(ugd->popup);
+               return;
+       }
+
+       if (!_cst_check_sim_status()) {
+               ugd->popup = _cst_create_error_popup(ugd->nf,
+                       CST_ERROR_INSERT_SIM_CARD);
+               evas_object_show(ugd->popup);
+               return;
+       }
+
+       Evas_Object *genlist = __cst_create_genlist_call_type(ugd);
+
+       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);
+}
+
diff --git a/src/cst-main.c b/src/cst-main.c
new file mode 100755 (executable)
index 0000000..df2a289
--- /dev/null
@@ -0,0 +1,330 @@
+/*
+  * 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")))
+#endif
+
+#include <Elementary.h>
+#include <ui-gadget-module.h>
+#include <Eina.h>
+#include <vconf.h>
+
+#include "cst-common.h"
+#include "cst-debug.h"
+#include "cst-common-string.h"
+#include "cst-tapi-request.h"
+#include "cst-call-setting.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);
+       ugd->nf = nf;
+       evas_object_show(nf);
+       ugd->popup = NULL;
+
+       elm_object_part_content_set(ugd->base, "elm.swallow.content", nf);
+       _cst_create_call_setting(ugd);
+
+       LEAVE();
+
+       return nf;
+}
+
+static Evas_Object *__cst_create_fullview(Evas_Object *parent, CstUgData_t *ugd)
+{
+       ENTER(__cst_create_fullview);
+       Evas_Object *base;
+
+       /* Create Full view */
+       base = elm_layout_add(parent);
+       if (!base)
+               return NULL;
+
+       elm_layout_theme_set(base, "layout", "application", "default");
+       evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_win_resize_object_add(parent, base);
+
+       evas_object_show(base);
+       LEAVE();
+
+       return base;
+}
+
+static Evas_Object *__cst_create_frameview(Evas_Object *parent, CstUgData_t *ugd)
+{
+       ENTER(__cst_create_frameview);
+       Evas_Object *base = NULL;
+
+       return base;
+}
+
+static Evas_Object *__cst_create_bg(Evas_Object *parent)
+{
+       ENTER(__cst_create_bg);
+       Evas_Object *bg = elm_bg_add(parent);
+       evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_win_resize_object_add(parent, bg);
+       evas_object_show(bg);
+
+       return bg;
+}
+
+static void *__cst_on_create(struct ui_gadget *ug, enum ug_mode mode, bundle *data, void *priv)
+{
+       ENTER(__cst_on_create);
+       Evas_Object *parent, *content;
+       CstUgData_t *ugd;
+
+       if (!ug || !priv)
+               return NULL;
+
+       ugd = priv;
+       ugd->ug = ug;
+
+       bindtextdomain(UGNAME, "/opt/ug/res/locale");
+
+       parent = ug_get_parent_layout(ug);
+       ugd->win_main = parent;
+       retv_if(parent == NULL, NULL);
+       ugd->back_button = NULL;
+       ugd->req_queue = NULL;
+
+       // Register the telephony ss events
+       _cst_ciss_register_tel_event(ugd);
+
+       ugd->bg = __cst_create_bg(parent);
+       elm_object_style_set(ugd->bg, "transparent");
+       elm_object_style_set(ugd->bg, "group_list");
+
+       if (mode == UG_MODE_FULLVIEW)
+               ugd->base = __cst_create_fullview(parent, ugd);
+       else
+               ugd->base = __cst_create_frameview(parent, ugd);
+
+       if (ugd->base) {
+               content = __cst_create_content(parent, ugd);
+               elm_object_part_content_set(ugd->base, "elm.swallow.content", content);
+       }
+
+       elm_object_part_content_set(ugd->base, "elm.swallow.bg", ugd->bg);
+
+       DBG("scale factor=%f", elm_config_scale_get());
+       return ugd->base;
+}
+
+static void __cst_on_start(struct ui_gadget *ug, bundle *data, void *priv)
+{
+}
+
+static void __cst_on_pause(struct ui_gadget *ug, bundle *data, void *priv)
+{
+
+}
+
+static void __cst_on_resume(struct ui_gadget *ug, bundle *data, void *priv)
+{
+
+}
+
+static void __cst_on_destroy(struct ui_gadget *ug, bundle *data, void *priv)
+{
+       ENTER(__cst_on_destroy);
+
+       CstUgData_t *ugd;
+
+       if (!ug || !priv)
+               return;
+
+       ugd = priv;
+
+       if (ugd->req_queue) {
+               Eina_List *l;
+               CallSettingReq_t *req;
+
+               EINA_LIST_FOREACH(ugd->req_queue, l, req) {
+                       free(req);
+               }
+               ugd->req_queue = eina_list_free(ugd->req_queue);
+       }
+
+       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;
+       }
+
+       if(ugd->base) {
+               evas_object_del(ugd->base);
+               ugd->base = NULL;
+       }
+       LEAVE();
+}
+
+static void __cst_on_message(struct ui_gadget *ug, bundle *msg, bundle *data, void *priv)
+{
+}
+
+static void __cst_on_key_event(struct ui_gadget *ug, enum ug_key_event event, bundle *data, void *priv)
+{
+       ENTER(__cst_on_key_event);
+
+       CstUgData_t *ugd;
+
+       if (!ug || !priv)
+               return;
+
+       ugd = priv;
+
+       switch (event) {
+       case UG_KEY_EVENT_END:
+               if (ugd->popup != NULL) {
+                       DBG("popup=0x%p", ugd->popup);
+                       evas_object_del(ugd->popup);
+                       ugd->popup = NULL;
+               } else if (ugd->back_button != NULL) {
+                       DBG("back_button = 0x%p", ugd->back_button);
+                       evas_object_smart_callback_call(ugd->back_button, "clicked", NULL);
+               } else {
+                       DBG("Error: No action is defined for END KEY EVENT, popup=0x%p, back_button=0x%p", ugd->popup, ugd->back_button);
+               }
+               break;
+
+       default:
+               DBG("Unknown Event Detected, event=%d", event);
+               break;
+       }
+}
+
+static void __cst_on_event(struct ui_gadget *ug, enum ug_event event, bundle *data, void *priv)
+{
+       ENTER(__cst_on_event);
+       switch (event) {
+       case UG_EVENT_LOW_MEMORY:
+               DBG("UG_EVENT_LOW_MEMORY");
+               break;
+       case UG_EVENT_LOW_BATTERY:
+               DBG("UG_EVENT_LOW_BATTERY");
+               break;
+       case UG_EVENT_LANG_CHANGE:
+               DBG("UG_EVENT_LANG_CHANGE");
+               break;
+       case UG_EVENT_ROTATE_PORTRAIT:
+               DBG("UG_EVENT_ROTATE_PORTRAIT");
+               break;
+       case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
+               DBG("UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN");
+               break;
+       case UG_EVENT_ROTATE_LANDSCAPE:
+               DBG("UG_EVENT_ROTATE_LANDSCAPE");
+               break;
+       case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
+               DBG("UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN");
+               break;
+       default:
+               break;
+       }
+       LEAVE();
+}
+
+UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops)
+{
+       ENTER(UG_MODULE_INIT);
+
+       CstUgData_t *ugd;
+
+       if (!ops)
+               return -1;
+
+       ugd = calloc(1, sizeof(CstUgData_t));
+       if (!ugd)
+               return -1;
+
+       ops->create = __cst_on_create;
+       ops->start = __cst_on_start;
+       ops->pause = __cst_on_pause;
+       ops->resume = __cst_on_resume;
+       ops->destroy = __cst_on_destroy;
+       ops->message = __cst_on_message;
+       ops->event = __cst_on_event;
+       ops->key_event = __cst_on_key_event;
+       ops->priv = ugd;
+       ops->opt = UG_OPT_INDICATOR_ENABLE;
+       LEAVE();
+       return 0;
+}
+
+UG_MODULE_API void UG_MODULE_EXIT(struct ug_module_ops *ops)
+{
+       ENTER(UG_MODULE_EXIT);
+       struct ug_data *ugd;
+
+       if (!ops)
+               return;
+
+       ugd = ops->priv;
+       if (ugd)
+               free(ugd);
+       LEAVE();
+}
+
+/**
+* Reset function to 'reset' the settings of the UG, it will be invoked by 'Reset' UG
+*
+* @param[in] data
+* @param[in] priv
+*/
+UG_MODULE_API int setting_plugin_reset(bundle *data, void *priv)
+{
+       ENTER(setting_plugin_reset);
+       int ret = 0;
+
+               ret += vconf_set_int(VCONFKEY_CISSAPPL_SHOW_MY_NUMBER_INT, CST_CLI_BY_NETWORK);
+
+               /*Prefix dialling*/
+               ret += vconf_set_bool(VCONFKEY_CISSAPPL_PREFIX_DIAL_BOOL, EINA_FALSE);
+               ret += vconf_set_int(VCONFKEY_CISSAPPL_PREFIX_DIAL_INT, 0);
+               ret += vconf_set_int(VCONFKEY_CISSAPPL_PREFIX_DIAL_VALUE_INT, 0);
+               ret += vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM1_STR, "");
+               ret += vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM2_STR, "");
+               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, "");
+               /*Call status tone*/
+               ret += vconf_set_bool(VCONFKEY_CISSAPPL_CALL_CONNECT_TONE_BOOL, EINA_FALSE);
+               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_int(VCONFKEY_CISSAPPL_ALERT_ON_CALL_INT, CST_ALERTS_ON_CALL_OFF);
+
+               ret += vconf_set_bool(VCONFKEY_CISSAPPL_VOICE_AUTO_REDIAL_BOOL, EINA_FALSE);
+               ret += vconf_set_bool(VCONFKEY_CISSAPPL_VIDEO_AUTO_REDIAL_BOOL, EINA_FALSE);
+
+       return ret;
+}
diff --git a/src/cst-prefix-dial-ime.c b/src/cst-prefix-dial-ime.c
new file mode 100755 (executable)
index 0000000..65e4dee
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+  * 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 <Elementary.h>
+
+#include "cst-common.h"
+#include "cst-common-string.h"
+
+#include "cst-widget.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 Evas_Object *__cst_gl_icon_get_prefix_dialling_ime(void *data, Evas_Object *obj, const char *part)
+{
+       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_PREFIX_DIAL, NULL);
+       }
+
+       return NULL;
+}
+
+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);
+
+       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_prefix_dialling_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_prefix_dialling_ime(Evas_Object *parent, char *edit_string, void *data)
+{
+       ENTER(_cst_create_prefix_dialling_ime);
+       retv_if(NULL == data, NULL);
+       CstUgData_t *ugd = (CstUgData_t *)data;
+
+       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
new file mode 100755 (executable)
index 0000000..8340aa0
--- /dev/null
@@ -0,0 +1,678 @@
+/*
+  * 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 <Elementary.h>
+#include <bundle.h>
+#include <vconf.h>
+#include "cst-common.h"
+#include "cst-common-string.h"
+#include "cst-widget.h"
+#include "cst-call-setting.h"
+
+#include "cst-prefix-dial.h"
+#include "cst-prefix-dial-ime.h"
+#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)
+{
+       ENTER(_cst_set_prefix_dialling_list);
+
+       ret_if(number == NULL);
+       switch (index) {
+       case 0:
+               _cst_vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM1_STR,
+                       number);
+               break;
+       case 1:
+               _cst_vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM2_STR,
+                       number);
+               break;
+       case 2:
+               _cst_vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM3_STR,
+                       number);
+               break;
+       case 3:
+               _cst_vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM4_STR,
+                       number);
+               break;
+       case 4:
+               _cst_vconf_set_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM5_STR,
+                       number);
+               break;
+       default:
+               DBG("Error set prefix dialling list");
+               break;
+       }
+}
+
+char *_cst_get_prefix_dialling_list(int index)
+{
+       ENTER(_cst_get_prefix_dialling_list);
+       char *number = NULL;
+
+       switch (index) {
+       case CST_ITEM_1:
+               number = _cst_vconf_get_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM1_STR);
+               break;
+       case CST_ITEM_2:
+               number = _cst_vconf_get_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM2_STR);
+               break;
+       case CST_ITEM_3:
+               number = _cst_vconf_get_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM3_STR);
+               break;
+       case CST_ITEM_4:
+               number = _cst_vconf_get_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM4_STR);
+               break;
+       case CST_ITEM_5:
+               number = _cst_vconf_get_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM5_STR);
+               break;
+       }
+       retv_if(NULL == number, NULL);
+       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,
+               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);
+       ret_if(!data);
+
+       CstUgData_t *ugd = (CstUgData_t *)data;
+       const char *number;
+       int num_of_prefix_dialling_list;
+
+       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;
+       }
+
+       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;
+       }
+
+       _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)
+{
+       ENTER(__cst_on_click_prefix_dialling_list_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;
+       eo = _cst_create_prefix_dialling_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_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));
+
+       return layout;
+}
+
+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)
+{
+       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;
+}
+
+static Evas_Object *__cst_create_genlist_prefix_dialling(void *data)
+{
+       ENTER(__cst_create_genlist_prefix_dialling);
+       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);
+       _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;
+       }
+
+       return genlist;
+}
+
+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);
+
+       __cst_set_genlist_item_styles_prefix_dialling();
+       genlist = __cst_create_genlist_prefix_dialling(ugd);
+       ugd->kind_of_delete_list = CST_DL_PREFIX_DIALING;
+
+       elm_naviframe_item_push(ugd->nf, T_(CST_STR_PREFIX_DIALLING),
+               NULL, NULL, genlist, NULL);
+}
+
+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-status-tone.c b/src/cst-status-tone.c
new file mode 100755 (executable)
index 0000000..ed9cc7a
--- /dev/null
@@ -0,0 +1,219 @@
+/*
+  * 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 <Elementary.h>
+#include <vconf.h>
+#include "cst-common.h"
+#include "cst-common-string.h"
+#include "cst-status-tone.h"
+#include "cst-widget.h"
+#include "cst-util.h"
+
+static Elm_Genlist_Item_Class *itc_1text_1icon = NULL;
+static Elm_Genlist_Item_Class *itc_help = NULL;
+static void __cst_click_call_status_tone_onoff(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+static CstGlItemDisplayInfo_t list_call_status_tone[] = {
+       {1, CST_STR_CALL_CONNECT_TONE, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF, __cst_click_call_status_tone_onoff},
+       {1, CST_STR_THERE_WILL_BE_WEHN_LINE_IS_CONNECTED, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL},
+       {1, CST_STR_MINUTE_REMINDER, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF, __cst_click_call_status_tone_onoff},
+       {1, CST_STR_THERE_WILL_BE_EVERY_A_MINUTE, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL},
+       {1, CST_STR_CALL_END_TONE, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_1TEXT_ONOFF, __cst_click_call_status_tone_onoff},
+       {1, CST_STR_THERE_WILL_BE_WEHN_LINE_IS_DISCONNECTED, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_HELP_TEXT, NULL},
+       {1, -1, ELM_GENLIST_ITEM_NONE, CST_GL_ITEM_NONE, NULL},
+};
+
+static void __cst_click_call_status_tone_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_CALL_CONNECT_TONE == list_call_status_tone[item_data->index].str_id)
+               _cst_vconf_set_bool(VCONFKEY_CISSAPPL_CALL_CONNECT_TONE_BOOL, !check_state);
+       else if (CST_STR_MINUTE_REMINDER == list_call_status_tone[item_data->index].str_id)
+               _cst_vconf_set_bool(VCONFKEY_CISSAPPL_MINUTE_MINDER_BOOL, !check_state);
+       else if (CST_STR_CALL_END_TONE == list_call_status_tone[item_data->index].str_id)
+               _cst_vconf_set_bool(VCONFKEY_CISSAPPL_CALL_END_TONE_BOOL, !check_state);
+       elm_genlist_item_update(item_data->gl_item);
+}
+
+static void __cst_changed_call_connect_tone(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_CALL_CONNECT_TONE_BOOL, check_state);
+}
+
+static void __cst_changed_minute_minder(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_MINUTE_MINDER_BOOL, check_state);
+}
+
+static void __cst_changed_call_end_tone(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_CALL_END_TONE_BOOL, check_state);
+}
+
+static char *__cst_gl_label_get_call_status_tone(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") ||
+               !strcmp(part, "elm.text.2")) {
+               return strdup(T_(list_call_status_tone[item_data->index].str_id));
+       } else
+               return NULL;
+}
+
+static Evas_Object *__cst_gl_icon_get_call_status_tone(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_CALL_CONNECT_TONE == list_call_status_tone[item_data->index].str_id) {
+                       _cst_vconf_get_bool(VCONFKEY_CISSAPPL_CALL_CONNECT_TONE_BOOL, &value);
+                       item_data->eo_check = _cst_create_onoff_button(obj, value,
+                               __cst_changed_call_connect_tone, item_data);
+               } else if (CST_STR_MINUTE_REMINDER == list_call_status_tone[item_data->index].str_id) {
+                       _cst_vconf_get_bool(VCONFKEY_CISSAPPL_MINUTE_MINDER_BOOL, &value);
+                       item_data->eo_check = _cst_create_onoff_button(obj, value,
+                               __cst_changed_minute_minder, item_data);
+               } else if (CST_STR_CALL_END_TONE == list_call_status_tone[item_data->index].str_id) {
+                       _cst_vconf_get_bool(VCONFKEY_CISSAPPL_CALL_END_TONE_BOOL, &value);
+                       item_data->eo_check = _cst_create_onoff_button(obj, value,
+                               __cst_changed_call_end_tone, item_data);
+               }
+               return item_data->eo_check;
+       }
+       return NULL;
+}
+
+static void __cst_gl_del_call_status_tone(void *data, Evas_Object *obj)
+{
+       CstGlItemData_t *item_data = (CstGlItemData_t *)data;
+       if(item_data)
+               free(item_data);
+       return;
+}
+
+static void __cst_gl_sel_call_status_tone(void *data, Evas_Object *obj, void *event_info)
+{
+       ENTER(__cst_gl_sel_call_status_tone);
+       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_status_tone[item_data->index].func)
+               list_call_status_tone[item_data->index].func((void *)item_data, NULL, obj, event_info);
+       return;
+}
+
+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)
+               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_call_status_tone;
+       itc_1text_1icon->func.content_get = __cst_gl_icon_get_call_status_tone;
+       itc_1text_1icon->func.state_get = NULL;
+       itc_1text_1icon->func.del = __cst_gl_del_call_status_tone;
+
+       itc_help->item_style = "multiline/1text";
+       itc_help->func.text_get = __cst_gl_label_get_call_status_tone;
+       itc_help->func.content_get = NULL;
+       itc_help->func.state_get = NULL;
+       itc_help->func.del = __cst_gl_del_call_status_tone;
+}
+
+static Evas_Object *__cst_create_call_status_tone_genlist(void *data)
+{
+       ENTER(__cst_create_call_status_tone_genlist);
+       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);
+       _cst_create_genlist_seperator(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);
+
+               item_data->index = index;
+               item_data->ugd = ugd;
+               if (list_call_status_tone[index].style == CST_GL_ITEM_1TEXT_ONOFF) {
+                       item = elm_genlist_item_append(genlist, itc_1text_1icon,
+                               (void *)item_data, NULL, list_call_status_tone[index].flags,
+                               __cst_gl_sel_call_status_tone, item_data);
+               } else if (list_call_status_tone[index].style == CST_GL_ITEM_HELP_TEXT) {
+                       item = elm_genlist_item_append(genlist, itc_help,
+                               (void *)item_data, NULL, list_call_status_tone[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;
+       }
+
+       return genlist;
+}
+
+static void __cst_create_call_status_tone(Evas_Object *parent, void *data)
+{
+       ENTER(__cst_create_call_status_tone);
+       Evas_Object *genlist;
+       CstUgData_t *ugd = data;
+       ret_if(ugd == NULL);
+
+       __cst_set_gl_item_styles_call_status_tone();
+       genlist = __cst_create_call_status_tone_genlist(ugd);
+
+       elm_naviframe_item_push(ugd->nf, T_(CST_STR_CALL_STATUS_TONES),
+               NULL, NULL, genlist, NULL);
+}
+
+void _cst_on_click_call_status_tone(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       ENTER(_cst_on_click_call_status_tone);
+       ret_if(NULL == data);
+       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
new file mode 100755 (executable)
index 0000000..68ae430
--- /dev/null
@@ -0,0 +1,803 @@
+/*
+  * 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"
+#include "cst-tapi-request.h"
+#include "cst-common.h"
+#include "cst-common-string.h"
+#include <Eina.h>
+
+static void __cst_send_ss_req_to_telephony_server(CallSettingReq_t *req);
+
+static void __cst_print_req_queue(Eina_List *queue)
+{
+       Eina_List *l;
+       CallSettingReq_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);
+       }
+}
+
+void _cst_cancel_all_ss_request(void *data)
+{
+       ENTER(_cst_cancel_all_ss_request);
+       CstUgData_t *ugd = (CstUgData_t *)data;
+
+       Eina_List *l;
+       Eina_List *l_next;
+       CallSettingReq_t *req;
+
+       EINA_LIST_FOREACH_SAFE(ugd->req_queue, l, l_next, req) {
+               ret_if(req == NULL);
+               DBG("Cancel req=0x%p", req);
+               if (req->is_requesting == EINA_TRUE) {
+                       req->is_canceled = EINA_TRUE;
+               } else {
+                       free(req);
+                       ugd->req_queue = eina_list_remove_list(ugd->req_queue, l);
+               }
+       }
+       __cst_print_req_queue(ugd->req_queue);
+       LEAVE();
+}
+
+void _cst_add_ss_request(Eina_List ** queue, int action_type, int call_type, int flavour, char *number, void *func, void *data)
+{
+       ENTER(_cst_add_ss_request);
+       ret_if(NULL == data);
+       ret_if(NULL == func);
+
+       CallSettingReq_t *req = (CallSettingReq_t *)malloc(sizeof(CallSettingReq_t));
+       ret_if(NULL == req);
+       req->action = action_type;
+       req->original_state = EINA_FALSE;
+       req->call_type = call_type;
+       req->flavour = flavour;
+       req->data = data;
+       req->func = func;
+       snprintf(req->number, CST_MAX_PHONE_NUMBER_LEN, "%s", number);
+       int cnt;
+
+       DBG("Add req=0x%p", req);
+       req->is_canceled = EINA_FALSE;
+       req->is_requesting = EINA_FALSE;
+
+       *queue = eina_list_append(*queue, req);
+       cnt = eina_list_count(*queue);
+       DBG("req count=%d", cnt);
+       if (cnt == 1) {
+               __cst_send_ss_req_to_telephony_server(req);
+       }
+       LEAVE();
+}
+
+static void __cst_remove_ss_request(void *data)
+{
+       ENTER(__cst_remove_ss_request);
+       CstUgData_t *ugd = (CstUgData_t *)data;
+       CallSettingReq_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;
+       DBG("Remove req=0x%p", req);
+       ugd->req_queue = eina_list_remove_list(ugd->req_queue, first);
+       free(req);
+
+       cnt = eina_list_count(ugd->req_queue);
+       DBG("req count=%d", cnt);
+
+       if (cnt > 0) {
+               first = eina_list_nth_list(ugd->req_queue, 0);
+               req = (CallSettingReq_t *)first->data;
+               __cst_send_ss_req_to_telephony_server(req);
+       }
+       __cst_print_req_queue(ugd->req_queue);
+
+       LEAVE();
+
+}
+
+static CallSettingReq_t *__cst_get_current_request(void *data)
+{
+       ENTER(__cst_get_current_request);
+       CstUgData_t *ugd = (CstUgData_t *)data;
+       CallSettingReq_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;
+               DBG("current req=0x%p", req);
+       }
+       LEAVE();
+       return req;
+}
+
+static int __cst_get_ciss_error_from_tapi_error(TelSsCause_t tapi_err)
+{
+       ENTER(__cst_get_ciss_error_from_tapi_error);
+
+       int error_code = -1;
+
+       DBG("Error Code =%d", tapi_err);
+
+       switch (tapi_err) {
+       case TAPI_SS_UNKNOWNSUBSCRIBER:
+       case TAPI_SS_BEARERSERVICENOTPROVISIONED:
+       case TAPI_SS_TELESERVICENOTPROVISIONED:
+       case TAPI_SS_CALLBARRED:
+       case TAPI_SS_ILLEGALSSOPERATION:
+       case TAPI_SS_ERRORSTATUS:
+       case TAPI_SS_FACILITYNOTSUPPORTED:
+       case TAPI_SS_MAXNOMPTYEXCEEDED:
+       case TAPI_SS_RESOURCESNOTAVAILABLE:
+       case TAPI_SS_PWREGISTRATIONFAILURE:
+       case TAPI_SS_SUBSCRIPTIONVIOLATION:
+       case TAPI_SS_NOTAVAILABLE:
+       case TAPI_SS_SYSTEMFAILURE:
+       case TAPI_SS_REJECTEDBYNETWORK:
+               error_code = CST_ERROR_SERVICE_UNAVAILABLE;
+               break;
+       case TAPI_SS_INCOMPATIBILITY:
+       case TAPI_SS_DATAMISSING:
+       case TAPI_SS_UNEXPECTEDDATAVALUE:
+               error_code = CST_ERROR_INCORRECT_OPERATION;
+               break;
+       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;
+       case TAPI_SS_REJECTEDBYUSER:
+               error_code = CST_ERROR_REJECTED_BY_NETWORK;
+               break;
+       default:
+               DBG("ciss_get_error_from_tapi_error:undefined =0x%x", tapi_err);
+               error_code = CST_ERROR_UNKNOWN;
+               break;
+       }
+       LEAVE();
+       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;
+               break;
+       case CST_ACTION_DEACTIVATE:
+               mode = TAPI_CALL_FORWARD_MODE_ERASURE_EV;
+               break;
+       default:
+               mode = 0;
+               ERR("Invalid CF mode");
+       }
+
+       return mode;
+}
+
+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;
+               break;
+       case CST_SSTYPE_CF_BUSY:
+               tel_cf_flavour = TAPI_SS_FORWARD_WHEN_BUSY_EV;
+               break;
+       case CST_SSTYPE_CF_NO_REPLY:
+               tel_cf_flavour = TAPI_SS_FORWARD_WHEN_NO_ANSWER_EV;
+               break;
+       case CST_SSTYPE_CF_NOT_REACHABLE:
+               tel_cf_flavour = TAPI_SS_FORWARD_WHEN_NOT_REACHABLE_EV;
+               break;
+       default:
+               tel_cf_flavour = -1;
+               ERR("Wrong CF flavour");
+       }
+       return tel_cf_flavour;
+}
+
+static int __cst_get_tapi_teleservice_type(int ciss_call_type)
+{
+       int teleservice;
+
+       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;
+               break;
+       case CST_CALLTYPE_ALL:
+               teleservice = TAPI_CALL_TYPE_ALL_TELE_BEARER;
+               break;
+       default:
+               teleservice = 0;
+               ERR("Invalid call type");
+       }
+       return teleservice;
+}
+
+static int __cst_get_tapi_cb_mode(int ciss_action)
+{
+       int mode;
+
+       switch (ciss_action) {
+       case CST_ACTION_ACTIVATE:
+               mode = TAPI_SS_CALL_BAR_ACTIVATE;
+               break;
+       case CST_ACTION_DEACTIVATE:
+               mode = TAPI_SS_CALL_BAR_DEACTIVATE;
+               break;
+       default:
+               mode = 0;
+               ERR("Invalid CB action");
+       }
+       return mode;
+}
+
+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;
+               break;
+       case CST_SSTYPE_CB_OIC:
+               tel_cb_flavour = TAPI_CALL_BARRING_ALL_OUTGOING_INTERN_CALL;
+               break;
+       case CST_SSTYPE_CB_OICEH:
+               tel_cb_flavour = TAPI_CALL_BARRING_ALL_OUTGOING_INTERN_CALL_EXCEPT;
+               break;
+       case CST_SSTYPE_CB_IC:
+               tel_cb_flavour = TAPI_CALL_BARRING_ALL_INCOMING_CALLS;
+               break;
+       case CST_SSTYPE_CB_ICR:
+               tel_cb_flavour = TAPI_CALL_BARRING_ALL_INCOMING_CALLS_ROAMING;
+               break;
+       default:
+               tel_cb_flavour = -1;
+               ERR("Wrong CB flavour");
+       }
+       return tel_cb_flavour;
+}
+
+static int __cst_get_tapi_cw_mode(int ciss_action)
+{
+       int mode;
+
+       switch (ciss_action) {
+       case CST_ACTION_ACTIVATE:
+               mode = TAPI_SS_CW_ACTIVATE;
+               break;
+       case CST_ACTION_DEACTIVATE:
+               mode = TAPI_SS_CW_DEACTIVATE;
+               break;
+       default:
+               mode = 0;
+               ERR("Invalid CW action");
+       }
+       return mode;
+}
+
+void __cst_send_ss_req_to_telephony_server(CallSettingReq_t *req)
+{
+       ENTER(__cst_send_ss_req_to_telephony_server);
+       TelSsForwardInfo_t cf_info;
+       TelSsCallBarringInfo_t cb_info;
+       TelSsWaitingInfo_t cw_info;
+       int api_ret = -1;
+
+       int req_id = -1;
+       ret_if(req == NULL);
+       DBG("Send req=0x%p action=%d call_type=%d flavour=%d", req, req->action, req->call_type, req->flavour);
+       req->is_requesting = EINA_TRUE;
+
+       memset(&cf_info, 0x0, sizeof(TelSsForwardInfo_t));
+       memset(&cb_info, 0x0, sizeof(TelSsCallBarringInfo_t));
+       memset(&cw_info, 0x0, sizeof(TelSsWaitingInfo_t));
+
+       switch (req->flavour) {
+       case CST_SSTYPE_CF_UNCONDITIONAL:
+       case CST_SSTYPE_CF_BUSY:
+       case CST_SSTYPE_CF_NO_REPLY:
+       case CST_SSTYPE_CF_NOT_REACHABLE:
+       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);
+               if (req->action == CST_ACTION_QUERY) {
+                       api_ret = tel_get_ss_forward_status(cf_info.Type, cf_info.Condition, &req_id);
+               } else {
+                       cf_info.Mode = __cst_get_tapi_cf_mode(req->action);
+                       cf_info.NoReplyConditionTimer = 20;
+                       snprintf(cf_info.szPhoneNumber, TAPI_CALL_DIALDIGIT_LEN_MAX, "%s", req->number);
+                       api_ret = tel_set_ss_forward(&cf_info, &req_id);
+               }
+               break;
+       case CST_SSTYPE_CB_OC:
+       case CST_SSTYPE_CB_OIC:
+       case CST_SSTYPE_CB_OICEH:
+       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);
+
+               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);
+               if (req->action == CST_ACTION_QUERY) {
+                       api_ret = tel_get_ss_barring_status(cb_info.Type, cb_info.CallType, &req_id);
+               } 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 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);
+               }
+               break;
+       case CST_SSTYPE_CW:
+               cw_info.CallType = __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);
+               } else {
+                       cw_info.Mode = __cst_get_tapi_cw_mode(req->action);
+                       api_ret = tel_set_ss_waiting(&cw_info, &req_id);
+               }
+               break;
+       }
+
+       if (req->req_id != -1) {
+               req->req_id = req_id;
+       }
+
+       if (api_ret != TAPI_API_SUCCESS) {
+               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);
+               item_data = (CstGlItemData_t *)req->data;
+               ugd = (CstUgData_t *)item_data->ugd;
+               __cst_remove_ss_request(ugd);
+       }
+       DBG("api_ret=%d req_id=0x%p", api_ret, req_id);
+
+       LEAVE();
+       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.");
+
+       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
new file mode 100755 (executable)
index 0000000..2eee749
--- /dev/null
@@ -0,0 +1,88 @@
+/*
+  * 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 <Evas.h>
+#include <vconf.h>
+
+void _cst_vconf_get_bool(const char *in_key, int *boolval)
+{
+       if ((vconf_get_bool(in_key, boolval)) < 0)
+               DBG("vconf get error : %s", in_key);
+}
+
+void _cst_vconf_get_int(const char *in_key, int *intval)
+{
+       if ((vconf_get_int(in_key, intval)) < 0)
+               DBG("vconf get error : %s", in_key);
+}
+
+char *_cst_vconf_get_str(const char *in_key)
+{
+       char *result = NULL;
+       result = vconf_get_str(in_key);
+       if (result == NULL)
+               DBG("vconf get error : %s", in_key);
+
+       return result;
+}
+
+void _cst_vconf_set_bool(const char *in_key, const int boolval)
+{
+       if (vconf_set_bool(in_key, boolval) < 0)
+               DBG("vconf set error : %s", in_key);
+       else
+               DBG("vconf set : %d(%s)", boolval, in_key);
+}
+
+void _cst_vconf_set_int(const char *in_key, const int intval)
+{
+       if (vconf_set_int(in_key, intval) < 0)
+               DBG("vconf set error : %s", in_key);
+       else
+               DBG("vconf set : %d(%s)", intval, in_key);
+}
+
+void _cst_vconf_set_str(const char *in_key, const char *strval)
+{
+       if (vconf_set_str(in_key, strval) < 0)
+               DBG("vconf set error : %s", in_key);
+       else
+               DBG("vconf set : %s(%s)", strval, in_key);
+}
+
+Eina_Bool _cst_check_flight_mode(void)
+{
+       ENTER(_cst_check_flight_mode);
+       int flight_mode = EINA_FALSE;
+
+       _cst_vconf_get_bool(VCONFKEY_SETAPPL_FLIGHT_MODE_BOOL, &flight_mode);
+       return flight_mode;
+}
+
+Eina_Bool _cst_check_sim_status(void)
+{
+       ENTER(_cst_check_sim_status);
+       int sim_status = VCONFKEY_TELEPHONY_SIM_UNKNOWN;
+       Eina_Bool sim_avail = EINA_FALSE;
+
+       _cst_vconf_get_int(VCONFKEY_TELEPHONY_SIM_SLOT, &sim_status);
+       if (sim_status == VCONFKEY_TELEPHONY_SIM_INSERTED) {
+               sim_avail = EINA_TRUE;
+       }
+       return sim_avail;
+}
diff --git a/src/cst-waiting.c b/src/cst-waiting.c
new file mode 100755 (executable)
index 0000000..783f58e
--- /dev/null
@@ -0,0 +1,311 @@
+/*
+  * 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 <Elementary.h>
+
+#include "cst-common-string.h"
+#include "cst-call-setting.h"
+
+#include "cst-waiting.h"
+#include "cst-widget.h"
+#include "cst-common.h"
+#include "cst-tapi-request.h"
+#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},
+};
+
+static void __cst_on_update_cw_state(int call_type, int flavour,
+                       Eina_Bool cw_state, char *number, int error, int req_action, void *data)
+{
+       ENTER(__cst_on_update_cw_state);
+       ret_if(NULL == data);
+       CstGlItemData_t *item_data = (CstGlItemData_t *)data;
+       ret_if(NULL == item_data->ugd);
+       CstUgData_t *ugd = (CstUgData_t *)item_data->ugd;
+       ret_if(NULL == item_data->gl_item);
+       DBG("req_action=%d(0: Activate, 1:Deactivate, 2:Query)", req_action);
+       DBG("cw_state=%d(0: off, 1:on), error=%d", cw_state, error);
+
+       if (error == CST_ERROR_NONE) {
+               if (cw_state == EINA_TRUE)
+                       ugd->cw_state = CST_SS_STATE_ON;
+               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);
+               if (req_action != CST_ACTION_QUERY) {
+                       ugd->popup = (Evas_Object *)_cst_create_error_popup(ugd->nf, error);
+                       evas_object_show(ugd->popup);
+               } else {
+                       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);
+               }
+       }
+}
+
+static void __cst_gl_sel_cw(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 (ugd->cw_state == CST_SS_STATE_PROGRESS)
+               return;
+
+       Eina_Bool check_state = elm_check_state_get(item_data->eo_check);
+
+       int action = check_state ? CST_ACTION_DEACTIVATE : CST_ACTION_ACTIVATE;
+       ugd->cw_state = CST_SS_STATE_PROGRESS;
+       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);
+}
+
+static void __cst_on_changed_cw_check(void *data, Evas_Object *obj, void *event_info)
+{
+       Evas_Object *eo;
+
+       CstGlItemData_t *item_data = (CstGlItemData_t *)data;
+       CstUgData_t *ugd = (CstUgData_t *)item_data->ugd;
+       int check_state = elm_check_state_get(obj);
+
+       if (elm_object_item_disabled_get(item_data->gl_item) == EINA_TRUE) {
+               elm_check_state_set(obj, EINA_FALSE);
+               return;
+       }
+
+       int action = check_state ? CST_ACTION_ACTIVATE : CST_ACTION_DEACTIVATE;
+       ugd->cw_state = CST_SS_STATE_PROGRESS;
+       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);
+
+}
+
+static char *__cst_gl_label_get_cw(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)) {
+               return strdup(T_(list_call_waiting[item_data->index].str_id));
+       }
+       return NULL;
+}
+
+static Evas_Object *__cst_gl_icon_get_cw(void *data, Evas_Object *obj, const char *part)
+{
+       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->cw_state) {
+               case CST_SS_STATE_ON:
+               case CST_SS_STATE_OFF:
+                       if (ugd->cw_state == CST_SS_STATE_ON)
+                               check_state = EINA_TRUE;
+                       item_data->eo_check = icon = _cst_create_onoff_button(obj, check_state,
+                               __cst_on_changed_cw_check, item_data);
+                       break;
+               case CST_SS_STATE_PROGRESS:
+                       icon = _cst_create_progressbar(obj);
+                       break;
+               default:
+                       return NULL;
+               }
+       }
+       return icon;
+}
+
+static void __cst_gl_del_cw(void *data, Evas_Object *obj)
+{
+       CstGlItemData_t *item_data = (CstGlItemData_t *)data;
+       if (item_data)
+               free(item_data);
+       return;
+}
+
+static Evas_Object *__cst_create_genlist_cw(void *data)
+{
+       ENTER(__cst_create_genlist_cw);
+       retv_if(NULL == data, NULL);
+       CstUgData_t *ugd = (CstUgData_t *)data;
+       int index = 0;
+       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;
+       itc_1text_1icon->func.content_get = __cst_gl_icon_get_cw;
+       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;
+               
+       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);
+               item_data->index = index;
+               item_data->ugd = ugd;
+
+               if (list_call_waiting[index].style == CST_GL_ITEM_1TEXT_ONOFF_PROGRESS) {
+                       item_data->gl_item = elm_genlist_item_append(genlist, itc_1text_1icon,
+                               (void *)item_data, NULL, list_call_waiting[index].flags,
+                               __cst_gl_sel_cw, item_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);
+               } else {
+                       DBG("No style");
+                       free(item_data);
+                       item_data = NULL;
+                       return;
+               }
+       }
+       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);
+
+       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);
+}
+
+static void __cst_on_click_cw_back_button(void *data, Evas_Object *obj, void *event_info)
+{
+       ENTER(__cst_on_click_cw_back_button);
+       retm_if(data == NULL, "NULL UgData");
+
+       CstUgData_t *ugd = (CstUgData_t *)data;
+       _cst_cancel_all_ss_request(ugd);
+
+       ugd->back_button = _cst_get_navifr_prev_btn(ugd->nf);
+}
+
+void _cst_on_click_call_waiting(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       ENTER(_cst_on_click_call_waiting);
+       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;
+       Evas_Object *cbar;
+       Elm_Object_Item *navi_it;
+
+       if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) {
+               return;
+       }
+
+       if (_cst_check_flight_mode()) {
+               ugd->popup = _cst_create_error_popup(ugd->nf,
+                       CST_ERROR_CHANGE_FLIGHT_MODE);
+               evas_object_show(ugd->popup);
+               return;
+       }
+
+       if (!_cst_check_sim_status()) {
+               ugd->popup = _cst_create_error_popup(ugd->nf,
+                       CST_ERROR_INSERT_SIM_CARD);
+               evas_object_show(ugd->popup);
+               return;
+       }
+
+       Evas_Object *genlist = __cst_create_genlist_cw(ugd);
+
+       /*Create layout */
+       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_WAITING),
+               back_btn, 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_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
new file mode 100755 (executable)
index 0000000..b29e457
--- /dev/null
@@ -0,0 +1,489 @@
+/*
+  * 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 <stdio.h>
+#include <appcore-efl.h>
+#include <Elementary.h>
+#include <Evas.h>
+
+#include "cst-common.h"
+#include "cst-widget.h"
+#include "cst-common-string.h"
+#include "cst-debug.h"
+
+static Elm_Genlist_Item_Class *itc_seperator = NULL;
+static Elm_Genlist_Item_Class *itc_underline = NULL;
+
+/* This callback is for showing(hiding) X marked button. */
+static void _changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       if (elm_object_focus_get(data)) {
+               if (elm_entry_is_empty(obj))
+                       elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
+               else
+                       elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
+       }
+}
+
+/* Focused callback will show X marked button and hide guidetext. */
+static void _focused_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       if (!elm_entry_is_empty(obj))
+               elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
+       elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
+}
+
+/* Unfocused callback will show guidetext and hide X marked button. */
+static void _unfocused_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       if (elm_entry_is_empty(obj))
+               elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
+       elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
+}
+
+/* When X marked button clicked, make string as empty. */
+static void _eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+       elm_entry_entry_set(data, "");
+}
+
+Evas_Object *_cst_create_progressbar(Evas_Object *parent)
+{
+       ENTER(_cst_create_progressbar);
+       retv_if(NULL == parent, NULL);
+       Evas_Object *progressbar;
+       progressbar = elm_progressbar_add(parent);
+       elm_object_style_set(progressbar, "list_process");
+       evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
+       evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_show(progressbar);
+       elm_progressbar_pulse(progressbar, EINA_TRUE);
+
+       return progressbar;
+}
+
+static void __cst_get_error_string(int error, char *msg)
+{
+       switch (error) {
+       case CST_ERROR_INCORRECT_OPERATION:
+               snprintf(msg, 100, "%s", T_(CST_STR_INCORRECT_OPERATION));
+               break;
+       case CST_ERROR_INVALID_PASSWORD:
+               snprintf(msg, 100, "%s", T_(CST_STR_INVALID_PASSWORD));
+               break;
+       case CST_ERROR_PASSWORD_BLOCKED:
+               snprintf(msg, 100, "%s", T_(CST_STR_PASSWORD_BLOCKED));
+               break;
+       case CST_ERROR_SERVICE_UNAVAILABLE:
+               snprintf(msg, 100, "%s", T_(CST_STR_SERVICE_UNAVAILABLE));
+               break;
+       case CST_ERROR_UNKNOWN:
+               snprintf(msg, 100, "%s", T_(CST_STR_REJECTED_BY_NETWORK));
+               break;
+       case CST_ERROR_ENTER_NUMBER:
+               snprintf(msg, 100, "%s", T_(CST_STR_ENTER_NUMBER));
+               break;
+       case CST_ERROR_ENTER_MESSAGE:
+               snprintf(msg, 100, "%s", T_(CST_STR_ENTER_MESSAGE));
+               break;
+       case CST_ERROR_SELECT_VALID_ENTRY:
+               snprintf(msg, 100, "%s", T_(CST_STR_SELECT_VALID_ENTRY));
+               break;
+       case CST_ERROR_REJECTED_BY_NETWORK:
+               snprintf(msg, 100, "%s", T_(CST_STR_REJECTED_BY_NETWORK));
+               break;
+       case CST_ERROR_DUPLICATE_MESSAGE:
+               snprintf(msg, 100, "%s", T_(CST_STR_ENTER_DUPLICATE_MESSAGE));
+               break;
+       case CST_ERROR_INSERT_SIM_CARD:
+               snprintf(msg, 100, "%s", T_(CST_STR_INSERT_SIM_CARD));
+               break;
+       case CST_ERROR_CHANGE_FLIGHT_MODE:
+               snprintf(msg, 100, "%s", T_(CST_STR_CHNAGE_FLIGHT_MODE_MESSAGE));
+               break;
+       case CST_ERROR_AUL_LAUNCH_ERROR:
+               snprintf(msg, 100, "%s", T_(CST_STR_APP_NOT_INSTALLED));
+               break;
+       default:
+               snprintf(msg, 100, "%s", T_(CST_STR_UNKNOWN_OPERATION));
+               break;
+       }
+}
+
+Evas_Object *_cst_create_error_popup(Evas_Object *parent, int error)
+{
+       retv_if(error < 0, NULL);
+
+       char error_msg[100];
+       __cst_get_error_string(error, error_msg);
+       DBG("Error message=%s", error_msg);
+
+       Evas_Object *popup;
+       popup = elm_popup_add(parent);
+       elm_popup_timeout_set(popup, 1.5);
+       elm_object_text_set(popup, error_msg);
+       evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+       return popup;
+}
+
+Evas_Object *_cst_get_navifr_prev_btn(Evas_Object *nf)
+{
+       ENTER(_cst_get_navifr_prev_btn);
+       Elm_Object_Item *top_it = elm_naviframe_top_item_get(nf);
+       retv_if(top_it == NULL, NULL);
+       Evas_Object *btn = elm_object_item_part_content_get(top_it, "prev_btn");
+       retv_if(btn == NULL, NULL);
+
+       return btn;
+}
+
+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)
+{
+       ENTER(_cst_create_navi_control_bar);
+       retv_if(NULL == parent, NULL);
+       Elm_Object_Item *item;
+       Evas_Object *cbar = elm_toolbar_add(parent);
+       elm_toolbar_shrink_mode_set(cbar, ELM_TOOLBAR_SHRINK_EXPAND);
+
+       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);
+                       elm_object_item_part_content_set(item, "object", NULL);
+               }
+               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);
+       }
+
+       elm_object_item_part_content_set(navi_it, "controlbar", cbar);
+       return cbar;
+}
+
+static void __cst_gl_del_seperator(void *data, Evas_Object *obj)
+{
+       ret_if(data == NULL);
+       CstGlItemData_t *item_data = (CstGlItemData_t *)data;
+       if (item_data)
+               free(item_data);
+       return;
+}
+
+void _cst_create_genlist_seperator(Evas_Object *genlist, Eina_Bool need_item_data)
+{
+       Elm_Object_Item *item = NULL;
+
+       if (!itc_seperator)
+               itc_seperator = elm_genlist_item_class_new();
+
+       itc_seperator->item_style = "dialogue/separator/21/with_line";
+       itc_seperator->func.text_get = NULL;
+       itc_seperator->func.content_get = NULL;
+       itc_seperator->func.state_get = NULL;
+
+       if (need_item_data) {
+               CstGlItemData_t *item_data;
+               itc_seperator->func.del = __cst_gl_del_seperator;
+               item_data = calloc(1, sizeof(CstGlItemData_t));
+               ret_if(NULL == item_data);
+               item_data->index = -1;
+               item = elm_genlist_item_append(genlist, itc_seperator, item_data, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+               item_data->gl_item = item;
+       } else {
+               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);
+}
+
+void _cst_create_genlist_underline(Evas_Object *genlist)
+{
+       ret_if(NULL == genlist);
+       Elm_Object_Item *item = NULL;
+
+       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;
+       itc_underline->func.state_get = NULL;
+       itc_underline->func.del = NULL;
+
+       item = elm_genlist_item_append(genlist, itc_underline, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+       elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+}
+
+Elm_Object_Item *_cst_create_genlist_update_underline(Evas_Object *genlist)
+{
+       retv_if(NULL == genlist, NULL);
+       Elm_Object_Item *item = NULL;
+
+       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;
+       itc_underline->func.state_get = NULL;
+       itc_underline->func.del = NULL;
+
+       item = elm_genlist_item_append(genlist, itc_underline, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+       elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+       return item;
+}
+
+static void __cst_hide_selectinfo_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       ENTER(__cst_hide_selectinfo_cb);
+       ret_if(data == NULL || obj == NULL);
+
+       CstUgData_t *ugd = (CstUgData_t *)data;
+       ret_if(obj != ugd->selectinfo);
+
+       if (ugd->selectinfo && ugd->select_backup)
+               edje_object_signal_emit(_EDJ(ugd->select_backup),
+                       DEFAULT_CONTENT_SIGNAL, BOTTOM_PADDING_CONTENT_SOURCE);
+       ugd->select_backup = NULL;
+       ugd->selectinfo = NULL;
+}
+
+void _cst_create_selectinfo(CstUgData_t *ugd, Evas_Object *layout, const char *label)
+{
+       ENTER(_cst_create_selectinfo);
+       ret_if(ugd == NULL);
+       if (!ugd->selectinfo) {
+               ugd->select_backup = layout;
+               ugd->selectinfo = elm_notify_add(ugd->select_backup);
+               elm_notify_orient_set(ugd->selectinfo, ELM_NOTIFY_ORIENT_BOTTOM);
+
+               evas_object_event_callback_add(ugd->selectinfo,
+                       EVAS_CALLBACK_HIDE, __cst_hide_selectinfo_cb, ugd);
+
+               ugd->selectinfo_layout = elm_layout_add(ugd->select_backup);
+
+               elm_layout_theme_set(ugd->selectinfo_layout,
+                       "standard", "selectioninfo", "vertical/bottom_12");
+
+               elm_object_content_set(ugd->selectinfo, ugd->selectinfo_layout);
+       }
+
+       if (label == NULL) {
+               evas_object_hide(ugd->selectinfo);
+               return;
+       }
+
+       DBG("Input label : %s", label);
+       edje_object_part_text_set(_EDJ(ugd->selectinfo_layout), "elm.text", label);
+       elm_notify_timeout_set(ugd->selectinfo, 2);
+       evas_object_show(ugd->selectinfo);
+}
+
+void _cst_del_selectinfo(CstUgData_t *ugd)
+{
+       ret_if(ugd == NULL);
+
+       if (ugd->selectinfo_layout)
+               evas_object_del(ugd->selectinfo_layout);
+       if (ugd->selectinfo)
+               evas_object_del(ugd->selectinfo);
+
+       ugd->selectinfo_layout = NULL;
+       ugd->selectinfo = NULL;
+}
+
+Evas_Object *_cst_create_onoff_button(Evas_Object *obj,
+       int state_value, Evas_Smart_Cb cb_func, void *cb_data)
+{
+       retv_if(NULL == obj, NULL);
+
+       Evas_Object *icon = elm_check_add(obj);
+       elm_object_style_set(icon, "on&off");
+       elm_check_state_set(icon, state_value);
+       if (cb_func) {
+               evas_object_smart_callback_add(icon, "changed",
+                       cb_func, cb_data);
+       }
+       evas_object_propagate_events_set(icon, EINA_FALSE);
+
+       return icon;
+}
+
+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);
+
+       int rd_value = 0;
+       Evas_Object *radio = elm_radio_add(obj);
+       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));
+
+       return radio;
+}
+
+Evas_Object *_cst_create_title_btn(Evas_Object *parent,
+               const char *text, Evas_Smart_Cb func, void *data)
+{
+       retv_if(NULL == parent, NULL);
+
+       Evas_Object *btn = elm_button_add(parent);
+       if (!btn) return NULL;
+       elm_object_style_set(btn, "naviframe/title/default");
+       elm_object_text_set(btn, text);
+       evas_object_smart_callback_add(btn, "clicked", func, data);
+       return btn;
+}
+
+static void __cst_trans_finished(void *data, Evas_Object *obj, void *event_info)
+{
+       ret_if(NULL == obj);
+       elm_naviframe_prev_btn_auto_pushed_set(obj, EINA_TRUE);
+       evas_object_smart_callback_del(obj, "transition,finished", __cst_trans_finished);
+}
+
+void _cst_remove_naviframe(Evas_Object *nf)
+{
+       ret_if(NULL == nf);
+       elm_naviframe_prev_btn_auto_pushed_set(nf, EINA_FALSE);
+       evas_object_smart_callback_add(nf, "transition,finished",
+               __cst_trans_finished, NULL);
+}
+
+static void __cst_changed_editfield_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       ret_if(NULL == data);
+       CstUgData_t *ugd = (CstUgData_t *)data;
+       const char *entry_str = elm_entry_entry_get(obj);
+
+       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");
+
+       if (btn != NULL) {
+               if (NULL == entry_str || '\0' == entry_str[0])
+                       elm_object_disabled_set(btn, EINA_TRUE);
+               else
+                       elm_object_disabled_set(btn, EINA_FALSE);
+       }
+}
+
+Evas_Object *_cst_create_ime_editfield(CstUgData_t *ugd,
+       Evas_Object *parent, CstImeType_t ime_type, char *input_string)
+{
+       retv_if((NULL == ugd || NULL == parent), NULL);
+
+       Ecore_IMF_Input_Panel_Layout panel_layout;
+       Evas_Object *layout = elm_layout_add(parent);
+       elm_layout_theme_set(layout, "layout", "editfield", "default");
+       Elm_Entry_Filter_Limit_Size limit_filter_data;
+       Elm_Entry_Filter_Accept_Set digits_filter_data;
+
+       ugd->dg_entry = elm_entry_add(parent);
+       elm_object_part_content_set(layout, "elm.swallow.content", ugd->dg_entry);
+
+       evas_object_smart_callback_add(ugd->dg_entry, "changed", _changed_cb, layout);
+       evas_object_smart_callback_add(ugd->dg_entry, "focused", _focused_cb, layout);
+       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_PREFIX_DIAL:
+               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_PREFIX_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);
+               break;
+       case CST_IME_CALL_FORWARD:
+               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);
+               break;
+       case CST_IME_CALL_BAR:
+               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_PASSWORD));
+               panel_layout = ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY;
+               elm_entry_input_panel_layout_set(ugd->dg_entry, panel_layout);
+               elm_entry_password_set(ugd->dg_entry, EINA_TRUE);
+               limit_filter_data.max_char_count = 0;
+               limit_filter_data.max_byte_count = CST_MAX_PASSWORD_LEN;
+               break;
+       default:
+               ERR("Invalid ime type.");
+               return NULL;
+       }
+
+       elm_entry_markup_filter_append(ugd->dg_entry,
+               elm_entry_filter_limit_size, &limit_filter_data);
+       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;
+}
diff --git a/theme/call-setting-theme.edc b/theme/call-setting-theme.edc
new file mode 100755 (executable)
index 0000000..8305a95
--- /dev/null
@@ -0,0 +1,90 @@
+/*
+  * 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: "elm/dialogueitem/base/ciss/dialoguegroup_hidden_three_button";
+               parts {
+                       part { name: "bg";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 0 140;
+                                       color: 0 0 0 0;
+                               }
+                       }
+                       part { name: "button1";
+                               type: SWALLOW;
+                               scale: 1;
+                               description { 
+                                       state: "default" 0.0;
+                                       rel1.relative: 5/100 1/11;
+                                       rel2.relative: 47.5/100 5/11;
+                               }       
+                       }
+                       part { name: "button2";
+                               type: SWALLOW;
+                               scale: 1;
+                               description { 
+                                       state: "default" 0.0;
+                                       rel1.relative: 52.5/100 1/11;
+                                       rel2.relative: 95/100 5/11;
+                               }       
+                       }
+                       part { name: "button3";
+                               type: SWALLOW;
+                               scale: 1;
+                               description { 
+                                       state: "default" 0.0;
+                                       rel1.relative: 5/100 6/11;
+                                       rel2.relative: 95/100 10/11;
+                               }       
+                       }
+               }
+       }
+       
+               group { name: "elm/dialogueitem/base/ciss/dialoguegroup_hidden_two_button";
+               parts {
+                       part { name: "bg";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 0 80;
+                                       color: 0 0 0 0;
+                               }
+                       }
+                       part { name: "button1";
+                               type: SWALLOW;
+                               scale: 1;
+                               description { 
+                                       state: "default" 0.0;
+                                       rel1.relative: 5/100 1/11;
+                                       rel2.relative: 47.5/100 10/11;
+                               }       
+                       }
+                       part { name: "button2";
+                               type: SWALLOW;
+                               scale: 1;
+                               description { 
+                                       state: "default" 0.0;
+                                       rel1.relative: 52.5/100 1/11;
+                                       rel2.relative: 95/100 10/11;
+                               }       
+                       }
+               }
+       }
+ }