diff options
author | HyungKyu Song <hk76.song@samsung.com> | 2013-02-16 00:01:17 +0900 |
---|---|---|
committer | HyungKyu Song <hk76.song@samsung.com> | 2013-02-16 00:01:17 +0900 |
commit | 8f6a01f53915dfc33f36e8da2f4b6fd2d56022fa (patch) | |
tree | cca669ad3bbb5c7c15c080b6ca834e1a8eb3d131 | |
parent | 4d29d73d57a60d04d6eb34f6f5379fae4fae6569 (diff) | |
download | ug-wifi-efl-tizen_2.0.tar.gz ug-wifi-efl-tizen_2.0.tar.bz2 ug-wifi-efl-tizen_2.0.zip |
156 files changed, 28341 insertions, 0 deletions
@@ -0,0 +1,3 @@ +Sanghoon Cho <sanghoon80.cho@samsung.com> +Jeongseok Seo <s.seo@samsung.com> +Sunil Kim <sunil85.kim@samsung.com> diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..cf9d4b4 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,57 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) + +ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"") +SET(ENGINE_SOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/WlanManager/EngineManager/connman-request.c + ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/WlanManager/EngineManager/connman-response.c +# ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/WlanManager/EngineManager/connman-profile-manager.c +) + +SET(ENGINE_INCLUDES + ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/WlanManager/EngineManager/include) #connman + +SET(ENGINE_PKGCONFIGS + capi-network-wifi + network) + +INCLUDE(FindPkgConfig) +pkg_check_modules(pkgs REQUIRED + ecore + ecore-imf + ecore-input + appcore-efl + elementary + glib-2.0 + utilX + ui-gadget-1 + x11 + sensor + syspopup + syspopup-caller +#engine pkgconfigs + ${ENGINE_PKGCONFIGS}) + +INCLUDE_DIRECTORIES( + ${CMAKE_CURRENT_SOURCE_DIR}/sources/ui-gadget/include + ${CMAKE_CURRENT_SOURCE_DIR}/sources/ui-gadget/viewers-layout/include + ${CMAKE_CURRENT_SOURCE_DIR}/sources/wifi-syspopup/include + ${CMAKE_CURRENT_SOURCE_DIR}/sources/wifi-syspopup/viewer-popups/include + ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/Common/include + ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/WlanManager/wlan-manager/include + ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/WlanManager/profile-manager/include + ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/gestureManager/include + ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/appcoreWrapper/include + ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/messageDispatcher/include + ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/ug-caller/include + ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/i18nManager/include + ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/LogManager/include + ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/settingWrapper/include + ${CMAKE_CURRENT_SOURCE_DIR}/sources/libraries/mobileAPManager/include + +#engine includes + ${ENGINE_INCLUDES}) + +ADD_SUBDIRECTORY(po) +ADD_SUBDIRECTORY(sources/ui-gadget) +ADD_SUBDIRECTORY(sources/wifi-syspopup) + diff --git a/LICENSE.Flora b/LICENSE.Flora new file mode 100644 index 0000000..9c95663 --- /dev/null +++ b/LICENSE.Flora @@ -0,0 +1,206 @@ +Flora License + +Version 1.0, May, 2012 + +http://floralicense.org/license/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and +all other entities that control, are controlled by, or are +under common control with that entity. For the purposes of +this definition, "control" means (i) the power, direct or indirect, +to cause the direction or management of such entity, +whether by contract or otherwise, or (ii) ownership of fifty percent (50%) +or more of the outstanding shares, or (iii) beneficial ownership of +such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation source, +and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, +made available under the License, as indicated by a copyright notice +that is included in or attached to the work (an example is provided +in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, +that is based on (or derived from) the Work and for which the editorial +revisions, annotations, elaborations, or other modifications represent, +as a whole, an original work of authorship. For the purposes of this License, +Derivative Works shall not include works that remain separable from, +or merely link (or bind by name) to the interfaces of, the Work and +Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original +version of the Work and any modifications or additions to that Work or +Derivative Works thereof, that is intentionally submitted to Licensor +for inclusion in the Work by the copyright owner or by an individual or +Legal Entity authorized to submit on behalf of the copyright owner. +For the purposes of this definition, "submitted" means any form of +electronic, verbal, or written communication sent to the Licensor or +its representatives, including but not limited to communication on +electronic mailing lists, source code control systems, and issue +tracking systems that are managed by, or on behalf of, the Licensor +for the purpose of discussing and improving the Work, but excluding +communication that is conspicuously marked or otherwise designated +in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +"Tizen Certified Platform" shall mean a software platform that complies +with the standards set forth in the 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://floralicense.org/license/ + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + @@ -0,0 +1,4 @@ +Copyright (c) Samsung Electronics Co., Ltd. All rights reserved. +Except as noted, this software is licensed under Flora License, Version 1. +Please, see the LICENSE.Flora file for Flora License terms and conditions. + diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..f5387c9 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,3291 @@ +wifi-efl-ug (0.5.1-31) precise; urgency=low + + * [N_SE-3422] Bug fix + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-31 + + -- sunil85.kim <isurit@sunil85.kim> Tue, 12 Feb 2013 22:19:16 +0900 + +wifi-efl-ug (0.5.1-30) precise; urgency=low + + * [N_SE-24924] Rotate getter bug fix + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-30 + + -- sunil85.kim <isurit@sunil85.kim> Tue, 12 Feb 2013 20:01:20 +0900 + +wifi-efl-ug (0.5.1-29) precise; urgency=low + + * [N_SE-24585] Rotate bug fix + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-29 + + -- sunil85.kim <isurit@sunil85.kim> Fri, 08 Feb 2013 04:29:15 +0900 + +wifi-efl-ug (0.5.1-28) precise; urgency=low + + * Change tethering package name + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-28 + + -- sunil85.kim <isurit@sunil85.kim> Thu, 24 Jan 2013 20:43:59 +0900 + +wifi-efl-ug (0.5.1-27) precise; urgency=low + + * Fix a bug, the idler is not deleted in error case + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-27 + + -- Jaehyun Kim <jeik01.kim@samsung.com> Tue, 22 Jan 2013 22:29:40 +0900 + +wifi-efl-ug (0.5.1-26) precise; urgency=low + + * Modify check button event + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-26 + + -- sunil85.kim <isurit@sunil85.kim> Tue, 22 Jan 2013 20:45:38 +0900 + +wifi-efl-ug (0.5.1-25) precise; urgency=low + + * Fix the naming problem + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-25 + + -- sunil85.kim <isurit@sunil85.kim> Thu, 10 Jan 2013 17:44:21 +0900 + +wifi-efl-ug (0.5.1-24) precise; urgency=low + + * Fix the memory leak bug + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-24 + + -- sunil85.kim <isurit@sunil85.kim> Tue, 08 Jan 2013 19:05:57 +0900 + +wifi-efl-ug (0.5.1-23) precise; urgency=low + + * Fix dialogue group making bug + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-23 + + -- sunil85.kim <isurit@sunil85.kim> Tue, 08 Jan 2013 09:12:45 +0900 + +wifi-efl-ug (0.5.1-22) unstable; urgency=low + + * Change syspopup_launch to aul_launch_app. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-22 + + -- Praveen C <pravin.c@samsung.com> Fri, 04 Jan 2013 10:47:32 +0530 + +wifi-efl-ug (0.5.1-21) unstable; urgency=low + + * Disable connection state change and rssi levl change updation during scan block cases. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-21 + + -- Praveen C <pravin.c@samsung.com> Thu, 03 Jan 2013 19:21:59 +0530 + +wifi-efl-ug (0.5.1-20) unstable; urgency=low + + * Fix password popup not adjusting to different font sizes + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-20 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 03 Jan 2013 20:07:04 +0900 + +wifi-efl-ug (0.5.1-19) unstable; urgency=low + + * Register imf event cb after navi item is created. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-19 + + -- Praveen C <pravin.c@samsung.com> Thu, 03 Jan 2013 11:42:29 +0530 + +wifi-efl-ug (0.5.1-18) precise; urgency=low + + * Wi-Fi icon update + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-18 + + -- sunil85.kim <isurit@sunil85.kim> Thu, 03 Jan 2013 15:11:10 +0900 + +wifi-efl-ug (0.5.1-17) unstable; urgency=low + + * Set ELM_OBJECT_SELECT_MODE_NONE as the select style for edit field genlist items. (Fix P121218-5357) + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-17 + + -- Praveen C <pravin.c@samsung.com> Wed, 02 Jan 2013 17:28:07 +0530 + +wifi-efl-ug (0.5.1-16) unstable; urgency=low + + * Corrected the eap popup ime ctxt cb. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-16 + + -- Praveen C <pravin.c@samsung.com> Wed, 02 Jan 2013 17:09:31 +0530 + +wifi-efl-ug (0.5.1-15) unstable; urgency=low + + * Fix not updating popup's position when SIP is shown + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-15 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 02 Jan 2013 16:46:41 +0900 + +wifi-efl-ug (0.5.1-14) precise; urgency=low + + * Modified eap popup entry field event function + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-14 + + -- sunil85.kim <isurit@sunil85.kim> Fri, 28 Dec 2012 17:14:34 +0900 + +wifi-efl-ug (0.5.1-13) unstable; urgency=low + + * Fix double click sound issue. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-13 + + -- Praveen C <pravin.c@samsung.com> Mon, 31 Dec 2012 12:23:23 +0530 + +wifi-efl-ug (0.5.1-12) unstable; urgency=low + + * Add invalid password alert + * Revise minor things + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-12 + + -- Danny Jeongseok Seo <s.seo@samsung.com> Thu, 27 Dec 2012 10:41:53 +0900 + +wifi-efl-ug (0.5.1-11) unstable; urgency=low + + * Changed the separator styles. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-11 + + -- Praveen C <pravin.c@samsung.com> Fri, 21 Dec 2012 11:32:48 +0530 + +wifi-efl-ug (0.5.1-10) unstable; urgency=low + + * Fix the check for Wi-Fi Hotspot during powering ON + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-10 + + -- Naveen H <naveen.h@samsung.com> Thu, 20 Dec 2012 15:50:56 +0530 + +wifi-efl-ug (0.5.1-9) unstable; urgency=low + + * Unnecessary elm_win_indicator_mode_set + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-9 + + -- Danny Jeongseok Seo <s.seo@samsung.com> Thu, 20 Dec 2012 17:33:06 +0900 + +wifi-efl-ug (0.5.1-8) precise; urgency=low + + * Fixed making wrong group #2 + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-8 + + -- sunil85.kim <isurit@sunil85.kim> Tue, 18 Dec 2012 19:41:19 +0900 + +wifi-efl-ug (0.5.1-7) unstable; urgency=low + + * Make MSCHAPv2 as default auth type for PEAP. (Fix PLM # P121218-3335) + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-7 + + -- Praveen C <pravin.c@samsung.com> Wed, 19 Dec 2012 15:50:09 +0530 + +wifi-efl-ug (0.5.1-6) unstable; urgency=low + + * Added support to remove the "WiFi networks found" from noti tray after the QS is shown. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-6 + + -- Praveen C <pravin.c@samsung.com> Mon, 17 Dec 2012 19:10:13 +0530 + +wifi-efl-ug (0.5.1-5) precise; urgency=low + + * Fixed making wrong group + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-5 + + -- isurit <isurit@isurit-pc> Thu, 13 Dec 2012 18:03:07 +0900 + +wifi-efl-ug (0.5.1-4) unstable; urgency=low + + * Remove the GSList container. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-4 + + -- Praveen C <pravin.c@samsung.com> Fri, 14 Dec 2012 12:15:11 +0530 + +wifi-efl-ug (0.5.1-3) unstable; urgency=low + + * Move the list callbacks from file wifi-ui-list-callbacks.c into wifi_viewer_list.c. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-3 + + -- Praveen C <pravin.c@samsung.com> Fri, 14 Dec 2012 10:18:38 +0530 + +wifi-efl-ug (0.5.1-2) unstable; urgency=low + + * Added support in QS popup to cancel connecting AP. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-2 + + -- Praveen C <pravin.c@samsung.com> Thu, 13 Dec 2012 10:23:59 +0530 + +wifi-efl-ug (0.5.1-1) unstable; urgency=low + + * CAPI migration. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.5.1-1 + + -- Praveen C <pravin.c@samsung.com> Tue, 11 Dec 2012 09:51:52 +0530 + +wifi-efl-ug (0.4.57-43) unstable; urgency=low + + * Show the title buttons when keypad is open. Fix for P121126-0132. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-43 + + -- Praveen C <pravin.c@samsung.com> Mon, 10 Dec 2012 10:57:00 +0530 + +wifi-efl-ug (0.4.57-42) unstable; urgency=low + + * Performace improvement for detail view and eap connect view loading. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-42 + + -- Praveen C <pravin.c@samsung.com> Mon, 10 Dec 2012 10:51:40 +0530 + +wifi-efl-ug (0.4.57-41) unstable; urgency=low + + * Fix layout of custom_editfield + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-41 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 10 Dec 2012 13:23:17 +0900 + +wifi-efl-ug (0.4.57-40) unstable; urgency=low + + * Fix the port address & number entry display issue. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-40 + + -- Praveen C <pravin.c@samsung.com> Fri, 07 Dec 2012 17:04:50 +0530 + +wifi-efl-ug (0.4.57-39) unstable; urgency=low + + * Fix not working eap_connect in wifi-qs + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-39 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 07 Dec 2012 18:19:05 +0900 + +wifi-efl-ug (0.4.57-38) unstable; urgency=low + + * Make the list entry items customisable for easy Ux management. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-38 + + -- Praveen C <pravin.c@samsung.com> Fri, 07 Dec 2012 10:20:20 +0530 + +wifi-efl-ug (0.4.57-37) unstable; urgency=low + + * Display key pad for entering ID when EAP connect view/popup is shown. Fix for P121126-0254. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-37 + + -- Praveen C <pravin.c@samsung.com> Tue, 04 Dec 2012 19:21:28 +0530 + +wifi-efl-ug (0.4.57-36) unstable; urgency=low + + * Make PEAP as default EAP method. (Fix for P121204-0327) + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-36 + + -- Praveen C <pravin.c@samsung.com> Wed, 05 Dec 2012 15:08:41 +0530 + +wifi-efl-ug (0.4.57-35) unstable; urgency=low + + * Modify button text in setup_wizard + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-35 + + -- Kim sun il <sunil85.kim@samsung.com> Wed, 05 Dec 2012 16:31:20 +0900 + +wifi-efl-ug (0.4.57-34) unstable; urgency=low + + * Modify using conformant_window as new policy + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-34 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 30 Nov 2012 16:02:28 +0900 + +wifi-efl-ug (0.4.57-33) unstable; urgency=low + + * Fix conformant problem temporarily + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-33 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 30 Nov 2012 11:59:39 +0900 + +wifi-efl-ug (0.4.57-32) unstable; urgency=low + + * Create the 'Network list' by group shapes + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-32 + + -- Kim sun il <sunil85.kim@samsung.com> Thu, 29 Nov 2012 15:25:27 +0900 + +wifi-efl-ug (0.4.57-31) unstable; urgency=low + + * Remove the FAST eap method display. (Fix for P121128-0824) + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-31 + + -- Praveen C <pravin.c@samsung.com> Thu, 29 Nov 2012 15:08:10 +0530 + +wifi-efl-ug (0.4.57-30) unstable; urgency=low + + * Implement custom editfield for password and hidden AP popup + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-30 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 28 Nov 2012 19:40:56 +0900 + +wifi-efl-ug (0.4.57-29) unstable; urgency=low + + * Change content_expand popup style to min_menustyle + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-29 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 23 Nov 2012 18:11:19 +0900 + +wifi-efl-ug (0.4.57-28) unstable; urgency=low + + * Find hidden network button is wrong highlighted. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-28 + + -- Kim sun il <sunil85.kim@samsung.com> Fri, 23 Nov 2012 14:08:14 +0900 + +wifi-efl-ug (0.4.57-27) unstable; urgency=low + + * Fix entry_eraser signal in password and hidden AP popup + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-27 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 22 Nov 2012 19:54:29 +0900 + +wifi-efl-ug (0.4.57-26) unstable; urgency=low + + * Update Multi language support #2 + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-26 + + -- Kim sun il <sunil85.kim@samsung.com> Tue, 20 Nov 2012 13:03:29 +0900 + +wifi-efl-ug (0.4.57-25) unstable; urgency=low + + * Fix UG destroy_me called two times when destroying UG + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-25 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 19 Nov 2012 16:50:48 +0900 + +wifi-efl-ug (0.4.57-24) unstable; urgency=low + + * Update Multi language support + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-24 + + -- Kim sun il <sunil85.kim@samsung.com> Fri, 16 Nov 2012 17:25:50 +0900 + +wifi-efl-ug (0.4.57-23) unstable; urgency=low + + * Change UI property(Separator, Ap status color) for winset 3.0 + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-23 + + -- Kim sun il <sunil85.kim@samsung.com> Fri, 16 Nov 2012 14:29:44 +0900 + +wifi-efl-ug (0.4.57-22) unstable; urgency=low + + * Modify creating entry in genlist to adjust new winset + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-22 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 15 Nov 2012 19:34:22 +0900 + +wifi-efl-ug (0.4.57-21) unstable; urgency=low + + * Popup layout problem was solved by using edc + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-21 + + -- Kim sun il <sunil85.kim@samsung.com> Thu, 15 Nov 2012 14:40:55 +0900 + +wifi-efl-ug (0.4.57-20) unstable; urgency=low + + * Fix dead code, return value and references + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-20 + + -- Danny Jeongseok Seo <s.seo@samsung.com> Tue, 13 Nov 2012 21:11:56 +0900 + +wifi-efl-ug (0.4.57-19) unstable; urgency=low + + * Change parent of Forget popup + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-19 + + -- Kim sun il <sunil85.kim@samsung.com> Tue, 13 Nov 2012 14:50:06 +0900 + +wifi-efl-ug (0.4.57-18) unstable; urgency=low + + * Doesn't save bug fix in detail view + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-18 + + -- Kim sun il <sunil85.kim@samsung.com> Thu, 08 Nov 2012 17:02:17 +0900 + +wifi-efl-ug (0.4.57-16) unstable; urgency=low + + * Change wifi-qs and eap-popup style to content_expand again + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-16 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 05 Nov 2012 15:45:58 +0900 + +wifi-efl-ug (0.4.57-15) unstable; urgency=low + + * Remove conformant object in Wi-Fi UG + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-15 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Sat, 03 Nov 2012 18:02:51 +0900 + +wifi-efl-ug (0.4.57-14) unstable; urgency=low + + * Rollback wifi-qs and eap-popup style to previous one(menustyle) + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-14 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Sat, 03 Nov 2012 16:37:04 +0900 + +wifi-efl-ug (0.4.57-13) unstable; urgency=low + + * Change layout for new winset version + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-13 + + -- Kim sun il <sunil85.kim@samsung.com> Fri, 02 Nov 2012 15:50:38 +0900 + +wifi-efl-ug (0.4.57-12) unstable; urgency=low + + * Change button layout for setup wizard UG + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-12 + + -- Kim sun il <sunil85.kim@samsung.com> Thu, 01 Nov 2012 19:21:25 +0900 + +wifi-efl-ug (0.4.57-11) unstable; urgency=low + + * Change UG directory to /usr/ug + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-11 + + -- Kim sun il <sunil85.kim@samsung.com> Wed, 31 Oct 2012 18:12:08 +0900 + +wifi-efl-ug (0.4.57-10) unstable; urgency=low + + * Change UG directory to /opt/usr/ug + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-10 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 30 Oct 2012 13:26:51 +0900 + +wifi-efl-ug (0.4.57-9) unstable; urgency=low + + * Check the vconf motion key when shake motion. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-9 + + -- Kim sun il <sunil85.kim@samsung.com> Thu, 25 Oct 2012 19:09:13 +0900 + +wifi-efl-ug (0.4.57-8) unstable; urgency=low + + * Add image file for wifi found notification + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-8 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 25 Oct 2012 11:26:55 +0900 + +wifi-efl-ug (0.4.57-7) unstable; urgency=low + + * Set max entry length on password popup + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-7 + + -- Kim sun il <sunil85.kim@samsung.com> Wed, 24 Oct 2012 15:52:19 +0900 + +wifi-efl-ug (0.4.57-6) unstable; urgency=low + + * Fix memory leak + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-6 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 23 Oct 2012 10:31:21 +0900 + +wifi-efl-ug (0.4.57-5) unstable; urgency=low + + * Implement checking invalid IP address and port number + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-5 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 22 Oct 2012 19:05:39 +0900 + +wifi-efl-ug (0.4.57-4) unstable; urgency=low + + * Install license + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-4 + + -- Danny Jeongseok Seo <s.seo@samsung.com> Fri, 12 Oct 2012 13:11:14 +0900 + +wifi-efl-ug (0.4.57-3) unstable; urgency=low + + * Reset function implemantation in setting view. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug-0.4.57-3 + + -- Kim sun il <sunil85.kim@samsung.com> Thu, 11 Oct 2012 17:35:06 +0900 + +wifi-efl-ug (0.4.57-2) unstable; urgency=low + + * Added landscape mode support for QS popup. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-2 + + -- Praveen C <pravin.c@samsung.com> Mon, 08 Oct 2012 17:20:13 +0530 + +wifi-efl-ug (0.4.57-1) unstable; urgency=low + + * Added input text filter for entry items. (Fix PLM # P120927-6332) + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.57-1 + + -- Praveen C <pravin.c@samsung.com> Fri, 05 Oct 2012 18:28:22 +0530 + +wifi-efl-ug (0.4.56-13) unstable; urgency=low + + * ui update(password popup keyboard layout, Syspopup background transparent) + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-13 + + -- Kim sun il <sunil85.kim@samsung.com> Wed, 26 Sep 2012 18:33:36 +0900 + +wifi-efl-ug (0.4.56-12) unstable; urgency=low + + * Replaced the #define strings with STMS strings. #3 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-12 + + -- Kim sun il <sunil85.kim@samsung.com> Wed, 26 Sep 2012 17:04:53 +0900 + +wifi-efl-ug (0.4.56-11) unstable; urgency=low + + * Apply SMACK manifest + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-11 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 20 Sep 2012 13:46:25 +0900 + +wifi-efl-ug (0.4.56-10) unstable; urgency=low + + * Add new features to shake motion. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-10 + + -- Kim sun il <sunil85.kim@samsung.com> Thu, 06 Sep 2012 13:39:57 +0900 + +wifi-efl-ug (0.4.56-9) unstable; urgency=low + + * "PO" files update. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-9 + + -- Kim sun il <sunil85.kim@samsung.com> Thu, 30 Aug 2012 16:19:52 +0900 + +wifi-efl-ug (0.4.56-8) unstable; urgency=low + + * Enable scan button when Wi-Fi power off. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-8 + + -- Kim sun il <sunil85.kim@samsung.com> Fri, 24 Aug 2012 16:41:16 +0900 + +wifi-efl-ug (0.4.56-7) unstable; urgency=low + + * Add separator to WPS_Connection view. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-7 + + -- Kim sun il <sunil85.kim@samsung.com> Fri, 24 Aug 2012 08:45:13 +0900 + +wifi-efl-ug (0.4.56-6) unstable; urgency=low + + * Replaced the #define strings with STMS strings. #2 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-6 + + -- Kim sun il <sunil85.kim@samsung.com> Mon, 20 Aug 2012 16:30:57 +0900 + +wifi-efl-ug (0.4.56-5) unstable; urgency=low + + * Wi-Fi Detail button relocation. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-5 + + -- Kim sun il <sunil85.kim@samsung.com> Mon, 20 Aug 2012 13:15:35 +0900 + +wifi-efl-ug (0.4.56-4) unstable; urgency=low + + * Popup_view in Device picker problem has solved. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-4 + + -- Kim sun il <sunil85.kim@samsung.com> Thu, 16 Aug 2012 18:30:31 +0900 + +wifi-efl-ug (0.4.56-3) unstable; urgency=low + + * Change sg-wifi-efl package license to 'Flora' + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-3 + + -- Kim sun il <sunil85.kim@samsung.com> Fri, 10 Aug 2012 14:21:29 +0900 + +wifi-efl-ug (0.4.56-2) unstable; urgency=low + + * Sveral views add to separators and modify 'seperator' to 'separator' + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-2 + + -- Kim sun il <sunil85.kim@samsung.com> Thu, 09 Aug 2012 10:34:28 +0900 + +wifi-efl-ug (0.4.56-1) unstable; urgency=low + + * Added the specific scan(to find hidden aps) back end logic and interface. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-1 + + -- Praveen C <pravin.c@samsung.com> Wed, 08 Aug 2012 18:06:09 +0900 + +wifi-efl-ug (0.4.55-13) unstable; urgency=low + + * Wi-Fi UX design has changed not to display "unable to connect" pop-up + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.55-13 + + -- Danny Jeongseok Seo <s.seo@samsung.com> Wed, 08 Aug 2012 14:19:33 +0900 + +wifi-efl-ug (0.4.55-12) unstable; urgency=low + + * Added margin at detail view and eap view and wifi_viewer_listi + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.55-12 + + -- Kim sun il <sunil85.kim@samsung.com> Tue, 07 Aug 2012 19:10:40 +0900 + +wifi-efl-ug (0.4.55-11) unstable; urgency=low + + * Make the new function for motion handling.(refactoring:motion handler #1) + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.55-11 + + -- Kim sun il <sunil85.kim@samsung.com> Mon, 06 Aug 2012 21:44:04 +0900 + +wifi-efl-ug (0.4.55-10) unstable; urgency=low + + * Change the "Scan","Previous","Next","Skip" in setup wizard interface. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.55-10 + + -- Kim sun il <sunil85.kim@samsung.com> Fri, 03 Aug 2012 15:46:40 +0900 + +wifi-efl-ug (0.4.55-9) unstable; urgency=low + + * Implement desktop manifest for wifi-qs. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.55-9 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 31 Jul 2012 20:31:44 +0900 + +wifi-efl-ug (0.4.55-8) unstable; urgency=low + + * Implement Motion action in Wi-Fi Setting. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.55-8 + + -- Kim sun il <sunil85.kim@samsung.com> Mon, 30 Jul 2012 15:10:54 +0900 + +wifi-efl-ug (0.4.55-7) unstable; urgency=low + + * Disable the Scan button during deactivating / power-off states. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.55-7 + + -- Praveen C <pravin.c@samsung.com> Tue, 24 Jul 2012 12:13:51 +0900 + +wifi-efl-ug (0.4.55-6) unstable; urgency=low + + * Removed the flag mechanism to control the state machine and simpler and efficient way to stop the scan updates is added now. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.55-6 + + -- Praveen C <pravin.c@samsung.com> Fri, 20 Jul 2012 11:14:44 +0900 + +wifi-efl-ug (0.4.55-5) unstable; urgency=low + + * Optimised and refactored the AP list refresh handler. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.55-5 + + -- Praveen C <pravin.c@samsung.com> Fri, 20 Jul 2012 10:54:15 +0900 + +wifi-efl-ug (0.4.55-4) unstable; urgency=low + + * Added 2 new connecting failed cases - CONNECTING_CONNECT_FAIL and CONNECTING_INVALID_KEY. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.55-4 + + -- Praveen C <pravin.c@samsung.com> Fri, 20 Jul 2012 10:41:55 +0900 + +wifi-efl-ug (0.4.55-3) unstable; urgency=low + + * Change define strings to STMS strings, po files permission change. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.55-3 + + -- Kim sun il <sunil85.kim@samsung.com> Fri, 20 Jul 2012 09:52:26 +0900 + +wifi-efl-ug (0.4.55-2) unstable; urgency=low + + * Implement UG managed API + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.55-2 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 18 Jul 2012 19:25:33 +0900 + +wifi-efl-ug (0.4.55-1) unstable; urgency=low + + * New Wi-Fi NAT BAR updated (updated) + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.55-1 + + -- Danny Jeongseok Seo <s.seo@samsung.com> Wed, 18 Jul 2012 14:52:05 +0900 + +wifi-efl-ug (0.4.54-15) unstable; urgency=low + + * Revised the connecting fail scenarios and identified the error cases where "Unable to connect" message need to be shown in QS popup. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-15 + + -- Praveen C <pravin.c@samsung.com> Sat, 14 Jul 2012 11:52:30 +0900 + +wifi-efl-ug (0.4.54-14) unstable; urgency=low + + * Fix the CCR #25541. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-14 + + -- Praveen C <pravin.c@samsung.com> Fri, 13 Jul 2012 21:47:49 +0900 + +wifi-efl-ug (0.4.54-13) unstable; urgency=low + + * Fix memory leak. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-13 + + -- Praveen C <pravin.c@samsung.com> Fri, 13 Jul 2012 20:41:43 +0900 + +wifi-efl-ug (0.4.54-12) unstable; urgency=low + + * Added "Deactivating Wi-Fi" and progress icon. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-12 + + -- Praveen C <pravin.c@samsung.com> Fri, 13 Jul 2012 12:52:26 +0900 + +wifi-efl-ug (0.4.54-11) unstable; urgency=low + + * Revised the connecting fail scenarios and identified the error cases where "Unable to connect" message need to be shown. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-11 + + -- Praveen C <pravin.c@samsung.com> Thu, 12 Jul 2012 22:50:23 +0900 + +wifi-efl-ug (0.4.54-10) unstable; urgency=low + + * Added the codes to delete the mobile hot spot on, yes/no prompt popup-up when button call back is called. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-10 + + -- Praveen C <pravin.c@samsung.com> Wed, 11 Jul 2012 23:46:47 +0900 + +wifi-efl-ug (0.4.54-9) unstable; urgency=low + + * Fix wifi-qs crash when it's called two times continually. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-9 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 10 Jul 2012 20:32:32 +0900 + +wifi-efl-ug (0.4.54-8) unstable; urgency=low + + * Remove the password popup when WPS enroll fail message is received. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-8 + + -- Praveen C <pravin.c@samsung.com> Tue, 10 Jul 2012 17:43:19 +0900 + +wifi-efl-ug (0.4.54-7) unstable; urgency=low + + * Added codes to remove the password pop-up and EAP connect view when powered off from Quickpanel. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-7 + + -- Praveen C <pravin.c@samsung.com> Tue, 10 Jul 2012 14:45:27 +0900 + +wifi-efl-ug (0.4.54-6) unstable; urgency=low + + * Fixed the pwdlock app not exiting issue. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-6 + + -- Praveen C <pravin.c@samsung.com> Tue, 10 Jul 2012 13:12:43 +0900 + +wifi-efl-ug (0.4.54-5) unstable; urgency=low + + * Rollback for SetupWizard problem + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-5 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 10 Jul 2012 00:02:52 +0900 + +wifi-efl-ug (0.4.54-4) unstable; urgency=low + + * Added return after elm_exit inside main. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-4 + + -- Praveen C <pravin.c@samsung.com> Mon, 09 Jul 2012 11:12:05 +0900 + +wifi-efl-ug (0.4.54-3) unstable; urgency=low + + * Enable the list update flag to TRUE during Wi-Fi activating. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-3 + + -- Praveen C <pravin.c@samsung.com> Mon, 09 Jul 2012 10:40:30 +0900 + +wifi-efl-ug (0.4.54-2) unstable; urgency=low + + * Check NULL before print log + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-2 + + -- Danny Jeongseok Seo <s.seo@samsung.com> Sat, 07 Jul 2012 19:03:17 +0900 + +wifi-efl-ug (0.4.54-1) unstable; urgency=low + + * Implement Find hidden AP feature. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.54-1 + + -- Praveen C <pravin.c@samsung.com> Fri, 06 Jul 2012 22:10:23 +0900 + +wifi-efl-ug (0.4.53-9) unstable; urgency=low + + * Fix not showing wifi-qs when called by quickpanel + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.53-9 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 06 Jul 2012 20:32:42 +0900 + +wifi-efl-ug (0.4.53-8) unstable; urgency=low + + * Change number of QS-Popup display item list 5 to 8. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.53-8 + + -- Kim sun il <sunil85.kim@samsung.com> Fri, 06 Jul 2012 13:16:14 +0900 + +wifi-efl-ug (0.4.53-7) unstable; urgency=low + + * Fix the scan result ui update issue after the password popup is cancelled. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.53-7 + + -- Praveen C <pravin.c@samsung.com> Thu, 05 Jul 2012 22:04:56 +0900 + +wifi-efl-ug (0.4.53-6) unstable; urgency=low + + * Keypad is not displayed when the password popup is shown. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.53-6 + + -- Praveen C <pravin.c@samsung.com> Thu, 05 Jul 2012 21:43:37 +0900 + +wifi-efl-ug (0.4.53-5) unstable; urgency=low + + * Display password popup title. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.53-5 + + -- Praveen C <pravin.c@samsung.com> Thu, 05 Jul 2012 21:35:13 +0900 + +wifi-efl-ug (0.4.53-4) unstable; urgency=low + + * Display "Unable to connect __Device name__" popup when connecting fails. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.53-4 + + -- Praveen C <pravin.c@samsung.com> Wed, 04 Jul 2012 23:39:19 +0900 + +wifi-efl-ug (0.4.53-3) unstable; urgency=low + + * Removed the AP name display item from the EAP connect list. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.53-3 + + -- Praveen C <pravin.c@samsung.com> Wed, 04 Jul 2012 20:04:25 +0900 + +wifi-efl-ug (0.4.53-2) unstable; urgency=low + + * Added a sperator to the end of the eap connect list to display the proxy item completely. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.53-2 + + -- Praveen C <pravin.c@samsung.com> Wed, 04 Jul 2012 19:05:47 +0900 + +wifi-efl-ug (0.4.53-1) unstable; urgency=low + + * Added WPS support for QS popup and refactored the popup code. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.53-1 + + -- Praveen C <pravin.c@samsung.com> Tue, 03 Jul 2012 23:03:52 +0900 + +wifi-efl-ug (0.4.52-12) unstable; urgency=low + + * Fix for AP list is not shown at the first launch in Wi-Fi QS. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.52-12 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 03 Jul 2012 13:46:43 +0900 + +wifi-efl-ug (0.4.52-11) unstable; urgency=low + + * Fix the default proxy address issue. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.52-11 + + -- Praveen C <pravin.c@samsung.com> Fri, 29 Jun 2012 22:35:02 +0900 + +wifi-efl-ug (0.4.52-10) unstable; urgency=low + + * Fix for "Static IP" toggle item title not displayed problem. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.52-10 + + -- Praveen C <pravin.c@samsung.com> Fri, 29 Jun 2012 17:47:54 +0900 + +wifi-efl-ug (0.4.52-9) unstable; urgency=low + + * Fix the popup scaling issue. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.52-9 + + -- Praveen C <pravin.c@samsung.com> Thu, 28 Jun 2012 18:19:38 +0900 + +wifi-efl-ug (0.4.52-8) unstable; urgency=low + + * Changed the string from "WiFi Activating..." to "Activating WiFi...". + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.52-8 + + -- Praveen C <pravin.c@samsung.com> Thu, 28 Jun 2012 12:21:09 +0900 + +wifi-efl-ug (0.4.52-7) unstable; urgency=low + + * Implemented the launch of EAP connect naviframe view from UG and EAP connect popup from device picker popup. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.52-7 + + -- Praveen C <pravin.c@samsung.com> Thu, 28 Jun 2012 10:42:33 +0900 + +wifi-efl-ug (0.4.52-6) unstable; urgency=low + + * Changed the font color of the text "Connected". + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.52-6 + + -- Praveen C <pravin.c@samsung.com> Thu, 28 Jun 2012 10:38:22 +0900 + +wifi-efl-ug (0.4.52-5) unstable; urgency=low + + * Added title and remaining timer string display to PBC popup. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.52-5 + + -- Praveen C <pravin.c@samsung.com> Tue, 26 Jun 2012 16:39:28 +0900 + +wifi-efl-ug (0.4.52-4) unstable; urgency=low + + * Remove UG option for bundle_back_button_show_force_when_connected + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.52-4 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 25 Jun 2012 20:10:16 +0900 + +wifi-efl-ug (0.4.52-3) unstable; urgency=low + + * Made some minor improvements to EAP connect popup and datamodel codes. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.52-3 + + -- Praveen C <pravin.c@samsung.com> Thu, 21 Jun 2012 19:30:24 +0900 + +wifi-efl-ug (0.4.52-2) unstable; urgency=low + + * Modify launch time for wifi-qs window + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.52-2 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 21 Jun 2012 19:56:15 +0900 + +wifi-efl-ug (0.4.52-1) unstable; urgency=low + + * Added EAP details display in the detail view when the device is connected or favourite. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.52-1 + + -- Praveen C <pravin.c@samsung.com> Fri, 15 Jun 2012 17:43:10 +0900 + +wifi-efl-ug (0.4.51-4) unstable; urgency=low + + * Added certificate items to EAP connecting popup. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.51-4 + + -- Praveen C <pravin.c@samsung.com> Tue, 12 Jun 2012 15:07:03 +0900 + +wifi-efl-ug (0.4.51-3) unstable; urgency=low + + * Added provisioning support and the applied the EAP rules. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.51-3 + + -- Praveen C <pravin.c@samsung.com> Tue, 12 Jun 2012 12:24:58 +0900 + +wifi-efl-ug (0.4.51-2) unstable; urgency=low + + * Added checkbox to EAP method and Phase 2 authentication. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.51-2 + + -- Praveen C <pravin.c@samsung.com> Mon, 11 Jun 2012 21:05:08 +0900 + +wifi-efl-ug (0.4.51-1) unstable; urgency=low + + * Added eap connect support from device picker popup AP list. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.51-1 + + -- Praveen C <pravin.c@samsung.com> Fri, 08 Jun 2012 10:37:17 +0900 + +wifi-efl-ug (0.4.50-3) unstable; urgency=low + + * Fix obs build problem for po filename + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.50-3 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 08 Jun 2012 10:04:29 +0900 + +wifi-efl-ug (0.4.50-2) unstable; urgency=low + + * Implement to use same po(strings) for UG and QS + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.50-2 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 07 Jun 2012 14:48:31 +0900 + +wifi-efl-ug (0.4.50-1) unstable; urgency=low + + * Fix the Wi-Fi qs launch issue when Wi-Fi is off + * Change string Gateway to Gateway address + * Tag: wifi-efl-ug_0.4.50-1 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 05 Jun 2012 16:07:35 +0900 + +wifi-efl-ug (0.4.49) unstable; urgency=low + + * Update strings according to UX document + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.49 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 04 Jun 2012 21:42:44 +0900 + +wifi-efl-ug (0.4.48) unstable; urgency=low + + * Fix the entry box content dissapearing issue. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.48 + + -- Praveen C <pravin.c@samsung.com> Wed, 30 May 2012 19:05:26 +0900 + +wifi-efl-ug (0.4.47) unstable; urgency=low + + * Update strings according to UX document + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.47 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 29 May 2012 19:42:58 +0900 + +wifi-efl-ug (0.4.46) unstable; urgency=low + + * Fixed the crash issue which occurs when switching off Wi-Fi while the WPA/WPSK enabled AP is trying to connect with a wrong password. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.46 + + -- Praveen C <pravin.c@samsung.com> Thu, 24 May 2012 19:13:46 +0900 + +wifi-efl-ug (0.4.45) unstable; urgency=low + + * Fixed the crash issue which occurs while changing the EAP method option from SIM to PEAP during EAP connect. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.45 + + -- Praveen C <pravin.c@samsung.com> Wed, 23 May 2012 17:00:10 +0900 + +wifi-efl-ug (0.4.44) unstable; urgency=low + + * Corrected the EAP connect view entry items input layout panel. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.44 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 23 May 2012 14:24:38 +0900 + +wifi-efl-ug (0.4.43) unstable; urgency=low + + * Corrected popup title display and moved the common functions to common utils file. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.43 + + -- Praveen C <pravin.c@samsung.com> Tue, 22 May 2012 16:49:53 +0900 + +wifi-efl-ug (0.4.42) unstable; urgency=low + + * Added the progress indi icon display while manual scan is in progress. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.42 + + -- Praveen C <pravin.c@samsung.com> Tue, 22 May 2012 11:50:53 +0900 + +wifi-efl-ug (0.4.41) unstable; urgency=low + + * Added the progress indi while an AP is trying to connect. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.41 + + -- Praveen C <pravin.c@samsung.com> Tue, 22 May 2012 10:45:57 +0900 + +wifi-efl-ug (0.4.40) unstable; urgency=low + + * Fixed the WiFi on/off display issue. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.40 + + -- Praveen C <pravin.c@samsung.com> Tue, 22 May 2012 09:44:09 +0900 + +wifi-efl-ug (0.4.39) unstable; urgency=low + + * Applied EAP connect change. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.39 + + -- Praveen C <pravin.c@samsung.com> Mon, 21 May 2012 11:23:05 +0900 + +wifi-efl-ug (0.4.38) unstable; urgency=low + + * Update strings according to UX document + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.38 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Sat, 19 May 2012 16:45:54 +0900 + +wifi-efl-ug (0.4.37) unstable; urgency=low + + * Applied the AP detail view Ux change. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.37 + + -- Praveen C <pravin.c@samsung.com> Fri, 18 May 2012 19:16:49 +0900 + +wifi-efl-ug (0.4.36) unstable; urgency=low + + * Applied the QS popup device picker new Ux changes. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.36 + + -- Praveen C <pravin.c@samsung.com> Thu, 17 May 2012 19:27:57 +0900 + +wifi-efl-ug (0.4.35) unstable; urgency=low + + * Update strings according to UX document + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.35 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 17 May 2012 17:54:31 +0900 + +wifi-efl-ug (0.4.34) unstable; urgency=low + + * Implement multi language for several strings + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.34 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 17 May 2012 16:10:03 +0900 + +wifi-efl-ug (0.4.33) unstable; urgency=low + + * Modify a location of desktop file + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.33 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 15 May 2012 15:45:52 +0900 + +wifi-efl-ug (0.4.32) unstable; urgency=low + + * Added the policy for QS popup entry layout. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.32 + + -- Praveen C <pravin.c@samsung.com> Tue, 08 May 2012 11:18:59 +0530 + +wifi-efl-ug (0.4.31) unstable; urgency=low + + * Stop updating an ap list while trying to connect + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.31 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 07 May 2012 14:25:19 +0900 + +wifi-efl-ug (0.4.30) unstable; urgency=low + + * Implement a Wi-Fi UG for Setup Wizard + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.30 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 03 May 2012 17:33:12 +0900 + +wifi-efl-ug (0.4.29) unstable; urgency=low + + * Fix a crach - EAP connection + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.29 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 03 May 2012 16:56:54 +0900 + +wifi-efl-ug (0.4.28) unstable; urgency=low + + * Fixed the menu tree Jira issues. + * S1-2771 : MAC address display in detailed view. + * S1-2773 : Channel Number display in detailed view. + * S1-2774 : Proxy port edit menu item in detail view. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.28 + + -- Praveen C <pravin.c@samsung.com> Mon, 30 Apr 2012 12:25:40 +0530 + +wifi-efl-ug (0.4.27) unstable; urgency=low + + * Set background scan mode when pause/resume event is invoked + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.27 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 19 Apr 2012 16:59:02 +0900 + +wifi-efl-ug (0.4.26) unstable; urgency=low + + * Fix TIZEN_SDK bugs + * N_SE-696 : Set only display option to items in dhcp view + * N_SE-697 : Modify the button position in staticip view + * N_SE-701 : Apply Multi language for forget alert popup + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.26 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 19 Apr 2012 14:16:38 +0900 + +wifi-efl-ug (0.4.25) unstable; urgency=low + + * Fix a wifi-qs crash - disable to update a view while state is connecting + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.25 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 12 Apr 2012 17:27:19 +0900 + +wifi-efl-ug (0.4.24) unstable; urgency=low + + * Fix a crash - adding NULL check routine in content_get + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.24 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 09 Apr 2012 11:30:33 +0900 + +wifi-efl-ug (0.4.23) unstable; urgency=low + + * Fix a button position - EAP view + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.23 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 06 Apr 2012 10:46:20 +0900 + +wifi-efl-ug (0.4.22) unstable; urgency=low + + * Implement showing alert popup when Wi-Fi is restricted by MDM + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.22 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 04 Apr 2012 20:50:22 +0900 + +wifi-efl-ug (0.4.21) unstable; urgency=low + + * Fix wifi-qs bug - password check error + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.21 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 28 Mar 2012 11:06:39 +0900 + +wifi-efl-ug (0.4.20) unstable; urgency=low + + * Fix the header status update + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.20 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 27 Mar 2012 16:27:33 +0900 + +wifi-efl-ug (0.4.19) unstable; urgency=low + + * Update UI - hidden network view + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.19 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 26 Mar 2012 19:54:53 +0900 + +wifi-efl-ug (0.4.18) unstable; urgency=low + + * Fix a bug - redrawing separator + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.18 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 23 Mar 2012 17:05:23 +0900 + +wifi-efl-ug (0.4.17) unstable; urgency=low + + * Fix a crash - come SCAN_IND when a status is off + * Fix forget buttion position + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.17 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 22 Mar 2012 17:15:41 +0900 + +wifi-efl-ug (0.4.16) unstable; urgency=low + + * Modify wifi-qs on/off behavior when called by quickpanel + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.16 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 19 Mar 2012 16:03:11 +0900 + +wifi-efl-ug (0.4.15) unstable; urgency=low + + * Revise debian/rule and spec files + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.15 + + -- Danny Jeongseok Seo <s.seo@samsung.com> Sat, 17 Mar 2012 15:19:25 +0900 + +wifi-efl-ug (0.4.14) unstable; urgency=low + + * Update alert-3g-syspopup to net-popup + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.14 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 15 Mar 2012 18:26:16 +0900 + +wifi-efl-ug (0.4.13) unstable; urgency=low + + * Change wifi-qs package name to net.wifi-qs + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.13 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 15 Mar 2012 15:05:41 +0900 + +wifi-efl-ug (0.4.12) unstable; urgency=low + + * Migrate EFL 1.0 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.12 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 13 Mar 2012 19:32:14 +0900 + +wifi-efl-ug (0.4.11) unstable; urgency=low + + * Apply deprecating the editfield elementary + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.11 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 02 Mar 2012 14:49:15 +0900 + +wifi-efl-ug (0.4.10) unstable; urgency=low + + * Fix the crash - deregister ime callback + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.10 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 21 Feb 2012 14:32:03 +0900 + +wifi-efl-ug (0.4.9) unstable; urgency=low + + * Apply the elementary API change as EFL migration + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.9 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 14 Feb 2012 19:19:42 +0900 + +wifi-efl-ug (0.4.8) unstable; urgency=low + + * Show a popup when wifi is restricted by a security policy + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.8 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 07 Feb 2012 17:08:12 +0900 + +wifi-efl-ug (0.4.7) unstable; urgency=low + + * Fix a bug for updating list enable/disable when an item is clicked during activating + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.7 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 02 Feb 2012 20:05:07 +0900 + +wifi-efl-ug (0.4.6) unstable; urgency=low + + * Modify the Wi-Fi QS + * 1. Change to enable showing AP list when the wifi state is connecting + * 2. Show the alert popup when AP is connected + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.6 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 02 Feb 2012 13:33:14 +0900 + +wifi-efl-ug (0.4.5) unstable; urgency=low + + * Fix genlist update bug in detail view + * Fix the crash - doesn't initialize the variable + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.5 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 26 Jan 2012 21:24:55 +0900 + +wifi-efl-ug (0.4.4) unstable; urgency=low + + * Fix the status update bug - after fail of WPS connection + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.4 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 11 Jan 2012 19:55:01 +0900 + +wifi-efl-ug (0.4.3) unstable; urgency=low + + * Fix the problem - not updating proxy value + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.3 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 09 Jan 2012 16:39:16 +0900 + +wifi-efl-ug (0.4.2) unstable; urgency=low + + * Implement UI effect when it's connected + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.2 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 09 Jan 2012 11:17:17 +0900 + +wifi-efl-ug (0.4.1) unstable; urgency=low + + * Refactory code(Wi-Fi UG/QS) + * - supporting data/view model + * - implement WPS and EAP + * - implement multi language + * - fix memory leak + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.1 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 04 Jan 2012 15:47:05 +0900 + +wifi-efl-ug (0.3.19) unstable; urgency=low + + * Implement mulit language + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.19 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 02 Jan 2012 21:52:18 +0900 + +wifi-efl-ug (0.3.18) unstable; urgency=low + + * Re-build package + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.18 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 26 Dec 2011 14:49:22 +0900 + +wifi-efl-ug (0.3.17) unstable; urgency=low + + * Release wifi-efl-ug_0.3.17 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.17 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 26 Dec 2011 10:52:07 +0900 + +wifi-efl-ug (0.3.16) unstable; urgency=low + + * Fix to handle Wi-Fi unsupport error + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.16 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 23 Dec 2011 20:07:44 +0900 + +wifi-efl-ug (0.3.15) unstable; urgency=low + + * Remove unnecessay ifdef codes + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.15 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 19 Dec 2011 14:57:51 +0900 + +wifi-efl-ug (0.3.14) unstable; urgency=low + + * Fix handling for moblie-hotspot status error + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.14 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 19 Dec 2011 14:20:43 +0900 + +wifi-efl-ug (0.3.13) unstable; urgency=low + + * Implement showing a popup when activating Wi-Fi + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.13 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 14 Dec 2011 15:54:52 +0900 + +wifi-efl-ug (0.3.12) unstable; urgency=low + + * Release wifi-efl-ug_0.3.12 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.12 + + -- Danny Jeongseok Seo <s.seo@samsung.com> Tue, 13 Dec 2011 22:19:51 +0900 + +wifi-efl-ug (0.3.11) unstable; urgency=low + + * Release wifi-efl-ug_0.3.11 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.11 + + -- Danny Jeongseok Seo <s.seo@samsung.com> Tue, 13 Dec 2011 22:10:15 +0900 + +wifi-efl-ug (0.3.10) unstable; urgency=low + + * Release wifi-efl-ug_0.3.10 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.10 + + -- Danny Jeongseok Seo <s.seo@samsung.com> Tue, 13 Dec 2011 21:50:13 +0900 + +wifi-efl-ug (0.3.9) unstable; urgency=low + + * Release wifi-efl-ug_0.3.9 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.9 + + -- Jeongseok Seo <s.seo@samsung.com> Tue, 13 Dec 2011 21:44:52 +0900 + +wifi-efl-ug (0.3.8) unstable; urgency=low + + * Fix the return value for power off + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.8 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 09 Dec 2011 18:14:31 +0900 + +wifi-efl-ug (0.3.7) unstable; urgency=low + + * Implement to be able to turn on Wi-Fi When mobile hotspot is on + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.7 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 08 Dec 2011 15:24:57 +0900 + +wifi-efl-ug (0.3.6) unstable; urgency=low + + * Release wifi-efl-ug_0.3.6 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.6 + + -- Jeongseok Seo <s.seo@samsung.com> Mon, 05 Dec 2011 23:30:36 +0900 + +wifi-efl-ug (0.3.5) unstable; urgency=low + + * Fix crash of calling evas_object_del() with NULL parameter + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.5 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 05 Dec 2011 22:04:53 +0900 + +wifi-efl-ug (0.3.4) unstable; urgency=low + + * Release wifi-efl-ug_0.3.4 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.4 + + -- Jeongseok Seo <s.seo@samsung.com> Sat, 03 Dec 2011 14:16:19 +0900 + +wifi-efl-ug (0.3.3) unstable; urgency=low + + * Implement showing the noti if Wi-Fi is not supported + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.3 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 02 Dec 2011 20:25:15 +0900 + +wifi-efl-ug (0.3.2) unstable; urgency=low + + * Update the boilerplate + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.2 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 02 Dec 2011 13:55:22 +0900 + +wifi-efl-ug (0.3.1) unstable; urgency=low + + * Migrate from DNET to connman + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.3.1 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 29 Nov 2011 13:47:39 +0900 + +wifi-efl-ug (0.2.41) unstable; urgency=low + + * Fix unnecessary include which has been eliminated in libnetwork + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.41 + + -- Jeongseok Seo <s.seo@samsung.com> Mon, 28 Nov 2011 22:04:31 +0900 + +wifi-efl-ug (0.2.40) unstable; urgency=low + + * Modify the button position in password view + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.40 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 23 Nov 2011 19:47:16 +0900 + +wifi-efl-ug (0.2.39) unstable; urgency=low + + * Apply new genlist API policy of elm_genlist_item_data_set + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.39 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 23 Nov 2011 19:31:39 +0900 + +wifi-efl-ug (0.2.38) unstable; urgency=low + + * Wi-Fi UG/QS error popups are adjusted by new policy + * ERR_UNKNOWN_METHOD + * ERR_CONNECTION_EXIST + * ERR_CONNECTION_IN_PROGRESS + * ERR_CONNECTION_TIMEOUT + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.38 + + -- Jeongseok Seo <s.seo@samsung.com> Thu, 17 Nov 2011 18:41:44 +0900 + +wifi-efl-ug (0.2.37) unstable; urgency=low + + * Add a dependency for syspopup-caller-dev package + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.37 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 23 Nov 2011 14:48:43 +0900 + +wifi-efl-ug (0.2.36) unstable; urgency=low + + * Some Errors of libnetwork APIs have been changed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.36 + + -- Jeongseok Seo <s.seo@samsung.com> Thu, 17 Nov 2011 13:34:06 +0900 + +wifi-efl-ug (0.2.35) unstable; urgency=low + + * Applied the ticker noti for wifi connection error + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.35 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 16 Nov 2011 14:50:29 +0900 + +wifi-efl-ug (0.2.34) unstable; urgency=low + + * Re-factors connected AP information + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.34 + + -- Jeongseok Seo <s.seo@samsung.com> Mon, 14 Nov 2011 11:23:10 +0900 + +wifi-efl-ug (0.2.33) unstable; urgency=low + + * Applied the new controlbar policy for scan button + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.33 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 14 Nov 2011 17:00:38 +0900 + +wifi-efl-ug (0.2.32) unstable; urgency=low + + * Fixed not updating DHCP IP inform + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.32 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 11 Nov 2011 14:26:39 +0900 + +wifi-efl-ug (0.2.31) unstable; urgency=low + + * Wi-Fi scan button on control bar + * Elimination of "select network" when Wi-Fi is OFF + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.31 + + -- Jeongseok Seo <s.seo@samsung.com> Thu, 10 Nov 2011 20:59:23 +0900 + +wifi-efl-ug (0.2.30) unstable; urgency=low + + * Removed Auto IP item in detail view + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.30 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 09 Nov 2011 15:00:02 +0900 + +wifi-efl-ug (0.2.29) unstable; urgency=low + + * Applied the password showing option + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.29 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 08 Nov 2011 20:24:39 +0900 + +wifi-efl-ug (0.2.28) unstable; urgency=low + + * Fixed IP setting problem in detail view + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.28 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 04 Nov 2011 18:35:57 +0900 + +wifi-efl-ug (0.2.27) unstable; urgency=low + + * Modified handling the connection error response + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.27 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 03 Nov 2011 13:40:35 +0900 + +wifi-efl-ug (0.2.26) unstable; urgency=low + + * Fixed BS when back from static IP view + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.26 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 26 Oct 2011 13:48:23 +0900 + +wifi-efl-ug (0.2.25) unstable; urgency=low + + * Added background layout for the static IP view + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.25 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 25 Oct 2011 16:35:46 +0900 + +wifi-efl-ug (0.2.24) unstable; urgency=low + + * Applied the fake icon for the radio button + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.24 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 24 Oct 2011 20:46:35 +0900 + +wifi-efl-ug (0.2.23) unstable; urgency=low + + * Removed scan type(parameter) from net_scan_wifi() + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.23 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 19 Oct 2011 15:41:51 +0900 + +wifi-efl-ug (0.2.22) unstable; urgency=low + + * Updated the boiler plate + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.22 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 19 Oct 2011 14:40:19 +0900 + +wifi-efl-ug (0.2.21) unstable; urgency=low + + * Fixed sorting problem after connected/disconnected + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.21 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 19 Oct 2011 11:14:51 +0900 + +wifi-efl-ug (0.2.20) unstable; urgency=low + + * Changed the navigationbar elementary to naviframe + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.20 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 17 Oct 2011 16:37:37 +0900 + +wifi-efl-ug (0.2.19) unstable; urgency=low + + * Removed all custom edj + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.19 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 14 Oct 2011 16:48:04 +0900 + +wifi-efl-ug (0.2.18) unstable; urgency=low + + * Fixed dbus pending call crash + * Modified displaying the status for net-client events. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.18 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 12 Oct 2011 15:48:25 +0900 + +wifi-efl-ug (0.2.17) unstable; urgency=low + + * Update connection error popup + * Applied system-popup modification for bundle. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.17 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 07 Oct 2011 11:48:52 +0900 + +wifi-efl-ug (0.2.16) unstable; urgency=low + + * Update UI for auto connect fail case + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.16 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 06 Oct 2011 15:09:10 +0900 + +wifi-efl-ug (0.2.15) unstable; urgency=low + + * Fixed wrong state update caused by adding state update ind + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.15 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 04 Oct 2011 19:58:24 +0900 + +wifi-efl-ug (0.2.14) unstable; urgency=low + + * Applied showing auto join status + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.14 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 30 Sep 2011 17:36:06 +0900 + +wifi-efl-ug (0.2.13) unstable; urgency=low + + * Fixed not showing Wi-Fi QS in allshare when the state was wifi-off + * Fixed not updating the state when click the item during searching + * Removed libui-bgimage dependency + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.13 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 29 Sep 2011 20:08:17 +0900 + +wifi-efl-ug (0.2.12) unstable; urgency=low + + * Added Hidden AP function + * Fixed remaining scan list when trying wifi power off by quick panel + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.12 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 27 Sep 2011 11:45:41 +0900 + +wifi-efl-ug (0.2.11) unstable; urgency=low + + * Fixed proxy setting problem + * Applied cancel connecting + * Added error handling - NET_ERR_UNKNOWN_METHOD, NET_ERR_CONNECTION_ABORTED + * Fixed stopping with searching state + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.11 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 16 Sep 2011 14:40:16 +0900 + +wifi-efl-ug (0.2.10) unstable; urgency=low + + * Modified to enable refreshing ui when scan failed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.10 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 01 Sep 2011 19:58:51 +0900 + +wifi-efl-ug (0.2.9) unstable; urgency=low + + * Applied the setting reset + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.9 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 11 Aug 2011 17:08:06 +0900 + +wifi-efl-ug (0.2.8) unstable; urgency=low + + * Removed the callback for language change + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.8 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 05 Aug 2011 09:33:11 +0900 + +wifi-efl-ug (0.2.7) unstable; urgency=low + + * Removed the icon button in case of No AP found + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.7 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 02 Aug 2011 20:23:52 +0900 + +wifi-efl-ug (0.2.6) unstable; urgency=low + + * Fixed mobilehotspot vconf value + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.6 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 29 Jul 2011 11:33:09 +0900 + +wifi-efl-ug (0.2.5) unstable; urgency=low + + * Fixed setting AP Mac address + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.5 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 26 Jul 2011 17:29:28 +0900 + +wifi-efl-ug (0.2.4) unstable; urgency=low + + * Fixed system popup problem for checking mobile AP state + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.4 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 25 Jul 2011 21:57:21 +0900 + +wifi-efl-ug (0.2.3) unstable; urgency=low + + * Re - Removed mobilehotspot dependency + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.3 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 25 Jul 2011 21:20:10 +0900 + +wifi-efl-ug (0.2.2) unstable; urgency=low + + * Removed mobilehotspot dependency + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.2 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 25 Jul 2011 20:33:36 +0900 + +wifi-efl-ug (0.2.1) unstable; urgency=low + + * fixed dimming window problem and password popup title + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.1 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 22 Jul 2011 17:18:21 +0900 + +wifi-efl-ug (0.2.0) unstable; urgency=low + + * fixed elm_widget() check error + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.2.0 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 20 Jul 2011 17:13:13 +0900 + +wifi-efl-ug (0.1.99) unstable; urgency=low + + * replaced bool to Eina_Bool. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.99 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 18 Jul 2011 11:50:21 +0900 + +wifi-efl-ug (0.1.98) unstable; urgency=low + + * applied the boilerplate. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.98 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 15 Jul 2011 14:49:36 +0900 + +wifi-efl-ug (0.1.97) unstable; urgency=low + + * applied the vconf change for moblie ap. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.97 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 13 Jul 2011 14:09:23 +0900 + +wifi-efl-ug (0.1.96) unstable; urgency=low + + * fixed IP valid check problem. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.96 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 11 Jul 2011 10:05:14 +0900 + +wifi-efl-ug (0.1.95) unstable; urgency=low + + * rebuiled + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.95 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 04 Jul 2011 20:06:28 +0900 + +wifi-efl-ug (0.1.94) unstable; urgency=low + + * 1. applied hiding the navigationbar panel in case of no button. + * 2. fixed displaying the white screen when tapped the forget button. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.94 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 04 Jul 2011 11:54:32 +0900 + +wifi-efl-ug (0.1.93) unstable; urgency=low + + * apply the new policy for option header alignment. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.93 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Thu, 30 Jun 2011 11:38:54 +0900 + +wifi-efl-ug (0.1.92) unstable; urgency=low + + * apply the popup for scan fail. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.92 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 29 Jun 2011 15:49:41 +0900 + +wifi-efl-ug (0.1.91) unstable; urgency=low + + * refactorying wifi-ug + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.91 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 28 Jun 2011 15:00:59 +0900 + +wifi-efl-ug (0.1.90) unstable; urgency=low + + * fixed vconf state update prob. in wifi-qs + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.90 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Fri, 24 Jun 2011 16:59:01 +0900 + +wifi-efl-ug (0.1.89) unstable; urgency=low + + * apply modified wifid client library + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.89 + + -- Misun Kim <ms0123.kim@samsung.com> Tue, 21 Jun 2011 16:23:33 +0900 + +wifi-efl-ug (0.1.88) unstable; urgency=low + + * Fixed forget prob. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.88 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Wed, 15 Jun 2011 10:45:38 +0900 + +wifi-efl-ug (0.1.87) unstable; urgency=low + + * Update to follow the edje deb update. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.87 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Mon, 13 Jun 2011 11:01:11 +0900 + +wifi-efl-ug (0.1.86) unstable; urgency=low + + * Fixed state not changed after cancel connecting. + * Fixed H0100127263, H0100127539 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.86 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 31 May 2011 20:50:33 +0900 + +wifi-efl-ug (0.1.85) lucid; urgency=low + + * rollback + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.85 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 31 May 2011 20:37:51 +0900 + +wifi-efl-ug (0.1.84) lucid; urgency=low + + * Fixed state not changed after cancel connecting. + * Fixed H0100127263, H0100127539 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.84 + + -- Sanghoon Cho <sanghoon80.cho@samsung.com> Tue, 31 May 2011 19:39:02 +0900 + +wifi-efl-ug (0.1.83) unstable; urgency=low + + * vconf value memory/wifi/wifi_qs_exit change with -i option + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.83 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 25 May 2011 16:35:18 +0900 + +wifi-efl-ug (0.1.82) unstable; urgency=low + + * vconf value memory/wifi/wifi_qs_exit change with -i option + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.82 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 25 May 2011 16:17:12 +0900 + +wifi-efl-ug (0.1.81) unstable; urgency=low + + * Fix UG to update AP list after wlan_client_request_scan`s return + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.81 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 23 May 2011 21:36:00 +0900 + +wifi-efl-ug (0.1.80) unstable; urgency=low + + * set NULL to freed manager_object in view_main_header_destroy function + * Fix crash [56600] [56999] [56611] + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.80 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 23 May 2011 11:38:15 +0900 + +wifi-efl-ug (0.1.79) unstable; urgency=low + + * desktop fixed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.79 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 20 May 2011 13:41:04 +0900 + +wifi-efl-ug (0.1.78) unstable; urgency=low + + * H0100126393 + * H0100126638 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.78 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 19 May 2011 17:38:12 +0900 + +wifi-efl-ug (0.1.77) unstable; urgency=low + + * ui-gadget layout remove code add + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.77 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 17 May 2011 09:32:57 +0900 + +wifi-efl-ug (0.1.76) unstable; urgency=low + + * layout manager destroy add + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.76 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 17 May 2011 09:08:41 +0900 + +wifi-efl-ug (0.1.75) unstable; urgency=low + + * message dispatcher refine + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.75 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 16 May 2011 15:06:03 +0900 + +wifi-efl-ug (0.1.74) unstable; urgency=low + + * H0100126409 + * H0100126411 + * H0100123560 + * H0100126284 + * add wifi_exit function to on_destroy as wifid fixed its problem + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.74 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 16 May 2011 09:33:44 +0900 + +wifi-efl-ug (0.1.73) unstable; urgency=low + + * H0100122530 + * H0100124908 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.73 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 03 May 2011 17:26:39 +0900 + +wifi-efl-ug (0.1.72) unstable; urgency=low + + * Fix wlan_manager_connect_with_password + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.72 + + -- Taesoo Jun <steve.jun@samsung.com> Sun, 01 May 2011 19:25:59 +0900 + +wifi-efl-ug (0.1.71) unstable; urgency=low + + * password view launched to the AP which doesn`t required + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.71 + + -- Taesoo Jun <steve.jun@samsung.com> Sun, 01 May 2011 18:55:59 +0900 + +wifi-efl-ug (0.1.70) unstable; urgency=low + + * password view launched to the AP which doesn`t required + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.70 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 29 Apr 2011 16:25:59 +0900 + +wifi-efl-ug (0.1.69) unstable; urgency=low + + * H0100124879 + * H0100125637 + * H0100125649 + * H0100126216 + * H0100123004 + * H0100123928 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.69 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 29 Apr 2011 15:05:32 +0900 + +wifi-efl-ug (0.1.68) unstable; urgency=low + + * NFC Support + * Remove some of deprecated wifid API + * H0100123262 + * Static IP Back button problem fix + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.68 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 28 Apr 2011 10:55:06 +0900 + +wifi-efl-ug (0.1.67) unstable; urgency=low + + * Matched with changed Mobile-AP + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.67 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 25 Apr 2011 16:30:08 +0900 + +wifi-efl-ug (0.1.66) unstable; urgency=low + + * NBeat applied + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.66 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 21 Apr 2011 17:59:44 +0900 + +wifi-efl-ug (0.1.65) unstable; urgency=low + + * fix parent + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.65 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 15 Apr 2011 17:14:43 +0900 + +wifi-efl-ug (0.1.64) unstable; urgency=low + + * Syspopup BS fix + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.64 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 15 Apr 2011 15:01:51 +0900 + +wifi-efl-ug (0.1.63) unstable; urgency=low + + * deb.com.samsung.wifi-qs -> com.samsung.wifi-qs + * blue-screen related crash fixed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.63 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 12 Apr 2011 17:22:03 +0900 + +wifi-efl-ug (0.1.62) unstable; urgency=low + + * button position fix for both theme + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.62 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 21 Mar 2011 19:59:47 +0900 + +wifi-efl-ug (0.1.61) unstable; urgency=low + + * H0100122875 + * H0100123004 + * H0100123021 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.61 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 21 Mar 2011 09:21:12 +0900 + +wifi-efl-ug (0.1.60) unstable; urgency=low + + * arch i386 add + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.60 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 16 Mar 2011 17:49:33 +0900 + +wifi-efl-ug (0.1.59) unstable; urgency=low + + * add syspopup, UI-bgimage + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.59 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 16 Mar 2011 17:29:59 +0900 + +wifi-efl-ug (0.1.58) unstable; urgency=low + + * NBeat UX applied + * Wi-Fi UI Gadget and Wi-Fi System popup has same source repository + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.1.58 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 16 Mar 2011 15:56:32 +0900 + +wifi-efl-ug (0.0.120) unstable; urgency=low + + * H0100122533 + * H0100122470 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.120 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 14 Mar 2011 09:10:56 +0900 + +wifi-efl-ug (0.0.119) unstable; urgency=low + + * H0100121941 + * 53425 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.119 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 07 Mar 2011 10:55:32 +0900 + +wifi-efl-ug (0.0.118) unstable; urgency=low + + * H0100120872 + * profile saving for "OFF Proxy" bug fix + * Elm_Segment API which is deprecated removed + * add test code for WPS + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.118 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 03 Mar 2011 08:43:44 +0900 + +wifi-efl-ug (0.0.117) unstable; urgency=low + + * H0100121927 + * H0100120883 + * H0100120885 + * H0100120888 + * H0100121936 + * H0100121934 + * H0100121927 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.117 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 02 Mar 2011 12:13:31 +0900 + +wifi-efl-ug (0.0.116) unstable; urgency=low + + * connecting fail feature matching with wifid + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.116 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 25 Feb 2011 14:34:08 +0900 + +wifi-efl-ug (0.0.115) unstable; urgency=low + + * H0100120890 + * H0100120872 + * H0100120883 + * H0100120885 + * H0100120888 + * H0100118727 + * profile-manager refine + * detailview refine + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.115 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 23 Feb 2011 16:10:47 +0900 + +wifi-efl-ug (0.0.114) unstable; urgency=low + + * Profile related code refine + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.114 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 21 Feb 2011 13:26:27 +0900 + +wifi-efl-ug (0.0.113) unstable; urgency=low + + * H0100119704 + * searching layout refine + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.113 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 17 Feb 2011 14:01:59 +0900 + +wifi-efl-ug (0.0.112) unstable; urgency=low + + * H0100119462 + * H0100120612 + * wifi API re-addition + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.112 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 17 Feb 2011 11:18:34 +0900 + +wifi-efl-ug (0.0.111) unstable; urgency=low + + * revert wifid API change + * NULL check code refine + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.111 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 15 Feb 2011 11:07:46 +0900 + +wifi-efl-ug (0.0.110) unstable; urgency=low + + * match with wifid + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.110 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 11 Feb 2011 17:15:51 +0900 + +wifi-efl-ug (0.0.109) unstable; urgency=low + + * Fix these problem related + ** H0100120107 + * detailview code refine + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.109 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 09 Feb 2011 16:53:51 +0900 + +wifi-efl-ug (0.0.108) unstable; urgency=low + + * Fix these problem related + * H0100117132 + * H0100119462 + * H0100119704 + * H0100119772 + * H0100120286 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.108 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 08 Feb 2011 14:41:34 +0900 + +wifi-efl-ug (0.0.107) unstable; urgency=low + + * new vconf add + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.107 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 01 Feb 2011 11:29:50 +0900 + +wifi-efl-ug (0.0.106) unstable; urgency=low + + * remove code refine + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.106 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 27 Jan 2011 17:42:51 +0900 + +wifi-efl-ug (0.0.105) unstable; urgency=low + + * memory management code added + * control file refine + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.105 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 27 Jan 2011 15:44:58 +0900 + +wifi-efl-ug (0.0.104) unstable; urgency=low + + * reupload + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.104 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 25 Jan 2011 14:34:39 +0900 + +wifi-efl-ug (0.0.103) unstable; urgency=low + + * reupload + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.103 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 25 Jan 2011 14:27:30 +0900 + +wifi-efl-ug (0.0.102) unstable; urgency=low + + * navigation with END key + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.102 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 25 Jan 2011 13:52:52 +0900 + +wifi-efl-ug (0.0.101) unstable; urgency=low + + * popup related bug fix + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.101 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 24 Jan 2011 15:26:27 +0900 + +wifi-efl-ug (0.0.100) unstable; urgency=low + + * popup policy had adopted + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.100 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 24 Jan 2011 14:04:35 +0900 + +wifi-efl-ug (0.0.99) unstable; urgency=low + + * Program termination code refined + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.99 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 24 Jan 2011 10:12:24 +0900 + +wifi-efl-ug (0.0.98) unstable; urgency=low + + * reupload + * scroller problem avoid + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.98 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 21 Jan 2011 11:02:31 +0900 + +wifi-efl-ug (0.0.97) unstable; urgency=low + + * more checking code added + * some color problem fixed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.97 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 21 Jan 2011 09:22:56 +0900 + +wifi-efl-ug (0.0.96) unstable; urgency=low + + * scroller related fixed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.96 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 20 Jan 2011 17:31:24 +0900 + +wifi-efl-ug (0.0.95) unstable; urgency=low + + * dialogue item dragged bug fixed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.95 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 20 Jan 2011 14:46:12 +0900 + +wifi-efl-ug (0.0.94) unstable; urgency=low + + * fixed print type + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.94 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 19 Jan 2011 18:11:30 +0900 + +wifi-efl-ug (0.0.93) unstable; urgency=low + + * directory structure changed + * some check code bug fixed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.93 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 19 Jan 2011 17:59:52 +0900 + +wifi-efl-ug (0.0.92) unstable; urgency=low + + * match with EFL update + * add dialoguegroup test code + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.92 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 12 Jan 2011 14:35:13 +0900 + +wifi-efl-ug (0.0.91) unstable; urgency=low + + * UI refresh bug after DISCONNECTION_IND fixed + * UI refresh bug after HIDDEN_SCAN_OK + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.91 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 10 Jan 2011 15:47:30 +0900 + +wifi-efl-ug (0.0.90) unstable; urgency=low + + * GUI changed : use Button(reveal type) + * Wi-Fi on/off string -> Wi-Fi + * edc fixed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.90 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 06 Jan 2011 17:27:07 +0900 + +wifi-efl-ug (0.0.89) unstable; urgency=low + + * comman implementation code implement + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.89 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 05 Jan 2011 09:20:42 +0900 + +wifi-efl-ug (0.0.88) unstable; urgency=low + + * unused EFL struct removed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.88 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 04 Jan 2011 11:09:37 +0900 + +wifi-efl-ug (0.0.87) unstable; urgency=low + + * profile check code (boolean is_profile) add to check profile EAP + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.87 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 03 Jan 2011 12:49:03 +0900 + +wifi-efl-ug (0.0.86) unstable; urgency=low + + * Activating stop bug after mobile-ap off fixed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.86 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 30 Dec 2010 14:46:18 +0900 + +wifi-efl-ug (0.0.85) unstable; urgency=low + + * build-option changed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.85 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 24 Dec 2010 11:26:33 +0900 + +wifi-efl-ug (0.0.84) unstable; urgency=low + + * profile related api reduced + * CMakeList changed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.84 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 23 Dec 2010 18:12:36 +0900 + +wifi-efl-ug (0.0.83) unstable; urgency=low + + * fix build-error + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.83 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 23 Dec 2010 09:32:20 +0900 + +wifi-efl-ug (0.0.82) unstable; urgency=low + + * i18n -> gettext changed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.82 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 23 Dec 2010 08:35:50 +0900 + +wifi-efl-ug (0.0.81) unstable; urgency=low + + * scanning by user/engine not applicaion (scan_request and scan_ind handling implemented) + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.81 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 22 Dec 2010 15:13:59 +0900 + +wifi-efl-ug (0.0.80) unstable; urgency=low + + * fixed encryption bug + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.80 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 21 Dec 2010 14:34:56 +0900 + +wifi-efl-ug (0.0.65) unstable; urgency=low + + * animation and profile related problem fixed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.65 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 20 Dec 2010 09:55:09 +0900 + +wifi-efl-ug (0.0.64) unstable; urgency=low + + * scan related problem fixed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.64 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 17 Dec 2010 14:23:31 +0900 + +wifi-efl-ug (0.0.63) unstable; urgency=low + + * Fix disconnection ok/indication related bug + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.63 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 09 Dec 2010 11:29:04 +0900 + +wifi-efl-ug (0.0.62) unstable; urgency=low + + * removed edje_edit + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.62 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 07 Dec 2010 20:15:14 +0900 + +wifi-efl-ug (0.0.61) unstable; urgency=low + + * reupload + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.61 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 07 Dec 2010 20:07:58 +0900 + +wifi-efl-ug (0.0.60) unstable; urgency=low + + * scan ind/ok/cancel related code added + * support back-button-disable + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.60 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 07 Dec 2010 20:02:45 +0900 + +wifi-efl-ug (0.0.59) unstable; urgency=low + + * fix + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.59 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 02 Dec 2010 20:55:08 +0900 + +wifi-efl-ug (0.0.58) unstable; urgency=low + + * fix + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.58 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 02 Dec 2010 20:36:11 +0900 + +wifi-efl-ug (0.0.57) unstable; urgency=low + + * reupload + * Refactoring works + * Korean language add + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.57 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 02 Dec 2010 12:23:20 +0900 + +wifi-efl-ug (0.0.56) unstable; urgency=low + + * Refactoring works + * Korean language add + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.56 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 02 Dec 2010 09:53:20 +0900 + +wifi-efl-ug (0.0.55) unstable; urgency=low + + * fix elm_check -> elm_toggle + * fix rules file to import pkg + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.55 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Sat, 20 Nov 2010 14:20:46 +0900 + +wifi-efl-ug (0.0.54) unstable; urgency=low + + * Resource added + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.54 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 17 Nov 2010 22:06:33 +0900 + +wifi-efl-ug (0.0.53) unstable; urgency=low + + * Fix layout related problems + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.53 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 17 Nov 2010 21:20:01 +0900 + +wifi-efl-ug (0.0.52) unstable; urgency=low + + * AP-List repainting works when it is placed on the top of the scroller + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.52 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 17 Nov 2010 16:08:02 +0900 + +wifi-efl-ug (0.0.51) unstable; urgency=low + + * profile delete bug fix + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.51 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 16 Nov 2010 10:53:43 +0900 + +wifi-efl-ug (0.0.50) unstable; urgency=low + + * Fix implicit function declaration bugs + * Code cleans + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.50 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 15 Nov 2010 10:59:51 +0900 + +wifi-efl-ug (0.0.49) unstable; urgency=low + + * REREUPLOAD BY BUILD-TEAM`S TAG CHECK ALGORIGHM FAILURE + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.49 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 12 Nov 2010 16:44:59 +0900 + +wifi-efl-ug (0.0.48) unstable; urgency=low + + * Reupload by build-team`s tag check fail + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.48 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 12 Nov 2010 14:48:24 +0900 + +wifi-efl-ug (0.0.47) unstable; urgency=low + + * Removed strip rule in debian/rule + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.47 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 12 Nov 2010 09:46:07 +0900 + +wifi-efl-ug (0.0.46) unstable; urgency=low + + * Remove test code + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.46 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 11 Nov 2010 09:40:52 +0900 + +wifi-efl-ug (0.0.45) unstable; urgency=low + + * Fix unclicked problem + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.45 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 11 Nov 2010 09:36:31 +0900 + +wifi-efl-ug (0.0.44) unstable; urgency=low + + * Fix focus on related + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.44 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 10 Nov 2010 16:34:12 +0900 + +wifi-efl-ug (0.0.43) unstable; urgency=low + + * Layout changes + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.43 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 10 Nov 2010 15:18:01 +0900 + +wifi-efl-ug (0.0.42) unstable; urgency=low + + * Fix Layout bug when on/off + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.42 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 09 Nov 2010 10:17:46 +0900 + +wifi-efl-ug (0.0.41) unstable; urgency=low + + * Others AP is disabled + * fixed the problem to call modifyProfile function when every back from detailview + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.41 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 09 Nov 2010 09:42:37 +0900 + +wifi-efl-ug (0.0.40) unstable; urgency=low + + * Removed graphic bug related with bottom_header + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.40 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 08 Nov 2010 12:04:10 +0900 + +wifi-efl-ug (0.0.39) unstable; urgency=low + + * reupload rejected package by 2010 NOV 08`s binary problem + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.39 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 08 Nov 2010 09:10:18 +0900 + +wifi-efl-ug (0.0.38) unstable; urgency=low + + * libui-window dependency removed + * UI-Gadget bundle reader added + * i18n-manager for Multilanguage support added + * UI-Gadget test code added + * input-panel for proxy fixed to show NUMBERONLY or IP + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.38 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 05 Nov 2010 09:05:46 +0900 + +wifi-efl-ug (0.0.37) unstable; urgency=low + + * Vertification code for IP:PORT added + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.37 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 28 Oct 2010 13:26:37 +0900 + +wifi-efl-ug (0.0.36) unstable; urgency=low + + * Connected AP is always takes top + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.36 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 27 Oct 2010 16:13:51 +0900 + +wifi-efl-ug (0.0.35) unstable; urgency=low + + * change signal weight by -90 -> -80 + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.35 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 26 Oct 2010 19:40:45 +0900 + +wifi-efl-ug (0.0.34) unstable; urgency=low + + * Disconnection_Indicatior message handler fix + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.34 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 26 Oct 2010 15:26:42 +0900 + +wifi-efl-ug (0.0.33) unstable; urgency=low + + * Fix message by Mrs. Kim mi-seon`s request + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.33 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 22 Oct 2010 14:10:43 +0900 + +wifi-efl-ug (0.0.32) unstable; urgency=low + + * Match with changed engine API + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.32 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 22 Oct 2010 10:08:28 +0900 + +wifi-efl-ug (0.0.31) unstable; urgency=low + + * Reupload by tag mistake + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.31 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 20 Oct 2010 17:14:00 +0900 + +wifi-efl-ug (0.0.30) unstable; urgency=low + + * Reupload by name mistake + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.29 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 20 Oct 2010 17:12:08 +0900 + +wifi-efl-ug (0.0.29) unstable; urgency=low + + * Remove unused function + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.29 + + -- Jongmin Lee <jm105.lee@samsung.com> Wed, 20 Oct 2010 17:08:17 +0900 + +wifi-efl-ug (0.0.27) unstable; urgency=low + + * packaging + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.27 + + -- Jongmin Lee <jm105.lee@samsung.com> Thu, 07 Oct 2010 20:49:12 +0900 + +wifi-efl-ug (0.0.26) unstable; urgency=low + + * Partly debug popup disabled + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.26 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 29 Sep 2010 18:20:28 +0900 + +wifi-efl-ug (0.0.25) unstable; urgency=low + + * Detail view layout changed + * default gateway is 0.0.0.0:80 + * Hidden and WPA Sup. is partly disabled + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.25 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 27 Sep 2010 16:51:47 +0900 + +wifi-efl-ug (0.0.24) unstable; urgency=low + + * Show Hidden AP directly by clicking Others + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.24 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 15 Sep 2010 15:28:05 +0900 + +wifi-efl-ug (0.0.23) unstable; urgency=low + + * New icon showing is Applied + * Fix crash bug when enter Others + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.23 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 15 Sep 2010 13:57:48 +0900 + +wifi-efl-ug (0.0.22) unstable; urgency=low + + * Fix hidden network with empty name + * Fix miss-used popup api + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.22 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 15 Sep 2010 11:33:40 +0900 + +wifi-efl-ug (0.0.21) unstable; urgency=low + + * Fix unallocated popup object used bug fixed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.21 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 14 Sep 2010 13:45:52 +0900 + +wifi-efl-ug (0.0.20) unstable; urgency=low + + * Reupload + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.20 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 13 Sep 2010 19:17:05 +0900 + +wifi-efl-ug (0.0.19) unstable; urgency=low + + * Repacakging by wifid-client`s upload + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.19 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 13 Sep 2010 17:35:42 +0900 + +wifi-efl-ug (0.0.18) unstable; urgency=low + + * add uploader + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.18 + + -- Jongmin Lee <jm105.lee@samsung.com> Fri, 10 Sep 2010 23:02:16 +0900 + +wifi-efl-ug (0.0.17) unstable; urgency=low + + * repackage + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.17 + + -- Jongmin Lee <jm105.lee@samsung.com> Fri, 10 Sep 2010 22:55:52 +0900 + +wifi-efl-ug (0.0.16) unstable; urgency=low + + * Fix password view shown bug which already saved its profile + * Fix applicaion crash when wrong password entered + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.16 + + -- shyeon.kim <shyeon.kim@samsung.com> Wed, 08 Sep 2010 21:28:19 +0900 + +wifi-efl-ug (0.0.15) unstable; urgency=low + + * Beat UI dialogue list works + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.15 + + -- shyeon.kim <shyeon.kim@samsung.com> Mon, 06 Sep 2010 22:03:27 +0900 + +wifi-efl-ug (0.0.14) unstable; urgency=low + + * Fix can not connect to AP by right button push + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.14 + + -- shyeon.kim <shyeon.kim@samsung.com> Fri, 03 Sep 2010 11:29:46 +0900 + +wifi-efl-ug (0.0.13) unstable; urgency=low + + * Fix initial connection error bug + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.13 + + -- shyeon.kim <shyeon.kim@samsung.com> Fri, 03 Sep 2010 09:04:55 +0900 + +wifi-efl-ug (0.0.12) unstable; urgency=low + + * Reupload by debian/rule clean failure + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.12 + + -- shyeon.kim <shyeon.kim@samsung.com> Fri, 03 Sep 2010 08:26:02 +0900 + +wifi-efl-ug (0.0.11) unstable; urgency=low + + * Beat UX fitting work + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.11 + + -- shyeon.kim <shyeon.kim@samsung.com> Thu, 02 Sep 2010 18:11:12 +0900 + +wifi-efl-ug (0.0.10) unstable; urgency=low + + * Others item have no black point on his right + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.10 + + -- shyeon.kim <shyeon.kim@samsung.com> Tue, 31 Aug 2010 21:30:59 +0900 + +wifi-efl-ug (0.0.9) unstable; urgency=low + + * remove vconf wifi-state checking + * add back button, partly + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.9 + + -- shyeon.kim <shyeon.kim@samsung.com> Tue, 31 Aug 2010 17:25:18 +0900 + +wifi-efl-ug (0.0.8) unstable; urgency=low + + * Connection bug fix + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.8 + + -- shyeon.kim <shyeon.kim@samsung.com> Fri, 27 Aug 2010 15:04:15 +0900 + +wifi-efl-ug (0.0.7) unstable; urgency=low + + * Others`s view implemented + * Known bugs are removed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.7 + + -- shyeon.kim <shyeon.kim@samsung.com> Thu, 26 Aug 2010 12:51:27 +0900 + +wifi-efl-ug (0.0.6) unstable; urgency=low + + * Global valuable removal + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.6 + + -- shyeon.kim <shyeon.kim@samsung.com> Wed, 25 Aug 2010 15:36:48 +0900 + +wifi-efl-ug (0.0.5) unstable; urgency=low + + * Remove more global value + * some known UI releated bug fixed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.5 + + -- shyeon.kim <shyeon.kim@samsung.com> Mon, 23 Aug 2010 13:54:14 +0900 + +wifi-efl-ug (0.0.4) unstable; urgency=low + + * Resource added + * Some known bug fixed + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.4 + + -- shyeon.kim <shyeon.kim@samsung.com> Fri, 20 Aug 2010 15:04:52 +0900 + +wifi-efl-ug (0.0.2) unstable; urgency=low + + * First version of UI Gadget of Wi-Fi + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.2 + + -- shyeon.kim <shyeon.kim@samsung.com> Wed, 18 Aug 2010 15:27:01 +0900 + +wifi-efl-ug (0.0.1) unstable; urgency=low + + * Initial Release. + * Git: apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.0.1 + + -- shyeon.kim <shyeon.kim@samsung.com> Mon, 16 Aug 2010 09:29:32 +0900 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +5 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..6287e96 --- /dev/null +++ b/debian/control @@ -0,0 +1,47 @@ +Source: wifi-efl-ug +Section: net +Priority: extra +Maintainer: Sanghoon Cho <sanghoon80.cho@samsung.com>, Danny Jeongseok Seo <s.seo@samsung.com>, Praveen C <pravin.c@samsung.com> +Uploaders: Sanghoon Cho <sanghoon80.cho@samsung.com>, Danny Jeongseok Seo <s.seo@samsung.com>, Praveen C <pravin.c@samsung.com> +Build-Depends: debhelper (>= 5), + libappcore-efl-dev, + libelm-dev, + libglib2.0-dev, + libslp-utilx-dev, + libslp-setting-dev, + libui-gadget-dev, + libedje-dev, + libslp-sensor-dev, + libnetwork-dev, + libcapi-network-wifi-dev, + syspopup-dev, + syspopup-caller-dev +Standards-Version: 3.7.2 + +Package: wifi-efl-ug +Section: net +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Wi-Fi UI Gadget + +Package: wifi-efl-ug-dbg +Section: net-debug +Architecture: any +Depends: wifi-efl-ug +Description: Wi-Fi UI Gadget (dbg) + +Package: net.wifi-qs +Section: application +Architecture: any +XB-Generate-Docs: no +XB-Public-Package: no +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Wi-Fi System popup + +Package: net.wifi-qs-dbg +Section: debug +Architecture: any +XB-Generate-Docs: no +XB-Public-Package: no +Depends: net.wifi-qs +Description: Wi-Fi System popup (dbg) diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/debian/dirs @@ -0,0 +1 @@ + diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..7a77580 --- /dev/null +++ b/debian/docs @@ -0,0 +1,2 @@ +CMakeCache.txt +CMakeLists.txt diff --git a/debian/net.wifi-qs.install.in b/debian/net.wifi-qs.install.in new file mode 100644 index 0000000..e7d7663 --- /dev/null +++ b/debian/net.wifi-qs.install.in @@ -0,0 +1,6 @@ +/usr/bin/wifi-qs +/usr/share/applications/net.wifi-qs.desktop +/usr/share/process-info/wifi-qs.ini +/usr/share/icon/* +/usr/share/locale/* + diff --git a/debian/net.wifi-qs.postinst b/debian/net.wifi-qs.postinst new file mode 100644 index 0000000..837f41e --- /dev/null +++ b/debian/net.wifi-qs.postinst @@ -0,0 +1,33 @@ +#!/bin/sh + +if [ ${USER} = "root" ] +then + vconftool set -t int memory/wifi/wifi_qs_exit 0 -g 6519 -i + vconftool set -t int db/wifi/enable_quick_start 1 -g 6519 -i + + + # Change file owner + # 1. libraries + # 2. executables +# chown 5000:5000 /usr/bin/wifi-qs + # 3. configurations +# chown 5000:5000 /usr/share/edje/wifi-qs* +# chown 5000:5000 /usr/share/locale/en_GB/LC_MESSAGES/wifi.mo +# chown 5000:5000 /usr/share/locale/en_US/LC_MESSAGES/wifi.mo +# chown 5000:5000 /usr/share/locale/ja/LC_MESSAGES/wifi.mo +# chown 5000:5000 /usr/share/locale/ko/LC_MESSAGES/wifi.mo +# chown 5000:5000 /usr/share/locale/zh_CN/LC_MESSAGES/wifi.mo +fi + +# Change file permissions +# 1. libraries +# 2. executables +#chmod 700 /usr/bin/wifi-qs +# 3. configurations +#chmod 644 /usr/share/edje/wifi-qs* +#chmod 644 /usr/share/locale/en_GB/LC_MESSAGES/wifi.mo +#chmod 644 /usr/share/locale/en_US/LC_MESSAGES/wifi.mo +#chmod 644 /usr/share/locale/ja/LC_MESSAGES/wifi.mo +#chmod 644 /usr/share/locale/ko/LC_MESSAGES/wifi.mo +#chmod 644 /usr/share/locale/zh_CN/LC_MESSAGES/wifi.mo + diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..adea4cc --- /dev/null +++ b/debian/rules @@ -0,0 +1,201 @@ +#!/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 +LDFLAGS += -Wall -pie +PREFIX ?= /usr/ug + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif + +CFLAGS += -fPIC +LDFLAGS += -Wl,--rpath=$(PREFIX)/lib -Wl,--hash-style=both -Wl,--as-needed + + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" 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) + 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 + #docbook-to-man debian/wifi-efl-ug.sgml > wifi-efl-ug.1 + + 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 sources/ui-gadget/CMakeCache.txt + rm -rf sources/ui-gadget/CMakeFiles + rm -rf sources/ui-gadget/cmake_install.cmake + rm -rf sources/ui-gadget/Makefile + rm -rf sources/ui-gadget/install_manifest.txt + rm -rf sources/ui-gadget/edcs/*.edj + rm -rf sources/ui-gadget/po/CMakeCache.txt + rm -rf sources/ui-gadget/po/CMakeFiles + rm -rf sources/ui-gadget/po/cmake_install.cmake + rm -rf sources/ui-gadget/po/Makefile + rm -rf sources/ui-gadget/po/install_manifest.txt + rm -rf sources/ui-gadget/po/*.mo + + rm -rf sources/wifi-syspopup/CMakeCache.txt + rm -rf sources/wifi-syspopup/CMakeFiles + rm -rf sources/wifi-syspopup/cmake_install.cmake + rm -rf sources/wifi-syspopup/Makefile + rm -rf sources/wifi-syspopup/install_manifest.txt + rm -rf sources/wifi-syspopup/net.wifi-qs.desktop + + rm -rf sources/wifi-syspopup/po/CMakeFiles + rm -rf sources/wifi-syspopup/po/Makefile + rm -rf sources/wifi-syspopup/po/cmake_install.cmake + + rm -rf *.so + rm -rf *.edj + + rm -rf debian/*.install + + rm -f ../wifi-efl-ug_*.deb + rm -f ../wifi-efl-ug-*.deb + rm -f ../wifi-efl-ug_*.changes + rm -f ../wifi-efl-ug_*.dsc + rm -f ../wifi-efl-ug_*.changes + rm -f ../wifi-efl-ug_*.tar.gz + + rm -f ../net.wifi-qs_*.deb + rm -f ../net.wifi-qs-*.deb + + dh_clean + +dev_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 sources/ui-gadget/CMakeCache.txt + rm -rf sources/ui-gadget/CMakeFiles + rm -rf sources/ui-gadget/cmake_install.cmake + rm -rf sources/ui-gadget/Makefile + rm -rf sources/ui-gadget/install_manifest.txt + rm -rf sources/ui-gadget/edcs/*.edj + rm -rf sources/ui-gadget/po/CMakeCache.txt + rm -rf sources/ui-gadget/po/CMakeFiles + rm -rf sources/ui-gadget/po/cmake_install.cmake + rm -rf sources/ui-gadget/po/Makefile + rm -rf sources/ui-gadget/po/install_manifest.txt + rm -rf sources/ui-gadget/po/*.mo + + rm -rf sources/wifi-syspopup/CMakeCache.txt + rm -rf sources/wifi-syspopup/CMakeFiles + rm -rf sources/wifi-syspopup/cmake_install.cmake + rm -rf sources/wifi-syspopup/Makefile + rm -rf sources/wifi-syspopup/install_manifest.txt + rm -rf sources/wifi-syspopup/net.wifi-qs.desktop + rm -rf sources/wifi-syspopup/edcs/*.edj + + 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/*.mo + + rm -rf *.so + rm -rf *.edj + + rm -rf debian/*.install + + touch cscope.a + rm cscop*.* + rm -f sources/cscope.* + rm -f sources/ui-gadget/cscope.* + rm -f sources/wifi-syspopup/cscope.* + + rm -f tag* + rm -f sources/tag* + rm -f sources/ui-gadget/tag* + rm -f sources/wifi-syspopup/tag* + + rm -f ../wifi-efl-ug* + rm -f ../net.wifi-qs_* + rm -f ../net.wifi-qs-dbg* + rm -f ../wifi-syspopup_* + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/tmp. + $(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_installman + dh_link + dh_strip --dbg-package=wifi-efl-ug-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/debian/wifi-efl-ug.install.in b/debian/wifi-efl-ug.install.in new file mode 100644 index 0000000..ac4b02b --- /dev/null +++ b/debian/wifi-efl-ug.install.in @@ -0,0 +1,5 @@ +/usr/ug/lib/libug-wifi-efl-UG.so.0.1.0 +/usr/ug/lib/libug-wifi-efl-UG.so +/usr/ug/res/locale/* +/usr/ug/res/images/wifi-efl-UG/* + diff --git a/debian/wifi-efl-ug.postinst b/debian/wifi-efl-ug.postinst new file mode 100644 index 0000000..ead844c --- /dev/null +++ b/debian/wifi-efl-ug.postinst @@ -0,0 +1,6 @@ +#!/bin/sh + +if [ ${USER} = "root" ] +then + vconftool set -t int memory/wifi/ug_run_state 3 -i -g 6519 +fi diff --git a/net.wifi-qs.manifest b/net.wifi-qs.manifest new file mode 100644 index 0000000..97e8c31 --- /dev/null +++ b/net.wifi-qs.manifest @@ -0,0 +1,5 @@ +<manifest> + <request> + <domain name="_"/> + </request> +</manifest> diff --git a/packaging/wifi-efl-ug.spec b/packaging/wifi-efl-ug.spec new file mode 100644 index 0000000..912529e --- /dev/null +++ b/packaging/wifi-efl-ug.spec @@ -0,0 +1,89 @@ +Name: wifi-efl-ug +Summary: Wi-Fi UI Gadget +Version: 0.5.1_31 +Release: 1 +Group: App/Network +License: Flora License +Source0: %{name}-%{version}.tar.gz +BuildRequires: cmake +BuildRequires: pkgconfig(ecore) +BuildRequires: pkgconfig(ecore-imf) +BuildRequires: pkgconfig(ecore-input) +BuildRequires: pkgconfig(appcore-efl) +BuildRequires: pkgconfig(elementary) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(utilX) +BuildRequires: pkgconfig(ui-gadget-1) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(sensor) +BuildRequires: pkgconfig(syspopup) +BuildRequires: pkgconfig(syspopup-caller) +BuildRequires: pkgconfig(capi-network-wifi) +BuildRequires: pkgconfig(network) +BuildRequires: gettext-tools +BuildRequires: edje-tools +Requires(post): /sbin/ldconfig +Requires(post): /usr/bin/vconftool +requires(postun): /sbin/ldconfig + +%description +Wi-Fi UI Gadget + +%package -n net.wifi-qs +Summary: Wi-Fi System popup +Requires: %{name} = %{version} +Requires(post): /usr/bin/vconftool + +%description -n net.wifi-qs +Wi-Fi System popup + +%prep +%setup -q + +%define PREFIX /usr/ug + + +%build +#LDFLAGS+="-Wl,--rpath=%{PREFIX}/lib -Wl,--as-needed" +cmake . -DCMAKE_INSTALL_PREFIX=%{PREFIX} + +make %{?_smp_mflags} + + +%install +%make_install + +#License +mkdir -p %{buildroot}%{_datadir}/license +cp LICENSE.Flora %{buildroot}%{_datadir}/license/wifi-efl-ug +cp LICENSE.Flora %{buildroot}%{_datadir}/license/net.wifi-qs + +%post +/sbin/ldconfig + +vconftool set -t int memory/wifi/ug_run_state 3 -i -g 6519 + +%post -n net.wifi-qs +vconftool set -t int memory/wifi/wifi_qs_exit 0 -g 6519 -i +vconftool set -t int db/wifi/enable_quick_start 1 -g 6519 -i + +%postun -p /sbin/ldconfig + + +%files +%manifest wifi-efl-ug.manifest +%{PREFIX}/lib/libug-wifi-efl-UG.so +%attr(644,-,-) %{PREFIX}/lib/libug-wifi-efl-UG.so.0.1.0 +%{PREFIX}/res/edje/wifi-efl-UG/*.edj +%{PREFIX}/res/images/wifi-efl-UG/*.png +%{PREFIX}/res/locale/*/LC_MESSAGES/*.mo +%{_datadir}/license/wifi-efl-ug + +%files -n net.wifi-qs +%manifest net.wifi-qs.manifest +%{_bindir}/wifi-qs +%{_datadir}/packages/net.wifi-qs.xml +%{_datadir}/process-info/wifi-qs.ini +%{_datadir}/icon/*.png +%{_datadir}/locale/*/LC_MESSAGES/*.mo +%{_datadir}/license/net.wifi-qs diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt new file mode 100644 index 0000000..6537f70 --- /dev/null +++ b/po/CMakeLists.txt @@ -0,0 +1,34 @@ +# for i18n + +SET(POFILES ar.po az.po bg.po ca.po cs.po da.po de_DE.po el_GR.po en.po en_PH.po en_US.po es_ES.po es_MX.po eu.po et.po fi.po fr_CA.po fr_FR.po ga.po gl.po hi.po hr.po hu.po hy.po is.po it_IT.po ja_JP.po ka.po kk.po ko_KR.po lt.po lv.po mk.po nb.po nl_NL.po pl.po pt_BR.po pt_PT.po ro.po ru_RU.po sk.po sl.po sr.po sv.po tr_TR.po uk.po uz.po zh_CN.po zh_HK.po zh_SG.po zh_TW.po) + +SET(MSGFMT "/usr/bin/msgfmt") + +SET(WIFI_UG_PROJECT_NAME "ug-wifi-efl-UG") +SET(WIFI_QS_PROJECT_NAME "wifi-qs") + +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 for UG + INSTALL(FILES ${moFile} + DESTINATION /usr/ug/res/locale/${lang}/LC_MESSAGES RENAME ${WIFI_UG_PROJECT_NAME}.mo) + + # install for QS + INSTALL(FILES ${moFile} + DESTINATION /usr/share/locale/${lang}/LC_MESSAGES RENAME ${WIFI_QS_PROJECT_NAME}.mo) + + SET(moFiles ${moFiles} ${moFile}) +ENDFOREACH(pofile) + +MESSAGE(".mo files: ${moFiles}") +ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles}) diff --git a/po/ar.po b/po/ar.po new file mode 100644 index 0000000..6fd9d77 --- /dev/null +++ b/po/ar.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "تم التوصيل" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "جاري التوصيل" + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "ثابت IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "جاري تنشيط Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "تجاهل" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "عنوان IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "قناع الشبكة الفرعية" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "إخطارات الشبكة" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Open" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "آمن" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "عنوان MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "منفذ الوكيل" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "ممتاز" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "جيدة" + +msgid "IDS_ST_BODY_SCAN" +msgstr "بحث" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "شبكات Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "جاري الفصل..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "IP ديناميكي" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "بلا APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "نوع الأمن" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "شبكة مخفية" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "جاري إلعاء تنشيط Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "قيد البحث" + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "اختيار شبكة" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "أسلوب EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "عنوان البوابة" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "أدخل كلمة المرور" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "شهادة CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "غير محدد" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "شهادة المستخدم" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "الهوية" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "هوية مجهولة" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "إدخال الهوية" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "إدخال هوية مجهولة" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "أدخل كلمة السر" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "عرض كلمة المرور" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "عنوان التفويض" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "قوة الإشارة" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "البوابة" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "جاري إلغاء التفعيل..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "لا يوجد أمان" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "اختيار شبكة" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "ضعيفة" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS متوفر" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "جار الحصول على عنوان IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "القناة" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "إخطاري عند توفر شبكة مفتوحة" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "إضافة شبكة Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "شبكة SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "الاتصال التلقائي بهذه الشبكة سيتم تعطيله. متابعة؟" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "مصادقة المرحلة الثانية" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "توصيل" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "اضغط WPS في نقطة وصول Wi-Fi خلال %d دقيقة" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "غير معروف" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "أدخل SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "كلمة المرور" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "التزويد" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "اتصال زر WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "العثور على الشبكة المخفية" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "اضغط علي WPS في نقطة وصول Wi-Fi لديك خلال دقيقتين" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "إلغاء" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "إدخال الهوية" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "أدخل كلمة المرور" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "إخطار عند العثور على شبكة Wi-Fi" + diff --git a/po/az.po b/po/az.po new file mode 100644 index 0000000..7aa4bee --- /dev/null +++ b/po/az.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Qoşuldu" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "qoşulur" + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Statik İP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi aktivləşdirilir..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Unut" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP ünvanı" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Şəbəkə altı qoruyucusu" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Şəbəkə bildirişi" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Aç" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Qorunur" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC ünvanı" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proksi portu" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Əla" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Yaxşı" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Axtarın" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi şəbəkələri" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Bağlantı kəsilir" + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dinamik IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "APs yoxdur" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Təhlükəsizlik növü" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Gizli şəbəkə" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wi-Fi söndürülür..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Axtarır..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Şəbəkə seç" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP metodu" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Giriş ünvanı" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Kodu daxil et" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA sertifikatı" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Təyin edilməyib" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "İstifadəçi sertifikatı" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Kimlik" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonim kimlik" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Eyniliyi daxil edin" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Anonim eyniliyi daxil et" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Parol daxil edin" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Parolu göstərin" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Giriş modulu ünvanı" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Signal gücləndirilsin" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Şlüz" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Söndürülür..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Qeyritəhlükəsiz" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Şəbəkə seç" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Zəif" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS mümkündür" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP ünvanı əldə edilir..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Açıq şəbəkə mövcud olduqda məni xəbərdar edin" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Wi-Fi şəbəkəsi əlavə edin" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Şəbəkə SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Bu şəbəkəyə avtomatik bağlanma qeyri-aktiv ediləcək. Davam edilsin?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Mərhələ 2 əslliyin yoxlanması" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Qoşul" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "%d dəqiqə ərzində Wi-Fi giriş nöqtəsində WPS düyməsini bas" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Naməlum" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "SSİD daxil edin" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Şifrə" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Təminat" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS düymə bağlantısı" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Gizli şəbəkləri tap" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "2 dəqiqə ərzində Wi-Fi giriş nöqtənizdə WPS basın" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Ləğv et" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Eyniliyinizi daxil edin" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Kodu daxil et" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Wi-Fi şəbəkəsi tapılanda xəbər verin" + diff --git a/po/bg.po b/po/bg.po new file mode 100644 index 0000000..a71972b --- /dev/null +++ b/po/bg.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Свързан" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Свързване..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Статичен IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Активиране на Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Забравяне" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP адрес" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Подмрежова маска" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Мрежово уведомяване" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Отваряне" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Защитено" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC адрес" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Порт за прокси" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Отлично" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Добър" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Сканиране" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi мрежи" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Изключване..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Динамичен IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Няма AP" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Тип на защита" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Скрита мрежа" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Деактивиране на Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Търсене..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Избери мрежа" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Метод EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Адрес на шлюз" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Въвеждане на парола" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Сертификат CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Неопределен" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Сертификат потр." + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Самоличност" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Анонимна самоличност" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Въведете самоличност" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Въведете анонимна самоличност" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Въвеждане на парола" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Показване на паролата" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Адрес на прокси" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Сила на сигнала" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Шлюз" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Деактивиране..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Няма защита" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Избери мрежа" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Слаб" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS е налична" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Получаване на IP адрес..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Канал" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Уведоми ме, когато е достъпна отворена мрежа" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Добавяне на Wi-Fi мрежа" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID мрежа" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Автоматичното свързване с тази мрежа ще бъде деактивирано. Продължаване?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Удостоверяване с фаза 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Свързване" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Натиснете WPS на Wi-Fi точката за достъп в рамките на %d минути" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Няма информация" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Въвеждане на SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Парола" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Предвиждане" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Връзка с WPS бутон" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Намери скрита мрежа" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Натиснете WPS на Wi-Fi точката за достъп в рамките на 2 минути" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Отказ" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Въведете вашата самоличност" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Въвеждане на парола" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Уведомяване, когато е намерена Wi-Fi мрежа" + diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 0000000..d09359c --- /dev/null +++ b/po/ca.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Connectat" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Connectant..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "IP estàtica" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Activant Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Oblidar" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Adreça IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Màscara de subxarxa" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notificació de xarxa" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Obrir" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Protegit" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Adreça MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Port de servidor intermediari" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Excel·lent" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Bo" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Escanejar" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Xarxes Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Desconnectant..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "IP dinàmica" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Sense punts d'accés" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Tipus de seguretat" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Xarxa oculta" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Desactivant Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Cercant..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Seleccionar xarxa" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Mètode EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Adreça passarel·la" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Introduir contrasenya" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certificat CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Sense especificar" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Certificat usuari" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identitat" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Identitat anònima" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Introduir identitat" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Introduir identitat anònima" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Introduir la contrasenya" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Mostrar contrasenya" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Adreça de proxy" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Intensitat del senyal" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Passarel·la" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Desactivant..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "No hi ha seguretat" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Seleccionar xarxa" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Feble" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS disponible" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "S'està obtenint l'adreça IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Canal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Avisar-me quan una xarxa oberta estigui disponible" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Afegir xarxa Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID de xarxa" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Es deshabilitarà la connexió automàtica a aquesta xarxa. Continuar?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Autenticació de fase 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Connectar" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Premi WPS al seu punt d'accés Wi-Fi en %d minuts" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Desconegut" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Introdueixi SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Contrasenya" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Provisió" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Connexió de botó WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Cercar xarxa oculta" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Premi WPS al seu punt d'accés Wi-Fi en 2 minuts" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Cancelar" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Introduir la seva identitat" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Introduir contrasenya" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Notificar quan es trobi una xarxa Wi-Fi" + diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 0000000..5f78170 --- /dev/null +++ b/po/cs.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Připojeno" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Připojování..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Pevná adresa IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Probíhá aktivace Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Odstranit" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP adresa" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Maska podsítě" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Oznámení sítě" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Otevřít" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Zabezpečeno" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC adresa" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Port serveru proxy" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Výtečně" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Dobrý" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Hledat" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Sítě Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Odpojování..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dynamická IP adresa" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Žádné APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Typ zabezpečení" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Skrytá síť" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Probíhá deaktivace Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Hledání..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Vybrat síť" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Metoda EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Adresa brány" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Zadejte heslo" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certifikát CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Nespecifikováno" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Uživ. certifikát" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Totožnost" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonymní identita" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Zadejte identitu" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Zadejte anonymní identitu" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Zadejte heslo" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Zobrazit heslo" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Adresa proxy" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Intenzita signálu" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Brána" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Deaktivace..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Bez zabezpečení" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Vybrat síť" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Slabý" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS je k dispozici" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Získávání adresy IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanál" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Upozornit na otevřenou síť" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Přidat síť Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID sítě" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automatické připojení k této síti bude vypnuto. Chcete pokračovat?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Ověření fáze 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Připojit" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Stiskněte do %d minut tlačítko WPS na přístupovém bodu Wi-Fi" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Neznámé" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Zadat SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Heslo" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Zajištění" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Připojení pomocí tlačítka WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Najít skrytou síť" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Stiskněte do 2 minut tlačítko WPS na přístupovém bodu Wi-Fi" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Zrušit" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Zadejte identitu" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Zadejte heslo" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Upozornit při nalezení sítě Wi-Fi" + diff --git a/po/da.po b/po/da.po new file mode 100644 index 0000000..42be067 --- /dev/null +++ b/po/da.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Forbundet" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Opretter forbindelse..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Statisk IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Aktiverer Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Glem" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP-adresse" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Subnet-maske" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Netværksbesked" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Åben" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Sikret" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-adresse" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxy-port" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Fremragende" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "God" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Scanning" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi-netværk" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Afbryder..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dynamisk IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Ingen APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Sikkerhedstype" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Skjult netværk" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Deaktiverer Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Søger ..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Vælg netværk" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP-metode" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Gateway-adresse" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Angiv adgangskode" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA-certifikat" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Ikke specificeret" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Brugercertifikat" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identitet" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonym identitet" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Indtast identitet" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Indtast anonym identitet" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Indtast adgangskode" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Vis adgangskode" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Proxy-adresse" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Signalstyrke" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Deaktiverer..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Ingen sikkerhed" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Vælg netværk" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Svag" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS tilgængelig" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Henter IP-adresse ..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Giv mig besked, når et åbent netværk er tilgængeligt" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Tilføj Wi-Fi-netværk" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Netværks-SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automatisk forbindelse til dette netværk deaktiveres. Vil du fortsætte?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Fase 2-godkendelse" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Tilslut" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Tryk på WPS på dit Wi-Fi-adgangspunkt inden for %d minutter" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Ukendt" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Angiv SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Adgangskode" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Anskaffelse" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS-knap forbundet" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Find skjult netværk" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Tryk på WPS på dit Wi-Fi-adgangspunkt inden for 2 minutter" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Annuller" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Indtast din identitet" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Angiv adgangskode" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Giv mig besked, når der er fundet et Wi-Fi-netværk" + diff --git a/po/de_DE.po b/po/de_DE.po new file mode 100644 index 0000000..305aefa --- /dev/null +++ b/po/de_DE.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Verbunden" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Verbindung wird hergestellt..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Statische IP-Adresse" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "WLAN wird aktiviert..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Entfernen" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP-Adresse" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Subnetzmaske" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Netzbenachrichtigung" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Offen" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Gesichert" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-Adresse" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxy-Port" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Exzellent" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Gut" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Suchen" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "WLAN" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Verbindung wird getrennt..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dynamische IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Keine APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Sicherheitstyp" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Verborgenes Netz" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "WLAN wird deaktiviert..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Suche läuft..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Netz auswählen" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP-Methode" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Gateway-Adresse" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Passwort eingeben" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA-Zertifikat" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Nicht angegeben" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Nutzerzertifikat" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identität" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonyme Identität" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Identität eingeben" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Anonyme Identität eingeben" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Passwort eingeben" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Passwort anzeigen" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Proxy-Adresse" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Signalstärke" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Wird deaktiviert..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Keine Sicherheit" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Netz auswählen" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Schwach" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS verfügbar" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP-Adresse wird abgerufen..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Sender" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Benachrichtigen, wenn ein offenes Netzwerk verfügbar ist" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "WLAN hinzufügen" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Netz-SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automatische Verbindung zu diesem Netzwerk wird deaktiviert. Fortfahren?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Phase 2-Authentifizierung" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Verbinden" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Drücken Sie die WPS-Taste an Ihrem WLAN-Zugangspunkt innerhalb von %d Minuten." + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Unbekannt" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "SSID eingeben" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Passwort" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Bereitstellung" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS-Tastenverbindung" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Verborgenes Netz suchen" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Drücken Sie die WPS-Taste an Ihrem WLAN-Zugangspunkt innerhalb von 2 Minuten." + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Abbruch" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Ihre Identität eingeben" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Passwort eingeben" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Benachrichtigen, wenn WLAN-Netzwerk gefunden wurde" + diff --git a/po/el_GR.po b/po/el_GR.po new file mode 100644 index 0000000..b4ff0bf --- /dev/null +++ b/po/el_GR.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Συνδέθηκε" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Σύνδεση..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Στατικό IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Ενεργοποίηση Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Εξαίρεσε" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Διεύθυνση IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Μάσκα υποδικτύου" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Ειδοποίηση δικτύου" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Άνοιγμα" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Ασφαλές" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Διεύθυνση MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Θύρα proxy" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Τέλεια" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Καλό" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Σάρωση" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Δίκτυα Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Αποσύνδεση..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Δυναμικό IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Δεν υπάρχουν AP" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Τύπος ασφαλείας" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Κρυφό δίκτυο" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Απενεργοποίηση Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Αναζήτηση..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Επιλογή δικτύου" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Μέθοδος EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Διεύθυνση πύλης" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Εισαγωγή κωδικού" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Πιστοποιητικό CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Ακαθόριστο" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Πιστοπ. χρήστη" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Ταυτότητα" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Άγνωστη ταυτότητα" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Εισαγάγετε ταυτότητα" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Εισαγάγετε άγνωστη ταυτότητα" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Εισαγωγή κωδικού πρόσβασης" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Εμφάνιση κωδικού πρόσβασης" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Διεύθ.διακ.μεσολάβ." + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Ισχύς σήματος" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Πύλη" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Απενεργοποίηση.." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Καμία ασφάλεια" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Επιλογή δικτύου" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Ασθενές" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "Υπάρχει διαθέσιμο WPS" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Γίνεται λήψη διεύθυνσης IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Κανάλι" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Να ειδοποιούμαι όταν υπάρχει διαθέσιμο ανοικτό δίκτυο" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Προσθήκη δικτύου Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID δικτύου" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Η αυτόματη σύνδεση σε αυτό το δίκτυο θα απενεργοποιηθεί. Συνέχεια;" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "2η φάση ελέγχου ταυτότητας" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Σύνδεση" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Πιέστε το WPS του σημείου πρόσβασης Wi-Fi εντός %d λεπτών" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Άγνωστο" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Εισαγωγή στο SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Κωδικός πρόσβασης" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Παροχή" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Σύνδεση κουμπιού WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Εύρεση κρυφού δικτύου" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Πιέστε το WPS του σημείου πρόσβασης Wi-Fi εντός 2 λεπτών" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Ακύρωση" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Εισαγάγετε την ταυτότητά σας" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Εισαγωγή κωδικού" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Να ειδοποιούμαι, όταν εντοπίζεται δίκτυο Wi-Fi" + diff --git a/po/en.po b/po/en.po new file mode 100644 index 0000000..808f049 --- /dev/null +++ b/po/en.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Connected" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Connecting..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Static IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Activating Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Forget" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP address" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Subnet mask" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Network notification" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Open" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Secured" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC address" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxy port" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Excellent" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Good" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Scan" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi networks" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Disconnecting..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dynamic IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "No APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Security type" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Hidden network" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Deactivating Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Searching..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Select network" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP method" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Gateway address" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Enter password" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA certificate" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Unspecified" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "User certificate" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identity" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonymous identity" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Enter identity" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Enter anonymous identity" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Input password" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Show password" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Proxy address" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Signal strength" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Deactivating..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "No security" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Select network" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Weak" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS available" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Obtaining IP address..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Channel" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Notify me when an open network is available" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Add Wi-Fi network" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Network SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automatic connection to this network will be disabled. Continue?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Phase 2 authentication" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Connect" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Press WPS on your Wi-Fi access point within %d minutes" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Unknown" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Enter SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Password" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Provisioning" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS button connection" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Find hidden network" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Press WPS on your Wi-Fi access point within 2 minutes" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Cancel" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Enter your identity" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Enter password" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Notify when Wi-Fi network is found" + diff --git a/po/en_PH.po b/po/en_PH.po new file mode 100644 index 0000000..808f049 --- /dev/null +++ b/po/en_PH.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Connected" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Connecting..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Static IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Activating Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Forget" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP address" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Subnet mask" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Network notification" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Open" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Secured" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC address" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxy port" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Excellent" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Good" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Scan" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi networks" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Disconnecting..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dynamic IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "No APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Security type" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Hidden network" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Deactivating Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Searching..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Select network" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP method" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Gateway address" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Enter password" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA certificate" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Unspecified" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "User certificate" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identity" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonymous identity" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Enter identity" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Enter anonymous identity" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Input password" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Show password" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Proxy address" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Signal strength" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Deactivating..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "No security" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Select network" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Weak" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS available" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Obtaining IP address..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Channel" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Notify me when an open network is available" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Add Wi-Fi network" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Network SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automatic connection to this network will be disabled. Continue?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Phase 2 authentication" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Connect" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Press WPS on your Wi-Fi access point within %d minutes" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Unknown" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Enter SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Password" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Provisioning" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS button connection" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Find hidden network" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Press WPS on your Wi-Fi access point within 2 minutes" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Cancel" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Enter your identity" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Enter password" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Notify when Wi-Fi network is found" + diff --git a/po/en_US.po b/po/en_US.po new file mode 100644 index 0000000..808f049 --- /dev/null +++ b/po/en_US.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Connected" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Connecting..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Static IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Activating Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Forget" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP address" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Subnet mask" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Network notification" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Open" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Secured" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC address" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxy port" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Excellent" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Good" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Scan" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi networks" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Disconnecting..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dynamic IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "No APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Security type" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Hidden network" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Deactivating Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Searching..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Select network" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP method" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Gateway address" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Enter password" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA certificate" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Unspecified" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "User certificate" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identity" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonymous identity" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Enter identity" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Enter anonymous identity" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Input password" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Show password" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Proxy address" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Signal strength" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Deactivating..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "No security" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Select network" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Weak" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS available" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Obtaining IP address..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Channel" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Notify me when an open network is available" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Add Wi-Fi network" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Network SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automatic connection to this network will be disabled. Continue?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Phase 2 authentication" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Connect" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Press WPS on your Wi-Fi access point within %d minutes" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Unknown" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Enter SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Password" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Provisioning" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS button connection" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Find hidden network" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Press WPS on your Wi-Fi access point within 2 minutes" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Cancel" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Enter your identity" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Enter password" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Notify when Wi-Fi network is found" + diff --git a/po/es_ES.po b/po/es_ES.po new file mode 100644 index 0000000..6aa3c7b --- /dev/null +++ b/po/es_ES.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Conectado" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Conectando..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "IP estática" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Activando Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Cancelar" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Dirección IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Máscara de subred" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notificación de red" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Abierta" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Protegido" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Dirección MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Puerto Proxy" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Excelente" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Buena" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Buscar" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Redes Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Desconectando..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "IP dinámica" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "No hay AP" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Tipo de seguridad" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Red oculta" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Desactivando Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Buscando..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Seleccionar red" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Método EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Dirección de puerta de enlace" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Introducir contraseña" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certificado CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Sin especificar" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Certific usuario" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identidad" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Identidad anónima" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Introducir identidad" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Introducir identidad anónima" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Introducir contraseña" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Mostrar contraseña" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Dirección de proxy" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Intensidad de la señal" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Puerta de enlace" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Desactivando..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Sin seguridad" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Seleccionar red" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Débil" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS disponible" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Obteniendo dirección IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Canal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Notificarme cuando hay disponible una red abierta" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Añadir red Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Red SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "La conexión automática a esta red se desactivará. ¿Continuar?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Autenticación de fase 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Conectar" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Pulse WPS de su punto de acceso Wi-Fi en %d minutos" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Desconocido" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Introducir SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Contraseña" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Suministro" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Conexión del botón de WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Buscar red oculta" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Pulse WPS en su punto de acceso Wi-Fi en un tiempo estimado de 2 minutos" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Cancelar" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Introducir su identidad" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Introducir contraseña" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Notificar cuando se encuentre una red Wi-Fi" + diff --git a/po/es_MX.po b/po/es_MX.po new file mode 100644 index 0000000..6b2afa6 --- /dev/null +++ b/po/es_MX.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Conectado" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Conectando..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "IP estática" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Activando Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Olvidar" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Dirección IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Máscara de subred" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notificación de red" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Abierta" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Protegida" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Dirección MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Puerto proxy" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Excelente" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Buena" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Buscar" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Redes Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Desconectando..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "IP dinámica" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "No hay AP" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Tipo de seguridad" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Red oculta" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Desactivando Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Buscando..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Seleccionar red" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Método EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Dirección de puerta de enlace" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Introducir contraseña" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certificado de CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Sin especificar" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Certific usuario" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identidad" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Identidad anónima" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Ingresar identidad" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Ingresar identidad anónima" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Introducir contraseña" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Mostrar contraseña" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Dirección de PROXY" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Intensidad de la señal" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Puerta de enlace" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Desactivando…" + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Sin seguridad" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Seleccionar red" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Débil" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS disponible" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Obteniendo dirección IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Canal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Notificar cuando esté disponible una red abierta" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Añadir red Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Red SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "La conexión automática a esta red se desactivará. ¿Continuar?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Autenticación de fase de 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Conectar" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Pulse WPS de su punto de acceso Wi-Fi en %d minutos" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Desconocido" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Introducir SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Contraseña" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Aprovisionamiento" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Conexión del botón de WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Buscar red oculta" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Presione WPS en el punto de acceso Wi-Fi en 2 minutos" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Cancelar" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Ingresar su identidad" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Introducir contraseña" + +msgid "IDS_WIFI_POP_ENTER_PS_AGAIN_KOR" +msgstr "Introducir %s nuevamente" + diff --git a/po/es_US.po b/po/es_US.po new file mode 100644 index 0000000..9040153 --- /dev/null +++ b/po/es_US.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Conectado" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Conectando..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "IP estática" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Activando Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Olvidar" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Dirección IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Máscara de subred" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notificación de red" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Abierta" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Protegida" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Dirección MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Puerto proxy" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Excelente" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Buena" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Buscar" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Redes Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Desconectando..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "IP dinámica" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "No hay AP" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Tipo de seguridad" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Red oculta" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Desactivando Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Buscando..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Seleccionar red" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Método EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Dirección de puerta de enlace" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Introducir contraseña" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certificado de CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Sin especificar" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Certific usuario" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identidad" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Identidad anónima" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Ingresar identidad" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Ingresar identidad anónima" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Introducir contraseña" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Mostrar contraseña" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Dirección de PROXY" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Intensidad de la señal" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Puerta de enlace" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Desactivando…" + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Sin seguridad" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Seleccionar red" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Débil" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS disponible" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Obteniendo dirección IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Canal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Notificar cuando esté disponible una red abierta" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Añadir red Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Red SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "La conexión automática a esta red se desactivará. ¿Continuar?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Autenticación de fase de 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Conectar" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Pulse WPS de su punto de acceso Wi-Fi en %d minutos" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Desconocido" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Introducir SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Contraseña" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Aprovisionamiento" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Conexión del botón de WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Buscar red oculta" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Presione WPS en el punto de acceso Wi-Fi en 2 minutos" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Cancelar" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Ingresar su identidad" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Introducir contraseña" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Notificar cuando no se encuentra una red Wi-Fi" + diff --git a/po/et.po b/po/et.po new file mode 100644 index 0000000..61840f2 --- /dev/null +++ b/po/et.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Ühendatud" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Ühendamine..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Staatiline IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi aktiveerimine..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Unusta" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP-aadress" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Alamvõrgumask" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Võrguteade" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Ava" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Turvatud" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-aadress" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Puhverserveri port" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Võrratu" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Hea" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Otsi" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi võrgud" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Ühenduse katkestamine..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dünaamiline IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "APs-id puuduvad" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Turvalisuse tüüp" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Peidetud võrk" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wi-Fi desaktiveerimine..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Otsimine..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Vali võrk" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP-meetod" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Lüüsi aadress" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Sisestage parool" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Sertifitseerimiskeskuse sertifikaat" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Määramata" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Kasutaja sert." + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Tunnus" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonüümne tunnus" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Sisestage tunnus" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Sisestage anonüümne tunnus" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Sisestage parool" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Kuva parool" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Puhverserveri aadress" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Levitugevus" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Lüüs" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Desaktiveerimine..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Turvalisus puudub" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Vali võrk" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Nõrk" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS on saadaval" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP-aadressi hankimine..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Teavita mind, kui avatud võrk on saadaval" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Lisa Wi-Fi võrk" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Võrgu SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Selle võrgu automaatühendus keelatakse. Kas jätkata?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "2. faasi autentimine" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Ühenda" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Vajutage %d minuti jooksul WPS-nuppu oma Wi-Fi pääsupunktil" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Tundmatu" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Sisesta SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Parool" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Ettevalmistamine" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS-i nupuga ühendus" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Otsi peidetud võrku" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Vajutage 2 minuti jooksul WPS-nuppu oma Wi-Fi pääsupunktil" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Tühista" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Sisestage oma tunnus" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Sisestage parool" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Teavita, kui Wi-Fi võrk on leitud" + diff --git a/po/eu.po b/po/eu.po new file mode 100644 index 0000000..eeadb99 --- /dev/null +++ b/po/eu.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Konektatuta" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Konektatzen" + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "IP estatikoa" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fia aktibatzen..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Ahaztu" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP helbidea" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Azpi-sareko maskara" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Sarearen jakinarazpena" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Ireki" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Babestua" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC helbidea" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxy ataka" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Bikain" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Ona" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Eskaneatzea" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi sareak" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Deskonektatzen" + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "IP dinamikoa" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "APs-ik ez" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Segurtasun mota" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Sare ezkutua" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wi-Fia desaktibatzen..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Bilatzen" + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Sarea aukeratu" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP metodoa" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Atebidearen helbidea" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Pasahitza idatzi" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA ziurtagiria" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Zehaztu gabe" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Erabiltzailearen ziurtag." + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identitatea" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Identitate anonimoa" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Sartu identitatea" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Sartu identitate anonimoa" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Sartu pasahitza" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Erakutsi pasahitza" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Proxy helbidea" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Seinalearen intentsitatea" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Atebidea" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Desaktibatzen..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Segurtasunik ez" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Sarea aukeratu" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Ahula" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS eskuragarri" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP helbidea lortzen..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanala" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Jakinarazi sare ireki bat eskuragarri dagoenean" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Gehitu Wi-Fi sarea" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Sarearen SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Sare honetarako konexio automatikoa ezgaituko da. Jarraitu?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "2. fasearen egiaztapena" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Konektatu" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Sakatu WPS Wi-Fi sargunean %d minutu igaro baino lehen" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Ezezaguna" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "SSIDa idatzi" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Pasahitza" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Hornitzea" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS botoi konexioa" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Aurkitu sare gordea" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Sakatu WPS Wi-Fi sargunean 2 minutu igaro baino lehen" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Ezeztatu" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Sartu zure identitatea" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Pasahitza idatzi" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Jakinarazi Wi-Fi sarea aurkitzen denean" + diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 0000000..4b48ee0 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Yhdistetty" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Yhdistetään..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Staattinen IP-osoite" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi otetaan käyttöön..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Unohda" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP-osoite" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Aliverkon peite" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Verkkoilmoitus" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Avoin" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Suojattu" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-osoite" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Välityspalvelimen portti" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Erinomainen" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Hyvä" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Hae" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi-verkot" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Yhteyttä katkaistaan..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dynaaminen IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Ei yhteyspisteitä" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Suojaustyyppi" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Piilotettu verkko" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wi-Fi poistetaan käytöstä..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Etsitään..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Valitse verkko" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP-menetelmä" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Yhdyskäytävän osoite" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Kirjoita salasana" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA-varmenne" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Määrittelemätön" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Käyttäjävarmenne" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Käyttäjätiedot" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Nimettömät käyttäjätiedot" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Anna käyttäjätiedot" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Anna nimettömät käyttäjätiedot" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Anna salasana" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Näytä salasana" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Välityspalvelimen osoite" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Signaalinvoimakkuus" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Yhdyskäytävä" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Kytketään pois päältä..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Ei suojausta" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Valitse verkko" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Heikko" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS käytettävissä" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Haetaan IP-osoitetta..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanava" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Ilmoita, kun avoin verkko on käytettävissä" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Lisää Wi-Fi-verkko" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Verkon nimi (SSID)" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automaattinen yhteyden muodostaminen tähän verkkoon poistetaan käytöstä. Jatketaanko?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Vaiheen 2 todennus" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Yhdistä" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Paina Wi-Fi-yhteyspisteesi WPS-painiketta %d minuutin kuluessa" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Tuntematon" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Anna SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Salasana" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Valmistelu" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS-painikeyhteys" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Etsi piilotettu verkko" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Paina Wi-Fi-yhteyspisteesi WPS-painiketta 2 minuutin kuluessa" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Peruuta" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Anna käyttäjätiedot" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Kirjoita salasana" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Ilmoita, kun Wi-Fi-verkko löytyy" + diff --git a/po/fr_CA.po b/po/fr_CA.po new file mode 100644 index 0000000..8c82ed7 --- /dev/null +++ b/po/fr_CA.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Connecté" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Connexion ..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "IP statique" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Activation wifi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Oublier" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Adresse IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Masque de sous-réseau" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notification du réseau" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Ouvrir" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Sécurisé" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Adresse MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Port proxy" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Excellent" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Bon" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Rechercher" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Réseaux Wifi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Déconnexion ..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "IP dynamique" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Aucun PA" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Type de sécurité" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Réseau masqué" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Désactivation wifi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Recherche..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Sélectionner un réseau" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Méthode EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Adresse de passerelle" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Saisir le mot de passe" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certificat de l'AC" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Non défini" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Certif. utilisat" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identité" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonyme" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Indiquer une identité" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Indiquer une identité anonyme" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Saisissez le mot de passe" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Afficher le mot de passe" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Adresse du serveur mandataire" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Force du signal" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Passerelle" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Désactivation..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Pas de sécurité" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Sélectionner un réseau" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Faible" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS disponible" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Obtention de l'adresse IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Chaine" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "M'avertir quand un réseau ouvert est disponible" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Ajouter un réseau wifi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID du réseau" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "La connexion automatique à ce réseau va être désactivée. Continuer ?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Authentification Phase 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Connexion" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Appuyez sur le bouton WPS de votre point d'accès wifi dans %d minutes" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Inconnu" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Entrer SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Mot de passe" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Préparation" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Connexion wifi protégée" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Rechercher le réseau masqué" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Appuyez sur le bouton WPS de votre point d'accès Wifi d'ici 2 minutes pour l'activer" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Annuler" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Indiquer votre identité" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Saisir le mot de passe" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "M'avertir lorsqu'un réseau Wifi est détecté" + diff --git a/po/fr_FR.po b/po/fr_FR.po new file mode 100644 index 0000000..6300823 --- /dev/null +++ b/po/fr_FR.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Connecté" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Connexion..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "IP statique" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Activation Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Oublier" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Adresse IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Masque de sous-réseau" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notification réseau" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Ouvert" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Sécurisé" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Adresse MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Port proxy" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Excellent" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Correct" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Analyser" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Réseaux Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Déconnexion..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "IP dynamique" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Aucun AP" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Type de sécurité" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Réseau masqué" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Désactivation Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Recherche..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Sélectionner un réseau" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Méthode EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Adresse de passerelle" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Saisir le mot de passe" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certificat CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Non défini" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Certif. utilisat." + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identité" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonyme" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Indiquer une identité" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Indiquer une identité anonyme" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Entrez le mot de passe" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Afficher le mot de passe" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Adresse de proxy" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Force du signal" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Passerelle" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Désactivation..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Pas de sécurité" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Sélectionner un réseau" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Faible" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS disponible" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Obtention de l'adresse IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Canal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "M'avertir quand un réseau ouvert est disponible" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Ajouter un réseau Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID du réseau" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "La connexion automatique à ce réseau va être désactivée. Continuer ?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Authentification Phase 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Connexion" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Appuyez sur la touche WPS de votre point d'accès Wi-Fi sous %d minutes" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Inconnu" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Entrer SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Mot de passe" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Préparation" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Connexion Touche WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Rechercher réseau masqué" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Appuyez sur la touche WPS de votre point d'accès Wi-Fi dans 2 minutes" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Annuler" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Indiquer votre identité" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Saisir le mot de passe" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "M'avertir lorsqu'un réseau Wi-Fi est détecté" + diff --git a/po/ga.po b/po/ga.po new file mode 100644 index 0000000..8b578dd --- /dev/null +++ b/po/ga.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Nasctha" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Ag nascadh..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "IP Statach" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi á chur i ngníomh..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Dearmad" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Seoladh IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Masc folíonra" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Fógra líonra" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Oscailte" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Slán" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Seoladh MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Seachphort" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Sármhaith" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Maith" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Scan" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Líonraí Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Ag dínascadh..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "IP Dinimiciúil" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Níl AP ann" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Cineál slándála" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Líonra folaithe" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wi-Fi á dhíghníomhachtú..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Ag cuardach..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Roghnaigh líonra" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Modh EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Seoladh geata" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Iontráil pasfhocal" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Deimhniú CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Neamhshonraithe" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Deimhniú úsáideora" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Aitheantas" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Aitheantas gan ainm" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Iontráil aitheantas" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Iontráil aitheantas gan ainm" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Iontráil pasfhocal" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Taispeáin pasfhocal" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Seoladh seachfhreastalaí" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Neart comhartha" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Geata" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Ag díghníomhachtú..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Níl slándáil ann" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Roghnaigh líonra" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Lag" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS atá ar fáil" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Seoladh IP á fháil..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Cainéal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Cuir in iúl dom nuair a bhíonn líonra ar oscailt ar fáil" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Cuir líonra Wi-Fi leis" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID Líonra" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Déanfar díchumasú ar an nasc uathoibríoch chuig an líonra seo. Ar aghaidh?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Fíordheimhniú chéim 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Nasc" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Brúigh WPS ar do phointe rochtana Wi-Fi laistigh de %d nóiméad" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Anaithnid" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Iontráil SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Pasfhocal" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Soláthar" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Cnaipe naisc WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Aimsigh líonra folaithe" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Brúigh WPS ar do phointe rochtana Wi-Fi laistigh de 2 nóiméad" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Cealaigh" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Iontráil d'aitheantas" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Iontráil pasfhocal" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Cuir in iúl dom ar aimsiú líonra Wi-Fi" + diff --git a/po/gl.po b/po/gl.po new file mode 100644 index 0000000..20b0b3e --- /dev/null +++ b/po/gl.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Conectado" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Conectando..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "IP estática" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Activando Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Ignorar" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Enderezo IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Máscara de subrede" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notificación de rede" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Abrir" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Protexida" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Enderezo MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Porto do proxy" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Excelente" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Bo" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Buscar" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Redes Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Desconectando..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "IP dinámica" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Non hai APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Tipo de seguridade" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Rede oculta" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Desactivando Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Buscando..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Seleccionar rede" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Método EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Enderezo de pasarela" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Introduza o contrasinal" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certificado CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Non especificado" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Certificado usua." + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identidade" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Identidade anónima" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Introducir identidade" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Introducir identidade anónima" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Introducir contrasinal" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Mostrar contrasinal" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Enderezo proxy" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Intensidade do sinal" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Pasarela" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Desactivando..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Sen seguridade" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Seleccionar rede" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Débil" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "Permite que WPS estea dispoñible" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Obtendo enderezo IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Canle" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Avisarme cando estea dispoñible unha rede aberta" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Engadir rede Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID de redes" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "A conexión automática a esta rede vaise desactivar. Continuar?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Autenticación da fase 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Conectar" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Pulsa no botón WPS no punto de acceso Wi-Fi dentro de %d minutos" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Descoñecido" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Introducir SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Contrasinal" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Aprovisionamento" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Conexión do botón WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Buscar rede oculta" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Pulsa no botón WPS no teu punto de acceso da Wi-Fi dentro de 2 minutos" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Cancelar" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Introducir a túa identidade" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Introduza o contrasinal" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Notificar cando se atope unha rede Wi-Fi" + diff --git a/po/hi.po b/po/hi.po new file mode 100644 index 0000000..60a6281 --- /dev/null +++ b/po/hi.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "जोड़ा गया" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "जोड़ा जा रहा है…" + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "स्थिर आईपी" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi सक्रिय हो रहा है..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "भूल जाएँ" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP पता" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "सबनेट मास्क" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "नेटवर्क नोटिफ़िकेशन" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "खोलें" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "सुरक्षित" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC पते" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "प्रॉक्सी पोर्ट" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "उत्तम" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "अच्छा" + +msgid "IDS_ST_BODY_SCAN" +msgstr "स्कैन" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi नेटवर्क्स" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "डिस्कनेक्ट हो रहा है..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "डायनामिक आईपी" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "APs नहीं" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "सुरक्षा प्रकार" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "छुपा नेटवर्क" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wi-Fi निष्क्रिय हो रहा है…" + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "खोज रहा है..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "नेटवर्क चुनें" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP विधि" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "गेटवे पता" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "पासवर्ड प्रविष्ट करें" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA प्रमाणपत्र" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "अनिर्दिष्ट" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "उपभोक्ता प्रमाणपत्र" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "पहचानें" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "अज्ञात पहचान" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "पहचान दर्ज करें" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "अज्ञात पहचान दर्ज करें" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "पासवर्ड इनपुट करें" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "पासवर्ड दिखाएँ" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "प्रॉक्सी पता" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "संकेत सामर्थ्य" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "गेटवे" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "निष्क्रिय हो रहा है…" + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "कोई सुरक्षा नहीं" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "नेटवर्क चुनें" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "दुर्बल" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS उपलब्ध" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP पता मिल रहा है..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "चैनल" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "ज़ब ओपन नेटवर्क उपलब्ध हो तो मुझे सूचित करें" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "WI-FI नेटवर्क जोड़ें" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "नेटवर्क SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "इस नेटवर्क के साथ स्वचालित कनेक्शन अक्षम हो जाएगा। जारी रखें?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "फ़ेज 2 प्रमाणीकरण" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "जोड़ें" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "%d मिनटों के अंदर आप के वाई-फाई अभिगम पॉइंट पर डब्ल्यूपीएस दबाएँ" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "अज्ञात" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "एसएसआईडी प्रविष्ट करें" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "पासवर्ड" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "प्रावधान" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS बटन कनेक्शन" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "छुपा नेटवर्क ढूँढें" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "2 मिनटों के अंदर आप के Wi-Fi ऍक्सेस पॉइंट पर WPS दबाएँ" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "रद्द" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "एसएसआईडी" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "अपनी पहचान दर्ज करें" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "पासवर्ड प्रविष्ट करें" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Wi-Fi नेटवर्क के प्राप्त होने पर सूचित करें" + diff --git a/po/hr.po b/po/hr.po new file mode 100644 index 0000000..1845652 --- /dev/null +++ b/po/hr.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Spojeno" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Spajanje..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Statički IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "WiFi uključivanje..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Zaboravi" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP adresa" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Maska podmreže" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Obavijest o mreži" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Otvorena" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Zaštićeno" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC adresa" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxy ulaz" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Odličan" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Signal dobar" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Traženje" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi mreže" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Odspajanje..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dinamički IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Nema AP" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Vrsta sigurnosti" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Skrivena mreža" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "WiFi isključivanje..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Pretraživanje..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Odaberite mrežu" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP način" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Adresa pristupnika" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Unesite šifru" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA certifikat" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Neodređeno" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Korisnič. potvrda" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identitet" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonimni identitet" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Unesi identitet" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Unesi anonimni identitet" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Unesite šifru" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Prikaži šifru" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Proxy adresa" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Jačina signala" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Isključivanje..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Nema zaštite" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Odaberite mrežu" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Slaba" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS dostupan" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Preuzimanje IP adrese..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Postaja" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Obavijesti o dostupnim otvorenim mrežama" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Dodaj Wi-Fi mrežu" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID mreže" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Isključiti će se automatsko spajanje na tu mrežu. Nastaviti?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "2. faza autorizacije" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Spoji" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Pritisnite WPS na Wi-Fi pristupnoj točki u roku od %d minute" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Nepoznato" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Unesite SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Šifra" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Preuzimanje" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Spajanje WPS tipkom" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Traži skrivenu mrežu" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Pritisnite WPS na Wi-Fi pristupnoj točki u roku od 2 min" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Prekid" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Unesi svoj identitet" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Unesite šifru" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Obavijesti kad je Wi-Fi mreža pronađena" + diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 0000000..732ecfb --- /dev/null +++ b/po/hu.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Csatlakoztatva" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Kapcsolódás..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Statikus IP-cím" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi aktiválása..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Elfelejt" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP-cím" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Alhálózati maszk" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "1. DNS" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "2. DNS" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Hálózati értesítés" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Nincs" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Titkosított" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-cím" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxy port" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Kiváló" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Jó" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Keresés" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi hálózatok" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Szétkapcsolás..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dinamikus IP-cím kiosztás" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Nincs AP" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Biztonság típusa" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Rejtett hálózat" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wi-Fi deaktiválása..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Keresés..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Hálózatválasztás" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP módszer" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Átjárócím" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Írja be a jelszót" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Hitelesítésszolgáltatói tanúsítvány" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Nincs megadva" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Felh. tanúsítv." + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Azonosító" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Névtelen azonosító" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Identitás megadása" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Név nélküli identitás megadása" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Adja meg a jelszót" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Jelszó megjelenítése" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Proxy címe" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Jelerősség" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Átjáró" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Deaktiválás..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Nincs biztonság" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Hálózatválasztás" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Gyenge" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS elérhető" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP-cím lekérése..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Csatorna" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Értesítsen, ha elérhető egy nyitott hálózat" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Wi-Fi-hálózat hozzáadása" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Hálózat neve (SSID)" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Ezzel letiltja az automatikus kapcsolódást ehhez a hálózathoz. Folytatja?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Phase 2 hitelesítés" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Kapcsolódás" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "%d percen belül nyomja meg a Wi-Fi hozzáférési pont WPS gombját" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Ismeretlen" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Adja meg az SSID-t" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Jelszó" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Előkészítés" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS gombos kapcsolódás" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Rejtett hálózat keresése" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "2 percen belül nyomja meg a Wi-Fi hozzáférési pont WPS gombját" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Mégse" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Adja meg az identitását" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Írja be a jelszót" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Értesítsen, ha Wi-Fi hálózatot talál" + diff --git a/po/hy.po b/po/hy.po new file mode 100644 index 0000000..e79bef0 --- /dev/null +++ b/po/hy.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Միացված է" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Միացում..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Ստատիկ IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi-ի ակտիվացում..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Մոռանալ" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP հասցե" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Ենթացանցի դիմակ" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Ցանցային ծանուցում" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Բացել" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Ապահով" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC հասցե" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Պրոքսիի պորտ" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Գերազանց" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Լավ" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Զննել" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi ցանցեր" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Անջատվում է..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Դինամիկ IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Ոչ մի APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Անվտանգության տեսակ" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Թաքցված ցանց" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wi-Fi-ի ապաակտիվացում..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Որոնում է..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Ընտրել ցանցը" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP եղանակ" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Ուղեմուտի հասցե" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Մուտքագրեք գաղտնաբառը" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA վկայական" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Սահմանված չէ" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Օգտվողի վկայական" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Ինքնություն" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Անանուն ինքնություն" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Մուտքագրել ինքնությունը" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Մուտքագրել անանուն ինքնությունը" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Ներածեք գաղտնաբառ" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Ցույց տալ գաղտնաբառը" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Պրոքսիի հասցե" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Ազդանշանի" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Մուտք" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Ապաակտիվացում..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Անվտանգության բացակայություն" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Ընտրել ցանցը" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Թույլ" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS-ը հասանելի է" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Ստացվում է IP հասցե..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Ալիք" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Ծանուցել բացված ցանցի մատչելիության դեպքում" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Ավելացնել Wi-Fi ցանց" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Ցանցի SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Ինքնամիացումն այս ցանցին կկասեցվի: Շարունակե՞լ:" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Փուլ 2 նույնականացում" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Միանալ" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Սեղմեք Ձեր Wi-Fi մուտքի կետի WPS-ը %d րոպե" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Անհայտ" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Մուտքագրեք SSID-ն" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Գաղտնաբառ" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Աշխատանքին նախապատրաստում" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS կոճակի միացում" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Փնտրել թաքնված ցանց" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Սեղմեք Ձեր Wi-Fi մուտքի կետի WPS-ը 2 րոպե" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Չեղարկել" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Մուտքագրեք Ձեր ինքնությունը" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Մուտքագրեք գաղտնաբառը" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Ծանուցել, երբ Wi-Fi ցանց է գտնվում" + diff --git a/po/is.po b/po/is.po new file mode 100644 index 0000000..0e1a3b6 --- /dev/null +++ b/po/is.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Tengt" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Verið er að tengjast..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Kyrrlegar IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Kveiki á Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Gleyma" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP vistfang" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Undirkerfi" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Kerfistilkynning" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Opna" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Öruggt" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-vistfang" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Tengi fyrir staðgengilnetþjón" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Frábært" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Gott" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Skanna" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi net" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Verið er að aftengja..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Breytileg IP-tala" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Engir APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Gerð öryggis" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Ósýnilegt net" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Slekk á Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Verið er að leita..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Velja símkerfi" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP-aðferð" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Vistfang gáttar" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Rita aðgangsorð" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA-skírteini" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Ótilgreint" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Notandavottorð" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Auðkenni" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Nafnlaust" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Sláðu inn auðkenni" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Sláðu inn nafnlaust auðkenni" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Tilgreina lykilorð" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Sýna lykilorð" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Vistfang staðgengilsnetþjóns" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Styrkleiki merkis" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gátt" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Slekk..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Ekkert öryggi" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Velja símkerfi" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Lítill" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS til staðar" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Sæki IP-tölu..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Stöð" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Tilkynna um opið kerfi" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Bæta við Wi-Fi neti" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID netkerfis" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Það verður slökkt á sjálfvirkri tengingu við þetta netkerfi. Viltu halda áfram?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "2. stigs sannprófun" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Tengjast" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Ýttu á Nettengingu á Wi-Fi aðgangsstaðnum innan %d mínútna" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Óþekkt" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Tilgreinið SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Aðgangsorð" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Úthlutun" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Nettengingarhnappur" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Finna falið net" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Ýttu á WPS á Wi-Fi aðgangsstaðnum innan 2 mínútna" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Hætta v." + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Sláðu inn þitt auðkenni" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Rita aðgangsorð" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Tilkynna þegar Wi-Fi net finnst" + diff --git a/po/it_IT.po b/po/it_IT.po new file mode 100644 index 0000000..342038f --- /dev/null +++ b/po/it_IT.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Connesso" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Connessione..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "IP statico" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Attivazione Wi-Fi in corso" + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Rimuovi" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Indirizzo IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Maschera di sottorete" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notifica di rete" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Non protetta" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Protetto" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Indirizzo MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Porta" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Eccellente" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Buono" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Scansione" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Reti Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Disconnessione..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "IP dinamico" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Nessuna rete Wi-Fi" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Tipo protezione" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Rete nascosta" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Disattivazione Wi-Fi in corso" + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Ricerca..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Selezione rete" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Metodo EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Indirizzo gateway" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Inserisci password" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certificato CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Non specificato" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Certific. utente" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identità" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Identità anonima" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Inserisci identità" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Inserisci identità anonima" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Inserisci password" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Mostra password" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Indirizzo proxy" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Potenza del segnale" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Disattivazione..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Nessuna protezione" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Selezione rete" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Debole" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "Disponibile WPS" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Ottenimento indirizzo IP in corso..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Canale" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Notifica reti Wi-Fi disponibili" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Aggiungi rete Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID di rete" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "La connessione automatica a questa rete sarà disattivata. Continuare?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Autenticazione fase 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Connetti" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Premere WPS sul punto di accesso Wi-Fi entro %d minuti" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Sconosciuto" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Inserisci SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Password" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Provisioning" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Connessione tasto WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Trova rete nascosta" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Premi WPS sul punto di accesso Wi-Fi entro 2 minuti" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Annulla" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Inserisci l'identità" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Inserisci password" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Notifica al rilevamento della rete Wi-Fi" + diff --git a/po/ja_JP.po b/po/ja_JP.po new file mode 100644 index 0000000..ee2d05f --- /dev/null +++ b/po/ja_JP.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "接続しました。" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "接続中..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "静的IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fiを起動中..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "切断" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IPアドレス" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "サブネットマスク" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "ネットワーク通知" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "オープン" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "セキュリティ保護" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MACアドレス" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "プロキシポート" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "とても良い" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "強" + +msgid "IDS_ST_BODY_SCAN" +msgstr "スキャン" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fiネットワーク" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "切断中..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "ダイナミックIP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "APsがありません。" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "セキュリティタイプ" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "非表示ネットワーク" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wi-Fiを無効にしています..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "検索中..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "ネットワークを選択" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP方法" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "ゲートウェイアドレス" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "パスワードを入力" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA証明書" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "設定なし" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "ユーザー証明書" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "ID" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "匿名ID" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "IDを入力" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "匿名IDを入力" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "パスワードを入力" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "パスワードを表示" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "プロキシアドレス" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "電波強度" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "ゲートウェイ" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "解除中..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "セキュリティ保護なし" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "ネットワークを選択" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "弱い" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS利用可能" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IPアドレスを取得中..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "チャンネル" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "オープンネットワークが利用できる時に通知" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Wi-Fiネットワークを追加" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "ネットワークSSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "このネットワークへの自動接続を無効にします。続行しますか?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "フェーズ2認証" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "接続" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "%d分以内にWi-FiアクセスポイントのWPSボタンを押してください。" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "不明" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "SSIDを入力" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "パスワード" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "プロビジョニング" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPSボタン接続" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "非表示ネットワークを検索" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "2分以内にWi-FiアクセスポイントのWPSボタンを押してください。" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "キャンセル" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "あなたのIDを入力" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "パスワードを入力" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Wi-Fiネットワークを検出すると通知" + diff --git a/po/ka.po b/po/ka.po new file mode 100644 index 0000000..102e610 --- /dev/null +++ b/po/ka.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "დაკავშირებულია" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "უკავშირდება..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "სტატიკური IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "აქტიურდება Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "დავიწყება" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP მისამართი" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "ქვექსელის ნიღაბი" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "ქსელის შეტყობინება" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "გახსნა" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "დაცული" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC მისამართი" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "პროქსი სერვერის პორტი" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "ბრწყინვალეა" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "კარგი" + +msgid "IDS_ST_BODY_SCAN" +msgstr "სკანირება" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi ქსელები" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "გამორთვა..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "დინამიკური IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "APs არ არის" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "დაცვის ტიპი" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "დაფარული ქსელი" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "თავიდან აქტიურდება Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "იძებნება..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "ქსელის შერჩევა" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP მეთოდი" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "გასასვლელის მისამართი" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "პაროლის შეყვანა" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA სერთიფიკატი" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "დაუზუსტებელი" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "მომხ. სერთიფიკატი" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "პირადობა" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "ანონიმური პირადობა" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "შეიყვანეთ საიდენტიფიკაციო ინფორმაცია" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "შეიყვანეთ ანონიმური საიდენტიფიკაციო ინფორმაცია" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "ჩაწერეთ პაროლი" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "გამოჩნდეს პაროლი" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "პროქსი სერვერის მისამართი" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "სიგნალის სიძლიერე" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "გასასვლელი" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "გამორთვა..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "არაა უსაფრთხო" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "ქსელის შერჩევა" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "სუსტი" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS მისაწვდომია" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "მიმდინარეობს IP მისამართის მიღება..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "არხი" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "მსურს მივიღო შეტყობინება, როცა ღია ქსელი მისაწვდომი იქნება" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Wi-Fi ქსელის დამატება" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID ქსელი" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "ამ ქსელთან ავტომატური დაკავშირება გამოირთვება. განაგრძობთ?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "ფაზა 2-ის ავტორიზაცია" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "დაკავშირება" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "მაქსიმუმ %d წუთში დააჭირეთ WPS–ს თქვენი Wi-Fi წვდომის წერტილზე" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "უცნობი" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "SSID შეტანა" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "პაროლი" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "მომზადება" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS ღილაკით დაკავშირება" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "ფარული ქსელის ძებნა" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "მაქსიმუმ 2 წუთში დააჭირეთ WPS-ს თქვენს Wi-Fi წვდომის წერტილზე" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "გაუქმება" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "შეიყვანეთ თქვენი საიდენტიფიკაციო ინფორმაცია" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "პაროლის შეყვანა" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "შეტყობინება მოვიდეს, როდესაც მოიძებნება Wi-Fi ქსელი" + diff --git a/po/kk.po b/po/kk.po new file mode 100644 index 0000000..9e6300f --- /dev/null +++ b/po/kk.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Қосылды" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Қосылуда..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Статикалық IP-мекен-жай" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi белсендірілуде..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Ұмыту" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP-мекен-жай" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Бағыныңқы желі енгізу бүркеніші" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Желілік мәлімдеме" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Ашу" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Қауіпсіз" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC мекенжайы" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Порт прокси" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Өте жақсы" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Жақсы" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Қарап шығу" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi желілері" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Ажырату" + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Динамикалық IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Ешқандай APs жоқ" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Қорғаныс түрі" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Жасырын желі" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wi-Fi сөндірілуде..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Іздеуде...." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Желі таңдау" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP әдісі" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Ену нүктесінің адресі" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Кілтсөз енгізіңіз" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA Сертификаты" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Анықталмаған" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Пайдал-шы куәлігі" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Тұлғалық" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Анонимді тұлғалық" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Идентификаторды енгізу" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Анонимді идентификаторды енгізу" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Құпиясөз енгізу" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Құпиясөзді көрсету" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Прокси адресі" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Дабыл күші" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Өшірілуде.." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Қауіпсіздік жоқ" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Желі таңдау" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Әлсіз" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS қол жетімді" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP мекенжайы алынуда..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Арна" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Ашық желі қол жетімді болғанда маған хабарлаңыз" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Wi-Fi желісін қосу" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Желілік SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Бұл желіге автоматты қосылу өшіріледі. Жалғастыру керек пе?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "2-кезең аутентификациясы" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Қосу" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Wi-Fi қатынас нүктесіндегі WPS пернесін %d минут ішінде басыңыз" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Белгісіз" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "SSID нөмірін енгізу" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Кілтсөз" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Қамтамасыз ету" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS түймесімен қосылу" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Жасырын желіні табу" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Wi-Fi кіру нүктесіндегі WPS пернесін 2 минут ішінде басыңыз" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Тоқтату" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Идентификаторды енгізу" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Кілтсөз енгізіңіз" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Wi-Fi желісі табылғанда хабарлау" + diff --git a/po/ko_KR.po b/po/ko_KR.po new file mode 100644 index 0000000..42e9be4 --- /dev/null +++ b/po/ko_KR.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "연결되었습니다" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "연결 중..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "고정 IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi 실행 중..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "저장 안 함" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP 주소" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "서브넷 마스크" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "네트워크 알림" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "공개" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "보안" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC 주소" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "프록시 포트" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "매우 좋음" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "좋음" + +msgid "IDS_ST_BODY_SCAN" +msgstr "검색" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi 네트워크" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "연결을 끊는 중..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "유동 IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "APs가 없습니다" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "보안 형식" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "허용되지 않은 네트워크" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wi-Fi 연결을 끊는 중..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "검색 중..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "네트워크를 선택하세요" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP 방식" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "게이트웨이 주소" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "비밀번호를 입력하세요" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA 인증서" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "설정 안 함" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "사용자 인증서" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "ID" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "익명 ID" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "ID를 입력하세요" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "익명 ID를 입력하세요" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "비밀번호를 입력하세요" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "비밀번호 표시" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "프록시 주소" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "신호 세기" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "게이트웨이" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "해제 중..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "보안기능 없음" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "네트워크 선택" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "약함" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS 사용 가능" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP 주소 불러오는 중..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "채널" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "공개 네트워크를 사용할 수 있을 때 알려줍니다" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Wi-Fi 네트워크 추가" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "네트워크 SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "이 네트워크로 자동 연결이 해제됩니다. 계속할까요?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "2단계 인증" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "연결" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Wi-Fi 액세스 포인트에서 %d분 안에 WPS 버튼을 누르세요" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "알 수 없음" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "SSID를 입력하세요" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "비밀번호" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "설정 준비" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS 버튼 연결" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "숨겨진 네트워크 검색" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Wi-Fi 액세스 포인트에서 WPS 버튼을 2분 안에 누르세요" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "취소" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "ID를 입력하세요" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "비밀번호를 입력하세요" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Wi-Fi 네트워크가 검색되면 알려줍니다" + diff --git a/po/lt.po b/po/lt.po new file mode 100644 index 0000000..01dcd9c --- /dev/null +++ b/po/lt.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Prisijungta" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Jungiamasi..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Statinis IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Aktyvinama „Wi-Fi“..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Pamiršti" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP adresas" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Potinklio maskuotė" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "1 DNS" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "2 DNS" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Tinklo pranešimas" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Atidaryti" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Apsaugota" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC adresas" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxy prievadas" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Puiku" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Geras" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Skenuoti" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "„Wi-Fi“ tinklai" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Atjungiama..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dinaminis IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Nėra APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Saugos tipas" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Paslėptasis tinklas" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Išjungiama „Wi-Fi“..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Ieškoma..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Rinktis tinklą" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP būdas" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Šliuzo adresas" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Įvesti slaptažodį" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA sertifikatas" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Nenurodytas" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Naud. sertifik." + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Tapatybė" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonimas" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Įveskite tapatybę" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Įveskite anonimišką tapatybę" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Įveskite slaptažodį" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Rodyti slaptažodį" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Proxy serverio adresas" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Signalo stiprumas" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Šliuzas" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Išjungiama..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Nėra apsaugos" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Rinktis tinklą" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Silpnas" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "Prieinamas WPS" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Gaunamas IP adresas..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanalas" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Pranešti man, kai atsiras atviras tinklas" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Pridėti „Wi-Fi“ tinklą" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Tinklo SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automatinis jungimasis prie šio tinklo bus išjungtas. Tęsti?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "2 fazės patvirtinimas" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Jungtis" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Paspauskite WPS mygtuką „Wi-Fi“ prieigos taške per %d min." + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Nežinomas" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Įvesti SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Slaptažodis" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Teikimas" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS mygtuko ryšys" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Rasti paslėptą tinklą" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Per 2 min. paspauskite WPS mygtuką „Wi-Fi“ prieigos taške" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Atšaukti" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Įveskite savo tapatybę" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Įvesti slaptažodį" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Pranešti aptikus „Wi-Fi“ tinklą" + diff --git a/po/lv.po b/po/lv.po new file mode 100644 index 0000000..56e7db9 --- /dev/null +++ b/po/lv.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Savienots" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Savieno..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Statiska IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Aktivizē Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Aizmirst" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP adrese" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Apakštīkla maska" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Tīkla paziņojums" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Atvērt" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Aizsargāts" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC adrese" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Starpniekservera ports" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Izcili" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Labs" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Meklēt" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi tīkli" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Atvieno..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dinamiskais IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Nav APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Drošības veids" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Paslēpts tīkls" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Deaktivizē Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Meklē..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Izvēlieties tīklu" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP metode" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Vārtejas adrese" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Ievadiet paroli" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA sertifikāts" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Nav norādīts" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Liet.sertifikāts" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identitāte" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonīma identitāte" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Ievadiet identitāti" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Ievadiet anonīmu identitāti" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Ievadīt paroli" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Rādīt paroli" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Starpniekservera adrese" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Signāla stiprums" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Vārteja" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Deaktivizē..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Bez drošības" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Izvēlieties tīklu" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Vājš" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS ir pieejams" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Iegūst IP adresi..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanāls" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Brīdināt mani, ja ir pieejams atvērtais tīkls" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Pievienot Wi-Fi tīklu" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Tīkla SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automātiskais savienojums ar šo tīklu tiks deaktivizēts. Vai turpināt?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "2. fāzes autentifikācija" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Savienot" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "%d minūšu laikā uz Wi-Fi piekļuves punkta nospiediet WPS" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Nezināms" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Ievadiet SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Parole" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Nodrošināšana" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS pogas savienojums" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Atrast slēptu tīklu" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "2 minūšu laikā Wi-Fi piekļuves punktā nospiediet WPS" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Atcelt" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Ievadiet savu identitāti" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Ievadiet paroli" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Paziņot, kad ir atrasts Wi-Fi tīkls" + diff --git a/po/mk.po b/po/mk.po new file mode 100644 index 0000000..a4a9efe --- /dev/null +++ b/po/mk.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Поврзано" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Поврзување..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Статичен IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Се активира Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Заборави" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP адреса" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Подмрежна маска" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Мрежно известување" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Отвори" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Обезбедено" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-адреса" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Порт за прокси" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Одлично" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Добро" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Скенирај" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Мрежи Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Врската се прекинува..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Динамичен IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Нема APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Тип на сигурност" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Скриена мрежа" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Се исклучува Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Пребарување..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Избери мрежа" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Начин за EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Адреса на порта" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Внесете лозинка" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA сертификат" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Неодредено" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Кор. сертификат" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Идентитет" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Анонимен идентитет" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Внесете идентитет" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Внесете анонимен идентитет" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Внесете лозинка" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Прикажи лозинка" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Адреса на прокси" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Јачина на сигналот" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Порта" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Се исклучува..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Без сигурност" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Избери мрежа" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Слаб" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "Достапно е WPS" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Се добива IP-адреса..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Станица" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Извести ме кога е достапна отворена мрежа" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Додај мрежа Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Мрежен SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Автоматското поврзување со оваа мрежа ќе се исклучи. Продолжи?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Потврдување, 2 фаза" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Поврзи" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Притиснете WPS на пристапната точка за Wi-Fi во рок од %d минути" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Непознато" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Внесете SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Лозинка" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Пружање" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Поврзување со копче WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Најди скриена мрежа" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Притиснете WPS на пристапната точка за Wi-Fi во рок од 2 минути" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Откажи" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Внесете го својот идентитет" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Внесете лозинка" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Извести ме кога ќе се најде Wi-Fi мрежа" + diff --git a/po/nb.po b/po/nb.po new file mode 100644 index 0000000..178221e --- /dev/null +++ b/po/nb.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Tilkoblet" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Kobler til..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Statisk IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Aktiverer Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Glem" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP-adresse" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Subnettmaske" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Nettverksvarsel" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Åpen" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Sikret" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-adresse" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxy-port" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Supert" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "God" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Skann" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi-nettverk" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Kobler fra..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dynamisk IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Ingen AP-er" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Sikkerhetstype" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Skjult nettverk" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Deaktiverer Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Søker..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Velg nettverk" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP-metode" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Gateway-adresse" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Angi passord" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA-sertifikat" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Uspesifisert" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Brukersertifikat" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identitet" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonym identitet" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Angi identitet" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Angi anonym identitet" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Skriv inn passord" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Vis passord" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Proxy-adresse" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Signalstyrke" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Deaktiverer..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Ingen sikkerhet" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Velg nettverk" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Svak" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS tilgjengelig" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Henter IP-adresse..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Varsle meg når et åpent nettverk er tilgjengelig" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Legg til Wi-Fi-nettverk" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Nettverks-SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automatisk tilkobling til dette nettverket vil bli deaktivert. Fortsette?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Fase 2 godkjenning" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Koble til" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Trykk på WPS på Wi-Fi-tilgangspunktet innen %d minutter" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Ukjent" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Angi SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Passord" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Tilgang" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS-knapptilkobling" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Finn skjult nettverk" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Trykk på WPS på Wi-Fi-tilgangspunktet innen 2 minutter" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Avbryt" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Angi din identitet" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Angi passord" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Varsle når Wi-Fi-nettverk blir funnet" + diff --git a/po/nl_NL.po b/po/nl_NL.po new file mode 100644 index 0000000..5d01ffb --- /dev/null +++ b/po/nl_NL.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Verbonden" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Verbinden..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Vast IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi activeren..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Vergeten" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP-adres" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Subnetmasker" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Netwerkmelding" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Open" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Beveiligd" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-adres" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Poort proxy" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Uitstekend" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Goed" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Scannen" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi-netwerken" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Verbinding verbreken..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dynamische IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Geen AP’s" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Beveiligingstype" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Verborgen netwerk" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wi-Fi deactiveren..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Zoeken..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Netwerk kiezen" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP-methode" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Gateway-adres" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Wachtwoord invoeren" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA-certificaat" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Niet-gespecificeerd" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Gebr.certificaat" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identiteit" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonieme identiteit" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Identiteit opgeven" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Anonieme identiteit opgeven" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Wachtwoord ingeven" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Wachtwoord tonen" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Proxyadres" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Signaalsterkte" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Uitschakelen..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Geen beveiliging" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Netwerk kiezen" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Zwak" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS beschikbaar" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP-adres ophalen..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanaal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Melden wanneer open netwerk beschikbaar is" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Wi-Fi-netwerk toevoegen" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Netwerk-SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automatische verbinding met dit netwerk wordt uitgeschakeld. Doorgaan?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Verificatie fase 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Verbinden" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Druk binnen %d minuten op WPS op uw Wi-Fi-toegangspunt" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Onbekend" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Geef SSID in" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Wachtwoord" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Voorziening" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Verbinding WPS-knop" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Verborgen netwerk zoeken" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Druk binnen 2 minuten op WPS op uw Wi-Fi-toegangspunt" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Annuleer" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Uw identiteit opgeven" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Wachtwoord invoeren" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Melden wanneer een Wi-Fi-netwerk is gevonden" + diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000..1861578 --- /dev/null +++ b/po/pl.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Połączono" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Łączenie..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Statyczny adres IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Włączanie Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Zapomnij" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Adres IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Maska podsieci" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Powiadomienie o sieci" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Otwarta" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Zabezpieczona" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Adres MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Port serwera proxy" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Doskonale" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Dobry" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Skanuj" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Sieci Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Rozłączanie..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dynamiczny adres IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Brak APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Typ zabezpieczeń" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Ukryta sieć" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wyłączanie Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Wyszukiwanie..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Wybór sieci" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Metoda EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Adres bramy" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Wpisz hasło" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certyfikat CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Nieokreślony" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Certyfikat użytk." + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Tożsamość" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Tożsamość anonimowa" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Wprowadź tożsamość" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Wprowadź tożsamość anonimową" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Wprowadź hasło" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Wyświetl hasło" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Adres serwera proxy" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Moc sygnału" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Brama" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Wyłączanie..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Brak zabezpieczeń" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Wybór sieci" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Słaba" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "Funkcja WPS dostępna" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Uzyskiwanie adresu IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanał" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Powiadamiaj o dostępności otwartej sieci" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Dodaj sieć Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID sieci" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automatyczne połączenie z tą siecią zostanie wyłączone. Kontynuować?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Etap 2 uwierzytelniania" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Połącz" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Naciśnij przycisk WPS punktu dostępu do sieci Wi-Fi w ciągu %d minut" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Nieznana" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Podaj numer SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Hasło" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Zastrzeganie" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Autom. łączenie WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Znajdź ukrytą sieć" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Naciśnij przycisk WPS punktu dostępu do sieci Wi-Fi w ciągu 2 min" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Anuluj" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Wprowadź swoją tożsamość" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Wpisz hasło" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Powiadamiaj o znalezieniu sieci Wi-Fi" + diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000..735729e --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Conectado" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Conectando..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "IP fixo" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Ativando Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Esquecer" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Endereço IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Máscara de subrede" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notificação de rede" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Aberta" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Protegida" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Endereço MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Porta do proxy" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Excelente" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Bom" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Pesquisar" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Redes Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Desconectando..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "IP dinâmico" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Nenhum APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Tipo de segurança" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Rede oculta" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Desativando Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Procurando..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Selecione rede" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Método EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Endereço do gateway" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Insira senha" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certificado de CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Não especificado" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Certif. utilizad." + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identidade" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Identidade anônima" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Inserir identidade" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Inserir identidade anônima" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Senha de entrada" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Exibir senha" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Endereço proxy" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Potência do sinal" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Desativando…" + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Sem segurança" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Selecione rede" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Fraco" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS disponível" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Obtendo endereço IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Canal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Notificar-me quando estiver disponível uma rede aberta" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Adicionar rede Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID de rede" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "A conexão automática a esta rede será desativada. Continuar?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Autenticação de fase de 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Conectar" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Pressione WPS no seu ponto de acesso Wi-Fi dentro de %d minutos" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Desconhecido" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Inserir SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Senha" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Provisionamento" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Conexão de botão WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Localizar rede oculta" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Pressione o botão WPS em seu ponto de acesso Wi-Fi dentro de 2 minutos" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Cancelar" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Inserir sua identidade" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Insira senha" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Notifique quando uma rede Wi-Fi é encontrada" + diff --git a/po/pt_PT.po b/po/pt_PT.po new file mode 100644 index 0000000..ca6a1a7 --- /dev/null +++ b/po/pt_PT.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Ligado" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "A ligar..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "IP estático" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "A activar Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Esquecer" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Endereço IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Máscara de sub-rede" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notificação de rede" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Aberta" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Seguro" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Endereço MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Porta de proxy" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Excelente" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Bom" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Procurar dispositivos" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Redes Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "A desligar..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "IP dinâmico" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Nenhuns APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Tipo de segurança" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Rede oculta" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "A desactivar Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "A procurar..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Seleccionar rede" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Método EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Endereço de gateway" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Introduzir palavra-passe" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certificado de CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Não especificado" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Certif. utilizad." + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identidade" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Identidade anónima" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Introduzir identidade" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Introduzir identidade anónima" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Introduzir palavra-passe" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Mostrar palavra-passe" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Endereço proxy" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Potência do sinal" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "A desactivar..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Sem segurança" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Seleccionar rede" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Fraca" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS disponível" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "A obter endereço IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Canal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Notificar-me quando estiver disponível uma rede aberta" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Adicionar rede Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID de rede" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "A ligação automática a esta rede será desactivada. Continuar?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Autenticação de fase 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Ligar" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Prima WPS no seu ponto de acesso Wi-Fi dentro de %d minutos" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Desconhecido" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Introduzir SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Palavra-passe" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Aprovisionamento" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Ligação de botão WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Localizar rede oculta" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Prima WPS no seu ponto de acesso Wi-Fi dentro de 2 minutos" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Cancelar" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Introduza a sua identidade" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Introduzir palavra-passe" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Notificar quando for encontrada rede Wi-Fi" + diff --git a/po/ro.po b/po/ro.po new file mode 100644 index 0000000..eee73f6 --- /dev/null +++ b/po/ro.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Conectat" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Conectare" + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "IP static" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Se activează Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Revocare" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Adresă IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Mască subreţea" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notificare reţea" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Deschidere" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Securizat" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Adresă MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Port proxy" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Excelent" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Bun" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Căutare" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Reţele Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Deconectare" + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Adresă IP dinamică" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Niciun AP" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Tip de securitate" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Reţea ascunsă" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Se dezactivează Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Căutare..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Selectare reţea" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Metodă EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Adresă gateway" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Introduceţi parola" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certificat CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Nespecificat" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Certif. utiliz." + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identitate" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Identitate anonimă" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Introducere identitate" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Introducere identitate anonimă" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Introduceţi parola" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Afişare parolă" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Adresă proxy" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Putere semnal" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Dezactivare..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Fără securitate" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Selectare reţea" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Slabă" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS disponibil" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Se obţine adresa IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Canal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Notificare disponibilitate reţea deschisă" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Adăugare reţea Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID reţea" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Va fi dezactivată conectarea automată la această reţea. Continuaţi?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Autentificare în faza 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Conectare" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Apăsaţi pe WPS pe punctul dvs. de acces Wi-Fi în interval de %d minute" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Necunoscut" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Introducere SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Parolă" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Asigurare acces" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Buton conexiune WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Găsire reţea ascunsă" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Apăsaţi pe WPS pe punctul de acces Wi-Fi în interval de 2 minute" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Anulare" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Introduceţi identitatea dvs." + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Introduceţi parola" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Notificare la găsirea reţelei Wi-Fi" + diff --git a/po/ru_RU.po b/po/ru_RU.po new file mode 100644 index 0000000..47efe45 --- /dev/null +++ b/po/ru_RU.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Подключено" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Подключение..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Статический IP-адрес" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Активация Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Забыть" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP-адрес" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Маска подсети" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Уведомление о сетях" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Открытый" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Защищенная" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-адрес" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Порт прокси" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Супер" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Хороший" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Поиск" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Сети Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Отключение..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Динамический IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Нет точек доступа" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Тип защиты" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Скрытая сеть" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Выключение Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Поиск..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Выбор сети" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Метод EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Адрес шлюза" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Введите пароль" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Сертификат" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Не указано" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Сертиф. пользов." + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Удостоверение" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Анонимный пользователь" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Введите удостоверение" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Введите анонимное удостоверение" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Введите пароль" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Показать пароль" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Адрес прокси" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Уровень сигнала" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Шлюз" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Выключение..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Нет защиты" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Выбор сети" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Слабый" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "Доступен протокол WPS" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Получение IP-адреса..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Канал" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Уведомлять при наличии общедоступной сети" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Добавить сеть Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID сети" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Автоматическое подключение к этой сети будет отключено. Продолжить?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Проверка подлинности этапа 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Подключиться" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Нажмите кнопку WPS на точке доступа Wi-Fi в течение %d мин." + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Неизвестно" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Введите SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Пароль" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Подготовка" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Подключение кнопки WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Найти скрытую сеть" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Нажмите кнопку WPS на точке доступа Wi-Fi в течение 2 мин" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Отмена" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Введите свое удостоверение" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Введите пароль" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Уведомлять об обнаружении сети Wi-Fi" + diff --git a/po/sk.po b/po/sk.po new file mode 100644 index 0000000..3d98a13 --- /dev/null +++ b/po/sk.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Pripojené" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Pripájanie..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Pevná adresa IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Aktivuje sa Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Zabudnúť" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "Adresa IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Maska podsiete" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Sieťové oznámenie" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Otvoriť" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Zabezpečené" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Adresa MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Port proxy servera" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Výborné" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Dobrý" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Vyhľadať" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Siete Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Odpájanie..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dynamická IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Žiadne prístupové body" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Typ zabezpečenia" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Skrytá sieť" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Deaktivuje sa Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Hľadanie..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Vybrať sieť" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Metóda EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Adresa brány" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Zadajte heslo" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certifikát certifikačného úradu" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Nešpecifik." + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Použ. certifikát" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identita" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonymná identita" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Zadajte identitu" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Zadajte anonymnú identitu" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Zadajte heslo" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Zobraziť heslo" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Adresa proxy" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Intenzita signálu" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Brána" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Deaktivácia..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Žiadne zabezpečenie" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Vybrať sieť" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Slabá" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS je k dispozícii" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Získava sa adresa IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanál" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Upozorniť pri dostupnosti otvorenej siete" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Pridať sieť Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID siete" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automatické pripojenie na túto sieť bude zakázané. Pokračovať?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Overovanie fázy 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Pripojiť" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Do %d minút stlačte tlačidlo WPS na prístupovom bode Wi-Fi" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Neznáme" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Zadajte SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Heslo" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Poskytovanie prístupu" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Pripojenie tlačidlom WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Hľadať skrytú sieť" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Do 2 minút stlačte tlačidlo WPS na prístupovom bode Wi-Fi" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Zrušiť" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Zadajte vašu identitu" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Zadajte heslo" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Oznámiť, keď sa nájde sieť Wi-Fi" + diff --git a/po/sl.po b/po/sl.po new file mode 100644 index 0000000..1ba80f2 --- /dev/null +++ b/po/sl.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Povezano" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Povezujem..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Statični IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Vklapljanje Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Pozabi" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP naslov" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Maska podomrežja" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Obvestilo o omrežju" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Odprto omrežje" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Zaščiteno" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Naslov MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Vrata strežnika proxy" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Čudovito" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Dober" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Preišči" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Omrežja Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Prekinjam" + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dinamični IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Brez Aps" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Vrsta zaščite" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Skrito omrežje" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Izklapljanje Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Iščem" + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Izberi omrežje" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Način EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Naslov prehoda" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Vnesite geslo" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Certifikat CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Ni določeno" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Uporab.certifikat" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identiteta" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonimna identiteta" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Vnesite identiteto" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Vnesite anonimno identiteto" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Vnesite geslo" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Prikaži geslo" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Naslov strežnika proxy" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Moč signala" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Prehod" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Izključujem..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Ni zaščite" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Izberi omrežje" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Šibko" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS je na voljo" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Pridobivanje naslova IP ..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Obvesti me, ko bo na voljo odprto omrežje" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Dodaj omrežje Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID omrežja" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Samodejna povezava v to omrežje bo onemogočena. Nadaljujem?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Faza 2 overitve" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Poveži" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Pritisnite WPS na dostopni točki Wi-Fi v %d minutah" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Neznano" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Vnesite SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Geslo" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Omogočanje uporabe" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "Povezava gumba WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Poišči skrito omrežje" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Pritisnite WPS na dostopni točki Wi-Fi v 2 minutah" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Prekliči" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Vnesite svojo identiteto" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Vnesite geslo" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Obvestilo, ko je najdeno omrežje Wi-Fi" + diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 0000000..8e3f722 --- /dev/null +++ b/po/sr.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Povezan" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Povezivanje..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Statička IP adresa" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Aktivira se Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Zaboravi" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP adresa" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Maska podmreže" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Obaveštenje putem mreže" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Otvori" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Obezbeđeno" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC adresa" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Port proksija" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Odlično" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Dobar" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Skeniraj" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi mreže" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Prekidanje veze..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dinamička IP adresa" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Nema pristupnih tačaka" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Tip bezbednosti" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Skrivena mreža" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Deaktivira se Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Pretraga..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Izaberi mrežu" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP način" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Adresa mrežnog prolaza" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Unesi šifru" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA sertifikat" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Neodređeno" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Korisnički sert." + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identitet" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonimnost" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Unesi identitet" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Unesi anonimnost" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Unesi šifru" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Prikaži šifru" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Adresa proksija" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Jačina signala" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Mrežni prolaz" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Deaktivacija..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Nema bezbednosti" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Izaberi mrežu" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Slabo" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS je dostupan" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Pribavljanje IP adrese..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Obavesti me kada bude dostupna neka otvorena mreža" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Dodaj Wi-Fi mrežu" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID mreže" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automatsko priključivanje na ovu mrežu će biti onemogućeno. Nastavak?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Autentikacija faze 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Poveži se" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Pritisni WPS dugme na Wi-Fi pristupnoj tački u roku od %d minuta" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Nepoznato" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Unesi SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Šifra" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Pribavljanje" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS dugme veza" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Nađi skrivenu mrežu" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Pritisni WPS dugme na Wi-Fi pristupnoj tački u roku od 2 minuta" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Poništi" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Unesi svoj identitet" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Unesi šifru" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Obavesti me kada se pronađe Wi-Fi mreža" + diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 0000000..f9388f4 --- /dev/null +++ b/po/sv.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Ansluten" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Ansluter..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Statisk IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Aktiverar Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Glöm" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP-adress" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Nätmask" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Nätverksmeddelande" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Öppen" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Skyddad" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-adress" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxyport" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Utmärkt" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Bra" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Sök" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi-nätverk" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Kopplar från..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dynamisk IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Inga APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Säkerhetstyp" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Dolt nät" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Avaktiverar Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Söker..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Välj nät" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP-metod" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Gateway-adress" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Ange lösenord" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA-certifikat" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Ospecificerad" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Användarcert." + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identitet" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonym identitet" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Ange identitet" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Ange anonym identitet" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Ange lösenord" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Visa lösenord" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Proxy-adress" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Signalstyrka" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Deaktiverar..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Ingen säkerhet" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Välj nätverk" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Svag" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS är tillgängligt" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Hämtar IP-adress..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Meddela mig när ett öppet nätverk är tillgängligt" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Lägg till Wi-Fi-nätverk" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Nätverks-SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Automatisk anslutning till det här nätverket avaktiveras. Fortsätta?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Fas 2-autentisering" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Anslut" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Tryck på WPS på Wi-Fi-åtkomstpunkten inom %d minuter" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Okänd" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Ange SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Lösenord" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Åtkomst" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS-knappsanslutning" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Hitta dolt nätverk" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Tryck på WPS på Wi-Fi-åtkomstpunkten inom 2 minuter" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Avbryt" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Ange din identitet" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Ange lösenord" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Meddela mig när ett Wi-Fi-nätverk hittats" + diff --git a/po/tr_TR.po b/po/tr_TR.po new file mode 100644 index 0000000..ba5106a --- /dev/null +++ b/po/tr_TR.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Bağlantı kuruldu" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Bağlanılıyor..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Statik IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi etkinleştiriliyor..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Unut" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP adresi" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Alt ağ maskesi" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Ağ bildirimi" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Aç" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Güvenli" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC adresi" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxy portu" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Harika..!!" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "İyi" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Tara" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi ağları" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Bağlantı kesiliyor..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dinamik IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "AP Yok" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Güvenlik tipi" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Gizli ağ" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wi-Fi devre dışı bırakılıyor..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Aranıyor..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Şebeke seçimi" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP yöntemi" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Ağ geçidi adresi" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Şifreyi girin" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA Sertifika" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Belirsiz" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Kullanıcı srtfksı" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Kimlik" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "İsimsiz kimlik" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Kimlik girin" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "İsimsiz kimlik girin" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Şifre giriniz" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Parolayı göster" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Proxy adresi" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Sinyal kuvveti" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Ağ geçidi" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Devreden çıkartılıyor..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Güvenlik yok" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Şebeke seçimi" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Zayıf" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS uygun" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP adresi alınıyor..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Açık ağ mevcut olduğunda bana bildir" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Wi-Fi ağı ekle" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "SSID Ağı" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Bu ağa otomatik bağlantı devre dışı bırakılacak. Devam edilsin mi?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Faz 2 yetkilendirmesi" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Bağlan" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "%d dakika içinde Wi-Fi erişim noktanızdaki WPS düğmesine basın" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Bilinmeyen" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "SSID girin" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Şifre" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Hazırlanıyor" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS düğmesi bağlantısı" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Gizli ağ bul" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "2 dakika içinde Wi-Fi erişim noktanızdaki WPS düğmesine basın" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "İptal" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Kimliğinizi girin" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Şifreyi girin" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Wi-Fi ağı bulunduğunda bildir" + diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 0000000..a408ce9 --- /dev/null +++ b/po/uk.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "З'єднано" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "З'єднання..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Статична IP-адреса" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Активація Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Забути" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP-адреса" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Маска підмережі" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Сповіщення мережі" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Відкрита" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Захищені" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-адреса" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Порт проксі" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Відмінно" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Хороший" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Сканувати" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Мережі Wi-Fi" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Роз'єднання..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Динамічна IP-адреса" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "Немає APs" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Тип захисту" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Прихована мережа" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Деактивація Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Пошук..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Вибрати мережу" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "Метод EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Адреса шлюзу" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Введіть пароль" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "Сертифікат CA" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Не визначено" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "Серт. користувача" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Ідентифікація" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Анонімна ідентифікація" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Введіть ідентифікатор" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Введіть анонімний ідентифікатор" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Введіть пароль" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Показати пароль" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Адреса проксі" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Потужність сигналу" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Шлюз" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "Деактивація..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Немає безпеки" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Вибрати мережу" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Слабкий" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS доступно" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Отримання IP-адреси..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Канал" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Сповістити про доступність відкритої мережі" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Додати мережу Wi-Fi" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Мережа SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Автоматичне підключення до цієї мережі буде вимкнено. Продовжити?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Аутентифікація фази 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "З'єднати" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Натисніть кнопку WPS на точці доступу Wi-Fi протягом %d хвилин" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Невідомо" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "Ввести SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Пароль" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Підготовка" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "З’єднання з використанням кнопки WPS" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Пошук прихованої мережі" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Натисніть кнопку WPS на точці доступу Wi-Fi протягом 2 хвилин" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Скасув." + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Введіть свій ідентифікатор" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Введіть пароль" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Сповіщати в разі знаходження мережі Wi-Fi" + diff --git a/po/uz.po b/po/uz.po new file mode 100644 index 0000000..0e40a55 --- /dev/null +++ b/po/uz.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Ulangan" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Ulanmoqda..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "Statik IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi faollashtirilmoqda..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "Unutish" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP-manzil" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Tagtarmoq maskasi" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Tarmoq bildirishnomasi" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Ochish" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Himoyalangan" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC manzili" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proksi porti" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "A’lo" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Yaxshi" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Qidirish" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi tarmoqlar" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "Uzilmoqda..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "Dinamik IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "APs yo‘q" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "Xavfsizlik turi" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Yashirin tarmoq" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "Wi-Fi o‘chirilmoqda..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "Qidirilmoqda..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "Tarmoq tanlang" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP uslub" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Shluz manzili" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "Parol kiriting" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA sertifikati" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "Aniqlanmagan" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "User certificate" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "Identifikatsiya" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "Anonim identifikatsiya" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "Identifikatsiyani kiriting" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Anonim identifikatsiyani kiriting" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "Parol kiriting" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "Parol ko‘rsatilsin" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "Proksi manzili" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "Signal quvvati" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Shluz" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "O‘chirilmoqda..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "Xavfsizlik yo‘q" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Tarmoq tanlash" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Kuchsiz" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS mavjud" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP-manzillar olinmoqda..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanal" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "Ochiq tarmoqdan foydalanish mumkin bo‘lganda, menga xabar berilsin" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "Wi-Fi tarmoq qo‘shish" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "Tarmoq SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "Ushbu tarmoqqa avtomatik ulanish o‘chiriladi. Davom ettirilsinmi?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Bosqich 2 tekshiruvi" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Ulanish" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "Wi-Fi kirishda WPSni %d daqiqa bosib turing" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "Noma’lum" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "SSID kiriting" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "Parol" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "Initsializatsiyalash" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS tugma ulanishi" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "Yashirin tarmoqni topish" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "Wi-Fi kirishda WPSni 2 daqiqa bosib turing" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "Bekor q." + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Identifikatsiyani kiriting" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Parol kiriting" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "Wi-Fi tarmoq topilganda, menga yordam berilsin" + diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 0000000..6add198 --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "已连接" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "连接中..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "静态IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "正在激活Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "忘记" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP 地址" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "子网时标" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "网络通知" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "开放" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "安全" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC 地址" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "代理服务器端口" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "棒极了" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "好" + +msgid "IDS_ST_BODY_SCAN" +msgstr "扫描" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi网络" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "正在断开..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "动态 IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "没有Ap" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "安全类型" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "隐藏的网络" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "正在取消Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "正在搜索" + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "选择网络" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP 方法" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "网关地址" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "输入密码" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA 证书" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "不明确的" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "用户证书" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "身份" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "匿名身份" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "输入 ID" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "输入匿名 ID" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "输入密码" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "显示密码" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "代理服务器地址" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "信号强度" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "网关" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "正在取消..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "不安全" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "选择网络" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "弱" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS可用" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "正在获取 IP 地址…" + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "频道" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "开放网络可用时通知我" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "添加 Wi-Fi 网络" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "网络 SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "自动连接到此网络将被禁用。继续吗?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "阶段2认证" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "连接" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "%d分钟内在Wi-Fi接入点按下WPS钮。" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "未知" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "输入 SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "密码" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "配置" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS按钮连接" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "寻找隐藏的网络" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "在 2 分钟内按下您 Wi-Fi 接入点上的 WPS" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "取消" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "输入您的 ID" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "输入密码" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "当找到 Wi-Fi 网络时通知" + diff --git a/po/zh_HK.po b/po/zh_HK.po new file mode 100644 index 0000000..e54fc06 --- /dev/null +++ b/po/zh_HK.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "已連接" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "連接中..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "靜態 IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "正在啟動 Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "忘記" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP 位址" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "子網絡範圍" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "網絡通知" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "開啟" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "安全" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC 地址" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "代理伺服器端口" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "極佳" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "良好" + +msgid "IDS_ST_BODY_SCAN" +msgstr "掃描" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi 網絡" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "正在中斷連接..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "動態 IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "沒有接入點" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "安全類型" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "隱藏網絡" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "正在關閉 WiFi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "正在搜尋..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "選擇網絡" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP 方法" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "網關地址" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "輸入密碼" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA 證書" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "未指定" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "用戶證書" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "身份" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "匿名身份" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "輸入身分" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "輸入匿名身分" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "輸入密碼" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "顯示密碼" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "代理伺服器位址" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "訊號強度" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "網關" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "正在關閉..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "不安全" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "選擇網絡" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "弱" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS 可用" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "正在取得 IP 地址..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "頻道" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "有開放網路時通知我" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "新增 WiFi 網絡" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "網絡 SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "自動連接此網絡將會關閉。繼續嗎?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "階段 2 認證" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "連接" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "在%d分鐘內按下Wi-Fi接入點的WPS" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "未知" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "輸入 SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "密碼" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "配置" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS按鍵連接" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "尋找隱藏網絡" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "請在 2分鐘內按下 Wi-Fi 接入點的 WPS" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "取消" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "輸入您的身分" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "輸入密碼" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "當找到 Wi-Fi 網絡時通知" + diff --git a/po/zh_SG.po b/po/zh_SG.po new file mode 100644 index 0000000..21864b4 --- /dev/null +++ b/po/zh_SG.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "已连接" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "连接中…" + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "静止IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "正在激活 Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "忘记" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP地址" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "子网时标" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "网络通知" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "开启文件" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "安全" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC 地址" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "代理服务器端口" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "棒极了" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "好" + +msgid "IDS_ST_BODY_SCAN" +msgstr "扫描" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi网络" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "正在中断连接…" + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "动态 IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "没有Aps" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "安全类型" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "隐藏的网络" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "正在取消 Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "搜寻中…" + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "选择网络" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP 方法" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "网关地址" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "输入密码" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA 证书" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "不明确的" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "用户证书" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "身份" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "匿名身份" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "输入 ID" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "输入匿名 ID" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "输入密码" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "显示密码" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "代理主机地址" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "信号强度" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "网关" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "取消中…" + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "不安全" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "选择网络" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "弱" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS可用" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "正在获取 IP 地址…" + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "频道" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "开放网络可用时通知我" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "添加 Wi-Fi 网络" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "网络 SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "自动连接到此网络将被禁用。继续吗?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "阶段2认证" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "连接" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "%d分钟内在Wi-Fi接入点按下WPS" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "未知" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "输入 SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "密码" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "配置" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS按钮连接" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "找到隐藏网络" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "在 2 分钟内按下您 Wi-Fi 接入点上的 WPS" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "取消" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "输入您的 ID" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "输入密码" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "当找到WLAN网络时通知" + diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 0000000..fa19b38 --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,207 @@ +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "已連線" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "連線中..." + +msgid "IDS_WIFI_BODY_STATIC_IP" +msgstr "靜態 IP" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "正在啟動 Wi-Fi..." + +msgid "IDS_WIFI_SK_FORGET" +msgstr "清除" + +msgid "IDS_WIFI_BODY_IP_ADDRESS" +msgstr "IP 位址" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "子網路遮罩" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +msgid "IDS_ST_BODY_NETWORK_NOTIFICATION" +msgstr "網路通知" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "開啟" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "安全" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC 位址" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "代理伺服器連接埠" + +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "棒極了" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "良好" + +msgid "IDS_ST_BODY_SCAN" +msgstr "掃描" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi無線網路" + +msgid "IDS_WIFI_BODY_DISCONNECTING_ING" +msgstr "正在中斷連線..." + +msgid "IDS_WIFI_BODY_DYNAMIC_IP" +msgstr "動態 IP" + +msgid "IDS_WIFI_BODY_NO_APS" +msgstr "沒有接入點" + +msgid "IDS_WIFI_BODY_SECURITY_TYPE" +msgstr "安全性類型" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "隱藏網路" + +msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" +msgstr "正在停用 Wi-Fi..." + +msgid "IDS_WIFI_POP_SEARCHING_ING" +msgstr "正在搜尋..." + +msgid "IDS_WIFI_POP_SELECT_NETWORK" +msgstr "選擇網路" + +msgid "IDS_WIFI_BODY_EAP_METHOD" +msgstr "EAP 方法" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "閘道位址" + +msgid "IDS_WIFI_BODY_ENTER_PASSWORD" +msgstr "輸入密碼" + +msgid "IDS_WIFI_BODY_CA_CERTIFICATE" +msgstr "CA 憑證" + +msgid "IDS_WIFI_BODY_UNSPECIFIED" +msgstr "未指定" + +msgid "IDS_WIFI_BODY_USER_CERTIFICATE_ABB" +msgstr "使用者憑證" + +msgid "IDS_WIFI_BODY_IDENTITY" +msgstr "使用者" + +msgid "IDS_WIFI_BODY_ANONYMOUS_IDENTITY" +msgstr "匿名使用者" + +msgid "IDS_WIFI_BODY_ENTER_IDENTITY" +msgstr "輸入身分" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "輸入匿名身分" + +msgid "IDS_CST_BODY_INPUT_PASSWORD" +msgstr "輸入密碼" + +msgid "IDS_ST_BODY_SHOW_PASSWORD" +msgstr "顯示密碼" + +msgid "IDS_WIFI_HEADER_PROXY_ADDRESS" +msgstr "代理伺服器位址" + +msgid "IDS_WIFI_BODY_SIGNAL_STRENGTH" +msgstr "訊號強度" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "閘道" + +msgid "IDS_WIFI_BODY_SECURITYTYPE_WEP" +msgstr "WEP" + +msgid "IDS_ST_POP_DEACTIVATING_ING" +msgstr "正在停用..." + +msgid "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY" +msgstr "不設置安全性" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "選擇網路" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "弱" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "取得 WPS" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "正在取得 IP 位址..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "頻道" + +msgid "IDS_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE" +msgstr "有可用的開放網路時通知我" + +msgid "IDS_ST_BODY_ADD_WI_FI_NETWORK" +msgstr "新增 Wi-Fi 網路" + +msgid "IDS_ST_BODY_NETWORK_SSID" +msgstr "網路 SSID" + +msgid "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG" +msgstr "自動連接到這個網路將被關閉。繼續?" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "第 2 階段認證" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "連線" + +msgid "IDS_WIFI_POP_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_PD_MINUTES" +msgstr "在%d分鐘內按下你的Wi - Fi WPS存取點" + +msgid "IDS_WIFI_BODY_UNKNOWN" +msgstr "未知" + +msgid "IDS_WIFI_BODY_ENTER_SSID" +msgstr "輸入 SSID" + +msgid "IDS_WIFI_HEADER_PASSWORD" +msgstr "密碼" + +msgid "IDS_WIFI_BODY_PROVISIONING" +msgstr "佈建" + +msgid "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION" +msgstr "WPS 網路設定" + +msgid "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK" +msgstr "尋找隱藏的網路" + +msgid "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES" +msgstr "請在 2 分鐘內於 Wi-Fi 按下 WPS 存取點" + +msgid "IDS_WIFI_BUTTON_CANCEL" +msgstr "取消" + +msgid "IDS_WIFI_BODY_SSID" +msgstr "SSID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "輸入身分" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "輸入密碼" + +msgid "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND" +msgstr "找到 Wi-Fi 網路時通知" + diff --git a/resources/images/00_EditField_clear.png b/resources/images/00_EditField_clear.png Binary files differnew file mode 100644 index 0000000..0244344 --- /dev/null +++ b/resources/images/00_EditField_clear.png diff --git a/resources/images/00_EditField_clear_press.png b/resources/images/00_EditField_clear_press.png Binary files differnew file mode 100755 index 0000000..fe9d9cc --- /dev/null +++ b/resources/images/00_EditField_clear_press.png diff --git a/resources/images/00_search_edit_field_bg.png b/resources/images/00_search_edit_field_bg.png Binary files differnew file mode 100644 index 0000000..c7837fa --- /dev/null +++ b/resources/images/00_search_edit_field_bg.png diff --git a/resources/images/01_controlbar_icon_delete.png b/resources/images/01_controlbar_icon_delete.png Binary files differnew file mode 100644 index 0000000..e460e2c --- /dev/null +++ b/resources/images/01_controlbar_icon_delete.png diff --git a/resources/images/01_controlbar_icon_edit.png b/resources/images/01_controlbar_icon_edit.png Binary files differnew file mode 100644 index 0000000..c1e8909 --- /dev/null +++ b/resources/images/01_controlbar_icon_edit.png diff --git a/resources/images/01_controlbar_icon_update.png b/resources/images/01_controlbar_icon_update.png Binary files differnew file mode 100644 index 0000000..fe731e3 --- /dev/null +++ b/resources/images/01_controlbar_icon_update.png diff --git a/resources/images/37_wifi_icon_00.png b/resources/images/37_wifi_icon_00.png Binary files differnew file mode 100644 index 0000000..2ce395a --- /dev/null +++ b/resources/images/37_wifi_icon_00.png diff --git a/resources/images/37_wifi_icon_01.png b/resources/images/37_wifi_icon_01.png Binary files differnew file mode 100644 index 0000000..902ff9f --- /dev/null +++ b/resources/images/37_wifi_icon_01.png diff --git a/resources/images/37_wifi_icon_02.png b/resources/images/37_wifi_icon_02.png Binary files differnew file mode 100644 index 0000000..a641f4a --- /dev/null +++ b/resources/images/37_wifi_icon_02.png diff --git a/resources/images/37_wifi_icon_03.png b/resources/images/37_wifi_icon_03.png Binary files differnew file mode 100644 index 0000000..5331e29 --- /dev/null +++ b/resources/images/37_wifi_icon_03.png diff --git a/resources/images/37_wifi_icon_WPS.png b/resources/images/37_wifi_icon_WPS.png Binary files differnew file mode 100644 index 0000000..50b1633 --- /dev/null +++ b/resources/images/37_wifi_icon_WPS.png diff --git a/resources/images/37_wifi_icon_WPS_support AP.png b/resources/images/37_wifi_icon_WPS_support AP.png Binary files differnew file mode 100644 index 0000000..1d025cb --- /dev/null +++ b/resources/images/37_wifi_icon_WPS_support AP.png diff --git a/resources/images/37_wifi_icon_WPS_support AP_press.png b/resources/images/37_wifi_icon_WPS_support AP_press.png Binary files differnew file mode 100644 index 0000000..bb04bcb --- /dev/null +++ b/resources/images/37_wifi_icon_WPS_support AP_press.png diff --git a/resources/images/37_wifi_icon_lock_00.png b/resources/images/37_wifi_icon_lock_00.png Binary files differnew file mode 100644 index 0000000..d2233c8 --- /dev/null +++ b/resources/images/37_wifi_icon_lock_00.png diff --git a/resources/images/37_wifi_icon_lock_01.png b/resources/images/37_wifi_icon_lock_01.png Binary files differnew file mode 100644 index 0000000..0385d7b --- /dev/null +++ b/resources/images/37_wifi_icon_lock_01.png diff --git a/resources/images/37_wifi_icon_lock_02.png b/resources/images/37_wifi_icon_lock_02.png Binary files differnew file mode 100644 index 0000000..dfa0c74 --- /dev/null +++ b/resources/images/37_wifi_icon_lock_02.png diff --git a/resources/images/37_wifi_icon_lock_03.png b/resources/images/37_wifi_icon_lock_03.png Binary files differnew file mode 100644 index 0000000..72b13b5 --- /dev/null +++ b/resources/images/37_wifi_icon_lock_03.png diff --git a/resources/images/37_wifi_icon_searched_00.png b/resources/images/37_wifi_icon_searched_00.png Binary files differnew file mode 100644 index 0000000..f5df464 --- /dev/null +++ b/resources/images/37_wifi_icon_searched_00.png diff --git a/resources/images/37_wifi_icon_searched_01.png b/resources/images/37_wifi_icon_searched_01.png Binary files differnew file mode 100644 index 0000000..23979f7 --- /dev/null +++ b/resources/images/37_wifi_icon_searched_01.png diff --git a/resources/images/37_wifi_icon_searched_02.png b/resources/images/37_wifi_icon_searched_02.png Binary files differnew file mode 100644 index 0000000..df2d69d --- /dev/null +++ b/resources/images/37_wifi_icon_searched_02.png diff --git a/resources/images/37_wifi_icon_searched_03.png b/resources/images/37_wifi_icon_searched_03.png Binary files differnew file mode 100644 index 0000000..e0044a1 --- /dev/null +++ b/resources/images/37_wifi_icon_searched_03.png diff --git a/resources/images/37_wifi_icon_searched_lock_00.png b/resources/images/37_wifi_icon_searched_lock_00.png Binary files differnew file mode 100644 index 0000000..347eeea --- /dev/null +++ b/resources/images/37_wifi_icon_searched_lock_00.png diff --git a/resources/images/37_wifi_icon_searched_lock_01.png b/resources/images/37_wifi_icon_searched_lock_01.png Binary files differnew file mode 100644 index 0000000..a24ecc5 --- /dev/null +++ b/resources/images/37_wifi_icon_searched_lock_01.png diff --git a/resources/images/37_wifi_icon_searched_lock_02.png b/resources/images/37_wifi_icon_searched_lock_02.png Binary files differnew file mode 100644 index 0000000..638c00f --- /dev/null +++ b/resources/images/37_wifi_icon_searched_lock_02.png diff --git a/resources/images/37_wifi_icon_searched_lock_03.png b/resources/images/37_wifi_icon_searched_lock_03.png Binary files differnew file mode 100644 index 0000000..3f4df5f --- /dev/null +++ b/resources/images/37_wifi_icon_searched_lock_03.png diff --git a/resources/images/Q02_Notification__wifi_in_range.png b/resources/images/Q02_Notification__wifi_in_range.png Binary files differnew file mode 100644 index 0000000..957d352 --- /dev/null +++ b/resources/images/Q02_Notification__wifi_in_range.png diff --git a/sources/libraries/Common/common_datamodel.c b/sources/libraries/Common/common_datamodel.c new file mode 100644 index 0000000..5432a0b --- /dev/null +++ b/sources/libraries/Common/common_datamodel.c @@ -0,0 +1,749 @@ +/* +* Wi-Fi UG +* +* 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 "common.h" +#include "common_datamodel.h" + + +struct view_datamodel_basic_info { + char *profile_name; /* Profile name */ + char *ap_name; /* AP name */ + wlan_security_mode_type_t security_mode; /* Security mode */ + unsigned int signal_strength; /* Signal strength */ + unsigned int channel_freq; /* channel frequency */ + boolean is_favourite; /* Favourite */ + char wps_support; +}; + +struct view_datamodel_ip_info { + char *profile_name; /* Profile name */ + net_ip_config_type_t ip_and_dns_type; + char* proxy_addr; + char* ip; + char* subnet; + char* gateway; + char* dns1; + char* dns2; + + char* MAC_address; /* MAC address */ +}; + +struct view_datamodel_eap_info { + char *profile_name; /* Profile name */ + char *ap_name; /* AP name */ + wlan_eap_type_t eap_method; /* EAP method */ + int eap_provision; /* Provisioning */ + wlan_eap_auth_type_t auth_type; /* EAP phase 2 Authentication */ + char *user_id; /* User id */ + char *anonymous_id; /* Anonymous id */ + char *ca_cert; /* CA certificate */ + char *user_cert; /* User certificate */ + char *pswd; +}; + +static void view_detail_datamodel_init_default_profile(net_profile_info_t *profile_info) +{ + if (profile_info) { + wlan_eap_info_t *eap_sec_info = &(profile_info->ProfileInfo.Wlan.security_info.authentication.eap); + eap_sec_info->eap_type = WLAN_SEC_EAP_TYPE_PEAP; + eap_sec_info->eap_auth = WLAN_SEC_EAP_AUTH_NONE; + } + return; +} + +view_datamodel_basic_info_t *view_basic_detail_datamodel_create(const char *profile_name) +{ + __COMMON_FUNC_ENTER__; + view_datamodel_basic_info_t *data_object = NULL; + net_profile_info_t *profile_info = g_malloc0(sizeof(net_profile_info_t)); + assertm_if(NULL == profile_name, "NULL!!"); + view_detail_datamodel_init_default_profile(profile_info); + if (!connman_profile_manager_profile_info_get(profile_name, profile_info)) { + ERROR_LOG(UG_NAME_ERR, "Fatal Could not get the profile info!!!"); + g_free(profile_info); + return NULL; + } + + data_object = g_malloc0(sizeof(view_datamodel_basic_info_t)); + assertm_if(NULL == data_object, "NULL!!"); + + data_object->profile_name = g_strdup(profile_name); + data_object->channel_freq = profile_info->ProfileInfo.Wlan.frequency; + data_object->ap_name = g_strdup(profile_info->ProfileInfo.Wlan.essid); + data_object->signal_strength = profile_info->ProfileInfo.Wlan.Strength; + data_object->security_mode = profile_info->ProfileInfo.Wlan.security_info.sec_mode; + data_object->is_favourite = profile_info->Favourite; + data_object->wps_support = profile_info->ProfileInfo.Wlan.security_info.wps_support; + + INFO_LOG(UG_NAME_NORMAL, "Profile name : %s", data_object->profile_name); + INFO_LOG(UG_NAME_NORMAL, "ap name : %s", data_object->ap_name); + INFO_LOG(UG_NAME_NORMAL, "Signal strength : %u", data_object->signal_strength); + INFO_LOG(UG_NAME_NORMAL, "Security mode : %u", data_object->security_mode); + INFO_LOG(UG_NAME_NORMAL, "Channel Freq : %u", data_object->channel_freq); + INFO_LOG(UG_NAME_NORMAL, "WPS Support : %d", data_object->wps_support); + + g_free(profile_info); + profile_info = NULL; + + __COMMON_FUNC_EXIT__; + + return data_object; +} + +view_datamodel_ip_info_t *view_detail_datamodel_ip_info_create(const char *profile_name) +{ + __COMMON_FUNC_ENTER__; + view_datamodel_ip_info_t *data_object = NULL; + net_profile_info_t *profile_info = g_malloc0(sizeof(net_profile_info_t)); + assertm_if(NULL == profile_name, "NULL!!"); + view_detail_datamodel_init_default_profile(profile_info); + if (!connman_profile_manager_profile_info_get(profile_name, profile_info)) { + ERROR_LOG(UG_NAME_ERR, "Fatal Could not get the profile info!!!"); + /* Lets continue and create a default data object */ + } + + data_object = g_malloc0(sizeof(view_datamodel_ip_info_t)); + assertm_if(NULL == data_object, "NULL!!"); + + data_object->profile_name = g_strdup(profile_name); + data_object->ip_and_dns_type = profile_info->ProfileInfo.Wlan.net_info.IpConfigType; + if (strlen(profile_info->ProfileInfo.Wlan.net_info.ProxyAddr) <= 0) { + data_object->proxy_addr = NULL; + } else { + data_object->proxy_addr = g_strdup(profile_info->ProfileInfo.Wlan.net_info.ProxyAddr); + } + + data_object->ip = g_strdup(inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4)); + data_object->subnet = g_strdup(inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4)); + data_object->gateway = g_strdup(inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4)); + data_object->dns1 = g_strdup(inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4)); + data_object->dns2 = g_strdup(inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4)); + data_object->MAC_address = g_strdup(profile_info->ProfileInfo.Wlan.bssid); + + INFO_LOG(UG_NAME_NORMAL, "Profile name : %s", data_object->profile_name); + INFO_LOG(UG_NAME_NORMAL, "ip_and_dns_type : %d", data_object->ip_and_dns_type); + INFO_LOG(UG_NAME_NORMAL, "ip : %s", data_object->ip); + INFO_LOG(UG_NAME_NORMAL, "subnet : %s", data_object->subnet); + INFO_LOG(UG_NAME_NORMAL, "gateway : %s", data_object->gateway); + INFO_LOG(UG_NAME_NORMAL, "dns1 : %s", data_object->dns1); + INFO_LOG(UG_NAME_NORMAL, "dns2 : %s", data_object->dns2); + if (data_object->proxy_addr) + INFO_LOG(UG_NAME_NORMAL, "proxy addr : %s", data_object->proxy_addr); + INFO_LOG(UG_NAME_NORMAL, "MAC addr : %s", data_object->MAC_address); + + g_free(profile_info); + profile_info = NULL; + + __COMMON_FUNC_EXIT__; + + return data_object; +} + +view_datamodel_eap_info_t *view_detail_datamodel_eap_info_create(const char *profile_name) +{ + __COMMON_FUNC_ENTER__; + view_datamodel_eap_info_t *data_object = NULL; + net_profile_info_t *profile_info = g_malloc0(sizeof(net_profile_info_t)); + assertm_if(NULL == profile_name, "NULL!!"); + view_detail_datamodel_init_default_profile(profile_info); + if (!connman_profile_manager_profile_info_get(profile_name, profile_info)) { + ERROR_LOG(UG_NAME_ERR, "Fatal Could not get the profile info!!!"); + /* Lets continue and create a default data object */ + } + + /* The EAP info data object would be created only if the device is remembered / connected */ + data_object = g_malloc0(sizeof(view_datamodel_eap_info_t)); + assertm_if(NULL == data_object, "NULL!!"); + + data_object->profile_name = g_strdup(profile_name); + data_object->ap_name = g_strdup(profile_info->ProfileInfo.Wlan.essid); + + /* If the device is connected / remembered only then create and fill the eap_details structure */ + wlan_eap_info_t *eap_sec_info = &(profile_info->ProfileInfo.Wlan.security_info.authentication.eap); + data_object->eap_method = eap_sec_info->eap_type; + data_object->eap_provision = 0; /* This is not yet supported by libnet. So setting it to 0. */ + data_object->auth_type = eap_sec_info->eap_auth; + + if (strlen(eap_sec_info->username)) + data_object->user_id = g_strdup(eap_sec_info->username); + + data_object->anonymous_id = NULL; /* This is not yet supported by libnet. So setting it to NULL. */ + + if (strlen(eap_sec_info->password)) + data_object->pswd = g_strdup(eap_sec_info->password); + + if (strlen(eap_sec_info->ca_cert_filename)) + data_object->ca_cert = g_strdup(eap_sec_info->ca_cert_filename); + + if (strlen(eap_sec_info->client_cert_filename)) + data_object->user_cert = g_strdup(eap_sec_info->client_cert_filename); + + INFO_LOG(UG_NAME_NORMAL, "Profile name : %s", data_object->profile_name); + INFO_LOG(UG_NAME_NORMAL, "EAP method : %u", data_object->eap_method); + INFO_LOG(UG_NAME_NORMAL, "Provisioning : %u", data_object->eap_provision); + INFO_LOG(UG_NAME_NORMAL, "Auth type : %u", data_object->auth_type); + INFO_LOG(UG_NAME_NORMAL, "Id : %s", data_object->user_id); + INFO_LOG(UG_NAME_NORMAL, "Anonymous id : %s", data_object->anonymous_id); + INFO_LOG(UG_NAME_NORMAL, "Password : %s", data_object->pswd ); + INFO_LOG(UG_NAME_NORMAL, "CA certificate : %s", data_object->ca_cert); + INFO_LOG(UG_NAME_NORMAL, "User certificate : %s", data_object->user_cert); + + g_free(profile_info); + profile_info = NULL; + + __COMMON_FUNC_EXIT__; + + return data_object; +} + +void view_basic_detail_datamodel_destroy(view_datamodel_basic_info_t *data_object) +{ + __COMMON_FUNC_ENTER__; + + assertm_if(NULL == data_object, "NULL!!"); + + g_free(data_object->profile_name); + g_free(data_object->ap_name); + g_free(data_object); + data_object = NULL; + + __COMMON_FUNC_EXIT__; + + return; +} + +void view_detail_datamodel_ip_info_destroy(view_datamodel_ip_info_t *data_object) +{ + __COMMON_FUNC_ENTER__; + + assertm_if(NULL == data_object, "NULL!!"); + + g_free(data_object->profile_name); + g_free(data_object->proxy_addr); + g_free(data_object->ip); + g_free(data_object->subnet); + g_free(data_object->gateway); + g_free(data_object->dns1); + g_free(data_object->dns2); + g_free(data_object->MAC_address); + g_free(data_object); + data_object = NULL; + + __COMMON_FUNC_EXIT__; + + return; +} + +void view_detail_datamodel_eap_info_destroy(view_datamodel_eap_info_t *data_object) +{ + __COMMON_FUNC_ENTER__; + + assertm_if(NULL == data_object, "NULL!!"); + + g_free(data_object->profile_name); + g_free(data_object->ap_name); + g_free(data_object->user_id); + g_free(data_object->anonymous_id); + g_free(data_object->pswd); + g_free(data_object->ca_cert); + g_free(data_object->user_cert); + g_free(data_object); + data_object = NULL; + + __COMMON_FUNC_EXIT__; + + return; +} + +boolean view_detail_datamodel_save_ip_info_if_modified(const view_datamodel_ip_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + + boolean changed = FALSE; + net_profile_info_t *profile_info = g_malloc0(sizeof(net_profile_info_t)); + assertm_if(NULL == profile_info, "NULL!!"); + view_detail_datamodel_init_default_profile(profile_info); + if (!connman_profile_manager_profile_info_get(data_object->profile_name, profile_info)) { + ERROR_LOG(UG_NAME_ERR, "Fatal Could not get the profile info!!!"); + g_free(profile_info); + return FALSE; + } + + if (data_object->ip_and_dns_type != profile_info->ProfileInfo.Wlan.net_info.IpConfigType) { + profile_info->ProfileInfo.Wlan.net_info.IpConfigType = data_object->ip_and_dns_type; + changed = TRUE; + } + + if (data_object->proxy_addr == NULL) { + if (profile_info->ProfileInfo.Wlan.net_info.ProxyMethod != NET_PROXY_TYPE_DIRECT) { + profile_info->ProfileInfo.Wlan.net_info.ProxyMethod = NET_PROXY_TYPE_DIRECT; + changed = TRUE; + } + } else if (g_strcmp0(data_object->proxy_addr, profile_info->ProfileInfo.Wlan.net_info.ProxyAddr) != 0) { + profile_info->ProfileInfo.Wlan.net_info.ProxyMethod = NET_PROXY_TYPE_MANUAL; + g_strlcpy(profile_info->ProfileInfo.Wlan.net_info.ProxyAddr, data_object->proxy_addr, WLAN_PROXY_LEN_MAX); + changed = TRUE; + } + + if (data_object->ip_and_dns_type == NET_IP_CONFIG_TYPE_STATIC) { + char *temp_str = NULL; + + temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4); + if (g_strcmp0(data_object->ip, temp_str) != 0) { + INFO_LOG(UG_NAME_NORMAL, "IP : %s", temp_str); + + if (inet_aton(data_object->ip, &(profile_info->ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4)) == 0) { + INFO_LOG(UG_NAME_NORMAL, "Failed inet_aton"); + + return FALSE; + } + + changed = TRUE; + } + + temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4); + if (g_strcmp0(data_object->subnet, temp_str) != 0) { + INFO_LOG(UG_NAME_NORMAL, "Subnet : %s", temp_str); + + if (inet_aton(data_object->subnet, &(profile_info->ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4)) == 0) { + INFO_LOG(UG_NAME_NORMAL, "Failed inet_aton"); + + return FALSE; + } + + changed = TRUE; + } + + temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4); + if (g_strcmp0(data_object->gateway, temp_str) != 0) { + INFO_LOG(UG_NAME_NORMAL, "Gateway : %s", temp_str); + + if (inet_aton(data_object->gateway, &(profile_info->ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4)) == 0) { + INFO_LOG(UG_NAME_NORMAL, "Failed inet_aton"); + + return FALSE; + } + + changed = TRUE; + } + + temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4); + if (g_strcmp0(data_object->dns1, temp_str) != 0) { + INFO_LOG(UG_NAME_NORMAL, "DNS1 : %s", temp_str); + + if (inet_aton(data_object->dns1, &(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4)) == 0) { + INFO_LOG(UG_NAME_NORMAL, "Failed inet_aton"); + + return FALSE; + } + + profile_info->ProfileInfo.Wlan.net_info.DnsCount = 1; + changed = TRUE; + } + + temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4); + if (g_strcmp0(data_object->dns2, temp_str) != 0) { + INFO_LOG(UG_NAME_NORMAL, "DNS2 : %s", temp_str); + + if (inet_aton(data_object->dns2, &(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4)) == 0) { + INFO_LOG(UG_NAME_NORMAL, "Failed inet_aton"); + + return FALSE; + } + + profile_info->ProfileInfo.Wlan.net_info.DnsCount = 2; + changed = TRUE; + } + + INFO_LOG(UG_NAME_NORMAL, "DNS count : %d", profile_info->ProfileInfo.Wlan.net_info.DnsCount); + } + + if (changed == TRUE) + wlan_manager_profile_modify_by_device_info(profile_info); + + g_free(profile_info); + + return changed; +} + +boolean view_detail_datamodel_save_eap_info_if_modified(const view_datamodel_eap_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + + boolean changed = FALSE; + net_profile_info_t *profile_info = g_malloc0(sizeof(net_profile_info_t)); + assertm_if(NULL == profile_info, "NULL!!"); + view_detail_datamodel_init_default_profile(profile_info); + if (!connman_profile_manager_profile_info_get(data_object->profile_name, profile_info)) { + ERROR_LOG(UG_NAME_ERR, "Fatal Could not get the profile info!!!"); + g_free(profile_info); + return FALSE; + } + + wlan_eap_info_t *eap_sec_info = &(profile_info->ProfileInfo.Wlan.security_info.authentication.eap); + if (data_object->eap_method != eap_sec_info->eap_type) { + eap_sec_info->eap_type = data_object->eap_method; + changed = TRUE; + } + + if (data_object->auth_type != eap_sec_info->eap_auth) { + eap_sec_info->eap_auth = data_object->auth_type; + changed = TRUE; + } + + if (g_strcmp0(data_object->user_id, eap_sec_info->username)) { + g_strlcpy(eap_sec_info->username, data_object->user_id, NETPM_WLAN_USERNAME_LEN); + changed = TRUE; + } + + if (g_strcmp0(data_object->pswd, eap_sec_info->password)) { + g_strlcpy(eap_sec_info->password, data_object->pswd, NETPM_WLAN_PASSWORD_LEN); + changed = TRUE; + } + + if (changed) { + INFO_LOG(UG_NAME_NORMAL, "EAP type : %d", eap_sec_info->eap_type); + INFO_LOG(UG_NAME_NORMAL, "EAP auth : %d", eap_sec_info->eap_auth); + INFO_LOG(UG_NAME_NORMAL, "User name : %s", eap_sec_info->username); + INFO_LOG(UG_NAME_NORMAL, "Password : %s", eap_sec_info->password); + + wlan_manager_profile_modify_by_device_info(profile_info); + } + + g_free(profile_info); + + return changed; +} + +int view_detail_datamodel_ip_and_dns_type_set(view_datamodel_ip_info_t *data_object, const IP_TYPES type) +{ + assertm_if(NULL == data_object, "NULL!!"); + data_object->ip_and_dns_type = type; + return TRUE; +} + +int view_detail_datamodel_proxy_address_set(view_datamodel_ip_info_t *data_object, const char* proxy) +{ + assertm_if(NULL == data_object, "NULL!!"); + + g_free(data_object->proxy_addr); + if(proxy) + data_object->proxy_addr = g_strdup(proxy); + else + data_object->proxy_addr = NULL; + + return TRUE; +} + +int view_detail_datamodel_static_ip_address_set(view_datamodel_ip_info_t *data_object, const char* addr) +{ + assertm_if(NULL == data_object, "NULL!!"); + if(NULL != addr) { + DEBUG_LOG(UG_NAME_NORMAL, "* set as [%s]", addr); + g_free(data_object->ip); + data_object->ip = g_strdup(addr); + } + return TRUE; +} + +int view_detail_datamodel_static_gateway_address_set(view_datamodel_ip_info_t *data_object, const char* addr) +{ + assertm_if(NULL == data_object, "NULL!!"); + if(NULL != addr) { + g_free(data_object->gateway); + data_object->gateway = g_strdup(addr); + } + return TRUE; +} + +int view_detail_datamodel_static_subnet_mask_set(view_datamodel_ip_info_t *data_object, const char* addr) +{ + assertm_if(NULL == data_object, "NULL!!"); + if(NULL != addr) { + g_free(data_object->subnet); + data_object->subnet = g_strdup(addr); + } + return TRUE; +} + +int view_detail_datamodel_static_dns1_address_set(view_datamodel_ip_info_t *data_object, const char* addr) +{ + assertm_if(NULL == data_object, "NULL!!"); + if(NULL != addr) { + g_free(data_object->dns1); + data_object->dns1 = g_strdup(addr); + } + return TRUE; +} + +int view_detail_datamodel_static_dns2_address_set(view_datamodel_ip_info_t *data_object, const char* addr) +{ + assertm_if(NULL == data_object, "NULL!!"); + if (NULL != addr) { + g_free(data_object->dns2); + data_object->dns2 = g_strdup(addr); + } + return TRUE; +} + +int view_detail_datamodel_eap_ap_name_set(view_datamodel_eap_info_t *data_object, const char *ssid) +{ + assertm_if(NULL == data_object, "NULL!!"); + g_free(data_object->ap_name); + data_object->ap_name = g_strdup(ssid); + return TRUE; +} + +int view_detail_datamodel_eap_method_set(view_datamodel_eap_info_t *data_object, const wlan_eap_type_t eap_method) +{ + assertm_if(NULL == data_object, "NULL!!"); + data_object->eap_method = eap_method; + return TRUE; +} + +int view_detail_datamodel_eap_provision_set(view_datamodel_eap_info_t *data_object, const int provision) +{ + assertm_if(NULL == data_object, "NULL!!"); + data_object->eap_provision = provision; + return TRUE; +} + +int view_detail_datamodel_eap_auth_set(view_datamodel_eap_info_t *data_object, const wlan_eap_auth_type_t auth_type) +{ + assertm_if(NULL == data_object, "NULL!!"); + data_object->auth_type = auth_type; + return TRUE; +} + +int view_detail_datamodel_eap_user_id_set(view_datamodel_eap_info_t *data_object, const char* user_id) +{ + assertm_if(NULL == data_object, "NULL!!"); + g_free(data_object->user_id); + data_object->user_id = g_strdup(user_id); + return TRUE; +} + +int view_detail_datamodel_eap_anonymous_id_set(view_datamodel_eap_info_t *data_object, const char* anonymous_id) +{ + assertm_if(NULL == data_object, "NULL!!"); + g_free(data_object->anonymous_id); + data_object->anonymous_id = g_strdup(anonymous_id); + return TRUE; +} + +int view_detail_datamodel_eap_pswd_set(view_datamodel_eap_info_t *data_object, const char* pswd) +{ + assertm_if(NULL == data_object, "NULL!!"); + g_free(data_object->pswd); + data_object->pswd = g_strdup(pswd); + return TRUE; +} + +int view_detail_datamodel_eap_ca_cert_set(view_datamodel_eap_info_t *data_object, const char* ca_cert) +{ + assertm_if(NULL == data_object, "NULL!!"); + g_free(data_object->ca_cert); + data_object->ca_cert = g_strdup(ca_cert); + return TRUE; +} + +int view_detail_datamodel_eap_user_cert_set(view_datamodel_eap_info_t *data_object, const char* user_cert) +{ + assertm_if(NULL == data_object, "NULL!!"); + g_free(data_object->user_cert); + data_object->user_cert = g_strdup(user_cert); + return TRUE; +} + +IP_TYPES view_detail_datamodel_ip_and_dns_type_get(view_datamodel_ip_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return data_object->ip_and_dns_type; +} + +char *view_detail_datamodel_static_ip_address_get(view_datamodel_ip_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return g_strdup(data_object->ip); +} + +char *view_detail_datamodel_static_gateway_address_get(view_datamodel_ip_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return g_strdup(data_object->gateway); +} + +char *view_detail_datamodel_static_subnet_mask_get(view_datamodel_ip_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return g_strdup(data_object->subnet); +} + +char *view_detail_datamodel_static_dns1_address_get(view_datamodel_ip_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return g_strdup(data_object->dns1); +} + +char *view_detail_datamodel_static_dns2_address_get(view_datamodel_ip_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return g_strdup(data_object->dns2); +} + +char* view_detail_datamodel_proxy_address_get(view_datamodel_ip_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + if (data_object->proxy_addr) + return g_strdup(data_object->proxy_addr); + else + return NULL; +} + +char* view_detail_datamodel_MAC_addr_get(view_datamodel_ip_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + char* ret = g_strdup(data_object->MAC_address); + return ret; +} +#if 0 +int view_detail_datamodel_channel_freq_get(view_datamodel_ip_info_t *data_object) +{ + view_detail_datamodel_t *data_object = (view_detail_datamodel_t *)mvc_object; + assertm_if(NULL == data_object, "NULL!!"); + switch (data_object->channel_freq) { + default: + case 2412: + return 1; + case 2417: + return 2; + case 2422: + return 3; + case 2427: + return 4; + case 2432: + return 5; + case 2437: + return 6; + case 2442: + return 7; + case 2447: + return 8; + case 2452: + return 9; + case 2457: + return 10; + case 2462: + return 11; + } + return 0; +} +#endif + +wlan_eap_type_t view_detail_datamodel_eap_method_get(view_datamodel_eap_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return data_object->eap_method; +} + +int view_detail_datamodel_eap_provision_get(view_datamodel_eap_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return data_object->eap_provision; +} + +wlan_eap_auth_type_t view_detail_datamodel_eap_auth_get(view_datamodel_eap_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return data_object->auth_type; +} + +char *view_detail_datamodel_user_id_get(view_datamodel_eap_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return g_strdup(data_object->user_id); +} + +char *view_detail_datamodel_anonymous_id_get(view_datamodel_eap_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return g_strdup(data_object->anonymous_id); +} + +char *view_detail_datamodel_pswd_get(view_datamodel_eap_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return g_strdup(data_object->pswd); +} + +char *view_detail_datamodel_ca_cert_get(view_datamodel_eap_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return g_strdup(data_object->ca_cert); +} + +char *view_detail_datamodel_user_cert_get(view_datamodel_eap_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return g_strdup(data_object->user_cert); +} + +char *view_detail_datamodel_eap_ap_name_get(view_datamodel_eap_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return g_strdup(data_object->ap_name); +} + +char *view_detail_datamodel_basic_info_profile_name_get(view_datamodel_basic_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return g_strdup(data_object->profile_name); +} + +char *view_detail_datamodel_ap_name_get(view_datamodel_basic_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return g_strdup(data_object->ap_name); +} + +unsigned int view_detail_datamodel_sig_strength_get(view_datamodel_basic_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return data_object->signal_strength; +} + +unsigned int view_detail_datamodel_sec_mode_get(view_datamodel_basic_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return data_object->security_mode; +} + +char view_detail_datamodel_wps_support_get(view_datamodel_basic_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return data_object->wps_support; +} + +boolean view_detail_datamodel_is_favourite_get(view_datamodel_basic_info_t *data_object) +{ + assertm_if(NULL == data_object, "NULL!!"); + return data_object->is_favourite; +} diff --git a/sources/libraries/Common/common_eap_connect.c b/sources/libraries/Common/common_eap_connect.c new file mode 100644 index 0000000..2b5c81e --- /dev/null +++ b/sources/libraries/Common/common_eap_connect.c @@ -0,0 +1,1493 @@ +/* + * Wi-Fi + * + * 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 "common.h" +#include "common_eap_connect.h" +#include "i18nmanager.h" +#include "common_utils.h" +#include "common_ip_info.h" + +#define EAP_CONNECT_POPUP "popup_view" + +#define MAX_EAP_PROVISION_NUMBER 3 + +#define EAP_METHOD_EXP_MENU_ID 0 +#define EAP_PROVISION_EXP_MENU_ID 1 +#define EAP_AUTH_TYPE_EXP_MENU_ID 2 + +static bool g_eap_id_show_keypad = FALSE; +static Elm_Genlist_Item_Class g_eap_type_itc; +static Elm_Genlist_Item_Class g_eap_type_sub_itc; +static Elm_Genlist_Item_Class g_eap_provision_itc; +static Elm_Genlist_Item_Class g_eap_provision_sub_itc; +static Elm_Genlist_Item_Class g_eap_auth_itc; +static Elm_Genlist_Item_Class g_eap_auth_sub_itc; +static Elm_Genlist_Item_Class g_eap_ca_cert_itc; +static Elm_Genlist_Item_Class g_eap_user_cert_itc; +static Elm_Genlist_Item_Class g_eap_entry_itc; + +typedef enum { + EAP_SEC_TYPE_UNKNOWN = 0, + EAP_SEC_TYPE_PEAP, + EAP_SEC_TYPE_TLS, + EAP_SEC_TYPE_TTLS, + EAP_SEC_TYPE_SIM, + EAP_SEC_TYPE_AKA, + EAP_SEC_TYPE_FAST, + EAP_SEC_TYPE_NULL +} eap_type_t; + +typedef enum { + EAP_SEC_AUTH_NONE = 0, + EAP_SEC_AUTH_PAP, + EAP_SEC_AUTH_MSCHAP, + EAP_SEC_AUTH_MSCHAPV2, + EAP_SEC_AUTH_GTC, + EAP_SEC_AUTH_MD5, + EAP_SEC_AUTH_NULL +} eap_auth_t; + +typedef struct { + char depth; + char *name; + Elm_Genlist_Item_Type flags; +} _Expand_List_t; + +struct eap_info_list { + wifi_ap_h ap; + Elm_Object_Item *pswd_item; +}; + +static const _Expand_List_t list_eap_type[] = { + {1, "UNKNOWN", ELM_GENLIST_ITEM_NONE}, + {1, "PEAP", ELM_GENLIST_ITEM_NONE}, + {1, "TLS", ELM_GENLIST_ITEM_NONE}, + {1, "TTLS", ELM_GENLIST_ITEM_NONE}, + {1, "SIM", ELM_GENLIST_ITEM_NONE}, + {1, "AKA", ELM_GENLIST_ITEM_NONE}, +#ifndef DISABLE_FAST_EAP_METHOD + {1, "FAST", ELM_GENLIST_ITEM_NONE}, +#endif + {1, NULL, ELM_GENLIST_ITEM_NONE} +}; + +static const _Expand_List_t list_eap_auth[] = { + {1, "NONE", ELM_GENLIST_ITEM_NONE}, + {1, "PAP", ELM_GENLIST_ITEM_NONE}, + {1, "MSCHAP", ELM_GENLIST_ITEM_NONE}, + {1, "MSCHAPV2", ELM_GENLIST_ITEM_NONE}, + {1, "GTC", ELM_GENLIST_ITEM_NONE}, + {1, "MD5", ELM_GENLIST_ITEM_NONE}, + {1, NULL, ELM_GENLIST_ITEM_NONE} +}; + +static Evas_Object *radio_main = NULL; + +struct common_eap_connect_data { + int expandable_list_index; + + Elm_Object_Item *eap_type_item; + Elm_Object_Item *eap_provision_item; + Elm_Object_Item *eap_auth_item; + Elm_Object_Item *eap_ca_cert_item; + Elm_Object_Item *eap_user_cert_item; + Elm_Object_Item *eap_id_item; + Elm_Object_Item *eap_anonyid_item; + Elm_Object_Item *eap_pw_item; + Evas_Object *popup; + + Evas_Object *genlist; + Eina_Bool eap_done_ok; + Evas_Object *win; + const char *str_pkg_name; + wifi_ap_h ap; + ip_info_list_t *ip_info_list; + Evas_Object* navi_frame; + + int visible_area_width; + int visible_area_height; +}; + +static void _gl_eap_provision_sel(void *data, Evas_Object *obj, void *event_info); +static void _gl_eap_auth_sel(void *data, Evas_Object *obj, void *event_info); +static void _create_and_update_list_items_based_on_rules(eap_type_t new_type, common_eap_connect_data_t *eap_data); +static void _delete_eap_entry_items(common_eap_connect_data_t *eap_data); +static eap_type_t __common_eap_connect_popup_get_eap_type(wifi_ap_h ap); +static eap_auth_t __common_eap_connect_popup_get_auth_type(wifi_ap_h ap); +static wifi_eap_type_e __common_eap_connect_popup_get_wlan_eap_type(eap_type_t eap_type); +static wifi_eap_auth_type_e __common_eap_connect_popup_get_wlan_auth_type(eap_auth_t auth_type); + +static void _gl_editbox_sel_cb(void *data, Evas_Object *obj, void *event_info) +{ + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + elm_genlist_item_selected_set(item, FALSE); +} + +static void _gl_eap_type_sel(void *data, Evas_Object *obj, void *event_info) +{ + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *) data; + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + Eina_Bool expanded = EINA_FALSE; + if (item) + elm_genlist_item_selected_set(item, EINA_FALSE); + + expanded = elm_genlist_item_expanded_get(item); + if (expanded == FALSE) { + eap_data->expandable_list_index = EAP_METHOD_EXP_MENU_ID; + } + + /* Expand/Contract the sub items list */ + elm_genlist_item_expanded_set(item, !expanded); +} + +static void _gl_eap_type_sub_sel(void *data, Evas_Object *obj, void *event_info) +{ + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *) data; + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + Elm_Object_Item *parent_item = elm_genlist_item_parent_get(item); + + eap_type_t pre_index = __common_eap_connect_popup_get_eap_type(eap_data->ap); + eap_type_t selected_item_index = elm_genlist_item_index_get(item) - elm_genlist_item_index_get(parent_item); + + DEBUG_LOG( UG_NAME_NORMAL, "previous index = %d; selected index = %d;", pre_index, selected_item_index); + + /* Contract the sub items list */ + elm_genlist_item_expanded_set(parent_item, EINA_FALSE); + + if (pre_index != selected_item_index) { +// selected_item_index = __common_eap_connect_popup_get_eap_type(__common_eap_connect_popup_get_wlan_eap_type(selected_item_index)); + _create_and_update_list_items_based_on_rules(selected_item_index, data); + wifi_eap_type_e type; + wifi_ap_set_eap_type(eap_data->ap, __common_eap_connect_popup_get_wlan_eap_type(selected_item_index)); + wifi_ap_get_eap_type(eap_data->ap, &type); + DEBUG_LOG( UG_NAME_NORMAL, "set to new index = %d", type); + elm_genlist_item_update(parent_item); + } else { + DEBUG_LOG( UG_NAME_NORMAL, "pre_index == selected_item_index[%d]", selected_item_index); + } +} + +static void _gl_eap_provision_sel(void *data, Evas_Object *obj, void *event_info) +{ + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *) data; + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + Eina_Bool expanded = EINA_FALSE; + if (item) + elm_genlist_item_selected_set(item, EINA_FALSE); + + expanded = elm_genlist_item_expanded_get(item); + if (expanded == FALSE) { + eap_data->expandable_list_index = EAP_PROVISION_EXP_MENU_ID; + } + + /* Expand/Contract the sub items list */ + elm_genlist_item_expanded_set(item, !expanded); +} + +static void _gl_eap_provision_sub_sel(void *data, Evas_Object *obj, void *event_info) +{ + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + Elm_Object_Item *parent_item = elm_genlist_item_parent_get(item); + + /* TODO: Set the EAP provision. No CAPI available now. */ + + /* Contract the sub items list */ + elm_genlist_item_expanded_set(parent_item, EINA_FALSE); + + elm_genlist_item_update(parent_item); +} + +static void _gl_eap_auth_sel(void *data, Evas_Object *obj, void *event_info) +{ + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *) data; + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + Eina_Bool expanded = EINA_FALSE; + if (item) + elm_genlist_item_selected_set(item, EINA_FALSE); + + expanded = elm_genlist_item_expanded_get(item); + if (expanded == FALSE) { + eap_data->expandable_list_index = EAP_AUTH_TYPE_EXP_MENU_ID; + } + /* Expand/Contract the sub items list */ + elm_genlist_item_expanded_set(item, !expanded); +} + +static void _gl_eap_auth_sub_sel(void *data, Evas_Object *obj, void *event_info) +{ + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *) data; + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + Elm_Object_Item *parent_item = elm_genlist_item_parent_get(item); + eap_auth_t selected_item_index = elm_genlist_item_index_get(item) - elm_genlist_item_index_get(parent_item) - 1; + + wifi_ap_set_eap_auth_type(eap_data->ap, __common_eap_connect_popup_get_wlan_auth_type(selected_item_index)); + + /* Contract the sub items list */ + elm_genlist_item_expanded_set(parent_item, EINA_FALSE); + + elm_genlist_item_update(parent_item); +} + +static char *_gl_eap_type_text_get(void *data, Evas_Object *obj, const char *part) +{ + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data; + eap_type_t sel_sub_item_id = __common_eap_connect_popup_get_eap_type(eap_data->ap); + DEBUG_LOG(UG_NAME_NORMAL, "current selected subitem = %d", sel_sub_item_id); + + if (!strcmp(part, "elm.text.1")) { + return g_strdup(list_eap_type[sel_sub_item_id].name); + } else if (!strcmp(part, "elm.text.2")) { + return g_strdup(sc(eap_data->str_pkg_name, I18N_TYPE_EAP_method)); + } + + return NULL; +} + +static char *_gl_eap_subtext_get(void *data, Evas_Object *obj, const char *part) +{ + wlan_eap_type_t eap_type = (wlan_eap_type_t)elm_radio_state_value_get(data); + if (!strcmp(part, "elm.text")) { + return g_strdup(list_eap_type[eap_type].name); + } + + return NULL; +} + +static Evas_Object *_gl_eap_content_get(void *data, Evas_Object *obj, const char *part) +{ + if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) { + return data; + } + + return NULL; +} + +static void _gl_eap_type_sub_menu_item_del(void *data, Evas_Object *obj) +{ + evas_object_unref(data); +} + +static char *_gl_eap_provision_text_get(void *data, Evas_Object *obj, const char *part) +{ + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data; + int sel_sub_item_id = 0; + + /* TODO: Fetch the EAP provision. No CAPI available now. */ + + DEBUG_LOG(UG_NAME_NORMAL, "current selected subitem = %d", sel_sub_item_id); + + if (!strcmp(part, "elm.text.1")) { + return g_strdup_printf("%d", sel_sub_item_id); + } else if (!strcmp(part, "elm.text.2")) { + return g_strdup(sc(eap_data->str_pkg_name, I18N_TYPE_Provisioning)); + } + + return NULL; +} + +static char *_gl_eap_provision_subtext_get(void *data, Evas_Object *obj, const char *part) +{ + if (!strcmp(part, "elm.text")) { + return g_strdup_printf("%d", (int)elm_radio_state_value_get(data)); + } + + return NULL; +} + +static Evas_Object *_gl_eap_provision_content_get(void *data, Evas_Object *obj, const char *part) +{ + if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) { + return data; + } + + return NULL; +} + +static void _gl_eap_provision_sub_menu_item_del(void *data, Evas_Object *obj) +{ + evas_object_unref(data); +} + +static char *_gl_eap_auth_text_get(void *data, Evas_Object *obj, const char *part) +{ + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data; + eap_auth_t sel_sub_item_id = __common_eap_connect_popup_get_auth_type(eap_data->ap); + if (!strcmp(part, "elm.text.1")) { + return g_strdup(list_eap_auth[sel_sub_item_id].name); + } else if (!strcmp(part, "elm.text.2")) { + return g_strdup(sc(eap_data->str_pkg_name, I18N_TYPE_Phase_2_authentication)); + } + + return NULL; +} + +static char *_gl_eap_auth_subtext_get(void *data, Evas_Object *obj, const char *part) +{ + wlan_eap_auth_type_t eap_auth = (wlan_eap_auth_type_t)elm_radio_state_value_get(data); + if (!strcmp(part, "elm.text")) { + return g_strdup(list_eap_auth[eap_auth].name); + } + + return NULL; +} + +static Evas_Object *_gl_eap_auth_content_get(void *data, Evas_Object *obj, const char *part) +{ + if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) { + return data; + } + + return NULL; +} + +static void _gl_eap_auth_sub_menu_item_del(void *data, Evas_Object *obj) +{ + evas_object_unref(data); +} + +static char *_gl_eap_ca_cert_text_get(void *data, Evas_Object *obj, const char *part) +{ + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data; + if (!strcmp(part, "elm.text.2")) { + return g_strdup(sc(eap_data->str_pkg_name, I18N_TYPE_Ca_Certificate)); + } else if (!strcmp(part, "elm.text.1")) { + return g_strdup(sc(eap_data->str_pkg_name, I18N_TYPE_Unspecified)); + } + + return NULL; +} + +static char *_gl_eap_user_cert_text_get(void *data, Evas_Object *obj, const char *part) +{ + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data; + if (!strcmp(part, "elm.text.2")) { + return g_strdup(sc(eap_data->str_pkg_name, I18N_TYPE_User_Certificate)); + } else if (!strcmp(part, "elm.text.1")) { + return g_strdup(sc(eap_data->str_pkg_name, I18N_TYPE_Unspecified)); + } + + return NULL; +} + +static void _gl_eap_entry_cursor_changed_cb(void* data, Evas_Object* obj, void* event_info) +{ + if (data == NULL) + return; + + common_utils_entry_info_t *entry_info = (common_utils_entry_info_t *)data; + + if (entry_info) { + g_free(entry_info->entry_txt); + entry_info->entry_txt = NULL; + + char *entry_text = elm_entry_markup_to_utf8(elm_entry_entry_get(obj)); + + if (entry_text != NULL && entry_text[0] != '\0') + entry_info->entry_txt = g_strdup(elm_entry_entry_get(obj)); + + g_free(entry_text); + } +} + +static void _gl_eap_entry_changed_cb(void* data, Evas_Object* obj, void* event_info) +{ + if (obj == NULL) + return; + + 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"); + } +} + +static void _gl_eap_entry_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"); +} + +static void _gl_eap_entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info) +{ + INFO_LOG(UG_NAME_NORMAL, "_gl_eap_entry_unfocused_cb entered"); + + if (elm_entry_is_empty(obj)) + elm_object_signal_emit(data, "elm,state,guidetext,show", "elm"); + else { + elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm"); + } + + elm_object_signal_emit(data, "elm,state,eraser,hide", "elm"); +} + +static void _gl_eap_entry_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + elm_entry_entry_set(data, ""); +} + +static Evas_Object *_gl_eap_entry_item_content_get(void *data, Evas_Object *obj, const char *part) +{ + if (g_strcmp0(part, "elm.icon")) { + return NULL; + } + + common_utils_entry_info_t *entry_info = (common_utils_entry_info_t *)data; + if (!entry_info) + return NULL; + + Evas_Object *layout = NULL; + Evas_Object *entry = NULL; + char *title = NULL; + char *guide_txt = NULL; + char *accepted = NULL; + Eina_Bool hide_entry_txt = EINA_FALSE; + Elm_Input_Panel_Layout panel_type = ELM_INPUT_PANEL_LAYOUT_URL; + + Elm_Entry_Filter_Limit_Size limit_filter_data; + + layout = elm_layout_add(obj); + elm_layout_theme_set(layout, "layout", "editfield", "title"); + + entry = elm_entry_add(layout); + elm_entry_scrollable_set(entry, EINA_TRUE); + elm_entry_single_line_set(entry, EINA_TRUE); + elm_object_part_content_set(layout, "elm.swallow.content", entry); + + switch (entry_info->entry_id) + { + case ENTRY_TYPE_USER_ID: + title = entry_info->title_txt; + guide_txt = entry_info->guide_txt; + break; + case ENTRY_TYPE_ANONYMOUS_ID: + title = entry_info->title_txt; + guide_txt = entry_info->guide_txt; + break; + case ENTRY_TYPE_PASSWORD: + title = entry_info->title_txt; + guide_txt = entry_info->guide_txt; + hide_entry_txt = EINA_TRUE; + break; + default: + return NULL; + } + elm_object_part_text_set(layout, "elm.text", title); + elm_object_part_text_set(layout, "elm.guidetext", guide_txt); + elm_entry_password_set(entry, hide_entry_txt); + if (entry_info->entry_txt && (strlen(entry_info->entry_txt) > 0)) { + elm_entry_entry_set(entry, entry_info->entry_txt); + elm_object_signal_emit(layout, "elm,state,guidetext,hide", "elm"); + } + elm_entry_input_panel_layout_set(entry, panel_type); + limit_filter_data.max_char_count = 32; + elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &limit_filter_data); + + Elm_Entry_Filter_Accept_Set digits_filter_data; + memset(&digits_filter_data, 0, sizeof(Elm_Entry_Filter_Accept_Set)); + digits_filter_data.accepted = accepted; + elm_entry_markup_filter_append(entry, elm_entry_filter_accept_set, &digits_filter_data); + + Ecore_IMF_Context *imf_ctxt = elm_entry_imf_context_get(entry); + if (imf_ctxt) { + ecore_imf_context_input_panel_event_callback_add(imf_ctxt, ECORE_IMF_INPUT_PANEL_STATE_EVENT, entry_info->input_panel_cb, entry_info->input_panel_cb_data); + DEBUG_LOG(UG_NAME_NORMAL, "set the imf ctxt cbs"); + } + + evas_object_smart_callback_add(entry, "cursor,changed", _gl_eap_entry_cursor_changed_cb, entry_info); + evas_object_smart_callback_add(entry, "changed", _gl_eap_entry_changed_cb, layout); + evas_object_smart_callback_add(entry, "focused", _gl_eap_entry_focused_cb, layout); + evas_object_smart_callback_add(entry, "unfocused", _gl_eap_entry_unfocused_cb, layout); + elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _gl_eap_entry_eraser_clicked_cb, entry); + evas_object_show(entry); + + if (ENTRY_TYPE_USER_ID == entry_info->entry_id) { + if (TRUE == g_eap_id_show_keypad) { + elm_object_focus_set(entry, EINA_TRUE); + g_eap_id_show_keypad = FALSE; + } + } + entry_info->layout = layout; + return layout; +} + +static void _gl_eap_entry_item_del(void *data, Evas_Object *obj) +{ + common_utils_entry_info_t *entry_info = (common_utils_entry_info_t *)data; + if (entry_info == NULL) + return; + + if (entry_info->entry_txt) + g_free(entry_info->entry_txt); + + if (entry_info->input_panel_cb) { + Evas_Object *entry = common_utils_entry_layout_get_entry(entry_info->layout); + Ecore_IMF_Context *imf_ctxt = elm_entry_imf_context_get(entry); + if (imf_ctxt) { + ecore_imf_context_input_panel_event_callback_del(imf_ctxt, ECORE_IMF_INPUT_PANEL_STATE_EVENT, entry_info->input_panel_cb); + } + } + + g_free(entry_info); +} + +static void _gl_exp(void *data, Evas_Object *obj, void *event_info) +{ + Evas_Object *radio; + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data; + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + Elm_Object_Item *sub_item = NULL; + Evas_Object *gl = elm_object_item_widget_get(item); + if (gl == NULL) { + ERROR_LOG(UG_NAME_NORMAL, "gl is NULL"); + return; + } + + evas_object_focus_set(gl, EINA_TRUE); + + int i = 0; + eap_type_t eap_type; + eap_auth_t auth_type; + INFO_LOG(UG_NAME_RESP, "depth = %d", eap_data->expandable_list_index); + switch (eap_data->expandable_list_index) { + case EAP_METHOD_EXP_MENU_ID: + i = EAP_SEC_TYPE_PEAP; + eap_type = __common_eap_connect_popup_get_eap_type(eap_data->ap); + while(list_eap_type[i].name != NULL) { + radio = common_utils_create_radio_button(obj, i); + elm_radio_group_add(radio, radio_main); + evas_object_ref(radio); + if (i == eap_type) + elm_radio_value_set(radio, i); + sub_item = elm_genlist_item_append(gl, &g_eap_type_sub_itc, (void*)radio, item, list_eap_type[i].flags, _gl_eap_type_sub_sel, eap_data); +#ifdef DISABLE_FAST_EAP_METHOD + if (!g_strcmp0(list_eap_type[i].name, "FAST")) { + elm_object_item_disabled_set(sub_item, TRUE); + } +#endif + i++; + } + break; + case EAP_PROVISION_EXP_MENU_ID: + while(i <= MAX_EAP_PROVISION_NUMBER) { + radio = common_utils_create_radio_button(obj, i); + elm_radio_group_add(radio, radio_main); + evas_object_ref(radio); + if (i == 0) /* TODO: Fetch the EAP provision. CAPI not available now. */ + elm_radio_value_set(radio, i); + elm_genlist_item_append(gl, &g_eap_provision_sub_itc, (void*)radio, item, ELM_GENLIST_ITEM_NONE, _gl_eap_provision_sub_sel, eap_data); + i++; + } + break; + case EAP_AUTH_TYPE_EXP_MENU_ID: + auth_type = __common_eap_connect_popup_get_auth_type(eap_data->ap); + while(list_eap_auth[i].name != NULL) { + radio = common_utils_create_radio_button(obj, i); + elm_radio_group_add(radio, radio_main); + evas_object_ref(radio); + if (i == auth_type) + elm_radio_value_set(radio, i); + elm_genlist_item_append(gl, &g_eap_auth_sub_itc, (void*)radio, item, list_eap_auth[i].flags, _gl_eap_auth_sub_sel, eap_data); + i++; + } + break; + default: + break; + } +} + +static void _gl_con(void *data, Evas_Object *obj, void *event_info) +{ + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + + elm_genlist_item_subitems_clear(item); +} + +static void __common_eap_connect_popup_init_item_class(void *data) +{ + g_eap_type_itc.item_style = "dialogue/2text.2/expandable"; + g_eap_type_itc.func.text_get = _gl_eap_type_text_get; + g_eap_type_itc.func.content_get = NULL; + g_eap_type_itc.func.state_get = NULL; + g_eap_type_itc.func.del = NULL; + + g_eap_type_sub_itc.item_style = "dialogue/1text.1icon.2/expandable2"; + g_eap_type_sub_itc.func.text_get = _gl_eap_subtext_get; + g_eap_type_sub_itc.func.content_get = _gl_eap_content_get; + g_eap_type_sub_itc.func.state_get = NULL; + g_eap_type_sub_itc.func.del = _gl_eap_type_sub_menu_item_del; + + g_eap_provision_itc.item_style = "dialogue/2text.2/expandable"; + g_eap_provision_itc.func.text_get = _gl_eap_provision_text_get; + g_eap_provision_itc.func.content_get = NULL; + g_eap_provision_itc.func.state_get = NULL; + g_eap_provision_itc.func.del = NULL; + + g_eap_provision_sub_itc.item_style = "dialogue/1text.1icon.2/expandable2"; + g_eap_provision_sub_itc.func.text_get = _gl_eap_provision_subtext_get; + g_eap_provision_sub_itc.func.content_get = _gl_eap_provision_content_get; + g_eap_provision_sub_itc.func.state_get = NULL; + g_eap_provision_sub_itc.func.del = _gl_eap_provision_sub_menu_item_del; + + g_eap_auth_itc.item_style = "dialogue/2text.2/expandable"; + g_eap_auth_itc.func.text_get = _gl_eap_auth_text_get; + g_eap_auth_itc.func.content_get = NULL; + g_eap_auth_itc.func.state_get = NULL; + g_eap_auth_itc.func.del = NULL; + + g_eap_auth_sub_itc.item_style = "dialogue/1text.1icon.2/expandable2"; + g_eap_auth_sub_itc.func.text_get = _gl_eap_auth_subtext_get; + g_eap_auth_sub_itc.func.content_get = _gl_eap_auth_content_get; + g_eap_auth_sub_itc.func.state_get = NULL; + g_eap_auth_sub_itc.func.del = _gl_eap_auth_sub_menu_item_del; + + g_eap_ca_cert_itc.item_style = "dialogue/2text.2"; + g_eap_ca_cert_itc.func.text_get = _gl_eap_ca_cert_text_get; + g_eap_ca_cert_itc.func.content_get = NULL; + g_eap_ca_cert_itc.func.state_get = NULL; + g_eap_ca_cert_itc.func.del = NULL; + + g_eap_user_cert_itc.item_style = "dialogue/2text.2"; + g_eap_user_cert_itc.func.text_get = _gl_eap_user_cert_text_get; + g_eap_user_cert_itc.func.content_get = NULL; + g_eap_user_cert_itc.func.state_get = NULL; + g_eap_user_cert_itc.func.del = NULL; + + g_eap_entry_itc.item_style = "dialogue/1icon"; + g_eap_entry_itc.func.text_get = NULL; + g_eap_entry_itc.func.content_get = _gl_eap_entry_item_content_get; + g_eap_entry_itc.func.state_get = NULL; + g_eap_entry_itc.func.del = _gl_eap_entry_item_del; +} + +static void __common_eap_connect_imf_ctxt_evnt_cb(void *data, Ecore_IMF_Context *ctx, int value) +{ + if (!data) + return; + + if (value == ECORE_IMF_INPUT_PANEL_STATE_SHOW) { + DEBUG_LOG(UG_NAME_NORMAL, "Key pad is now open"); + elm_object_item_signal_emit(data, "elm,state,sip,shown", ""); + } else if (value == ECORE_IMF_INPUT_PANEL_STATE_HIDE) { + DEBUG_LOG(UG_NAME_NORMAL, "Key pad is now close"); + elm_object_item_signal_emit(data, "elm,state,sip,hidden", ""); + } +} + +static void __common_eap_connect_imf_ctxt_evnt_resize_cb(void *data, Ecore_IMF_Context *ctx, int value) +{ + __COMMON_FUNC_ENTER__; + + if (!data) + return; + + if (value == ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW) + return; + + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data; + Evas_Object *box = elm_object_content_get(eap_data->popup); + + __common_popup_size_get(ctx, &eap_data->visible_area_width, &eap_data->visible_area_height); + evas_object_size_hint_min_set(box, eap_data->visible_area_width * elm_config_scale_get(), + eap_data->visible_area_height * elm_config_scale_get()); + + __COMMON_FUNC_EXIT__; +} + +static void __common_eap_view_set_imf_ctxt_evnt_cb(common_eap_connect_data_t *eap_data) +{ + if (!eap_data) + return; + + Elm_Object_Item *navi_it = elm_naviframe_top_item_get(eap_data->navi_frame); + + if (!navi_it) + return; + + if (eap_data->eap_id_item) + common_utils_set_edit_box_imf_panel_evnt_cb(eap_data->eap_id_item, __common_eap_connect_imf_ctxt_evnt_cb, navi_it); + if (eap_data->eap_anonyid_item) + common_utils_set_edit_box_imf_panel_evnt_cb(eap_data->eap_anonyid_item, __common_eap_connect_imf_ctxt_evnt_cb, navi_it); + if (eap_data->eap_pw_item) + common_utils_set_edit_box_imf_panel_evnt_cb(eap_data->eap_pw_item, __common_eap_connect_imf_ctxt_evnt_cb, navi_it); +} + +static void __common_eap_popup_set_imf_ctxt_evnt_cb(common_eap_connect_data_t *eap_data) +{ + if (!eap_data) + return; + + if (eap_data->eap_id_item) + common_utils_set_edit_box_imf_panel_evnt_cb(eap_data->eap_id_item, __common_eap_connect_imf_ctxt_evnt_resize_cb, eap_data); + if (eap_data->eap_anonyid_item) + common_utils_set_edit_box_imf_panel_evnt_cb(eap_data->eap_anonyid_item, __common_eap_connect_imf_ctxt_evnt_resize_cb, eap_data); + if (eap_data->eap_pw_item) + common_utils_set_edit_box_imf_panel_evnt_cb(eap_data->eap_pw_item, __common_eap_connect_imf_ctxt_evnt_resize_cb, eap_data); +} + +/* + * This creates EAP type, Auth type, CA certificate, User certificate, User Id, Anonymous Id and Password items. + */ + +static void _create_and_update_list_items_based_on_rules(eap_type_t new_type, common_eap_connect_data_t *eap_data) +{ + __COMMON_FUNC_ENTER__; + Evas_Object* view_list = eap_data->genlist; + Elm_Object_Item *insert_after_item = NULL; + eap_type_t pre_type; + + if (NULL == eap_data->eap_type_item) { + /* Create EAP method/type */ + pre_type = EAP_SEC_TYPE_SIM; + eap_data->eap_type_item = elm_genlist_item_append(view_list, &g_eap_type_itc, eap_data, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_type_sel, eap_data); + } else { + pre_type = __common_eap_connect_popup_get_eap_type(eap_data->ap); + } + + switch (new_type) { + case EAP_SEC_TYPE_PEAP: + case EAP_SEC_TYPE_TLS: + case EAP_SEC_TYPE_TTLS: + if (EAP_SEC_TYPE_UNKNOWN == pre_type || EAP_SEC_TYPE_SIM == pre_type || EAP_SEC_TYPE_AKA == pre_type) { + insert_after_item = eap_data->eap_type_item; + } else if (EAP_SEC_TYPE_FAST == pre_type) { + elm_object_item_del(eap_data->eap_provision_item); + eap_data->eap_provision_item = NULL; + } + break; + case EAP_SEC_TYPE_SIM: + case EAP_SEC_TYPE_AKA: + if (EAP_SEC_TYPE_PEAP == pre_type || EAP_SEC_TYPE_TLS == pre_type || EAP_SEC_TYPE_TTLS == pre_type) { + _delete_eap_entry_items(eap_data); + } else if (EAP_SEC_TYPE_FAST == pre_type) { + elm_object_item_del(eap_data->eap_provision_item); + eap_data->eap_provision_item = NULL; + _delete_eap_entry_items(eap_data); + } + break; + case EAP_SEC_TYPE_FAST: + /* Add EAP provision */ + eap_data->eap_provision_item = elm_genlist_item_insert_after(view_list, &g_eap_provision_itc, eap_data, NULL, eap_data->eap_type_item, ELM_GENLIST_ITEM_TREE, _gl_eap_provision_sel, eap_data); + DEBUG_LOG(UG_NAME_NORMAL, "current selected provision = %d", 0); // TODO: Fetch the EAP provision. CAPI not yet available. + if (EAP_SEC_TYPE_UNKNOWN == pre_type || EAP_SEC_TYPE_SIM == pre_type || EAP_SEC_TYPE_AKA == pre_type) { + insert_after_item = eap_data->eap_provision_item; + } + break; + default: + break; + } + + if (insert_after_item) { + common_utils_entry_info_t *edit_box_details; + + /* Add EAP phase2 authentication */ + eap_data->eap_auth_item = elm_genlist_item_insert_after(view_list, &g_eap_auth_itc, eap_data, NULL, insert_after_item, ELM_GENLIST_ITEM_TREE, _gl_eap_auth_sel, eap_data); + + /* Add CA certificate */ + eap_data->eap_ca_cert_item = elm_genlist_item_insert_after(view_list, &g_eap_ca_cert_itc, eap_data, NULL, eap_data->eap_auth_item, ELM_GENLIST_ITEM_NONE, NULL, NULL); + elm_genlist_item_select_mode_set(eap_data->eap_ca_cert_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + + /* Add User certificate */ + eap_data->eap_user_cert_item = elm_genlist_item_insert_after(view_list, &g_eap_user_cert_itc, eap_data, NULL, eap_data->eap_ca_cert_item, ELM_GENLIST_ITEM_NONE, NULL, NULL); + elm_genlist_item_select_mode_set(eap_data->eap_user_cert_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + + /* Add EAP ID */ + edit_box_details = g_new0(common_utils_entry_info_t, 1); + edit_box_details->entry_id = ENTRY_TYPE_USER_ID; + edit_box_details->title_txt = sc(eap_data->str_pkg_name, I18N_TYPE_Identity); + edit_box_details->guide_txt = sc(eap_data->str_pkg_name, I18N_TYPE_Enter_Identity); + eap_data->eap_id_item = elm_genlist_item_insert_after(view_list, &g_eap_entry_itc, edit_box_details, NULL, eap_data->eap_user_cert_item, ELM_GENLIST_ITEM_NONE, _gl_editbox_sel_cb, NULL); + elm_genlist_item_select_mode_set(eap_data->eap_id_item, ELM_OBJECT_SELECT_MODE_NONE); + g_eap_id_show_keypad = FALSE; + + /* Add EAP Anonymous Identity */ + edit_box_details = g_new0(common_utils_entry_info_t, 1); + edit_box_details->entry_id = ENTRY_TYPE_ANONYMOUS_ID; + edit_box_details->title_txt = sc(eap_data->str_pkg_name, I18N_TYPE_Anonymous_Identity); + edit_box_details->guide_txt = sc(eap_data->str_pkg_name, I18N_TYPE_Enter_Anonymous_Identity); + eap_data->eap_anonyid_item = elm_genlist_item_insert_after(view_list, &g_eap_entry_itc, edit_box_details, NULL, eap_data->eap_id_item, ELM_GENLIST_ITEM_NONE, _gl_editbox_sel_cb, NULL); + elm_genlist_item_select_mode_set(eap_data->eap_anonyid_item, ELM_OBJECT_SELECT_MODE_NONE); + + /* Add EAP Password */ + edit_box_details = g_new0(common_utils_entry_info_t, 1); + edit_box_details->entry_id = ENTRY_TYPE_PASSWORD; + edit_box_details->title_txt = sc(eap_data->str_pkg_name, I18N_TYPE_Password); + edit_box_details->guide_txt = sc(eap_data->str_pkg_name, I18N_TYPE_Enter_password); + eap_data->eap_pw_item = elm_genlist_item_insert_after(view_list, &g_eap_entry_itc, edit_box_details, NULL, eap_data->eap_anonyid_item, ELM_GENLIST_ITEM_NONE, _gl_editbox_sel_cb, NULL); + elm_genlist_item_select_mode_set(eap_data->eap_pw_item, ELM_OBJECT_SELECT_MODE_NONE); + + if (eap_data->popup) { /* Popup */ + __common_eap_popup_set_imf_ctxt_evnt_cb(eap_data); + } else { /* View */ + __common_eap_view_set_imf_ctxt_evnt_cb(eap_data); + } + } + __COMMON_FUNC_EXIT__; +} + +void _delete_eap_entry_items(common_eap_connect_data_t *eap_data) +{ + __COMMON_FUNC_ENTER__; + elm_object_item_del(eap_data->eap_auth_item); + eap_data->eap_auth_item = NULL; + elm_object_item_del(eap_data->eap_ca_cert_item); + eap_data->eap_ca_cert_item = NULL; + elm_object_item_del(eap_data->eap_user_cert_item); + eap_data->eap_user_cert_item = NULL; + elm_object_item_del(eap_data->eap_id_item); + eap_data->eap_id_item = NULL; + elm_object_item_del(eap_data->eap_anonyid_item); + eap_data->eap_anonyid_item = NULL; + elm_object_item_del(eap_data->eap_pw_item); + eap_data->eap_pw_item = NULL; + __COMMON_FUNC_EXIT__; +} + +static Evas_Object* _create_list(Evas_Object* parent, void *data) +{ + __COMMON_FUNC_ENTER__; + assertm_if(NULL == parent, "NULL!!"); + + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data; + const char* parent_view_name = evas_object_name_get(parent); + Evas_Object* view_list = NULL; + + __common_eap_connect_popup_init_item_class(eap_data); + eap_data->eap_done_ok = FALSE; + eap_data->genlist = view_list = elm_genlist_add(parent); + + if (g_strcmp0(EAP_CONNECT_POPUP, parent_view_name) != 0) { + elm_object_style_set(view_list, "dialogue"); + common_utils_add_dialogue_separator(view_list, "dialogue/separator.2"); + } + + evas_object_size_hint_weight_set(view_list, EVAS_HINT_EXPAND, + EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(view_list, EVAS_HINT_FILL, EVAS_HINT_FILL); + + if (!radio_main) { + radio_main = elm_radio_add(view_list); + elm_radio_state_value_set(radio_main, 0); + elm_radio_value_set(radio_main, 0); + } + + /* Set default values. eap type = PEAP, auth type = MSCHAPv2 */ + wifi_ap_set_eap_type(eap_data->ap, WIFI_EAP_TYPE_PEAP); + wifi_ap_set_eap_auth_type(eap_data->ap, WIFI_EAP_AUTH_TYPE_MSCHAPV2); + + /* Create the entry items */ + _create_and_update_list_items_based_on_rules(EAP_SEC_TYPE_PEAP, eap_data); + + evas_object_smart_callback_add(view_list, "expanded", _gl_exp, eap_data); + evas_object_smart_callback_add(view_list, "contracted", _gl_con, view_list); + + __COMMON_FUNC_EXIT__; + return view_list; +} + +static void __common_eap_connect_cleanup(common_eap_connect_data_t *eap_data) +{ + if (eap_data != NULL) { + ip_info_remove(eap_data->ip_info_list); + eap_data->ip_info_list = NULL; + evas_object_del(eap_data->genlist); + wifi_ap_destroy(eap_data->ap); + eap_data->ap = NULL; + evas_object_del(radio_main); + radio_main = NULL; + if (NULL == eap_data->navi_frame) { + evas_object_del(eap_data->popup); + /* Lets enable the scan updates */ + wlan_manager_enable_scan_result_update(); + } + g_free(eap_data); + + } +} + +static void __common_eap_connect_destroy(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *) data; + __common_eap_connect_cleanup(eap_data); + __COMMON_FUNC_EXIT__; +} + +static void __common_eap_connect_done_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data; + + if(eap_data->eap_done_ok == TRUE) { + return; + } + eap_data->eap_done_ok = TRUE; + + char* str_id = NULL; + char* str_pw = NULL; + + wifi_eap_type_e eap_type; + + wifi_ap_set_eap_ca_cert_file(eap_data->ap, ""); + wifi_ap_set_eap_client_cert_file(eap_data->ap, ""); + wifi_ap_set_eap_private_key_info(eap_data->ap, "", ""); + + wifi_ap_get_eap_type(eap_data->ap, &eap_type); + switch (eap_type) { + case WIFI_EAP_TYPE_PEAP: + case WIFI_EAP_TYPE_TTLS: + str_id = common_utils_get_list_item_entry_txt(eap_data->eap_id_item); + if (!str_id || strlen(str_id) <= 0) { + common_utils_show_info_ok_popup(eap_data->win, eap_data->str_pkg_name, EAP_CHECK_YOUR_ID_STR); + eap_data->eap_done_ok = FALSE; + __COMMON_FUNC_EXIT__; + return; + } + + str_pw = common_utils_get_list_item_entry_txt(eap_data->eap_pw_item); + if (!str_pw || strlen(str_pw) <= 0) { + common_utils_show_info_ok_popup(eap_data->win, eap_data->str_pkg_name, EAP_CHECK_YOUR_PASWD_STR); + eap_data->eap_done_ok = FALSE; + __COMMON_FUNC_EXIT__; + return; + } + + char *temp_str = common_utils_get_list_item_entry_txt(eap_data->eap_anonyid_item); + /* TODO: Set the anonymous id. CAPI not yet available. */ + g_free(temp_str); + + wifi_ap_set_eap_passphrase(eap_data->ap, str_id, str_pw); + break; + + case WIFI_EAP_TYPE_TLS: +// g_strlcpy(p_conn_info->security_info.authentication.eap.username, str_id, NETPM_WLAN_USERNAME_LEN); +// g_strlcpy(p_conn_info->security_info.authentication.eap.password, str_pw, NETPM_WLAN_USERNAME_LEN); + wifi_ap_set_eap_ca_cert_file(eap_data->ap, "/mnt/ums/Certification/ca2.pem"); + wifi_ap_set_eap_client_cert_file(eap_data->ap, "/mnt/ums/Certification/user2.pem"); + wifi_ap_set_eap_private_key_info(eap_data->ap, "/mnt/ums/Certification/user2.prv", "wifi"); + break; + + case WIFI_EAP_TYPE_SIM: + case WIFI_EAP_TYPE_AKA: + break; + + default: + /* This case should never occur */ + ERROR_LOG(UG_NAME_NORMAL, "Err!"); + break; + } + + /* Before we proceed to make a connection, lets save the entered IP data */ + ip_info_save_data(eap_data->ip_info_list); + + int ret = wlan_manager_connect_with_wifi_info(eap_data->ap); + if (WLAN_MANAGER_ERR_NONE != ret) { + ERROR_LOG(UG_NAME_NORMAL, "EAP connect request failed!!! Err = %d", ret); + } + + if (eap_data->navi_frame) { + eap_view_close(eap_data); + } else { + __common_eap_connect_destroy(eap_data, NULL, NULL); + } + + __COMMON_FUNC_EXIT__; +} + +static Eina_Bool __common_eap_connect_show_ime(void *data) +{ + Elm_Object_Item *list_entry_item = (Elm_Object_Item *)data; + if (!list_entry_item) + return ECORE_CALLBACK_CANCEL; + + common_utils_entry_info_t *entry_info = elm_object_item_data_get(list_entry_item); + Evas_Object *lyt = entry_info->layout; + Evas_Object *entry = common_utils_entry_layout_get_entry(lyt); + if (!lyt || !entry) + return ECORE_CALLBACK_CANCEL; + + g_eap_id_show_keypad = TRUE; + elm_genlist_item_update(list_entry_item); + return ECORE_CALLBACK_CANCEL; +} + +static Eina_Bool __common_eap_connect_load_ip_info_list_cb(void *data) +{ + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data; + Elm_Object_Item *navi_it = NULL; + Evas_Object *list = NULL; + + if (!eap_data) + return ECORE_CALLBACK_CANCEL; + + if (eap_data->navi_frame) { + Evas_Object *layout = NULL; + navi_it = elm_naviframe_top_item_get(eap_data->navi_frame); + layout = elm_object_item_part_content_get(navi_it, "elm.swallow.content"); + list = elm_object_part_content_get(layout, "elm.swallow.content"); + eap_data->ip_info_list = ip_info_append_items(eap_data->ap, eap_data->str_pkg_name, list, __common_eap_connect_imf_ctxt_evnt_cb, navi_it); + } else { + Evas_Object *box = elm_object_content_get(eap_data->popup); + Eina_List *box_childs = elm_box_children_get(box); + list = eina_list_nth(box_childs, 0); + eap_data->ip_info_list = ip_info_append_items(eap_data->ap, eap_data->str_pkg_name, list, __common_eap_connect_imf_ctxt_evnt_resize_cb, eap_data); + } + + /* Add a separator */ + common_utils_add_dialogue_separator(list, "dialogue/separator"); + + ecore_idler_add(__common_eap_connect_show_ime, eap_data->eap_id_item); + + return ECORE_CALLBACK_CANCEL; +} + +common_eap_connect_data_t *create_eap_connect_view(Evas_Object *win_main, Evas_Object *navi_frame, const char *pkg_name, wifi_device_info_t *device_info) +{ + __COMMON_FUNC_ENTER__; + + if (!win_main || !device_info || !pkg_name) + return NULL; + + common_eap_connect_data_t *eap_data = g_new0(common_eap_connect_data_t, 1); + eap_data->str_pkg_name = pkg_name; + eap_data->win = win_main; + + /* Clone the WiFi AP handle */ + wifi_ap_clone(&(eap_data->ap), device_info->ap); + + /* Create eap connect view */ + Elm_Object_Item* navi_it; + Evas_Object* button_back; + Evas_Object *connect_button; + Evas_Object *layout; + Evas_Object *list = NULL; + + eap_data->navi_frame = navi_frame; + + layout = common_utils_create_layout(navi_frame); + /* Create an EAP connect view list */ + list = _create_list(layout, eap_data); + elm_object_part_content_set(layout, "elm.swallow.content", list); + navi_it = elm_naviframe_item_push(navi_frame, device_info->ssid, NULL, NULL, layout, NULL); + evas_object_data_set(navi_frame, SCREEN_TYPE_ID_KEY, (void *)VIEW_MANAGER_VIEW_TYPE_EAP); + + /* Tool bar Connect button */ + connect_button = elm_button_add(navi_frame); + elm_object_style_set(connect_button, "naviframe/toolbar/default"); + elm_object_text_set(connect_button, sc(pkg_name, I18N_TYPE_Connect)); + evas_object_smart_callback_add(connect_button, "clicked", __common_eap_connect_done_cb, eap_data); + elm_object_item_part_content_set(navi_it, "toolbar_button1", connect_button); + + /* Tool bar Back button */ + button_back = elm_object_item_part_content_get(navi_it, "prev_btn"); + evas_object_smart_callback_add(button_back, "clicked", __common_eap_connect_destroy, eap_data); + + /* Append ip info items and add a seperator */ + ecore_idler_add(__common_eap_connect_load_ip_info_list_cb, eap_data); + + /* Title Connect button */ + connect_button = elm_button_add(navi_frame); + elm_object_style_set(connect_button, "naviframe/toolbar/default"); + elm_object_text_set(connect_button, sc(pkg_name, I18N_TYPE_Connect)); + evas_object_smart_callback_add(connect_button, "clicked", __common_eap_connect_done_cb, eap_data); + elm_object_item_part_content_set(navi_it, "title_toolbar_button1", connect_button); + + /* Title Back button */ + button_back = elm_button_add(navi_frame); + elm_object_style_set(button_back, "naviframe/back_btn/default"); + evas_object_smart_callback_add(button_back, "clicked", (Evas_Smart_Cb)eap_view_close, eap_data); + elm_object_item_part_content_set(navi_it, "title_prev_btn", button_back); + + /* Register imf event cbs */ + __common_eap_view_set_imf_ctxt_evnt_cb(eap_data); + + __COMMON_FUNC_EXIT__; + + return eap_data; +} + +common_eap_connect_data_t *create_eap_connect_popup(Evas_Object *win_main, const char *pkg_name, wifi_device_info_t *device_info) +{ + __COMMON_FUNC_ENTER__; + + Evas_Object *list = NULL; + if (!win_main || !device_info || !pkg_name) + return NULL; + + common_eap_connect_data_t *eap_data = g_new0(common_eap_connect_data_t, 1); + eap_data->str_pkg_name = pkg_name; + eap_data->win = win_main; + + /* Clone the WiFi AP handle */ + wifi_ap_clone(&(eap_data->ap), device_info->ap); + + /* Create eap connect popup */ + Evas_Object *popup; + Evas_Object *box; + Evas_Object *btn; + int rotate_angle; + int visible_area_height; + int visible_area_width; + + /* Lets disable the scan updates so that the UI is not refreshed un necessarily */ + wlan_manager_disable_scan_result_update(); + + eap_data->popup = popup = elm_popup_add(win_main); + elm_object_style_set(popup, "min_menustyle"); + elm_object_part_text_set(popup, "title,text", device_info->ssid); + evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(popup, EVAS_HINT_FILL, EVAS_HINT_FILL); + + btn = elm_button_add(popup); + elm_object_text_set(btn, sc(pkg_name, I18N_TYPE_Connect)); + elm_object_part_content_set(popup, "button1", btn); + evas_object_smart_callback_add(btn, "clicked", __common_eap_connect_done_cb, eap_data); + + btn = elm_button_add(popup); + elm_object_text_set(btn, sc(pkg_name, I18N_TYPE_Cancel)); + elm_object_part_content_set(popup, "button2", btn); + evas_object_smart_callback_add(btn, "clicked", __common_eap_connect_destroy, eap_data); + + /* Create and add a box into the layout. */ + box = elm_box_add(popup); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 0.0); + + rotate_angle = common_utils_get_rotate_angle(APPCORE_RM_UNKNOWN); + + __common_popup_size_get(NULL ,&visible_area_width, &visible_area_height); + evas_object_size_hint_min_set(box, visible_area_width * elm_config_scale_get(), visible_area_height * elm_config_scale_get()); + evas_object_name_set(box, EAP_CONNECT_POPUP); + + /* Create an EAP connect view list */ + list = _create_list(box, eap_data); + + /* Append ip info items and add a seperator */ + ecore_idler_add(__common_eap_connect_load_ip_info_list_cb, eap_data); + + + /* Pack the list into the box */ + elm_box_pack_end(box, list); + elm_object_content_set(popup, box); + evas_object_show(list); + evas_object_show(box); + evas_object_show(popup); + + __COMMON_FUNC_EXIT__; + + return eap_data; +} + +static wifi_eap_type_e __common_eap_connect_popup_get_wlan_eap_type(eap_type_t eap_type) +{ + wifi_eap_type_e wlan_eap_type = WLAN_SEC_EAP_TYPE_PEAP; + switch (eap_type) { + case EAP_SEC_TYPE_PEAP: + wlan_eap_type = WIFI_EAP_TYPE_PEAP; + break; + case EAP_SEC_TYPE_TLS: + wlan_eap_type = WIFI_EAP_TYPE_TLS; + break; + case EAP_SEC_TYPE_TTLS: + wlan_eap_type = WIFI_EAP_TYPE_TTLS; + break; + case EAP_SEC_TYPE_SIM: + wlan_eap_type = WIFI_EAP_TYPE_SIM; + break; + case EAP_SEC_TYPE_AKA: + wlan_eap_type = WIFI_EAP_TYPE_AKA; + break; +#ifndef DISABLE_FAST_EAP_METHOD + /* Replace 6 with WLAN_SEC_EAP_TYPE_FAST, when libnet supports WLAN_SEC_EAP_TYPE_FAST enum */ + case EAP_SEC_TYPE_FAST: + wlan_eap_type = 6; +#endif + default: + /* This case should never occur */ + ERROR_LOG(UG_NAME_NORMAL, "Err!"); + break; + } + return wlan_eap_type; +} + +static wifi_eap_auth_type_e __common_eap_connect_popup_get_wlan_auth_type(eap_auth_t auth_type) +{ + wifi_eap_auth_type_e wlan_auth_type = WIFI_EAP_AUTH_TYPE_NONE; + switch (auth_type) { + case EAP_SEC_AUTH_NONE: + wlan_auth_type = WIFI_EAP_AUTH_TYPE_NONE; + break; + case EAP_SEC_AUTH_PAP: + wlan_auth_type = WIFI_EAP_AUTH_TYPE_PAP; + break; + case EAP_SEC_AUTH_MSCHAP: + wlan_auth_type = WIFI_EAP_AUTH_TYPE_MSCHAP; + break; + case EAP_SEC_AUTH_MSCHAPV2: + wlan_auth_type = WIFI_EAP_AUTH_TYPE_MSCHAPV2; + break; + case EAP_SEC_AUTH_GTC: + wlan_auth_type = WIFI_EAP_AUTH_TYPE_GTC; + break; + case EAP_SEC_AUTH_MD5: + wlan_auth_type = WIFI_EAP_AUTH_TYPE_MD5; + break; + default: + /* This case should never occur */ + ERROR_LOG(UG_NAME_NORMAL, "Err!"); + break; + } + return wlan_auth_type; +} + +static eap_type_t __common_eap_connect_popup_get_eap_type(wifi_ap_h ap) +{ + wifi_eap_type_e wlan_eap_type = 0; + int ret = wifi_ap_get_eap_type(ap, &wlan_eap_type); + if (WIFI_ERROR_OPERATION_FAILED == ret) { + ret = wifi_ap_set_eap_type(ap, WIFI_EAP_TYPE_PEAP); // Set to default + } + + if (WIFI_ERROR_NONE != ret) { + ERROR_LOG(UG_NAME_ERR, "Unable to get the eap type. err = %d", ret); + return EAP_SEC_TYPE_UNKNOWN; + } + INFO_LOG(UG_NAME_NORMAL, "WiFi EAP type = %d", wlan_eap_type); + switch (wlan_eap_type) { + case WIFI_EAP_TYPE_PEAP: /**< EAP PEAP type */ + return EAP_SEC_TYPE_PEAP; + + case WIFI_EAP_TYPE_TLS: /**< EAP TLS type */ + return EAP_SEC_TYPE_TLS; + + case WIFI_EAP_TYPE_TTLS: /**< EAP TTLS type */ + return EAP_SEC_TYPE_TTLS; + + case WIFI_EAP_TYPE_SIM: /**< EAP SIM type */ + return EAP_SEC_TYPE_SIM; + + case WIFI_EAP_TYPE_AKA: /**< EAP AKA type */ + return EAP_SEC_TYPE_AKA; + +#ifndef DISABLE_FAST_EAP_METHOD + /* Replace 6 with WLAN_SEC_EAP_TYPE_FAST, when libnet supports WLAN_SEC_EAP_TYPE_FAST enum */ + case 6: + return EAP_SEC_TYPE_FAST; +#endif + + default: + return EAP_SEC_TYPE_PEAP; + } + return EAP_SEC_TYPE_PEAP; +} + +static eap_auth_t __common_eap_connect_popup_get_auth_type(wifi_ap_h ap) +{ + wifi_eap_auth_type_e wlan_auth_type = 0; + int ret = wifi_ap_get_eap_auth_type(ap, &wlan_auth_type); + if (WIFI_ERROR_OPERATION_FAILED == ret) { + ret = wifi_ap_set_eap_auth_type(ap, EAP_SEC_AUTH_NONE); // Set to default + } + + if (WIFI_ERROR_NONE != ret) { + ERROR_LOG(UG_NAME_ERR, "Unable to get the eap auth type. err = %d", ret); + return EAP_SEC_AUTH_NONE; + } + INFO_LOG(UG_NAME_NORMAL, "WiFi EAP auth type = %d", wlan_auth_type); + + switch (wlan_auth_type) { + case WIFI_EAP_AUTH_TYPE_NONE: /**< EAP phase2 authentication none */ + return EAP_SEC_AUTH_NONE; + + case WIFI_EAP_AUTH_TYPE_PAP: /**< EAP phase2 authentication PAP */ + return EAP_SEC_AUTH_PAP; + + case WIFI_EAP_AUTH_TYPE_MSCHAP: /**< EAP phase2 authentication MSCHAP */ + return EAP_SEC_AUTH_MSCHAP; + + case WIFI_EAP_AUTH_TYPE_MSCHAPV2: /**< EAP phase2 authentication MSCHAPv2 */ + return EAP_SEC_AUTH_MSCHAPV2; + + case WIFI_EAP_AUTH_TYPE_GTC: /**< EAP phase2 authentication GTC */ + return EAP_SEC_AUTH_GTC; + + case WIFI_EAP_AUTH_TYPE_MD5: /**< EAP phase2 authentication MD5 */ + return EAP_SEC_AUTH_MD5; + + default: + return EAP_SEC_AUTH_NONE; + } + return EAP_SEC_AUTH_NONE; +} + +/* This creates Auth type, ID, Anonymous Id and Password items + * This function should be called after creating the EAP type item + */ +eap_info_list_t *eap_info_append_items(wifi_ap_h ap, Evas_Object* view_list, const char *str_pkg_name, imf_ctxt_panel_cb_t input_panel_cb, void *input_panel_cb_data) +{ + __COMMON_FUNC_ENTER__; + eap_type_t eap_type; + eap_auth_t auth_type; + char *temp_str = NULL; + Eina_Bool append_continue = TRUE; + eap_info_list_t *eap_info_list_data = NULL; + if (!view_list || !str_pkg_name || !ap) { + ERROR_LOG(UG_NAME_ERR, "Invalid params passed!"); + return NULL; + } + + eap_info_list_data = g_new0(eap_info_list_t, 1); + + eap_info_list_data->ap = ap; + eap_type = __common_eap_connect_popup_get_eap_type(ap); + auth_type = __common_eap_connect_popup_get_auth_type(ap); + common_utils_add_dialogue_separator(view_list, "dialogue/separator.2"); + + common_utils_add_2_line_txt_disabled_item(view_list, "dialogue/2text.2", sc(str_pkg_name, I18N_TYPE_EAP_method), list_eap_type[eap_type].name); + + switch (eap_type) { + case EAP_SEC_TYPE_UNKNOWN: + case EAP_SEC_TYPE_PEAP: + case EAP_SEC_TYPE_TLS: + case EAP_SEC_TYPE_TTLS: + break; + case EAP_SEC_TYPE_FAST: + /* Add EAP provision */ + /* TODO: Fetch EAP provisioning. CAPI not available. */ + temp_str = g_strdup(""); + common_utils_add_2_line_txt_disabled_item(view_list, "dialogue/2text.2", sc(str_pkg_name, I18N_TYPE_Provisioning), temp_str); + g_free(temp_str); + temp_str = NULL; + break; + case EAP_SEC_TYPE_SIM: + case EAP_SEC_TYPE_AKA: + default: + append_continue = FALSE; + break; + } + + if (append_continue) { + common_utils_entry_info_t *edit_box_details; + + /* Add EAP phase2 authentication */ + common_utils_add_2_line_txt_disabled_item(view_list, "dialogue/2text.2", sc(str_pkg_name, I18N_TYPE_Phase_2_authentication), list_eap_auth[auth_type].name); + + /* Add CA certificate */ + temp_str = NULL; + wifi_ap_get_eap_ca_cert_file(ap, &temp_str); + temp_str = temp_str? temp_str : g_strdup(sc(str_pkg_name, I18N_TYPE_Unspecified)); + common_utils_add_2_line_txt_disabled_item(view_list, "dialogue/2text.2", sc(str_pkg_name, I18N_TYPE_Ca_Certificate), temp_str); + g_free(temp_str); + + /* Add User certificate */ + temp_str = NULL; + wifi_ap_get_eap_client_cert_file(ap, &temp_str); + temp_str = temp_str? temp_str : g_strdup(sc(str_pkg_name, I18N_TYPE_Unspecified)); + common_utils_add_2_line_txt_disabled_item(view_list, "dialogue/2text.2", sc(str_pkg_name, I18N_TYPE_User_Certificate),temp_str); + g_free(temp_str); + + /* Add EAP ID */ + bool is_paswd_set; + temp_str = NULL; + wifi_ap_get_eap_passphrase(ap, &temp_str, &is_paswd_set); + common_utils_add_2_line_txt_disabled_item(view_list, "dialogue/2text.2", sc(str_pkg_name, I18N_TYPE_Identity), temp_str); + g_free(temp_str); + + /* Add EAP Anonymous Identity */ + /* TODO: Fetch the anonymous user id. CAPI not available. */ + temp_str = g_strdup(""); + common_utils_add_2_line_txt_disabled_item(view_list, "dialogue/2text.2", sc(str_pkg_name, I18N_TYPE_Anonymous_Identity), temp_str); + g_free(temp_str); + + /* Add EAP Password */ + g_eap_entry_itc.item_style = "dialogue/1icon"; + g_eap_entry_itc.func.text_get = NULL; + g_eap_entry_itc.func.content_get = _gl_eap_entry_item_content_get; + g_eap_entry_itc.func.state_get = NULL; + g_eap_entry_itc.func.del = _gl_eap_entry_item_del; + + /* TODO: Fetch the password. CAPI not available. */ + if (is_paswd_set) + temp_str = g_strdup("XXXXX"); + else + temp_str = g_strdup(""); + + edit_box_details = g_new0(common_utils_entry_info_t, 1); + edit_box_details->entry_id = ENTRY_TYPE_PASSWORD; + edit_box_details->title_txt = sc(str_pkg_name, I18N_TYPE_Password); + edit_box_details->entry_txt = temp_str; + edit_box_details->input_panel_cb = input_panel_cb; + edit_box_details->input_panel_cb_data = input_panel_cb_data; + eap_info_list_data->pswd_item = elm_genlist_item_append(view_list, &g_eap_entry_itc, edit_box_details, NULL, ELM_GENLIST_ITEM_NONE, _gl_editbox_sel_cb, NULL); + elm_genlist_item_select_mode_set(eap_info_list_data->pswd_item, ELM_OBJECT_SELECT_MODE_NONE); + } + + __COMMON_FUNC_EXIT__; + return eap_info_list_data; +} + +void eap_info_save_data(eap_info_list_t *eap_info_list_data) +{ + if (!eap_info_list_data) { + ERROR_LOG(UG_NAME_ERR, "Invalid params passed!"); + return; + } + char *txt = common_utils_get_list_item_entry_txt(eap_info_list_data->pswd_item); + DEBUG_LOG(UG_NAME_NORMAL, "Password [%s]", txt); + + wifi_ap_set_eap_passphrase(eap_info_list_data->ap, NULL, txt); + g_free(txt); +} + +void eap_info_remove(eap_info_list_t *eap_info_list_data) +{ + if (!eap_info_list_data) { + ERROR_LOG(UG_NAME_ERR, "Invalid params passed!"); + return; + } + + elm_object_item_del(eap_info_list_data->pswd_item); + eap_info_list_data->pswd_item = NULL; + g_free(eap_info_list_data); +} + +void eap_view_close(common_eap_connect_data_t *eap_data) +{ + if (NULL == eap_data) + return; + + Evas_Object *nf = eap_data->navi_frame; + __common_eap_connect_cleanup(eap_data); + elm_naviframe_item_pop(nf); +} + +void eap_view_rotate_popup(common_eap_connect_data_t *eap_data, int rotate_angle) +{ + __COMMON_FUNC_ENTER__; + + if (NULL == eap_data || NULL == eap_data->popup) + return; + + Evas_Object *box = elm_object_content_get(eap_data->popup); + __common_popup_size_get(NULL, &eap_data->visible_area_width, &eap_data->visible_area_height); + evas_object_size_hint_min_set(box, eap_data->visible_area_width * elm_config_scale_get(), eap_data->visible_area_height* elm_config_scale_get()); + + __COMMON_FUNC_EXIT__; +} diff --git a/sources/libraries/Common/common_invalid_password.c b/sources/libraries/Common/common_invalid_password.c new file mode 100644 index 0000000..00a07f1 --- /dev/null +++ b/sources/libraries/Common/common_invalid_password.c @@ -0,0 +1,149 @@ +/* + * Wi-Fi + * + * 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 <wifi.h> +#include <dbus/dbus.h> +#include <dbus/dbus-glib-lowlevel.h> + +#include "common.h" +#include "common_invalid_password.h" + +#define SUPPLICANT_INTERFACE "fi.w1.wpa_supplicant1" +#define SUPPLICANT_INTERFACE_SIGNAL_FILTER \ + "type='signal',interface='fi.w1.wpa_supplicant1.Interface'" + +static gboolean invalid_key = FALSE; +static DBusConnection *connection = NULL; + +static void __common_pop_invalid_password(void) +{ + invalid_key = TRUE; + + ERROR_LOG(UG_NAME_NORMAL, "Invalid password"); +} + +static DBusHandlerResult __common_check_invalid_password( + DBusConnection* connection, DBusMessage* message, void* user_data) +{ + DBusMessageIter iter, dict, entry, value; + const char *key; + const char *state; + static char old_state[30] = { 0, }; + + if (dbus_message_is_signal(message, + SUPPLICANT_INTERFACE ".Interface", "PropertiesChanged") != TRUE) + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + + if (dbus_message_iter_init(message, &iter) == FALSE) + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + + if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + + dbus_message_iter_recurse(&iter, &dict); + while (dbus_message_iter_get_arg_type(&dict) == DBUS_TYPE_DICT_ENTRY) { + dbus_message_iter_recurse(&dict, &entry); + if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_STRING) + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + + dbus_message_iter_get_basic(&entry, &key); + dbus_message_iter_next(&entry); + + if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_VARIANT) + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + + dbus_message_iter_recurse(&entry, &value); + + if (g_strcmp0(key, "State") == 0) { + dbus_message_iter_get_basic(&value, &state); + if (state == NULL) + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + + if (g_strcmp0(old_state, "4way_handshake") == 0 && + g_strcmp0(state, "disconnected") == 0) + __common_pop_invalid_password(); + + g_strlcpy(old_state, state, 30); + } + + dbus_message_iter_next(&dict); + } + + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; +} + +int _common_register_invalid_password_popup(void) +{ + DBusError error; + + invalid_key = FALSE; + + if (connection != NULL) + return WIFI_ERROR_NONE; + + connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL); + if (connection == NULL) + return WIFI_ERROR_OUT_OF_MEMORY; + + dbus_connection_setup_with_g_main(connection, NULL); + + dbus_error_init(&error); + dbus_bus_add_match(connection, SUPPLICANT_INTERFACE_SIGNAL_FILTER, &error); + dbus_connection_flush(connection); + if (dbus_error_is_set(&error) == TRUE) { + dbus_error_free(&error); + + dbus_connection_unref(connection); + connection = NULL; + + return WIFI_ERROR_OUT_OF_MEMORY; + } + + if (dbus_connection_add_filter(connection, + __common_check_invalid_password, NULL, NULL) == FALSE) { + dbus_connection_unref(connection); + connection = NULL; + + return WIFI_ERROR_OUT_OF_MEMORY; + } + + return WIFI_ERROR_NONE; +} + +int _common_deregister_invalid_password_popup(void) +{ + if (connection == NULL) + return WIFI_ERROR_NONE; + + dbus_bus_remove_match(connection, SUPPLICANT_INTERFACE_SIGNAL_FILTER, NULL); + dbus_connection_flush(connection); + + dbus_connection_remove_filter(connection, + __common_check_invalid_password, NULL); + + dbus_connection_unref(connection); + connection = NULL; + + return WIFI_ERROR_NONE; +} + +gboolean _common_is_invalid_password(void) +{ + return invalid_key; +} diff --git a/sources/libraries/Common/common_ip_info.c b/sources/libraries/Common/common_ip_info.c new file mode 100644 index 0000000..ec02492 --- /dev/null +++ b/sources/libraries/Common/common_ip_info.c @@ -0,0 +1,851 @@ +/* + * Wi-Fi + * + * 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 <glib.h> + +#include "common.h" +#include "common_ip_info.h" +#include "i18nmanager.h" + +#define DEFAULT_PROXY_ADDR "0.0.0.0:80" + +#define MAX_PORT_NUMBER 65535 + +typedef struct { + char* title; + char* description; +} _view_detail_description_data_t; + +struct ip_info_list { + const char *str_pkg_name; + Evas_Object *genlist; + + Elm_Object_Item* ip_toggle_item; + Elm_Object_Item* ip_addr_item; + Elm_Object_Item* subnet_mask_item; + Elm_Object_Item* gateway_addr_item; + Elm_Object_Item* dns_1_item; + Elm_Object_Item* dns_2_item; + Elm_Object_Item* proxy_addr_item; + Elm_Object_Item* proxy_port_item; + + imf_ctxt_panel_cb_t input_panel_cb; + void *input_panel_cb_data; + + wifi_ap_h ap; +}; + +static Elm_Object_Item* _add_description(Evas_Object* genlist, char* title, + char* description, Elm_Object_Item* insert_after); + +static Elm_Genlist_Item_Class ip_toggle_itc ; +static Elm_Genlist_Item_Class description_itc ; +static Elm_Genlist_Item_Class ip_entry_itc; + +static void _gl_editbox_sel_cb(void *data, Evas_Object *obj, void *event_info) +{ + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + elm_genlist_item_selected_set(item, FALSE); +} + +static void _ip_info_detail_description_del(void *data, Evas_Object *obj) +{ + __COMMON_FUNC_ENTER__; + _view_detail_description_data_t* det = (_view_detail_description_data_t*) data; + assertm_if(NULL == det, "NULL!!"); + assertm_if(NULL == det->title, "NULL!!"); + assertm_if(NULL == det->description, "NULL!!"); + g_free(det->description); + g_free(det->title); + g_free(det); + det = NULL; + __COMMON_FUNC_EXIT__; +} + +static char *_ip_info_detail_description_text_get(void *data, + Evas_Object *obj, const char *part) +{ + _view_detail_description_data_t* det = (_view_detail_description_data_t*) data; + assertm_if(NULL == det, "NULL!!"); + assertm_if(NULL == det->title, "NULL!!"); + assertm_if(NULL == det->description, "NULL!!"); + assertm_if(NULL == part, "NULL!!"); + + if(0 == strncmp("elm.text.1", part, strlen(part))) { + return g_strdup(det->title); + } else if(0 == strncmp("elm.text.2", part, strlen(part))) { + return g_strdup(det->description); + } + + return NULL; +} + +static void _ip_info_entry_cursor_changed_cb(void* data, Evas_Object* obj, void* event_info) +{ + if (data == NULL) + return; + + common_utils_entry_info_t *entry_info = (common_utils_entry_info_t *)data; + + if (entry_info) { + g_free(entry_info->entry_txt); + entry_info->entry_txt = NULL; + char *entry_text = elm_entry_markup_to_utf8(elm_entry_entry_get(obj)); + + if (entry_text != NULL && entry_text[0] != '\0') + entry_info->entry_txt = g_strdup(elm_entry_entry_get(obj)); + + g_free(entry_text); + } +} + +static void _ip_info_entry_changed_cb(void *data, + Evas_Object *obj, void *event_info) +{ + int entry_pos = 0; + char *entry_text = NULL; + char **ip_text = NULL; + int panel_type = 0; + + if (obj == NULL) + return; + + 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"); + } + + panel_type = elm_entry_input_panel_layout_get(obj); + if (panel_type == ELM_INPUT_PANEL_LAYOUT_IP) { + int i = 0; + int ip_addr[4] = {0}; + char entry_ip_text[16] = {0,}; + gboolean fixed = FALSE; + entry_text = elm_entry_markup_to_utf8(elm_entry_entry_get(obj)); + ip_text = g_strsplit(entry_text, ".", 5); + + for (i=0; i<5; i++) { + if (ip_text[i] == NULL) + break; + + if (i == 4) { + fixed = TRUE; + break; + } + + ip_addr[i] = atoi(ip_text[i]); + if (ip_addr[i] > 255) { + ip_addr[i] = 255; + fixed = TRUE; + } + + if (i < 3) + sprintf(entry_text, "%d.", ip_addr[i]); + else + sprintf(entry_text, "%d", ip_addr[i]); + + g_strlcat(entry_ip_text, entry_text, sizeof(entry_ip_text)); + } + g_free(entry_text); + g_strfreev(ip_text); + + if (fixed == TRUE) { + entry_pos = elm_entry_cursor_pos_get(obj); + elm_entry_entry_set(obj, entry_ip_text); + elm_entry_cursor_pos_set(obj, entry_pos+1); + } + } else if (panel_type == ELM_INPUT_PANEL_LAYOUT_NUMBERONLY) { + int port_num = 0; + + entry_text = elm_entry_markup_to_utf8(elm_entry_entry_get(obj)); + sscanf(entry_text, "%d", &port_num); + + if (port_num > MAX_PORT_NUMBER) { + entry_pos = elm_entry_cursor_pos_get(obj); + sprintf(entry_text, "%d", MAX_PORT_NUMBER); + elm_entry_entry_set(obj, entry_text); + elm_entry_cursor_pos_set(obj, entry_pos); + } + + g_free(entry_text); + } +} + +static void _ip_info_entry_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"); +} + +static void _ip_info_entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info) +{ + INFO_LOG(UG_NAME_NORMAL, "_ip_info_entry_unfocused_cb entered"); + + if (elm_entry_is_empty(obj)) + elm_object_signal_emit(data, "elm,state,guidetext,show", "elm"); + else { + elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm"); + int panel_type = elm_entry_input_panel_layout_get(obj); + if (panel_type == ELM_INPUT_PANEL_LAYOUT_IP) { + int ip_addr[4] = {0}; + char *entry_text = elm_entry_markup_to_utf8(elm_entry_entry_get(obj)); + sscanf(entry_text, "%d.%d.%d.%d", &ip_addr[0], &ip_addr[1], &ip_addr[2], &ip_addr[3]); + sprintf(entry_text, "%d.%d.%d.%d", ip_addr[0], ip_addr[1], ip_addr[2], ip_addr[3]); + elm_entry_entry_set(obj, entry_text); + g_free(entry_text); + } + } + + elm_object_signal_emit(data, "elm,state,eraser,hide", "elm"); +} + +static void _ip_info_entry_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + elm_entry_entry_set(data, ""); +} + +static Evas_Object *_ip_info_entry_item_content_get(void *data, Evas_Object *obj, const char *part) +{ + if (g_strcmp0(part, "elm.icon")) { + return NULL; + } + + common_utils_entry_info_t *entry_info = (common_utils_entry_info_t *)data; + if (!entry_info) + return NULL; + + Evas_Object *layout = NULL; + Evas_Object *entry = NULL; + char *title = NULL; + char *guide_txt = NULL; + char *accepted = NULL; + Eina_Bool hide_entry_txt = EINA_FALSE; + Elm_Input_Panel_Layout panel_type; + + Elm_Entry_Filter_Limit_Size limit_filter_data; + + layout = elm_layout_add(obj); + elm_layout_theme_set(layout, "layout", "editfield", "title"); + + entry = elm_entry_add(layout); + elm_entry_scrollable_set(entry, EINA_TRUE); + elm_entry_single_line_set(entry, EINA_TRUE); + elm_object_part_content_set(layout, "elm.swallow.content", entry); + + switch (entry_info->entry_id) + { + case ENTRY_TYPE_IP_ADDR: + title = entry_info->title_txt; + guide_txt = entry_info->guide_txt; + panel_type = ELM_INPUT_PANEL_LAYOUT_IP; + accepted = "0123456789."; + break; + case ENTRY_TYPE_SUBNET_MASK: + title = entry_info->title_txt; + guide_txt = entry_info->guide_txt; + panel_type = ELM_INPUT_PANEL_LAYOUT_IP; + accepted = "0123456789."; + break; + case ENTRY_TYPE_GATEWAY: + title = entry_info->title_txt; + guide_txt = entry_info->guide_txt; + panel_type = ELM_INPUT_PANEL_LAYOUT_IP; + accepted = "0123456789."; + break; + case ENTRY_TYPE_DNS_1: + title = entry_info->title_txt; + guide_txt = entry_info->guide_txt; + panel_type = ELM_INPUT_PANEL_LAYOUT_IP; + accepted = "0123456789."; + break; + case ENTRY_TYPE_DNS_2: + title = entry_info->title_txt; + guide_txt = entry_info->guide_txt; + panel_type = ELM_INPUT_PANEL_LAYOUT_IP; + accepted = "0123456789."; + break; + case ENTRY_TYPE_PROXY_ADDR: + title = entry_info->title_txt; + guide_txt = DEFAULT_GUIDE_PROXY_IP; + panel_type = ELM_INPUT_PANEL_LAYOUT_URL; + break; + case ENTRY_TYPE_PROXY_PORT: + title = entry_info->title_txt; + guide_txt = DEFAULT_GUIDE_PROXY_PORT; + panel_type = ELM_INPUT_PANEL_LAYOUT_NUMBERONLY; + break; + default: + return NULL; + } + + elm_object_part_text_set(layout, "elm.text", title); + elm_object_part_text_set(layout, "elm.guidetext", guide_txt); + elm_entry_password_set(entry, hide_entry_txt); + if (entry_info->entry_txt && (strlen(entry_info->entry_txt) > 0)) { + elm_entry_entry_set(entry, entry_info->entry_txt); + elm_object_signal_emit(layout, "elm,state,guidetext,hide", "elm"); + } + elm_entry_input_panel_layout_set(entry, panel_type); + limit_filter_data.max_char_count = 32; + elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &limit_filter_data); + + Elm_Entry_Filter_Accept_Set digits_filter_data; + memset(&digits_filter_data, 0, sizeof(Elm_Entry_Filter_Accept_Set)); + digits_filter_data.accepted = accepted; + elm_entry_markup_filter_append(entry, elm_entry_filter_accept_set, &digits_filter_data); + + if (entry_info->input_panel_cb) { + Ecore_IMF_Context *imf_ctxt = elm_entry_imf_context_get(entry); + if (imf_ctxt) { + ecore_imf_context_input_panel_event_callback_add(imf_ctxt, ECORE_IMF_INPUT_PANEL_STATE_EVENT, entry_info->input_panel_cb, entry_info->input_panel_cb_data); + } + } + evas_object_smart_callback_add(entry, "cursor,changed", _ip_info_entry_cursor_changed_cb, entry_info); + evas_object_smart_callback_add(entry, "changed", _ip_info_entry_changed_cb, layout); + evas_object_smart_callback_add(entry, "focused", _ip_info_entry_focused_cb, layout); + evas_object_smart_callback_add(entry, "unfocused", _ip_info_entry_unfocused_cb, layout); + elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _ip_info_entry_eraser_clicked_cb, entry); + evas_object_show(entry); + + entry_info->layout = layout; + return layout; +} + +static void _ip_info_entry_item_del(void *data, Evas_Object *obj) +{ + common_utils_entry_info_t *entry_info = (common_utils_entry_info_t *)data; + if (entry_info == NULL) + return; + + if (entry_info->entry_txt) + g_free(entry_info->entry_txt); + + if (entry_info->input_panel_cb) { + Evas_Object *entry = common_utils_entry_layout_get_entry(entry_info->layout); + Ecore_IMF_Context *imf_ctxt = elm_entry_imf_context_get(entry); + if (imf_ctxt) { + ecore_imf_context_input_panel_event_callback_del(imf_ctxt, ECORE_IMF_INPUT_PANEL_STATE_EVENT, entry_info->input_panel_cb); + } + } + + g_free(entry_info); +} + +static void _create_static_ip_table(ip_info_list_t *ip_info_list_data) +{ + char *txt = NULL; + wifi_ap_h ap = ip_info_list_data->ap; + common_utils_entry_info_t *edit_box_details; + + __COMMON_FUNC_ENTER__; + + /* IP Address */ + wifi_ap_get_ip_address(ap, WIFI_ADDRESS_FAMILY_IPV4, &txt); + edit_box_details = g_new0(common_utils_entry_info_t, 1); + edit_box_details->entry_id = ENTRY_TYPE_IP_ADDR; + edit_box_details->title_txt = sc(ip_info_list_data->str_pkg_name, I18N_TYPE_IP_address); + edit_box_details->entry_txt = txt; + edit_box_details->input_panel_cb = ip_info_list_data->input_panel_cb; + edit_box_details->input_panel_cb_data = ip_info_list_data->input_panel_cb_data; + ip_info_list_data->ip_addr_item = elm_genlist_item_insert_after(ip_info_list_data->genlist, &ip_entry_itc, edit_box_details, NULL, ip_info_list_data->ip_toggle_item, ELM_GENLIST_ITEM_NONE, _gl_editbox_sel_cb, NULL); + elm_genlist_item_select_mode_set(ip_info_list_data->ip_addr_item, ELM_OBJECT_SELECT_MODE_NONE); + + /* Subnet Mask */ + wifi_ap_get_subnet_mask(ap, WIFI_ADDRESS_FAMILY_IPV4, &txt); + edit_box_details = g_new0(common_utils_entry_info_t, 1); + edit_box_details->entry_id = ENTRY_TYPE_SUBNET_MASK; + edit_box_details->title_txt = sc(ip_info_list_data->str_pkg_name, I18N_TYPE_Subnet_mask); + edit_box_details->entry_txt = txt; + edit_box_details->input_panel_cb = ip_info_list_data->input_panel_cb; + edit_box_details->input_panel_cb_data = ip_info_list_data->input_panel_cb_data; + ip_info_list_data->subnet_mask_item = elm_genlist_item_insert_after(ip_info_list_data->genlist, &ip_entry_itc, edit_box_details, NULL, ip_info_list_data->ip_addr_item, ELM_GENLIST_ITEM_NONE, _gl_editbox_sel_cb, NULL); + elm_genlist_item_select_mode_set(ip_info_list_data->subnet_mask_item, ELM_OBJECT_SELECT_MODE_NONE); + + /* Gateway Address */ + wifi_ap_get_gateway_address(ap, WIFI_ADDRESS_FAMILY_IPV4, &txt); + edit_box_details = g_new0(common_utils_entry_info_t, 1); + edit_box_details->entry_id = ENTRY_TYPE_GATEWAY; + edit_box_details->title_txt = sc(ip_info_list_data->str_pkg_name, I18N_TYPE_Gateway_address); + edit_box_details->entry_txt = txt; + edit_box_details->input_panel_cb = ip_info_list_data->input_panel_cb; + edit_box_details->input_panel_cb_data = ip_info_list_data->input_panel_cb_data; + ip_info_list_data->gateway_addr_item = elm_genlist_item_insert_after(ip_info_list_data->genlist, &ip_entry_itc, edit_box_details, NULL, ip_info_list_data->subnet_mask_item, ELM_GENLIST_ITEM_NONE, _gl_editbox_sel_cb, NULL); + elm_genlist_item_select_mode_set(ip_info_list_data->gateway_addr_item, ELM_OBJECT_SELECT_MODE_NONE); + + /* DNS 1 */ + wifi_ap_get_dns_address(ap, 1, WIFI_ADDRESS_FAMILY_IPV4, &txt); + edit_box_details = g_new0(common_utils_entry_info_t, 1); + edit_box_details->entry_id = ENTRY_TYPE_DNS_1; + edit_box_details->title_txt = sc(ip_info_list_data->str_pkg_name, I18N_TYPE_DNS_1); + edit_box_details->entry_txt = txt; + edit_box_details->input_panel_cb = ip_info_list_data->input_panel_cb; + edit_box_details->input_panel_cb_data = ip_info_list_data->input_panel_cb_data; + ip_info_list_data->dns_1_item = elm_genlist_item_insert_after(ip_info_list_data->genlist, &ip_entry_itc, edit_box_details, NULL, ip_info_list_data->gateway_addr_item, ELM_GENLIST_ITEM_NONE, _gl_editbox_sel_cb, NULL); + elm_genlist_item_select_mode_set(ip_info_list_data->dns_1_item, ELM_OBJECT_SELECT_MODE_NONE); + + /* DNS 2 */ + wifi_ap_get_dns_address(ap, 2, WIFI_ADDRESS_FAMILY_IPV4, &txt); + edit_box_details = g_new0(common_utils_entry_info_t, 1); + edit_box_details->entry_id = ENTRY_TYPE_DNS_2; + edit_box_details->title_txt = sc(ip_info_list_data->str_pkg_name, I18N_TYPE_DNS_2); + edit_box_details->entry_txt = txt; + edit_box_details->input_panel_cb = ip_info_list_data->input_panel_cb; + edit_box_details->input_panel_cb_data = ip_info_list_data->input_panel_cb_data; + ip_info_list_data->dns_2_item = elm_genlist_item_insert_after(ip_info_list_data->genlist, &ip_entry_itc, edit_box_details, NULL, ip_info_list_data->dns_1_item, ELM_GENLIST_ITEM_NONE, _gl_editbox_sel_cb, NULL); + elm_genlist_item_select_mode_set(ip_info_list_data->dns_2_item, ELM_OBJECT_SELECT_MODE_NONE); + + __COMMON_FUNC_EXIT__; + + return; +} + +static void _delete_static_ip_table(ip_info_list_t *ip_info_list_data) +{ + __COMMON_FUNC_ENTER__; + + elm_object_item_del(ip_info_list_data->ip_addr_item); + ip_info_list_data->ip_addr_item = NULL; + elm_object_item_del(ip_info_list_data->subnet_mask_item); + ip_info_list_data->subnet_mask_item = NULL; + elm_object_item_del(ip_info_list_data->gateway_addr_item); + ip_info_list_data->gateway_addr_item = NULL; + elm_object_item_del(ip_info_list_data->dns_1_item); + ip_info_list_data->dns_1_item = NULL; + elm_object_item_del(ip_info_list_data->dns_2_item); + ip_info_list_data->dns_2_item = NULL; + + __COMMON_FUNC_EXIT__; + + return; +} + +static int _genlist_item_disable_later(void* data) +{ + elm_genlist_item_selected_set((Elm_Object_Item*) data, FALSE); + return FALSE; +} + +static void _gl_deselect_callback(void* data, Evas_Object* obj, + void* event_info) +{ + ecore_idler_add( (Ecore_Task_Cb) _genlist_item_disable_later, event_info); +} + +static char* _ip_info_iptoggle_text_get(void *data, Evas_Object *obj, + const char *part) +{ + __COMMON_FUNC_ENTER__; + + assertm_if(NULL == data, "NULL!!"); + assertm_if(NULL == obj, "NULL!!"); + assertm_if(NULL == part, "NULL!!"); + if (part != NULL) { + if (!strncmp(part, "elm.text", strlen(part))) { + __COMMON_FUNC_EXIT__; + ip_info_list_t *ip_info_list_data = (ip_info_list_t *)data; + return (char*)g_strdup(sc(ip_info_list_data->str_pkg_name, I18N_TYPE_Static_IP)); + } + } + + __COMMON_FUNC_EXIT__; + return NULL; +} + +static Elm_Object_Item* _add_description(Evas_Object* genlist, char* title, + char* description, Elm_Object_Item* insert_after) +{ + assertm_if(NULL == genlist, "NULL!!"); + assertm_if(NULL == title, "NULL!!"); + assertm_if(NULL == description, "NULL!!"); + + _view_detail_description_data_t* description_data = g_new0(_view_detail_description_data_t, 1); + assertm_if(NULL == description_data, "NULL!!"); + + description_data->title = g_strdup(title); + description_data->description = g_strdup(description); + + Elm_Object_Item* det = NULL; + if (insert_after) { + det = elm_genlist_item_insert_after( + genlist, /*obj*/ + &description_itc,/*itc*/ + description_data,/*data*/ + NULL,/*parent*/ + insert_after, /*after than*/ + ELM_GENLIST_ITEM_NONE, /*flags*/ + _gl_deselect_callback,/*func*/ + NULL);/*func_data*/ + } else { + det = elm_genlist_item_append( + genlist, + &description_itc, + description_data, + NULL, + ELM_GENLIST_ITEM_NONE, + _gl_deselect_callback, + NULL); + } + assertm_if(NULL == det, "NULL!!"); + + elm_genlist_item_select_mode_set(det, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + + return det; +} + +static void _ip_info_toggle_item_sel_cb(void* data, Evas_Object* obj, + void* event_info) +{ + __COMMON_FUNC_ENTER__; + + if (!data) + return; + + ip_info_list_t *ip_info_list_data = (ip_info_list_t *)data; + wifi_ap_h ap = ip_info_list_data->ap; + elm_object_item_disabled_set(ip_info_list_data->ip_toggle_item, TRUE); + wifi_ip_config_type_e type = WIFI_IP_CONFIG_TYPE_NONE; + wifi_ap_get_ip_config_type(ap, WIFI_ADDRESS_FAMILY_IPV4, &type); + if (WIFI_IP_CONFIG_TYPE_STATIC == type) { /* Static IP */ + char *ip_addr = NULL; + + ip_info_save_data(ip_info_list_data); + _delete_static_ip_table(ip_info_list_data); + + wifi_ap_get_ip_address(ap, WIFI_ADDRESS_FAMILY_IPV4, &ip_addr); + /* Dynamic IP Address */ + ip_info_list_data->ip_addr_item = + _add_description(ip_info_list_data->genlist, + sc(ip_info_list_data->str_pkg_name, I18N_TYPE_IP_address), + ip_addr, ip_info_list_data->ip_toggle_item); + elm_object_item_disabled_set(ip_info_list_data->ip_addr_item, TRUE); + g_free(ip_addr); + + wifi_ap_set_ip_config_type(ap, WIFI_ADDRESS_FAMILY_IPV4, + WIFI_IP_CONFIG_TYPE_DYNAMIC); + } else if (WIFI_IP_CONFIG_TYPE_DYNAMIC == type) { /* Dynamic IP */ + + elm_object_item_del(ip_info_list_data->ip_addr_item); + ip_info_list_data->ip_addr_item = NULL; + + /* Create the entry layouts */ + _create_static_ip_table(ip_info_list_data); + wifi_ap_set_ip_config_type(ap, WIFI_ADDRESS_FAMILY_IPV4, + WIFI_IP_CONFIG_TYPE_STATIC); + } + type = WIFI_IP_CONFIG_TYPE_NONE; + wifi_ap_get_ip_config_type(ap, WIFI_ADDRESS_FAMILY_IPV4, &type); + DEBUG_LOG(UG_NAME_NORMAL, "AP[0x%x] ip config type: %d", ap, type); + elm_genlist_item_update(ip_info_list_data->ip_toggle_item); + elm_object_item_disabled_set(ip_info_list_data->ip_toggle_item, FALSE); + ecore_idler_add( (Ecore_Task_Cb) _genlist_item_disable_later, event_info); + + __COMMON_FUNC_EXIT__; +} + +static Evas_Object *_ip_info_iptoggle_content_get(void *data, + Evas_Object *obj, const char *part) +{ + if (NULL == data || obj == NULL || part == NULL) { + return NULL; + } + + ip_info_list_t *ip_info_list_data = (ip_info_list_t *)data; + wifi_ap_h ap = ip_info_list_data->ap; + + Evas_Object *toggle_btn = elm_check_add(obj); + assertm_if(NULL == toggle_btn, "NULL!!"); + elm_object_style_set(toggle_btn, "on&off"); + evas_object_propagate_events_set(toggle_btn, EINA_TRUE); + wifi_ip_config_type_e type; + wifi_ap_get_ip_config_type(ap, WIFI_ADDRESS_FAMILY_IPV4, &type); + if (WIFI_IP_CONFIG_TYPE_STATIC == type) { /* Static IP */ + elm_check_state_set(toggle_btn, EINA_TRUE); + } else { + elm_check_state_set(toggle_btn, EINA_FALSE); + } + return toggle_btn; +} + +static void ip_info_print_values(wifi_ap_h ap) +{ + char *txt; + wifi_ip_config_type_e type = WIFI_IP_CONFIG_TYPE_NONE; + wifi_ap_get_ip_config_type(ap, WIFI_ADDRESS_FAMILY_IPV4, &type); + if (WIFI_IP_CONFIG_TYPE_STATIC == type) { /* Static IP */ + + DEBUG_LOG(UG_NAME_NORMAL, "* STATIC CONFIGURATION *"); + + /* IP Address */ + wifi_ap_get_ip_address(ap, WIFI_ADDRESS_FAMILY_IPV4, &txt); + DEBUG_LOG(UG_NAME_NORMAL, "* IP address [%s]", txt); + g_free(txt); + + /* Subnet Mask */ + wifi_ap_get_subnet_mask(ap, WIFI_ADDRESS_FAMILY_IPV4, &txt); + DEBUG_LOG(UG_NAME_NORMAL, "* Subnet Mask [%s]", txt); + g_free(txt); + + /* Gateway Address */ + wifi_ap_get_gateway_address(ap, WIFI_ADDRESS_FAMILY_IPV4, &txt); + DEBUG_LOG(UG_NAME_NORMAL, "* Gateway address [%s]", txt); + g_free(txt); + + /* DNS 1 */ + wifi_ap_get_dns_address(ap, 1, WIFI_ADDRESS_FAMILY_IPV4, &txt); + DEBUG_LOG(UG_NAME_NORMAL, "* DNS-1 address [%s]", txt); + g_free(txt); + + /* DNS 2 */ + wifi_ap_get_dns_address(ap, 2, WIFI_ADDRESS_FAMILY_IPV4, &txt); + DEBUG_LOG(UG_NAME_NORMAL, "* DNS-2 address [%s]", txt); + g_free(txt); + + } else if (WIFI_IP_CONFIG_TYPE_DYNAMIC == type) { /* Dynamic IP */ + + DEBUG_LOG(UG_NAME_NORMAL, "* DYNAMIC CONFIGURATION *"); + + /* Dynamic IP Address */ + wifi_ap_get_ip_address(ap, WIFI_ADDRESS_FAMILY_IPV4, &txt); + DEBUG_LOG(UG_NAME_NORMAL, "* IP address [%s]", txt); + g_free(txt); + } + + /* Mac address */ + wifi_get_mac_address(&txt); + DEBUG_LOG(UG_NAME_NORMAL, "* MAC address [%s]", txt); + g_free(txt); + + txt = NULL; + wifi_ap_get_proxy_address(ap, WIFI_ADDRESS_FAMILY_IPV4, &txt); + assertm_if(NULL == txt, "NULL!!"); + + if (!txt || !strlen(txt)) { + if (txt) + g_free(txt); + txt = g_strdup(DEFAULT_PROXY_ADDR); + } + /* Proxy Address */ + char *proxy_addr = strtok(txt, ":"); + DEBUG_LOG(UG_NAME_NORMAL, "* PROXY ADDR [%s]", proxy_addr); + + /* Proxy port */ + char *proxy_port = strtok(NULL, ":"); + DEBUG_LOG(UG_NAME_NORMAL, "* PROXY PORT [%s]", proxy_port); + g_free(txt); + +} + +ip_info_list_t *ip_info_append_items(wifi_ap_h ap, const char *pkg_name, + Evas_Object *genlist, imf_ctxt_panel_cb_t input_panel_cb, void *input_panel_cb_data) +{ + __COMMON_FUNC_ENTER__; + int ret = WIFI_ERROR_NONE; + char *proxy_data = NULL; + char *proxy_addr = NULL; + char *proxy_port = NULL; + Elm_Object_Item* item = NULL; + common_utils_entry_info_t *edit_box_details; + + assertm_if(NULL == ap, "NULL!!"); + assertm_if(NULL == pkg_name, "NULL!!"); + assertm_if(NULL == genlist, "NULL!!"); + + ip_info_list_t *ip_info_list_data = g_new0(ip_info_list_t, 1); + ip_info_list_data->ap = ap; + ip_info_list_data->str_pkg_name = pkg_name; + ip_info_list_data->genlist = genlist; + ip_info_list_data->input_panel_cb = input_panel_cb; + ip_info_list_data->input_panel_cb_data = input_panel_cb_data; + + ip_toggle_itc.item_style = "dialogue/1text.1icon"; + ip_toggle_itc.func.text_get = _ip_info_iptoggle_text_get; + ip_toggle_itc.func.content_get = _ip_info_iptoggle_content_get; + ip_toggle_itc.func.state_get = NULL; + ip_toggle_itc.func.del = NULL; + + description_itc.item_style = "dialogue/2text.3"; + description_itc.func.text_get = _ip_info_detail_description_text_get; + description_itc.func.content_get = NULL; + description_itc.func.state_get = NULL; + description_itc.func.del = _ip_info_detail_description_del; + + ip_entry_itc.item_style = "dialogue/1icon"; + ip_entry_itc.func.text_get = NULL; + ip_entry_itc.func.content_get = _ip_info_entry_item_content_get; + ip_entry_itc.func.state_get = NULL; + ip_entry_itc.func.del = _ip_info_entry_item_del; + + common_utils_add_dialogue_separator(genlist, "dialogue/separator.2"); + + /* Static/Dynamic switch button */ + ip_info_list_data->ip_toggle_item = + elm_genlist_item_append(genlist, + &ip_toggle_itc, ip_info_list_data, NULL, ELM_GENLIST_ITEM_NONE, + _ip_info_toggle_item_sel_cb, ip_info_list_data); + + /* IP address */ + wifi_ip_config_type_e type = WIFI_IP_CONFIG_TYPE_NONE; + wifi_ap_get_ip_config_type(ap, WIFI_ADDRESS_FAMILY_IPV4, &type); + if (WIFI_IP_CONFIG_TYPE_STATIC == type) { /* Static IP */ + /* Create the entry layouts */ + _create_static_ip_table(ip_info_list_data); + } else if (WIFI_IP_CONFIG_TYPE_DYNAMIC == type) { /* Dynamic IP */ + char *ip_addr = NULL; + /* Dynamic IP Address */ + wifi_ap_get_ip_address(ap, WIFI_ADDRESS_FAMILY_IPV4, &ip_addr); + ip_info_list_data->ip_addr_item = + _add_description(genlist, + sc(ip_info_list_data->str_pkg_name, I18N_TYPE_IP_address), + ip_addr, NULL); + elm_object_item_disabled_set(ip_info_list_data->ip_addr_item, TRUE); + g_free(ip_addr); + } + + common_utils_add_dialogue_separator(genlist, "dialogue/separator.2"); + +#if 0 + /* Channel Number */ + int channel_number; + wifi_ap_get_frequency(ap, &channel_number); + char *channel_num_str = g_strdup_printf("%u", channel_number); + _add_description(genlist, + sc(ip_info_list_data->str_pkg_name, I18N_TYPE_Channel), channel_num_str, + NULL); + g_free(channel_num_str); +#endif + /* Mac address */ + char *mac_addr = NULL; + wifi_get_mac_address(&mac_addr); + item = + _add_description(genlist, + sc(ip_info_list_data->str_pkg_name, I18N_TYPE_MAC_addr), mac_addr, + NULL); + elm_object_item_disabled_set(item, TRUE); + g_free(mac_addr); + + ret = wifi_ap_get_proxy_address(ap, WIFI_ADDRESS_FAMILY_IPV4, &proxy_data); + assertm_if(NULL == proxy_data, "NULL!!"); + + if (WIFI_ERROR_NONE == ret && proxy_data && strlen(proxy_data)) { + DEBUG_LOG(UG_NAME_NORMAL, "* PROXY DATA [%s]", proxy_data); + /* Proxy Address */ + proxy_addr = g_strdup(strtok(proxy_data, ":")); + DEBUG_LOG(UG_NAME_NORMAL, "* PROXY ADDR [%s]", proxy_addr); + + /* Proxy port */ + proxy_port = g_strdup(strtok(NULL, ":")); + DEBUG_LOG(UG_NAME_NORMAL, "* PROXY PORT [%s]", proxy_port); + } else { + ERROR_LOG(UG_NAME_ERR, "Error = %d", ret); + } + + edit_box_details = g_new0(common_utils_entry_info_t, 1); + edit_box_details->entry_id = ENTRY_TYPE_PROXY_ADDR; + edit_box_details->title_txt = sc(pkg_name, I18N_TYPE_Proxy_address); + edit_box_details->entry_txt = proxy_addr; + edit_box_details->input_panel_cb = input_panel_cb; + edit_box_details->input_panel_cb_data = input_panel_cb_data; + ip_info_list_data->proxy_addr_item = elm_genlist_item_append(genlist, &ip_entry_itc, edit_box_details, NULL, ELM_GENLIST_ITEM_NONE, _gl_editbox_sel_cb, NULL); + elm_genlist_item_select_mode_set(ip_info_list_data->proxy_addr_item, ELM_OBJECT_SELECT_MODE_NONE); + + edit_box_details = g_new0(common_utils_entry_info_t, 1); + edit_box_details->entry_id = ENTRY_TYPE_PROXY_PORT; + edit_box_details->title_txt = sc(pkg_name, I18N_TYPE_Proxy_port); + edit_box_details->entry_txt = proxy_port; + edit_box_details->input_panel_cb = input_panel_cb; + edit_box_details->input_panel_cb_data = input_panel_cb_data; + ip_info_list_data->proxy_port_item = elm_genlist_item_append(genlist, &ip_entry_itc, edit_box_details, NULL, ELM_GENLIST_ITEM_NONE, _gl_editbox_sel_cb, NULL); + elm_genlist_item_select_mode_set(ip_info_list_data->proxy_port_item, ELM_OBJECT_SELECT_MODE_NONE); + + g_free(proxy_data); + + __COMMON_FUNC_EXIT__; + return ip_info_list_data; +} + +void ip_info_save_data(ip_info_list_t *ip_info_list_data) +{ + __COMMON_FUNC_ENTER__; + assertm_if(NULL == ip_info_list_data, "NULL!!"); + char* txt = NULL; + char* proxy_addr = NULL; + char* proxy_port = NULL; + wifi_ap_h ap = ip_info_list_data->ap; + + wifi_ip_config_type_e type = WIFI_IP_CONFIG_TYPE_NONE; + wifi_ap_get_ip_config_type(ap, WIFI_ADDRESS_FAMILY_IPV4, &type); + if (WIFI_IP_CONFIG_TYPE_STATIC == type) { /* Static IP */ + txt = common_utils_get_list_item_entry_txt(ip_info_list_data->ip_addr_item); + DEBUG_LOG(UG_NAME_NORMAL, "IP [%s]", txt); + wifi_ap_set_ip_address(ap, WIFI_ADDRESS_FAMILY_IPV4, txt); + g_free(txt); + + txt = + common_utils_get_list_item_entry_txt(ip_info_list_data->subnet_mask_item); + DEBUG_LOG(UG_NAME_NORMAL, "Subnet [%s]", txt); + wifi_ap_set_subnet_mask(ap, WIFI_ADDRESS_FAMILY_IPV4, txt); + g_free(txt); + + txt = + common_utils_get_list_item_entry_txt(ip_info_list_data->gateway_addr_item); + DEBUG_LOG(UG_NAME_NORMAL, "Gateway [%s]", txt); + wifi_ap_set_gateway_address(ap, WIFI_ADDRESS_FAMILY_IPV4, txt); + g_free(txt); + + txt = + common_utils_get_list_item_entry_txt(ip_info_list_data->dns_1_item); + DEBUG_LOG(UG_NAME_NORMAL, "DNS1 [%s]", txt); + wifi_ap_set_dns_address(ap, 1, WIFI_ADDRESS_FAMILY_IPV4, txt); + g_free(txt); + + txt = + common_utils_get_list_item_entry_txt(ip_info_list_data->dns_2_item); + DEBUG_LOG(UG_NAME_NORMAL, "DNS2 [%s]", txt); + wifi_ap_set_dns_address(ap, 2, WIFI_ADDRESS_FAMILY_IPV4, txt); + g_free(txt); + } + proxy_addr = + common_utils_get_list_item_entry_txt(ip_info_list_data->proxy_addr_item); + proxy_port = + common_utils_get_list_item_entry_txt(ip_info_list_data->proxy_port_item); + txt = g_strdup_printf("%s:%s", proxy_addr?proxy_addr:"", proxy_port?proxy_port:""); + DEBUG_LOG( UG_NAME_NORMAL, "Proxy addr:port [%s]", txt); + wifi_ap_set_proxy_type(ap, WIFI_PROXY_TYPE_MANUAL); + wifi_ap_set_proxy_address(ap, WIFI_ADDRESS_FAMILY_IPV4, txt); + g_free((gpointer)proxy_addr); + g_free((gpointer)proxy_port); + g_free((gpointer)txt); + + ip_info_print_values(ap); + + __COMMON_FUNC_EXIT__; + return; +} + +void ip_info_remove(ip_info_list_t *ip_info_list) +{ + __COMMON_FUNC_ENTER__; + assertm_if(NULL == ip_info_list, "NULL!!"); + _delete_static_ip_table(ip_info_list); + g_free(ip_info_list); + __COMMON_FUNC_EXIT__; +} diff --git a/sources/libraries/Common/common_pswd_popup.c b/sources/libraries/Common/common_pswd_popup.c new file mode 100644 index 0000000..0b32b6b --- /dev/null +++ b/sources/libraries/Common/common_pswd_popup.c @@ -0,0 +1,365 @@ +/* + * Wi-Fi + * + * 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 "common.h" +#include "common_pswd_popup.h" +#include "i18nmanager.h" +#include "common_utils.h" +#include "ug_wifi.h" + +#define PBC_TIMEOUT_MSG_STR "one click connection failed" +#define MAX_PBC_TIMEOUT_SECS 120 // Time in seconds + +typedef struct { + /* PBC popup related attributes */ + Evas_Object* popup; + Evas_Object* progressbar; + Evas_Object* timer_label; + Ecore_Timer *timer; + int checker; + double value; +} pbc_popup_t; + +struct pswd_popup { + /* Password popup related attributes */ + const char *str_pkg_name; + Evas_Object *win; + Evas_Object *popup; + Evas_Object *popup_entry_lyt; + pbc_popup_t *pbc_popup_data; + wifi_ap_h ap; +}; + +static void __popup_entry_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"); + } +} + +static void __popup_entry_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"); +} + +static void __popup_entry_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"); +} + +static void __popup_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + elm_entry_entry_set(data, ""); +} + +static void _check_changed_cb(void *data, Evas_Object *obj, void *event_info) +{ + if (obj == NULL) + return; + + Eina_Bool state = elm_check_state_get(obj); + common_utils_entry_password_set(data, !state); +} + +static void __common_pbc_popup_destroy(pbc_popup_t *pbc_popup_data) +{ + __COMMON_FUNC_ENTER__; + if (!pbc_popup_data) + return; + + if (pbc_popup_data->checker == 0) { + pbc_popup_data->checker = 1; + + if (pbc_popup_data->timer != NULL) { + ecore_timer_del(pbc_popup_data->timer); + pbc_popup_data->timer = NULL; + } + if (pbc_popup_data->popup != NULL) { + evas_object_hide(pbc_popup_data->popup); + evas_object_del(pbc_popup_data->popup); + pbc_popup_data->popup = NULL; + } + g_free(pbc_popup_data); + } + __COMMON_FUNC_EXIT__; + return; +} + +static Eina_Bool _fn_pb_timer_bar(void *data) +{ + pswd_popup_t *pswd_popup_data = (pswd_popup_t *)data; + pbc_popup_t *pbc_popup_data = pswd_popup_data->pbc_popup_data; + if (!pbc_popup_data || pbc_popup_data->timer == NULL || pbc_popup_data->progressbar == NULL) { + return ECORE_CALLBACK_CANCEL; + } + const double diff = (double)1/(double)MAX_PBC_TIMEOUT_SECS; + pbc_popup_data->value = elm_progressbar_value_get(pbc_popup_data->progressbar); + pbc_popup_data->value += diff; + if (pbc_popup_data->value >= 1) { + if (pbc_popup_data->checker == 0) { + __COMMON_FUNC_ENTER__; + common_utils_show_info_timeout_popup(pswd_popup_data->win, PBC_TIMEOUT_MSG_STR, 3.0f); + Evas_Object *cancel_btn = elm_object_part_content_get(pbc_popup_data->popup, "button1"); + evas_object_smart_callback_call(cancel_btn, "clicked", NULL); + __COMMON_FUNC_EXIT__; + } + return ECORE_CALLBACK_CANCEL; + } + + int remain_mins = (int)(MAX_PBC_TIMEOUT_SECS * (1 - pbc_popup_data->value)); + int remain_secs = 0; + remain_secs = remain_mins % 60; + remain_mins /= 60; + + char *remaining_time_str = g_strdup_printf("<font_size=40><align=center>%02d:%02d</align></font_size>", remain_mins, remain_secs); + elm_object_text_set(pbc_popup_data->timer_label, remaining_time_str); + //INFO_LOG(UG_NAME_NORMAL, "pbc_popup_data->value = %lf; remain_mins = %d; remain_secs = %d; remaining_time_str = %s", pbc_popup_data->value, remain_mins, remain_secs, remaining_time_str); + g_free(remaining_time_str); + + elm_progressbar_value_set(pbc_popup_data->progressbar, pbc_popup_data->value); + + return ECORE_CALLBACK_RENEW; +} + +static Eina_Bool _enable_scan_updates_cb(void *data) +{ + /* Lets enable the scan updates */ + wlan_manager_enable_scan_result_update(); + + return ECORE_CALLBACK_CANCEL; +} + +void common_pswd_popup_pbc_popup_create(pswd_popup_t *pswd_popup_data, Evas_Smart_Cb cancel_cb, void *cancel_cb_data) +{ + if (!pswd_popup_data) { + return; + } + Evas_Object *popup = NULL,*progressbar = NULL; + Evas_Object *label = NULL, *timer_label = NULL; + Evas_Object *separator1 = NULL, *separator2 = NULL; + + pbc_popup_t *pbc_popup_data = NULL; + pbc_popup_data = g_new0(pbc_popup_t, 1); + + popup_btn_info_t popup_btn_data; + memset(&popup_btn_data, 0, sizeof(popup_btn_data)); + popup_btn_data.btn1_txt = sc(pswd_popup_data->str_pkg_name, I18N_TYPE_Cancel); + popup_btn_data.btn1_cb = cancel_cb; + popup_btn_data.btn1_data = cancel_cb_data; + popup = common_utils_show_info_popup(pswd_popup_data->win, &popup_btn_data); + + label = elm_label_add(popup); + elm_object_style_set(label, "popup/default"); + elm_label_line_wrap_set(label, ELM_WRAP_MIXED); + elm_object_text_set(label, sc(pswd_popup_data->str_pkg_name,I18N_TYPE_Press_WPS_On_Your_Wi_Fi_Access_Point)); + evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(label); + + separator1 = elm_separator_add(popup); + + progressbar = elm_progressbar_add(popup); + elm_object_style_set(progressbar, "list_progress"); + elm_progressbar_horizontal_set(progressbar, EINA_TRUE); + evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_progressbar_value_set(progressbar, 0.0); + + separator2 = elm_separator_add(popup); + + timer_label = elm_label_add(popup); + elm_object_style_set(timer_label, "label3"); + elm_label_line_wrap_set(timer_label, ELM_WRAP_MIXED); + elm_object_text_set(timer_label, _("<font_size=40><align=center>02:00</align></font_size>")); + evas_object_size_hint_weight_set(timer_label, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(timer_label, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(timer_label); + + pbc_popup_data->checker = 0; + pbc_popup_data->value = 0.0; + pbc_popup_data->progressbar = progressbar; + pbc_popup_data->timer_label = timer_label; + pbc_popup_data->popup = popup; + pbc_popup_data->timer = ecore_timer_add(1.0, _fn_pb_timer_bar, pswd_popup_data); + evas_object_show(progressbar); + + Evas_Object *box = elm_box_add(popup); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(box); + elm_box_pack_end(box, label); + elm_box_pack_end(box, separator1); + elm_box_pack_end(box, progressbar); + elm_box_pack_end(box, separator2); + elm_box_pack_end(box, timer_label); + + evas_object_show(box); + elm_object_content_set(popup, box); + pswd_popup_data->pbc_popup_data = pbc_popup_data; + + /* Delete the password popup */ + evas_object_hide(pswd_popup_data->popup); + evas_object_del(pswd_popup_data->popup); + + return; +} + +pswd_popup_t *common_pswd_popup_create(Evas_Object *win_main, const char *pkg_name, pswd_popup_create_req_data_t *popup_info) +{ + __COMMON_FUNC_ENTER__; + + if (!win_main || !popup_info || !pkg_name) + return NULL; + + pswd_popup_t *pswd_popup_data = g_new0(pswd_popup_t, 1); + + if (popup_info->ap) { + if (WIFI_ERROR_NONE != wifi_ap_clone(&(pswd_popup_data->ap), popup_info->ap)) { + g_free(pswd_popup_data); + return NULL; + } + } else { + /* It can be NULL in case of hidden AP */ + } + /* Lets disable the scan updates so that the UI is not refreshed un necessarily */ + wlan_manager_disable_scan_result_update(); + + popup_btn_info_t popup_btn_data; + memset(&popup_btn_data, 0, sizeof(popup_btn_data)); + popup_btn_data.title_txt = popup_info->title; + popup_btn_data.btn1_cb = popup_info->ok_cb; + popup_btn_data.btn1_data = popup_info->cb_data; + popup_btn_data.btn2_cb = popup_info->cancel_cb; + popup_btn_data.btn2_data = popup_info->cb_data; + popup_btn_data.btn1_txt = sc(pkg_name, I18N_TYPE_Ok); + popup_btn_data.btn2_txt = sc(pkg_name, I18N_TYPE_Cancel); + Evas_Object *passpopup = common_utils_show_info_popup(win_main, &popup_btn_data); + + Evas_Object *box = elm_box_add(passpopup); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(box); + + Evas_Object *entry_ly = elm_layout_add(box); + Evas_Object *entry = NULL; + Elm_Entry_Filter_Limit_Size limit_filter_data; + + elm_layout_file_set(entry_ly, CUSTOM_EDITFIELD_PATH, "custom_editfield"); + evas_object_size_hint_weight_set(entry_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(entry_ly, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_text_set(entry_ly, "elm.text", sc(pkg_name, I18N_TYPE_Enter_password)); + + entry = elm_entry_add(entry_ly); + elm_entry_scrollable_set(entry, EINA_TRUE); + elm_entry_single_line_set(entry, EINA_TRUE); + elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_PASSWORD); + elm_object_part_content_set(entry_ly, "elm.swallow.content", entry); + + limit_filter_data.max_char_count = 32; + elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &limit_filter_data); + + evas_object_smart_callback_add(entry, "changed", __popup_entry_changed_cb, entry_ly); + evas_object_smart_callback_add(entry, "focused", __popup_entry_focused_cb, entry_ly); + evas_object_smart_callback_add(entry, "unfocused", __popup_entry_unfocused_cb, entry_ly); + elm_object_signal_callback_add(entry_ly, "elm,eraser,clicked", "elm", __popup_eraser_clicked_cb, entry); + evas_object_show(entry); + + elm_entry_password_set(entry, EINA_TRUE); + evas_object_show(entry_ly); + elm_box_pack_end(box, entry_ly); + + Evas_Object *check = elm_check_add(box); + elm_object_text_set(check, sc(pkg_name, I18N_TYPE_Show_password)); + elm_object_focus_allow_set(check, EINA_FALSE); + evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_smart_callback_add(check, "changed", _check_changed_cb, entry_ly); + + evas_object_show(check); + elm_box_pack_end(box, check); + + if (popup_info->show_wps_btn) { + Evas_Object *btn = elm_button_add(box); + elm_object_text_set(btn, sc(pkg_name, I18N_TYPE_WPS_Button_Connection)); + evas_object_size_hint_weight_set(btn, + EVAS_HINT_EXPAND, + EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, + EVAS_HINT_FILL, + EVAS_HINT_FILL); + evas_object_smart_callback_add(btn, "clicked", popup_info->wps_btn_cb, popup_info->cb_data); + elm_box_pack_end(box, btn); + evas_object_show(btn); + } + + elm_object_content_set(passpopup, box); + evas_object_show(passpopup); + pswd_popup_data->win = win_main; + pswd_popup_data->str_pkg_name = pkg_name; + pswd_popup_data->popup = passpopup; + pswd_popup_data->popup_entry_lyt = entry_ly; + elm_object_focus_set(entry, EINA_TRUE); + + __COMMON_FUNC_EXIT__; + + return pswd_popup_data; +} + +char *common_pswd_popup_get_txt(pswd_popup_t *pswd_popup_data) +{ + if (pswd_popup_data) + return common_utils_entry_layout_get_text(pswd_popup_data->popup_entry_lyt); + + return NULL; +} + +wifi_ap_h common_pswd_popup_get_ap(pswd_popup_t *pswd_popup_data) +{ + if (pswd_popup_data) + return pswd_popup_data->ap; + + return NULL; +} + +void common_pswd_popup_destroy(pswd_popup_t *pswd_popup_data) +{ + if (pswd_popup_data) { + if (pswd_popup_data->pbc_popup_data) { + __common_pbc_popup_destroy(pswd_popup_data->pbc_popup_data); + pswd_popup_data->pbc_popup_data = NULL; + } + evas_object_hide(pswd_popup_data->popup); + evas_object_del(pswd_popup_data->popup); + pswd_popup_data->popup = NULL; + pswd_popup_data->popup_entry_lyt = NULL; + wifi_ap_destroy(pswd_popup_data->ap); + g_free(pswd_popup_data); + + /* A delay is needed to get the smooth Input panel closing animation effect */ + ecore_timer_add(0.1, _enable_scan_updates_cb, NULL); + } + return; +} diff --git a/sources/libraries/Common/common_utils.c b/sources/libraries/Common/common_utils.c new file mode 100644 index 0000000..a6413da --- /dev/null +++ b/sources/libraries/Common/common_utils.c @@ -0,0 +1,458 @@ +/* + * Wi-Fi + * + * 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 <vconf.h> +#include <syspopup_caller.h> + +#include <aul.h> +#include "common.h" +#include "common_utils.h" +#include "i18nmanager.h" + +#define POPUP_HEAD_AREA 134 +#define POPUP_BUTTON_AREA 80 + +typedef struct { + char *title_str; + char *info_str; +} two_line_disp_data_t; + +static char *__common_utils_2line_text_get(void *data, Evas_Object *obj, const char *part) +{ + two_line_disp_data_t *item_data = (two_line_disp_data_t *)data; + if (!strcmp(part, "elm.text.1")) { + return g_strdup(item_data->info_str); + } else if (!strcmp(part, "elm.text.2")) { + return g_strdup(item_data->title_str); + } + return NULL; +} + +static void __common_utils_2line_text_del(void *data, Evas_Object *obj) +{ + two_line_disp_data_t *item_data = (two_line_disp_data_t *)data; + if (item_data) { + g_free(item_data->info_str); + g_free(item_data->title_str); + g_free(item_data); + } +} + +static void __common_utils_separator_del(void *data, Evas_Object *obj) +{ + elm_genlist_item_class_free(data); + return; +} + +Elm_Object_Item* common_utils_add_dialogue_separator(Evas_Object* genlist, const char *separator_style) +{ + assertm_if(NULL == genlist, "NULL!!"); + + static Elm_Genlist_Item_Class *separator_itc; + separator_itc = elm_genlist_item_class_new(); + separator_itc->item_style = separator_style; + separator_itc->func.text_get = NULL; + separator_itc->func.content_get = NULL; + separator_itc->func.state_get = NULL; + separator_itc->func.del = __common_utils_separator_del; + + Elm_Object_Item* sep = elm_genlist_item_append( + genlist, + separator_itc, + separator_itc, + NULL, + ELM_GENLIST_ITEM_GROUP, + NULL, + NULL); + + assertm_if(NULL == sep, "NULL!!"); + + elm_genlist_item_select_mode_set(sep, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + + return sep; +} + +char *common_utils_get_ap_security_type_info_txt(const char *pkg_name, wifi_device_info_t *device_info) +{ + char *status_txt = NULL; + switch (device_info->security_mode) + { + case WLAN_SEC_MODE_NONE: /** Security disabled */ + status_txt = g_strdup(sc(pkg_name, I18N_TYPE_Open)); + break; + case WLAN_SEC_MODE_IEEE8021X: /** EAP */ + status_txt = g_strdup_printf("%s (%s)", sc(pkg_name, I18N_TYPE_Secured), sc(pkg_name, I18N_TYPE_EAP)); + break; + case WLAN_SEC_MODE_WEP: /** WEP */ + case WLAN_SEC_MODE_WPA_PSK: /** WPA-PSK */ + case WLAN_SEC_MODE_WPA2_PSK: /** WPA2-PSK */ + if (TRUE == device_info->wps_mode) { + status_txt = g_strdup_printf("%s (%s)", sc(pkg_name, I18N_TYPE_Secured), sc(pkg_name, I18N_TYPE_WPS_Available)); + } else { + status_txt = g_strdup(sc(pkg_name, I18N_TYPE_Secured)); + } + break; + default: /** Unknown */ + status_txt = g_strdup(WIFI_UNKNOWN_DEVICE_STATUS_STR); + break; + } + return status_txt; +} + +char *common_utils_get_device_icon(const char *image_path_dir, wifi_device_info_t *device_info) +{ + char tmp_str[MAX_DEVICE_ICON_PATH_STR_LEN] = {'\0', }; + char *ret; + + g_strlcpy(tmp_str, image_path_dir, sizeof(tmp_str)); + g_strlcat(tmp_str, "/37_wifi_icon", sizeof(tmp_str)); + + if (device_info->security_mode != WLAN_SEC_MODE_NONE) { + g_strlcat(tmp_str, "_lock", sizeof(tmp_str)); + } + + switch (wlan_manager_get_signal_strength(device_info->rssi)) { + case SIGNAL_STRENGTH_TYPE_EXCELLENT: + g_strlcat(tmp_str, "_03", sizeof(tmp_str)); + break; + case SIGNAL_STRENGTH_TYPE_GOOD: + g_strlcat(tmp_str, "_02", sizeof(tmp_str)); + break; + case SIGNAL_STRENGTH_TYPE_WEAK: + g_strlcat(tmp_str, "_01", sizeof(tmp_str)); + break; + case SIGNAL_STRENGTH_TYPE_VERY_WEAK: + case SIGNAL_STRENGTH_TYPE_NULL: + default: + g_strlcat(tmp_str, "_00", sizeof(tmp_str)); + break; + } + + /* Adding .png to the end of file */ + g_strlcat(tmp_str, ".png", sizeof(tmp_str)); + + ret = g_strdup(tmp_str); + return ret; +} + +Evas_Object *common_utils_entry_layout_get_entry(Evas_Object *layout) +{ + return elm_object_part_content_get(layout, "elm.swallow.content"); +} + +char *common_utils_entry_layout_get_text(Evas_Object *layout) +{ + Evas_Object *entry = elm_object_part_content_get(layout, "elm.swallow.content"); + return elm_entry_markup_to_utf8(elm_entry_entry_get(entry)); +} + +void common_utils_entry_password_set(Evas_Object *layout, Eina_Bool pswd_set) +{ + Evas_Object *entry = elm_object_part_content_get(layout, "elm.swallow.content"); + elm_entry_password_set(entry, pswd_set); +} + +void __common_popup_size_get(Ecore_IMF_Context *target_imf, int *width, int *height) +{ + __COMMON_FUNC_ENTER__; + + int window_width, window_height; + int start_x, start_y, imf_width, imf_height; + int rotate_angle; + float resize_scale = 0.7f; + + rotate_angle = common_utils_get_rotate_angle(APPCORE_RM_UNKNOWN); + ecore_x_window_size_get(ecore_x_window_root_first_get(), &window_width, &window_height); + + *width = window_width; + + if (rotate_angle == 0 || rotate_angle == 180) + { + *height = window_height * resize_scale; + }else + *height = window_width; + + if (target_imf != NULL) { + ecore_imf_context_input_panel_geometry_get(target_imf, &start_x, &start_y, &imf_width, &imf_height); + *height = start_y * resize_scale; + } + + *height = *height-POPUP_HEAD_AREA-POPUP_BUTTON_AREA; + + __COMMON_FUNC_EXIT__; +} + +void common_utils_set_edit_box_imf_panel_evnt_cb(Elm_Object_Item *item, + imf_ctxt_panel_cb_t input_panel_cb, void *user_data) +{ + __COMMON_FUNC_ENTER__; + common_utils_entry_info_t *entry_info; + entry_info = elm_object_item_data_get(item); + if (!entry_info) + return; + + entry_info->input_panel_cb = input_panel_cb; + entry_info->input_panel_cb_data = user_data; + Evas_Object *entry = common_utils_entry_layout_get_entry(entry_info->layout); + Ecore_IMF_Context *imf_ctxt = elm_entry_imf_context_get(entry); + if (imf_ctxt) { + ecore_imf_context_input_panel_event_callback_add(imf_ctxt, ECORE_IMF_INPUT_PANEL_STATE_EVENT, entry_info->input_panel_cb, entry_info->input_panel_cb_data); + DEBUG_LOG(UG_NAME_NORMAL, "set the imf ctxt cbs"); + } + + __COMMON_FUNC_EXIT__; + return; +} + +Elm_Object_Item *common_utils_add_2_line_txt_disabled_item(Evas_Object* view_list, const char *style_name, const char *line1_txt, const char *line2_txt) +{ + static Elm_Genlist_Item_Class two_line_display_itc; + two_line_disp_data_t *two_line_data = NULL; + Elm_Object_Item *item = NULL; + + two_line_display_itc.item_style = style_name; + two_line_display_itc.func.text_get = __common_utils_2line_text_get; + two_line_display_itc.func.content_get = NULL; + two_line_display_itc.func.state_get = NULL; + two_line_display_itc.func.del = __common_utils_2line_text_del; + + two_line_data = g_new0(two_line_disp_data_t, 1); + two_line_data->title_str = g_strdup(line1_txt); + two_line_data->info_str = g_strdup(line2_txt); + INFO_LOG(UG_NAME_NORMAL, "title_str = %s info_str = %s", two_line_data->title_str, two_line_data->info_str); + + item = elm_genlist_item_append(view_list, &two_line_display_itc, two_line_data, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + elm_object_item_disabled_set(item, TRUE); + + return item; +} + +char *common_utils_get_list_item_entry_txt(Elm_Object_Item *entry_item) +{ + common_utils_entry_info_t *entry_info = (common_utils_entry_info_t *)elm_object_item_data_get(entry_item); + if (entry_info == NULL) + return NULL; + + DEBUG_LOG(UG_NAME_NORMAL, "entry_info = 0x%x", entry_info); + + if (entry_info->entry_txt) + return g_strdup(entry_info->entry_txt); + else + return NULL; +} + +Evas_Object *common_utils_create_radio_button(Evas_Object *parent, const int value) +{ + Evas_Object *radio = elm_radio_add(parent); + elm_radio_state_value_set(radio, value); +// elm_radio_group_add(radio, radio_main); + evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, + EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL); + + return radio; +} + +Evas_Object *common_utils_create_layout(Evas_Object *navi_frame) +{ + Evas_Object *layout; + layout = elm_layout_add(navi_frame); + elm_layout_theme_set(layout, "layout", "application", "noindicator"); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + Evas_Object* bg = elm_bg_add(layout); + evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_object_style_set(bg, "group_list"); + elm_object_part_content_set(layout, "elm.swallow.bg", bg); + + evas_object_show(layout); + + return layout; +} + +Evas_Object *common_utils_show_info_popup(Evas_Object *parent, popup_btn_info_t *popup_data) +{ + __COMMON_FUNC_ENTER__; + Evas_Object *popup = elm_popup_add(parent); + evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + if (popup_data->title_txt) + elm_object_part_text_set(popup, "title,text", popup_data->title_txt); + if (popup_data->info_txt) + elm_object_text_set(popup, popup_data->info_txt); + if (popup_data->btn1_txt) { + Evas_Object *btn_1 = elm_button_add(popup); + elm_object_text_set(btn_1, popup_data->btn1_txt); + elm_object_part_content_set(popup, "button1", btn_1); + if (popup_data->btn1_cb) { + evas_object_smart_callback_add(btn_1, "clicked", popup_data->btn1_cb, popup_data->btn1_data); + } else { // set the default callback + evas_object_smart_callback_add(btn_1, "clicked", (Evas_Smart_Cb)evas_object_del, popup); + } + } + if (popup_data->btn2_txt) { + Evas_Object *btn_2 = elm_button_add(popup); + elm_object_text_set(btn_2, popup_data->btn2_txt); + elm_object_part_content_set(popup, "button2", btn_2); + evas_object_smart_callback_add(btn_2, "clicked", popup_data->btn2_cb, NULL); + evas_object_show(popup); + if (popup_data->btn2_cb) { + evas_object_smart_callback_add(btn_2, "clicked", popup_data->btn2_cb, popup_data->btn2_data); + } else { // set the default callback + evas_object_smart_callback_add(btn_2, "clicked", (Evas_Smart_Cb)evas_object_del, popup); + } + } + evas_object_show(popup); + + return popup; +} + +Evas_Object *common_utils_show_info_ok_popup(Evas_Object *win, + const char *str_pkg_name, const char *info_txt) +{ + popup_btn_info_t popup_data; + + memset(&popup_data, 0, sizeof(popup_data)); + popup_data.info_txt = (char *)info_txt; + popup_data.btn1_txt = sc(str_pkg_name, I18N_TYPE_Ok); + + return common_utils_show_info_popup(win, &popup_data); +} + +Evas_Object *common_utils_show_info_timeout_popup(Evas_Object *win, + const char* info_text, const double timeout) +{ + Evas_Object *popup = elm_popup_add(win); + + elm_object_text_set(popup, info_text); + elm_popup_timeout_set(popup, timeout); + evas_object_smart_callback_add(popup, "timeout", + (Evas_Smart_Cb)evas_object_del, popup); + evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER); + evas_object_show(popup); + + return popup; +} + +int common_utils_get_rotate_angle(enum appcore_rm rotate_mode) +{ + int rotate_angle; + if (APPCORE_RM_UNKNOWN == rotate_mode) { + appcore_get_rotation_state(&rotate_mode); + } + + DEBUG_LOG(SP_NAME_NORMAL, "rotate_mode = %d", rotate_mode); + + switch (rotate_mode) { + case APPCORE_RM_PORTRAIT_NORMAL: /**< Portrait mode */ + DEBUG_LOG(SP_NAME_NORMAL, "rotate mode is APPCORE_RM_PORTRAIT_NORMAL"); + rotate_angle = 0; + break; + + case APPCORE_RM_PORTRAIT_REVERSE: /**< Portrait upside down mode */ + DEBUG_LOG(SP_NAME_NORMAL, "rotate mode is APPCORE_RM_PORTRAIT_REVERSE"); + rotate_angle = 180; + break; + + case APPCORE_RM_LANDSCAPE_NORMAL: /**< Left handed landscape mode */ + DEBUG_LOG(SP_NAME_NORMAL, "rotate mode is APPCORE_RM_LANDSCAPE_NORMAL"); + rotate_angle = 270; + break; + + case APPCORE_RM_LANDSCAPE_REVERSE: /**< Right handed landscape mode */ + DEBUG_LOG(SP_NAME_NORMAL, "rotate mode is APPCORE_RM_LANDSCAPE_REVERSE"); + rotate_angle = 90; + break; + + default: + ERROR_LOG(SP_NAME_ERR, "Invalid rotate mode. The default value (0) is set to 'rotate_angle'."); + rotate_angle = 0; + break; + } + + return rotate_angle; +} + +wlan_security_mode_type_t common_utils_get_sec_mode(wifi_security_type_e sec_type) +{ + switch (sec_type) { + case WIFI_SECURITY_TYPE_NONE: + return WLAN_SEC_MODE_NONE; + case WIFI_SECURITY_TYPE_WEP: + return WLAN_SEC_MODE_WEP; + case WIFI_SECURITY_TYPE_WPA_PSK: + return WLAN_SEC_MODE_WPA_PSK; + case WIFI_SECURITY_TYPE_WPA2_PSK: + return WLAN_SEC_MODE_WPA_PSK; + case WIFI_SECURITY_TYPE_EAP: + return WLAN_SEC_MODE_IEEE8021X; + default: + return WLAN_SEC_MODE_NONE; + } + return WLAN_SEC_MODE_NONE; +} + +int common_utils_send_message_to_net_popup(const char *title, const char *content, const char *type, const char *ssid) +{ + int ret = 0; + bundle *b = bundle_create(); + + bundle_add(b, "_SYSPOPUP_TITLE_", title); + bundle_add(b, "_SYSPOPUP_CONTENT_", content); + bundle_add(b, "_SYSPOPUP_TYPE_", type); + bundle_add(b, "_AP_NAME_", ssid); + + ret = aul_launch_app("org.tizen.net-popup", b); + + bundle_free(b); + + return ret; +} + +int common_util_set_system_registry(const char *key, int value) +{ + __COMMON_FUNC_ENTER__; + + if (vconf_set_int(key, value) < 0) { + ERROR_LOG(UG_NAME_NORMAL, "Failed to set vconf"); + + __COMMON_FUNC_EXIT__; + return -1; + } + + __COMMON_FUNC_EXIT__; + return 0; +} + +int common_util_get_system_registry(const char *key) +{ + __COMMON_FUNC_ENTER__; + + int value = 0; + + if (vconf_get_int(key, &value) < 0) { + ERROR_LOG(UG_NAME_NORMAL, "Failed to get vconf"); + + __COMMON_FUNC_EXIT__; + return -1; + } + + __COMMON_FUNC_EXIT__; + return value; +} diff --git a/sources/libraries/Common/include/common.h b/sources/libraries/Common/include/common.h new file mode 100644 index 0000000..c117bf8 --- /dev/null +++ b/sources/libraries/Common/include/common.h @@ -0,0 +1,94 @@ +/* + * Wi-Fi + * + * 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_H__ +#define __COMMON_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <dlog.h> +#include <assert.h> + +#define COMMON_NAME_FUNC "wifi/func" +#define COMMON_NAME_LIB "wifi/lib" +#define COMMON_NAME_ERR "wifi/err" +#define UG_NAME_NORMAL "wifi_ug" +#define UG_NAME_RESP "wifi_ug/resp" +#define UG_NAME_REQ "wifi_ug/req" +#define UG_NAME_SCAN "wifi_ug/scan" +#define UG_NAME_ERR "wifi_ug/err" +#define SP_NAME_NORMAL "wifi_sp" +#define SP_NAME_ERR "wifi_sp/err" + +/* Log Level */ +#define COMMON_LOG_DEBUG LOG_DEBUG +#define COMMON_LOG_INFO LOG_INFO +#define COMMON_LOG_WARN LOG_WARN +#define COMMON_LOG_ERROR LOG_ERROR + +#define MAX_DEVICE_ICON_PATH_STR_LEN 256 +#define WIFI_UNKNOWN_DEVICE_STATUS_STR "Unknown" +#define ENTER_SSID_STR "Enter SSID" +#define EAP_CHECK_YOUR_ID_STR "Check your identity" +#define EAP_CHECK_YOUR_PASWD_STR "Check your password" +#define WEP_WRONG_PASSWORD_LEN_ERR_MSG_STR \ + "WEP requires 5, 10, 13, 26 letters for a password.<br>Please, check your input." +#define WPA_WRONG_PASSWORD_LEN_ERR_MSG_STR \ + "WPA2 requires 8 - 63 letters for a password.<br>Please, check your input." +#define FIND_HIDDEN_NETWORK_STR "Find hidden network" +#define SCREEN_TYPE_ID_KEY "screen_type_id_key" +#define INVALID_PASSWORD "Your password might be invalid" + +typedef enum { + VIEW_MANAGER_VIEW_TYPE_MAIN, + VIEW_MANAGER_VIEW_TYPE_DETAIL, + VIEW_MANAGER_VIEW_TYPE_EAP, +} view_manager_view_type_t; + +#define __COMMON_FUNC_ENTER__ \ + FUNC_LOG(COMMON_NAME_FUNC, "[<Entering]: %s() [%d]", __func__, __LINE__) +#define __COMMON_FUNC_EXIT__ \ + FUNC_LOG(COMMON_NAME_FUNC, "[Quit/>]: %s() [%d]", __func__, __LINE__) + +#define FUNC_LOG(MID, format, args...) \ + SLOG(LOG_INFO, MID, "\033[2m[%s:%d]\033[2m " format "\033[0m", __func__, __LINE__, ##args) +#define DEBUG_LOG(MID, format, args...) \ + SLOG(LOG_DEBUG, MID, "\033[42m[%s:%d]\033[0m\033[32m " format "\033[0m", __func__, __LINE__, ##args) +#define INFO_LOG(MID, format, args...) \ + SLOG(LOG_INFO, MID, "\033[0m[%s:%d]\033[0m " format, __func__, __LINE__, ##args) +#define WARN_LOG(MID, format, args...) \ + SLOG(LOG_WARN, MID, "\033[43m[%s:%d]\033[0m\033[33m " format "\033[0m", __func__, __LINE__, ##args) +#define ERROR_LOG(MID, format, args...) \ + SLOG(LOG_ERROR, MID, "\033[41m[%s:%d]\033[0m\033[31m " format "\033[0m", __func__, __LINE__, ##args) + +#define assertm_if(expr, fmt, arg...) do { \ + if(expr) { \ + ERROR_LOG(COMMON_NAME_ERR, " ##(%s) -> %s() assert!!## "fmt, #expr, __FUNCTION__, ##arg); \ + assert(1); \ + } \ +} while (0) /* retvm if */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/libraries/Common/include/common_datamodel.h b/sources/libraries/Common/include/common_datamodel.h new file mode 100644 index 0000000..6b3fc90 --- /dev/null +++ b/sources/libraries/Common/include/common_datamodel.h @@ -0,0 +1,102 @@ +/* +* Wi-Fi UG +* +* 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 __VIEW_DETAIL_DATAMODEL_H_ +#define __VIEW_DETAIL_DATAMODEL_H_ + +#include "wlan_manager.h" + +typedef enum { + IP_TYPE_NULL, + IP_TYPE_STATIC_IP, + IP_TYPE_DHCP_IP, + IP_TYPE_MAX +} IP_TYPES; + +typedef struct view_datamodel_ip_info view_datamodel_ip_info_t; +typedef struct view_datamodel_eap_info view_datamodel_eap_info_t; +typedef struct view_datamodel_basic_info view_datamodel_basic_info_t; + +/////////////////////////////////////////////////////////////// +// managing function +/////////////////////////////////////////////////////////////// +view_datamodel_basic_info_t *view_basic_detail_datamodel_create(const char *profile_name); +view_datamodel_ip_info_t *view_detail_datamodel_ip_info_create(const char *profile_name); +view_datamodel_eap_info_t *view_detail_datamodel_eap_info_create(const char *profile_name); +void view_basic_detail_datamodel_destroy(view_datamodel_basic_info_t *data_object); +void view_detail_datamodel_ip_info_destroy(view_datamodel_ip_info_t *data_object); +void view_detail_datamodel_eap_info_destroy(view_datamodel_eap_info_t *data_object); +/////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////// +// determine it`s changeness +/////////////////////////////////////////////////////////////// +boolean view_detail_datamodel_save_ip_info_if_modified(const view_datamodel_ip_info_t *data_object); +boolean view_detail_datamodel_save_eap_info_if_modified(const view_datamodel_eap_info_t *data_object); +/////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////// +// getter and setter +/////////////////////////////////////////////////////////////// +int view_detail_datamodel_ip_and_dns_type_set(view_datamodel_ip_info_t *data_object, const IP_TYPES type); +int view_detail_datamodel_proxy_address_set(view_datamodel_ip_info_t *data_object, const char* proxy); +int view_detail_datamodel_static_ip_address_set(view_datamodel_ip_info_t *data_object, const char* addr); +int view_detail_datamodel_static_gateway_address_set(view_datamodel_ip_info_t *data_object, const char* addr); +int view_detail_datamodel_static_subnet_mask_set(view_datamodel_ip_info_t *data_object, const char* addr); +int view_detail_datamodel_static_dns1_address_set(view_datamodel_ip_info_t *data_object, const char* addr); +int view_detail_datamodel_static_dns2_address_set(view_datamodel_ip_info_t *data_object, const char* addr); +int view_detail_datamodel_eap_ap_name_set(view_datamodel_eap_info_t *data_object, const char *ssid); +int view_detail_datamodel_eap_method_set(view_datamodel_eap_info_t *data_object, const wlan_eap_type_t eap_method); +int view_detail_datamodel_eap_provision_set(view_datamodel_eap_info_t *data_object, const int provision); +int view_detail_datamodel_eap_auth_set(view_datamodel_eap_info_t *data_object, const wlan_eap_auth_type_t auth_type); +int view_detail_datamodel_eap_user_id_set(view_datamodel_eap_info_t *data_object, const char* user_id); +int view_detail_datamodel_eap_anonymous_id_set(view_datamodel_eap_info_t *data_object, const char* anonymous_id); +int view_detail_datamodel_eap_pswd_set(view_datamodel_eap_info_t *data_object, const char* pswd); +int view_detail_datamodel_eap_ca_cert_set(view_datamodel_eap_info_t *data_object, const char* ca_cert); +int view_detail_datamodel_eap_user_cert_set(view_datamodel_eap_info_t *data_object, const char* user_cert); +IP_TYPES view_detail_datamodel_ip_and_dns_type_get(view_datamodel_ip_info_t *data_object); +char *view_detail_datamodel_static_ip_address_get(view_datamodel_ip_info_t *data_object); +char *view_detail_datamodel_static_gateway_address_get(view_datamodel_ip_info_t *data_object); +char *view_detail_datamodel_static_subnet_mask_get(view_datamodel_ip_info_t *data_object); +char *view_detail_datamodel_static_dns1_address_get(view_datamodel_ip_info_t *data_object); +char *view_detail_datamodel_static_dns2_address_get(view_datamodel_ip_info_t *data_object); +char* view_detail_datamodel_proxy_address_get(view_datamodel_ip_info_t *data_object); +char* view_detail_datamodel_MAC_addr_get(view_datamodel_ip_info_t *data_object); + +wlan_eap_type_t view_detail_datamodel_eap_method_get(view_datamodel_eap_info_t *data_object); +int view_detail_datamodel_eap_provision_get(view_datamodel_eap_info_t *data_object); +wlan_eap_auth_type_t view_detail_datamodel_eap_auth_get(view_datamodel_eap_info_t *data_object); +char *view_detail_datamodel_user_id_get(view_datamodel_eap_info_t *data_object); +char *view_detail_datamodel_anonymous_id_get(view_datamodel_eap_info_t *data_object); +char *view_detail_datamodel_pswd_get(view_datamodel_eap_info_t *data_object); +char *view_detail_datamodel_ca_cert_get(view_datamodel_eap_info_t *data_object); +char *view_detail_datamodel_user_cert_get(view_datamodel_eap_info_t *data_object); +char *view_detail_datamodel_eap_ap_name_get(view_datamodel_eap_info_t *data_object); + +char *view_detail_datamodel_basic_info_profile_name_get(view_datamodel_basic_info_t *data_object); +char *view_detail_datamodel_ap_name_get(view_datamodel_basic_info_t *data_object); +unsigned int view_detail_datamodel_sig_strength_get(view_datamodel_basic_info_t *data_object); +unsigned int view_detail_datamodel_sec_mode_get(view_datamodel_basic_info_t *data_object); +boolean view_detail_datamodel_is_favourite_get(view_datamodel_basic_info_t *data_object); +char view_detail_datamodel_wps_support_get(view_datamodel_basic_info_t *data_object); +/////////////////////////////////////////////////////////////// + +#endif diff --git a/sources/libraries/Common/include/common_eap_connect.h b/sources/libraries/Common/include/common_eap_connect.h new file mode 100644 index 0000000..1cb6f25 --- /dev/null +++ b/sources/libraries/Common/include/common_eap_connect.h @@ -0,0 +1,50 @@ +/* + * Wi-Fi + * + * 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_EAP_CONNECT_H__ +#define __COMMON_EAP_CONNECT_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <Evas.h> + +#include "wlan_manager.h" +#include "common_utils.h" + +#define DISABLE_FAST_EAP_METHOD + +typedef struct eap_info_list eap_info_list_t; +typedef struct common_eap_connect_data common_eap_connect_data_t; + +common_eap_connect_data_t *create_eap_connect_view(Evas_Object *win_main, Evas_Object *navi_frame, const char *pkg_name, wifi_device_info_t *device_info); +common_eap_connect_data_t *create_eap_connect_popup(Evas_Object *win_main, const char *pkg_name, wifi_device_info_t *device_info); +eap_info_list_t *eap_info_append_items(wifi_ap_h ap, Evas_Object* view_list, const char *str_pkg_name, imf_ctxt_panel_cb_t input_panel_cb, void *input_panel_cb_data); +void eap_info_save_data(eap_info_list_t *eap_info_list_data); +void eap_info_remove(eap_info_list_t *eap_info_list_data); +void eap_view_close(common_eap_connect_data_t *eap_data); +void eap_view_rotate_popup(common_eap_connect_data_t *eap_data, int rotate_angle); + +#ifdef __cplusplus +} +#endif + +#endif /* __COMMON_EAP_CONNECT_H__ */ diff --git a/sources/libraries/Common/include/common_invalid_password.h b/sources/libraries/Common/include/common_invalid_password.h new file mode 100644 index 0000000..6c32f1e --- /dev/null +++ b/sources/libraries/Common/include/common_invalid_password.h @@ -0,0 +1,39 @@ +/* + * Wi-Fi + * + * 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_INVALID_PASSWORD_H__ +#define __COMMON_INVALID_PASSWORD_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <glib.h> + +int _common_register_invalid_password_popup(void); +int _common_deregister_invalid_password_popup(void); + +gboolean _common_is_invalid_password(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __COMMON_INVALID_PASSWORD_H__ */ diff --git a/sources/libraries/Common/include/common_ip_info.h b/sources/libraries/Common/include/common_ip_info.h new file mode 100644 index 0000000..f2aafeb --- /dev/null +++ b/sources/libraries/Common/include/common_ip_info.h @@ -0,0 +1,46 @@ +/* + * Wi-Fi + * + * 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_IP_INFO_H__ +#define __COMMON_IP_INFO_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <Evas.h> + +#include "wlan_manager.h" +#include "common_utils.h" + +#define DEFAULT_GUIDE_PROXY_IP "proxy.example.com" +#define DEFAULT_GUIDE_PROXY_PORT "8080" + +typedef struct ip_info_list ip_info_list_t; + +ip_info_list_t *ip_info_append_items(wifi_ap_h ap, const char *pkg_name, Evas_Object *genlist, imf_ctxt_panel_cb_t input_panel_cb, void *input_panel_cb_data); +void ip_info_save_data(ip_info_list_t *ip_info_list); +void ip_info_remove(ip_info_list_t *ip_info_list); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/libraries/Common/include/common_pswd_popup.h b/sources/libraries/Common/include/common_pswd_popup.h new file mode 100644 index 0000000..de0b2e5 --- /dev/null +++ b/sources/libraries/Common/include/common_pswd_popup.h @@ -0,0 +1,53 @@ +/* + * Wi-Fi + * + * 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_PSWD_POPUP_H__ +#define __COMMON_PSWD_POPUP_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <Evas.h> +#include <wifi.h> + +typedef struct { + char *title; + Eina_Bool show_wps_btn; + Evas_Smart_Cb ok_cb; + Evas_Smart_Cb cancel_cb; + Evas_Smart_Cb wps_btn_cb; + wifi_ap_h ap; + void *cb_data; +} pswd_popup_create_req_data_t; + +typedef struct pswd_popup pswd_popup_t; + +pswd_popup_t *common_pswd_popup_create(Evas_Object *win_main, const char *pkg_name, pswd_popup_create_req_data_t *popup_info); +void common_pswd_popup_pbc_popup_create(pswd_popup_t *pswd_popup_data, Evas_Smart_Cb cancel_cb, void *cancel_cb_data); +char *common_pswd_popup_get_txt(pswd_popup_t *pswd_popup_data); +wifi_ap_h common_pswd_popup_get_ap(pswd_popup_t *pswd_popup_data); +void common_pswd_popup_destroy(pswd_popup_t *pswd_popup_data); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/libraries/Common/include/common_utils.h b/sources/libraries/Common/include/common_utils.h new file mode 100644 index 0000000..4630103 --- /dev/null +++ b/sources/libraries/Common/include/common_utils.h @@ -0,0 +1,110 @@ +/* + * Wi-Fi + * + * 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_UTILS_H__ +#define __COMMON_UTILS_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <Elementary.h> +#include <appcore-common.h> + +#include "wlan_manager.h" + +typedef void (*imf_ctxt_panel_cb_t)(void *data, Ecore_IMF_Context *ctx, int value); + +typedef enum { + ENTRY_TYPE_USER_ID, + ENTRY_TYPE_ANONYMOUS_ID, + ENTRY_TYPE_PASSWORD, + ENTRY_TYPE_IP_ADDR, + ENTRY_TYPE_SUBNET_MASK, + ENTRY_TYPE_GATEWAY, + ENTRY_TYPE_DNS_1, + ENTRY_TYPE_DNS_2, + ENTRY_TYPE_PROXY_ADDR, + ENTRY_TYPE_PROXY_PORT, +} entry_id_type_t; + +typedef struct { + entry_id_type_t entry_id; + char *title_txt; + char *guide_txt; + char *entry_txt; + Evas_Object *layout; + imf_ctxt_panel_cb_t input_panel_cb; + void *input_panel_cb_data; +} common_utils_entry_info_t; + +typedef struct { + char *title_txt; + char *info_txt; + char *btn1_txt; + char *btn2_txt; + Evas_Smart_Cb btn1_cb; + Evas_Smart_Cb btn2_cb; + const void *btn1_data; + const void *btn2_data; +} popup_btn_info_t; + +Elm_Object_Item *common_utils_add_dialogue_separator( + Evas_Object* genlist, const char *separator_style); +char *common_utils_get_ap_security_type_info_txt( + const char *pkg_name, wifi_device_info_t *device_info); +char *common_utils_get_device_icon( + const char *image_path_dir, wifi_device_info_t *device_info); +Evas_Object *common_utils_entry_layout_get_entry(Evas_Object *layout); +char *common_utils_entry_layout_get_text(Evas_Object *layout); +Evas_Object *common_utils_add_edit_box(Evas_Object *parent, + common_utils_entry_info_t *entry_info); +void common_utils_set_edit_box_imf_panel_evnt_cb(Elm_Object_Item *item, + imf_ctxt_panel_cb_t input_panel_cb, void *user_data); + +void common_utils_entry_password_set(Evas_Object *layout, Eina_Bool pswd_set); +Elm_Object_Item *common_utils_add_2_line_txt_disabled_item( + Evas_Object* view_list, const char *style_name, + const char *line1_txt, const char *line2_txt); +char *common_utils_get_list_item_entry_txt(Elm_Object_Item *entry_item); +Evas_Object *common_utils_create_radio_button(Evas_Object *parent, + const int value); +Evas_Object *common_utils_create_layout(Evas_Object *navi_frame); +Evas_Object *common_utils_show_info_popup(Evas_Object *win, + popup_btn_info_t *popup_data); +Evas_Object *common_utils_show_info_ok_popup(Evas_Object *win, + const char *str_pkg_name, const char *info_txt); +Evas_Object *common_utils_show_info_timeout_popup(Evas_Object *win, + const char* info_text, const double timeout); +int common_utils_get_rotate_angle(enum appcore_rm rotate_mode); +wlan_security_mode_type_t common_utils_get_sec_mode( + wifi_security_type_e sec_type); +int common_utils_send_message_to_net_popup(const char *title, + const char *content, const char *type, const char *ssid); +void __common_popup_size_get(Ecore_IMF_Context *target_imf, int *width, int *height); + +int common_util_set_system_registry(const char *key, int value); +int common_util_get_system_registry(const char *key); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/libraries/WlanManager/EngineManager/connman-profile-manager.c b/sources/libraries/WlanManager/EngineManager/connman-profile-manager.c new file mode 100644 index 0000000..6265a29 --- /dev/null +++ b/sources/libraries/WlanManager/EngineManager/connman-profile-manager.c @@ -0,0 +1,211 @@ +/* +* Wi-Fi UG +* +* 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 "common.h" +#include "wlan_manager.h" + + +typedef struct connman_profile_manager { + int profile_num; + net_profile_info_t* profile_table; +} connman_profile_manager; +connman_profile_manager *_profile_manager = NULL; + +static connman_profile_manager *connman_profile_manager_get_singleton() +{ + if (_profile_manager == NULL) { + _profile_manager = (connman_profile_manager *)malloc(sizeof(connman_profile_manager)); + _profile_manager->profile_num = 0; + _profile_manager->profile_table = NULL; + } + + return _profile_manager; +} + +void connman_profile_manager_destroy() +{ + if (_profile_manager) { + if (_profile_manager->profile_table) { + g_free(_profile_manager->profile_table); + } + + g_free(_profile_manager); + _profile_manager = NULL; + } +} + +int connman_profile_manager_profile_cache(int count) +{ + int *p_num_of_profiles = 0; + net_profile_info_t** p_profile_table; + net_profile_info_t* old_profile_table; + connman_profile_manager *profile_manager = NULL; + + INFO_LOG(COMMON_NAME_LIB, "connman_profile_manager_profile_cache"); + + profile_manager = connman_profile_manager_get_singleton(); + old_profile_table = profile_manager->profile_table; + profile_manager->profile_table = NULL; + + p_num_of_profiles = &(profile_manager->profile_num); + p_profile_table = &(profile_manager->profile_table); + + net_get_profile_list(NET_DEVICE_WIFI, p_profile_table, p_num_of_profiles); + g_free(old_profile_table); + if (*p_num_of_profiles == 0) { + INFO_LOG(COMMON_NAME_LIB, "count = 0"); + } else if (count < *p_num_of_profiles && count > 0) { + *p_num_of_profiles = count; + } + + INFO_LOG(COMMON_NAME_LIB, "count = %d", *p_num_of_profiles); + + return *p_num_of_profiles; +} + +int connman_profile_manager_scanned_profile_table_size_get(void) +{ + connman_profile_manager *profile_manager = NULL; + profile_manager = connman_profile_manager_get_singleton(); + return profile_manager->profile_num; +} + +int connman_profile_manager_check_favourite(const char *profile_name, int *favourite) +{ + net_profile_info_t profile; + + int ret = net_get_profile_info(profile_name, &profile); + if (ret != NET_ERR_NONE) { + ERROR_LOG(COMMON_NAME_ERR, "Failed - net_get_profile_info : error[%d]", ret); + return WLAN_MANAGER_ERR_UNKNOWN; + } + + INFO_LOG(COMMON_NAME_LIB, "Favourite = %d", (int)profile.Favourite); + + *favourite = (int)profile.Favourite; + return WLAN_MANAGER_ERR_NONE; +} + +int connman_profile_manager_connected_ssid_set(const char *profile_name) +{ + INFO_LOG(COMMON_NAME_LIB, "Profile name : %s", profile_name); + + net_profile_info_t profile; + if (net_get_profile_info(profile_name, &profile) != NET_ERR_NONE) + return FALSE; + + wlan_manager_set_connected_AP((const net_profile_info_t *)&profile); + + return TRUE; +} + +int connman_profile_manager_disconnected_ssid_set(const char *profile_name) +{ + INFO_LOG(COMMON_NAME_LIB, "Profile name : %s", profile_name); + + const char *connected_profile_name = wlan_manager_get_connected_profile(); + if (connected_profile_name) + if (strncmp(connected_profile_name, profile_name, strlen(connected_profile_name)) == 0) + wlan_manager_reset_connected_AP(); + + return TRUE; +} + +int connman_profile_manager_profile_modify(net_profile_info_t *new_profile) +{ + int ret = net_modify_profile(new_profile->ProfileName, new_profile); + if (ret != NET_ERR_NONE) { + INFO_LOG(COMMON_NAME_ERR, "Failed to modify profile - %d\n", ret); + return 0; + } + else { + INFO_LOG(COMMON_NAME_LIB, "Succeed to modify profile - %d\n", ret); + } + + return 1; +} + +int connman_profile_manager_profile_modify_auth(const char* profile_name, void *authdata, int secMode) +{ + if (profile_name == NULL || authdata == NULL) + return 0; + + net_profile_info_t profile; + if (net_get_profile_info(profile_name, &profile) != NET_ERR_NONE) { + return 0; + } + + wlan_manager_password_data* auth = (wlan_manager_password_data*)authdata; + char security_key[NETPM_WLAN_MAX_PSK_PASSPHRASE_LEN+1] = ""; + + if (auth != NULL) { + strncpy(security_key, auth->password, NETPM_WLAN_MAX_PSK_PASSPHRASE_LEN); + DEBUG_LOG(COMMON_NAME_LIB, "security_key [%s]", auth->password); + } + + if (0 < strlen(security_key)) { + if (secMode == WLAN_SEC_MODE_WEP) { + INFO_LOG(COMMON_NAME_LIB, "SECURITY_TYPE_WEP"); + strncpy(profile.ProfileInfo.Wlan.security_info.authentication.wep.wepKey, + security_key, + NETPM_WLAN_MAX_WEP_KEY_LEN); + } else { + INFO_LOG(COMMON_NAME_LIB, "not SECURITY_TYPE_WEP" ); + strncpy(profile.ProfileInfo.Wlan.security_info.authentication.psk.pskKey, security_key, + NETPM_WLAN_MAX_PSK_PASSPHRASE_LEN); + profile.ProfileInfo.Wlan.security_info.authentication.psk.pskKey[NETPM_WLAN_MAX_PSK_PASSPHRASE_LEN] = '\0'; + } + } else { + INFO_LOG(COMMON_NAME_LIB, "security data <= 0" ); + strncpy(profile.ProfileInfo.Wlan.security_info.authentication.psk.pskKey, security_key, + NETPM_WLAN_MAX_PSK_PASSPHRASE_LEN); + } + + int ret = net_modify_profile(profile_name, &profile); + if (ret != NET_ERR_NONE) { + INFO_LOG(COMMON_NAME_ERR, "Failed to modify profile - %d\n", ret); + return 0; + } + else { + INFO_LOG(COMMON_NAME_LIB, "Succeed to modify profile - %d\n", ret); + } + + return 1; +} + +void* connman_profile_manager_profile_table_get(void) +{ + connman_profile_manager *profile_manager = NULL; + profile_manager = connman_profile_manager_get_singleton(); + return profile_manager->profile_table; +} + +int connman_profile_manager_profile_info_get(const char *profile_name, net_profile_info_t *profile) +{ + if (profile_name == NULL) + return 0; + + if (net_get_profile_info(profile_name, profile) != NET_ERR_NONE) { + return 0; + } + + return 1; +} diff --git a/sources/libraries/WlanManager/EngineManager/connman-request.c b/sources/libraries/WlanManager/EngineManager/connman-request.c new file mode 100644 index 0000000..8c77c06 --- /dev/null +++ b/sources/libraries/WlanManager/EngineManager/connman-request.c @@ -0,0 +1,72 @@ +/* + * Wi-Fi + * + * 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 "common.h" +#include "wlan_manager.h" + +int connman_request_register(void) +{ + int ret = net_register_client(network_evt_cb, NULL); + switch (ret) { + case NET_ERR_NONE: + return WLAN_MANAGER_ERR_NONE; + case NET_ERR_APP_ALREADY_REGISTERED: + return WLAN_MANAGER_ERR_ALREADY_REGISTERED; + default: + return WLAN_MANAGER_ERR_UNKNOWN; + } +} + +int connman_request_deregister(void) +{ + int ret = net_deregister_client(); + switch (ret) { + case NET_ERR_NONE: + return WLAN_MANAGER_ERR_NONE; + default: + return WLAN_MANAGER_ERR_UNKNOWN; + } +} + +int connman_request_specific_scan(const char *ssid) +{ + int ret = net_specific_scan_wifi(ssid); + INFO_LOG(COMMON_NAME_LIB,"net_specific_scan_wifi ret: %d", ret); + + switch (ret) { + case NET_ERR_NONE: + case NET_ERR_IN_PROGRESS: + return WLAN_MANAGER_ERR_NONE; + default: + return WLAN_MANAGER_ERR_UNKNOWN; + } +} + +int connman_request_scan_mode_set(net_wifi_background_scan_mode_t scan_mode) +{ + int ret = net_wifi_set_background_scan_mode(scan_mode); + INFO_LOG(COMMON_NAME_LIB, "net_wifi_set_background_scan_mode ret: %d", ret); + + switch (ret) { + case NET_ERR_NONE: + return WLAN_MANAGER_ERR_NONE; + default: + return WLAN_MANAGER_ERR_UNKNOWN; + } +} diff --git a/sources/libraries/WlanManager/EngineManager/connman-response.c b/sources/libraries/WlanManager/EngineManager/connman-response.c new file mode 100644 index 0000000..cc43728 --- /dev/null +++ b/sources/libraries/WlanManager/EngineManager/connman-response.c @@ -0,0 +1,92 @@ +/* + * Wi-Fi + * + * 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 "common.h" +#include "wlan_manager.h" + +struct _wifi_cb_s { + wifi_specific_scan_finished_cb specific_scan_cb; + void *specific_scan_user_data; +}; + +static struct _wifi_cb_s wifi_callbacks = {0,}; + +int wifi_set_specific_scan_cb(wifi_specific_scan_finished_cb cb, void *data) +{ + __COMMON_FUNC_ENTER__; + if (!cb) { + __COMMON_FUNC_EXIT__; + return WIFI_ERROR_INVALID_PARAMETER; + } + + wifi_callbacks.specific_scan_cb = cb; + wifi_callbacks.specific_scan_user_data = data; + __COMMON_FUNC_EXIT__; + + return WIFI_ERROR_NONE; +} + +int wifi_unset_specific_scan_cb(void) +{ + __COMMON_FUNC_ENTER__; + if (wifi_callbacks.specific_scan_cb == NULL) { + __COMMON_FUNC_EXIT__; + return WIFI_ERROR_INVALID_OPERATION; + } + + wifi_callbacks.specific_scan_cb = NULL; + wifi_callbacks.specific_scan_user_data = NULL; + __COMMON_FUNC_EXIT__; + + return WIFI_ERROR_NONE; +} + +void network_evt_cb(const net_event_info_t* net_event, void* user_data) +{ + __COMMON_FUNC_ENTER__; + + switch (net_event->Event) { + case NET_EVENT_SPECIFIC_SCAN_RSP: + INFO_LOG(COMMON_NAME_LIB, "Callback - NET_EVENT_SPECIFIC_SCAN_RSP"); + if (net_event->Error != NET_ERR_NONE) { + if (wifi_callbacks.specific_scan_cb) + wifi_callbacks.specific_scan_cb(WIFI_ERROR_OPERATION_FAILED, NULL, wifi_callbacks.specific_scan_user_data); + else + ERROR_LOG(COMMON_NAME_LIB, "Specific scan cb is not set !!!"); + } else { + INFO_LOG(COMMON_NAME_LIB, "Successfully sent the specific scan request"); + } + break; + case NET_EVENT_SPECIFIC_SCAN_IND: + INFO_LOG(COMMON_NAME_LIB, "Callback - NET_EVENT_SPECIFIC_SCAN_IND"); + if (!wifi_callbacks.specific_scan_cb) { + ERROR_LOG(COMMON_NAME_LIB, "Specific scan cb is not set !!!"); + } else if (net_event->Error != NET_ERR_NONE) { + wifi_callbacks.specific_scan_cb(WIFI_ERROR_OPERATION_FAILED, NULL, wifi_callbacks.specific_scan_user_data); + } else { + wifi_callbacks.specific_scan_cb(WIFI_ERROR_NONE, net_event->Data, wifi_callbacks.specific_scan_user_data); + } + break; + default: + INFO_LOG(COMMON_NAME_LIB, "Callback - %d", net_event->Event); + break; + } + + __COMMON_FUNC_EXIT__; +} diff --git a/sources/libraries/WlanManager/EngineManager/include/connman-profile-manager.h b/sources/libraries/WlanManager/EngineManager/include/connman-profile-manager.h new file mode 100644 index 0000000..84f13c6 --- /dev/null +++ b/sources/libraries/WlanManager/EngineManager/include/connman-profile-manager.h @@ -0,0 +1,38 @@ +/* +* Wi-Fi UG +* +* 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 __WIFI_CONNMAN_PROFILE_MANAGER_H__ +#define __WIFI_CONNMAN_PROFILE_MANAGER_H_ + +#include <network-pm-intf.h> + +int connman_profile_manager_profile_cache(int count); +int connman_profile_manager_check_favourite(const char *profile_name, int *favourite); +int connman_profile_manager_connected_ssid_set(const char *profile_name); +int connman_profile_manager_disconnected_ssid_set(const char *profile_name); +int connman_profile_manager_profile_modify(net_profile_info_t *new_profile); +int connman_profile_manager_profile_modify_auth(const char *profile_name, void *authdata, int secMode); +void *connman_profile_manager_profile_table_get(void); +int connman_profile_manager_profile_info_get(const char *profile_name, net_profile_info_t *profile); +int connman_profile_manager_scanned_profile_table_size_get(void); +void connman_profile_manager_destroy(void); + +#endif diff --git a/sources/libraries/WlanManager/EngineManager/include/connman-request.h b/sources/libraries/WlanManager/EngineManager/include/connman-request.h new file mode 100644 index 0000000..3ba74ae --- /dev/null +++ b/sources/libraries/WlanManager/EngineManager/include/connman-request.h @@ -0,0 +1,39 @@ +/* + * Wi-Fi + * + * 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 __CONNMAN_REQUEST_H__ +#define __CONNMAN_REQUEST_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <network-wifi-intf.h> + +int connman_request_specific_scan(const char *ssid); +int connman_request_scan_mode_set(net_wifi_background_scan_mode_t scan_mode); +int connman_request_register(void); +int connman_request_deregister(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/libraries/WlanManager/EngineManager/include/connman-response.h b/sources/libraries/WlanManager/EngineManager/include/connman-response.h new file mode 100644 index 0000000..fd3c9d6 --- /dev/null +++ b/sources/libraries/WlanManager/EngineManager/include/connman-response.h @@ -0,0 +1,46 @@ +/* + * Wi-Fi + * + * 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 __CONNMAN_RESPONSE_H__ +#define __CONNMAN_RESPONSE_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "connman-request.h" + +/** +* @brief Called when the specific scan is finished. +* @param[in] error_code The error code +* @param[in] user_data The user data passed from the callback registration function +* @see wifi_set_specific_scan_cb() +*/ +typedef void(*wifi_specific_scan_finished_cb)(wifi_error_e error_code, GSList *bss_info_list, void* user_data); + +int wifi_set_specific_scan_cb(wifi_specific_scan_finished_cb cb, void *data); +int wifi_unset_specific_scan_cb(void); +void network_evt_cb(const net_event_info_t* net_event, void* user_data); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/libraries/WlanManager/wlan-manager/include/wlan_manager.h b/sources/libraries/WlanManager/wlan-manager/include/wlan_manager.h new file mode 100644 index 0000000..1bc8abc --- /dev/null +++ b/sources/libraries/WlanManager/wlan-manager/include/wlan_manager.h @@ -0,0 +1,254 @@ +/* + * Wi-Fi + * + * 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 __WIFI_WLAN_MANAGER_H__ +#define __WIFI_WLAN_MANAGER_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <glib.h> +#include <wifi.h> +#include <dbus/dbus-glib.h> + +#include "connman-request.h" +#include "connman-response.h" + +typedef enum { + WLAN_MANAGER_ERR_NONE = 0, + WLAN_MANAGER_ERR_UNKNOWN, + WLAN_MANAGER_ERR_INVALID_PARAM, + WLAN_MANAGER_ERR_ALREADY_REGISTERED, + WLAN_MANAGER_ERR_CONNECT_PASSWORD_NEEDED, + WLAN_MANAGER_ERR_CONNECT_EAP_SEC_TYPE, + WLAN_MANAGER_ERR_MOBILE_HOTSPOT_OCCUPIED, + WLAN_MANAGER_ERR_NOSERVICE, + WLAN_MANAGER_ERR_IN_PROGRESS, +} WLAN_MANAGER_ERR_TYPE; + +typedef enum { + SIGNAL_STRENGTH_TYPE_EXCELLENT, + SIGNAL_STRENGTH_TYPE_GOOD, + SIGNAL_STRENGTH_TYPE_WEAK, + SIGNAL_STRENGTH_TYPE_VERY_WEAK, + SIGNAL_STRENGTH_TYPE_NULL +} STRENGTH_TYPES; + +/* + * JOIN TYPE, SECURITY TYPE and EAP_TYPE + * + * Determine it`s security type + * It should be merged into one enumerations +*/ +typedef enum { + SECURITY_TYPE_NONE=0x01, + SECURITY_TYPE_WEP, + SECURITY_TYPE_WPA_PSK, + SECURITY_TYPE_WPA2_PSK, + + SECURITY_TYPE_WPA_EAP, + SECURITY_TYPE_WPA2_EAP, + + SECURITY_TYPE_MAX, + SECURITY_TYPE_NULL +} SECURITY_TYPES; + +typedef enum { + WLAN_MANAGER_EAP_TYPE_NONE, /* only use it`s WPA number */ + WLAN_MANAGER_EAP_TYPE_TLS, + WLAN_MANAGER_EAP_TYPE_TTLS_PAP, /** PAP is tunneled protocol */ + WLAN_MANAGER_EAP_TYPE_TTLS_CHAP, /** CHAP is tunneled protocol */ + WLAN_MANAGER_EAP_TYPE_TTLS_MSCHAP, /** MSCHAP is tunneled protocol */ + WLAN_MANAGER_EAP_TYPE_TTLS_MSCHAPV2, /** MSCHAPV2 is tunneled protocol */ + + /** Define EAP-TTLS and tunneled EAP sub types here */ + WLAN_MANAGER_EAP_TYPE_TTLS_EAP_GTC, /** EAP_GTC is tunneled protocol */ + WLAN_MANAGER_EAP_TYPE_TTLS_EAP_MD5, /** EAP_MD5 is tunneled protocol */ + WLAN_MANAGER_EAP_TYPE_TTLS_EAP_MSCHAPV2, /** EAP_MSCHAPV2 is tunneled protocol */ + + /** Define EAP-PEAP version 0 */ + WLAN_MANAGER_EAP_TYPE_PEAP0_MSCHAPV2, /** MSCHAPV2 is tunneled protocol, PEAP version is 0 */ + WLAN_MANAGER_EAP_TYPE_PEAP0_MD5, /** MD5 is tunneled protocol, PEAP version is 0 */ + WLAN_MANAGER_EAP_TYPE_PEAP0_GTC, /** GTC is tunneled protocol, PEAP version is 0 */ + + /** Define EAP-PEAP version 1 */ + WLAN_MANAGER_EAP_TYPE_PEAP1_MSCHAPV2, /** MSCHAPV2 is tunneled protocol, PEAP version is 1 */ + WLAN_MANAGER_EAP_TYPE_PEAP1_MD5, /** MD5 is tunneled protocol, PEAP version is 1 */ + WLAN_MANAGER_EAP_TYPE_PEAP1_GTC, /** GTC is tunneled protocol, PEAP version is 1 */ + WLAN_MANAGER_EAP_TYPE_MAX, + WLAN_MANAGER_EAP_TYPE_ERROR +} WLAN_MANAGER_EAP_TYPES; + +/* + * RESPONSES + */ +typedef enum { + WLAN_MANAGER_RESPONSE_TYPE_NONE, + WLAN_MANAGER_RESPONSE_TYPE_CONNECTING, + WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK, + WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_IN_PROGRESS, + WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ABORTED, + WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ALREADY_EXIST, + WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_TIMEOUT, + WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN, + WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN_METHOD, + WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_CONNECT_FAILED, + WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_INVALID_KEY, + WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK, + WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_OK, + WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_NOT_SUPPORTED, + WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_RESTRICTED, + WLAN_MANAGER_RESPONSE_TYPE_POWER_OFF_OK, + WLAN_MANAGER_RESPONSE_TYPE_SCAN_OK, + WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_OK, + WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_FAIL, + WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_OK, + WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_FAIL, + WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_IND, + WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_IND, + WLAN_MANAGER_RESPONSE_TYPE_SCAN_RESULT_IND, + WLAN_MANAGER_RESPONSE_TYPE_MAC_ID_IND, + WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_OK, + WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_FAIL, + WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_IND, + WLAN_MANAGER_RESPONSE_TYPE_UPDATE_SIG_STR, + WLAN_MANAGER_RESPONSE_TYPE_MAX +} WLAN_MANAGER_RESPONSE_TYPES; + +#define WLAN_RSSI_LEVEL_EXCELLENT 64 +#define WLAN_RSSI_LEVEL_GOOD 59 +#define WLAN_RSSI_LEVEL_WEAK 34 + +#define WLAN_PROXY_LEN_MAX 64 + +typedef struct { + DBusGProxy *proxy; + DBusGProxyCall * pending_call; + gboolean is_handled; +} wifi_pending_call_info_t; + +wifi_pending_call_info_t g_pending_call; + +typedef struct _wifi_device_info_t { + wifi_ap_h ap; + char* ssid; + char* ap_status_txt; + char* ap_image_path; + int ipconfigtype; + int rssi; + wlan_security_mode_type_t security_mode; + bool wps_mode; +} wifi_device_info_t; + +typedef struct { + const char* password; + char* category; + char* subcategory; + char* username; + char* userpassword; + char* ca_cert_filename; + char* client_cert_filename; + char* private_key; + char* private_key_password; + int wlan_eap_type; +} wlan_manager_password_data; + +/* it should be implement. */ +typedef enum { + WLAN_MANAGER_ERROR=0x01, + WLAN_MANAGER_OFF, + WLAN_MANAGER_UNCONNECTED, + WLAN_MANAGER_CONNECTED, + WLAN_MANAGER_CONNECTING, + WLAN_MANAGER_DISCONNECTING, + WLAN_MANAGER_MAX +} WLAN_MANAGER_STATES; + +typedef void (*wlan_manager_ui_refresh_func_t)(void); + +typedef struct { + WLAN_MANAGER_RESPONSE_TYPES event_type; + wifi_ap_h ap; + wifi_rssi_level_e rssi_level; + GSList *bss_info_list; +} wlan_mgr_event_info_t; + +typedef void (*wlan_event_handler)(wlan_mgr_event_info_t *event_info, void *user_data); + +/** It should be hide to others */ +typedef struct wlan_manager_object { + wlan_event_handler message_func; + wlan_manager_ui_refresh_func_t refresh_func; + gboolean b_scan_blocked; + gboolean b_ui_refresh; +} wlan_manager_object; + +///////////////////////////////////////////////////////////////// + +///////////////////////////////////////////////////////////////// +// FUNCTIONS +///////////////////////////////////////////////////////////////// + + +wlan_manager_object* wlan_manager_get_singleton(void); +void* wlan_manager_create(); +int wlan_manager_destroy(); +int wlan_manager_start(); + +wifi_ap_h wlan_manager_get_ap_with_state(int ap_state); +int wlan_manager_state_get(void); +void wlan_manager_set_message_callback(wlan_event_handler func); +void wlan_manager_set_refresh_callback(wlan_manager_ui_refresh_func_t func); + +void wlan_manager_enable_scan_result_update(void); +void wlan_manager_disable_scan_result_update(void); +char *wlan_manager_get_connected_ssid(void); + +// * request +int wlan_manager_request_connection(wifi_ap_h ap); +int wlan_manager_request_disconnection(wifi_ap_h ap); +int wlan_manager_request_wps_connection(wifi_ap_h ap); +int wlan_manager_request_power_on(void); +int wlan_manager_request_power_off(void); +int wlan_manager_request_scan(void); + +// * connect, disconnect and forget +int wlan_manager_connect_with_password(wifi_ap_h ap, const char *pass_phrase); +int wlan_manager_connect_with_wifi_info(wifi_ap_h ap); +int wlan_manager_forget(wifi_ap_h ap); +int wlan_manager_request_specific_scan(const char *ssid, void *data); + +int wlan_manager_profile_modify_by_device_info(net_profile_info_t *profiles); + +STRENGTH_TYPES wlan_manager_get_signal_strength(int rssi); + +//// profile refresh ///////////////////////////////////////////// +void wlan_manager_scanned_profile_refresh(void); +int wlan_manager_scanned_profile_refresh_with_count(int count); +wifi_device_info_t *wlan_manager_profile_device_info_blank_create(void); + +int wlan_manager_network_syspopup_message(const char *title, const char *content, const char *type); + +#ifdef __cplusplus +} +#endif + +#endif /* __WIFI_REQUEST_HANDLER_H__ */ diff --git a/sources/libraries/WlanManager/wlan-manager/wlan_manager.c b/sources/libraries/WlanManager/wlan-manager/wlan_manager.c new file mode 100644 index 0000000..d01b6e0 --- /dev/null +++ b/sources/libraries/WlanManager/wlan-manager/wlan_manager.c @@ -0,0 +1,820 @@ +/* + * Wi-Fi + * + * 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 <vconf-keys.h> +#include <syspopup_caller.h> + +#include "common.h" +#include "wlan_manager.h" +#include "common_utils.h" +#include "wifi-engine-callback.h" +#include "common_invalid_password.h" + +typedef enum { + WLAN_MANAGER_REQ_TYPE_ACTIVATE, + WLAN_MANAGER_REQ_TYPE_DEACTIVATE, + WLAN_MANAGER_REQ_TYPE_SCAN, + WLAN_MANAGER_REQ_TYPE_SPECIFIC_SCAN, + WLAN_MANAGER_REQ_TYPE_BG_SCAN, + WLAN_MANAGER_REQ_TYPE_CONNECT, + WLAN_MANAGER_REQ_TYPE_WPS_CONNECT, +} WLAN_MANAGER_REQUEST_TYPES; + +typedef struct { + WLAN_MANAGER_REQUEST_TYPES req_type; + wifi_ap_h ap; + void *user_data; +} wlan_mgr_req_data_t; + +typedef struct { + int state; + wifi_ap_h *ap; +} ap_state_info_t; + +wlan_mgr_req_data_t bg_scan_req_data; + +static void wlan_manager_register_cbs(void); +static void wlan_manager_deregister_cbs(void); + +static wlan_manager_object* manager_object = NULL; + +wlan_manager_object* wlan_manager_get_singleton(void) +{ + if (NULL == manager_object) { + manager_object = g_new0(wlan_manager_object, 1); + manager_object->message_func = NULL; + manager_object->refresh_func = NULL; + } + + return manager_object; +} + +void wlan_manager_set_refresh_callback(wlan_manager_ui_refresh_func_t func) +{ + manager_object->refresh_func = func; +} + + +void* wlan_manager_create() +{ + wlan_manager_get_singleton(); + return NULL; +} + +int wlan_manager_destroy() +{ + int ret = WLAN_MANAGER_ERR_NONE; + + _common_deregister_invalid_password_popup(); + + wlan_manager_deregister_cbs(); + + wifi_deinitialize(); + + if (manager_object != NULL) { + g_free(manager_object); + manager_object = NULL; + } + + return ret; +} + +int wlan_manager_start() +{ + __COMMON_FUNC_ENTER__; + switch (wifi_initialize()) { + case WIFI_ERROR_NONE: + /* Register the callbacks */ + wlan_manager_register_cbs(); + break; + case WIFI_ERROR_INVALID_OPERATION: + /* Register the callbacks */ + wlan_manager_register_cbs(); + return WLAN_MANAGER_ERR_ALREADY_REGISTERED; + default: + return WLAN_MANAGER_ERR_UNKNOWN; + } + return WLAN_MANAGER_ERR_NONE; +} + +int wlan_manager_forget(wifi_ap_h ap) +{ + wifi_forget_ap(ap); + return WLAN_MANAGER_ERR_NONE; +} + +static void wlan_manager_device_state_changed_cb(wifi_device_state_e state, void *user_data) +{ + __COMMON_FUNC_ENTER__; + wlan_mgr_event_info_t event_info; + memset(&event_info, 0, sizeof(event_info)); + switch (state) { + case WIFI_DEVICE_STATE_ACTIVATED: + wlan_manager_enable_scan_result_update(); + wlan_manager_register_cbs(); + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_OK; + break; + case WIFI_DEVICE_STATE_DEACTIVATED: + wlan_manager_deregister_cbs(); + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_POWER_OFF_OK; + break; + default: + return; + } + + manager_object->message_func(&event_info, user_data); + + __COMMON_FUNC_EXIT__; + return; +} + +static void wlan_manager_connection_state_changed_cb(wifi_connection_state_e state, wifi_ap_h ap, void *user_data) +{ + __COMMON_FUNC_ENTER__; + + if (TRUE == manager_object->b_scan_blocked) { + __COMMON_FUNC_EXIT__; + return; + } + + wlan_mgr_event_info_t event_info; + memset(&event_info, 0, sizeof(event_info)); + + event_info.ap = ap; + + switch (state) { + case WIFI_CONNECTION_STATE_DISCONNECTED: /**< Disconnected state */ + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK; + break; + case WIFI_CONNECTION_STATE_ASSOCIATION: /**< Association state */ + case WIFI_CONNECTION_STATE_CONFIGURATION: /**< Configuration state */ + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTING; + break; + case WIFI_CONNECTION_STATE_CONNECTED: /**< Connected state */ + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK; + break; + default: + return; + } + + manager_object->message_func(&event_info, user_data); + + __COMMON_FUNC_EXIT__; +} + +static void wlan_manager_rssi_level_changed_cb( + wifi_rssi_level_e rssi_level, void *user_data) +{ + __COMMON_FUNC_ENTER__; + + if (TRUE == manager_object->b_scan_blocked) { + __COMMON_FUNC_EXIT__; + return; + } + + wlan_mgr_event_info_t event_info; + + memset(&event_info, 0, sizeof(event_info)); + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_UPDATE_SIG_STR; + event_info.rssi_level = rssi_level; + + manager_object->message_func(&event_info, user_data); + + __COMMON_FUNC_EXIT__; +} + +static void wlan_manager_specific_scan_finished_cb( + wifi_error_e error_code, GSList *bss_info_list, void *user_data) +{ + __COMMON_FUNC_ENTER__; + + wlan_mgr_event_info_t event_info; + memset(&event_info, 0, sizeof(event_info)); + + if (WIFI_ERROR_NONE == error_code) { + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_OK; + event_info.bss_info_list = bss_info_list; + } else + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_FAIL; + + manager_object->message_func(&event_info, user_data); + + __COMMON_FUNC_EXIT__; +} + +static void wlan_manager_network_event_cb( + wifi_error_e error_code, void *user_data) +{ + __COMMON_FUNC_ENTER__; + + wlan_mgr_req_data_t *req_data = (wlan_mgr_req_data_t *)user_data; + if (req_data == NULL) { + ERROR_LOG(UG_NAME_ERR, "Request data is NULL !!!"); + + __COMMON_FUNC_EXIT__; + return; + } + + wlan_mgr_event_info_t event_info; + memset(&event_info, 0, sizeof(event_info)); + + switch (req_data->req_type) { + case WLAN_MANAGER_REQ_TYPE_ACTIVATE: + if (WIFI_ERROR_NONE == error_code) { + wlan_manager_enable_scan_result_update(); + wlan_manager_register_cbs(); + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_OK; + } else + goto exit; + + break; + case WLAN_MANAGER_REQ_TYPE_DEACTIVATE: + if (WIFI_ERROR_NONE == error_code) { + wlan_manager_deregister_cbs(); + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_POWER_OFF_OK; + } else + goto exit; + + break; + case WLAN_MANAGER_REQ_TYPE_SCAN: + if (WIFI_ERROR_NONE == error_code) + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_SCAN_OK; + else + goto exit; + + break; + case WLAN_MANAGER_REQ_TYPE_SPECIFIC_SCAN: + if (WIFI_ERROR_NONE == error_code) + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_OK; + else + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_FAIL; + + break; + case WLAN_MANAGER_REQ_TYPE_BG_SCAN: + if (WIFI_ERROR_NONE == error_code) { + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_SCAN_RESULT_IND; + manager_object->message_func(&event_info, req_data->user_data); + } + + return; // The request data is static. So returning here. + case WLAN_MANAGER_REQ_TYPE_CONNECT: + event_info.ap = req_data->ap; + + _common_deregister_invalid_password_popup(); + + if (WIFI_ERROR_NONE != error_code) { + if (_common_is_invalid_password() == TRUE) + event_info.event_type = + WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_INVALID_KEY; + else + event_info.event_type = + WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_CONNECT_FAILED; + } else + goto exit; + + break; + case WLAN_MANAGER_REQ_TYPE_WPS_CONNECT: + event_info.ap = req_data->ap; + + if (WIFI_ERROR_NONE != error_code) + event_info.event_type = WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_FAIL; + else + goto exit; + + break; + default: + goto exit; + } + + manager_object->message_func(&event_info, req_data->user_data); + +exit: + if (req_data != NULL) { + wifi_ap_destroy(req_data->ap); + g_free(req_data); + } + + __COMMON_FUNC_EXIT__; +} + +static void wlan_manager_register_cbs(void) +{ + __COMMON_FUNC_ENTER__; + wifi_set_device_state_changed_cb(wlan_manager_device_state_changed_cb, NULL); + wifi_set_connection_state_changed_cb(wlan_manager_connection_state_changed_cb, NULL); + wifi_set_rssi_level_changed_cb(wlan_manager_rssi_level_changed_cb, NULL); + + memset(&bg_scan_req_data, 0, sizeof(bg_scan_req_data)); + bg_scan_req_data.req_type = WLAN_MANAGER_REQ_TYPE_BG_SCAN; + wifi_set_background_scan_cb(wlan_manager_network_event_cb, &bg_scan_req_data); + + connman_request_register(); + + __COMMON_FUNC_EXIT__; +} + +static void wlan_manager_deregister_cbs(void) +{ + __COMMON_FUNC_ENTER__; +// wifi_unset_device_state_changed_cb(); + wifi_unset_background_scan_cb(); + wifi_unset_connection_state_changed_cb(); + wifi_unset_rssi_level_changed_cb(); + wifi_unset_specific_scan_cb(); + connman_request_deregister(); + __COMMON_FUNC_EXIT__; +} + +void wlan_manager_set_message_callback(wlan_event_handler func) +{ + manager_object->message_func = func; +} + +static bool wifi_found_ap_with_state_cb(wifi_ap_h ap, void* user_data) +{ + wifi_connection_state_e state; + ap_state_info_t *ap_state_info = (ap_state_info_t *)user_data; + bool found_match = false; + + if (WIFI_ERROR_NONE != wifi_ap_get_connection_state(ap, &state)) + return true; // continue with next AP + + switch (ap_state_info->state) { + case WLAN_MANAGER_UNCONNECTED: + if (WIFI_CONNECTION_STATE_DISCONNECTED == state) { + /* Found a match, so terminate the loop */ + found_match = true; + } + break; + case WLAN_MANAGER_CONNECTING: + if (WIFI_CONNECTION_STATE_ASSOCIATION == state || + WIFI_CONNECTION_STATE_CONFIGURATION == state) { + /* Found a match, so terminate the loop */ + found_match = true; + } + break; + case WLAN_MANAGER_CONNECTED: + if (WIFI_CONNECTION_STATE_CONNECTED == state) { + /* Found a match, so terminate the loop */ + found_match = true; + } + break; + default: + ERROR_LOG(COMMON_NAME_ERR, "Unknown state : %d", ap_state_info->state); + return false; + } + + if (true == found_match) { + if (ap_state_info->ap) { + wifi_ap_clone(ap_state_info->ap, ap); + } + INFO_LOG(COMMON_NAME_LIB, "Found an AP[0x%x] in the state %d", ap, ap_state_info->state); + return false; // found the match, so terminate the loop. + } + return true; +} + +wifi_ap_h wlan_manager_get_ap_with_state(int ap_state) +{ + ap_state_info_t ap_state_info; + wifi_ap_h ap = NULL; + + ap_state_info.state = ap_state; + ap_state_info.ap = ≈ + + wifi_foreach_found_aps (wifi_found_ap_with_state_cb, &ap_state_info); + + return ap; +} + +int wlan_manager_state_get(void) +{ + int ret_val = 0; + wifi_connection_state_e connection_state; + bool activated; + + if (WIFI_ERROR_NONE != wifi_is_activated(&activated)) + return WLAN_MANAGER_ERROR; + else if (false == activated) { + INFO_LOG(COMMON_NAME_LIB, "STATE: WIFI_OFF"); + + return WLAN_MANAGER_OFF; + } + + ret_val = wifi_get_connection_state(&connection_state); + if (WIFI_ERROR_NONE != ret_val) + return WLAN_MANAGER_ERROR; + + switch (connection_state) { + case WIFI_CONNECTION_STATE_DISCONNECTED: + INFO_LOG(COMMON_NAME_LIB, "STATE: WIFI_DISCONNECTED"); + + ret_val = WLAN_MANAGER_UNCONNECTED; + break; + case WIFI_CONNECTION_STATE_ASSOCIATION: + case WIFI_CONNECTION_STATE_CONFIGURATION: + INFO_LOG(COMMON_NAME_LIB, "STATE: WIFI_CONNECTING"); + + ret_val = WLAN_MANAGER_CONNECTING; + break; + case WIFI_CONNECTION_STATE_CONNECTED: + INFO_LOG(COMMON_NAME_LIB, "STATE: WIFI_CONNECTED"); + + ret_val = WLAN_MANAGER_CONNECTED; + break; + default: + ERROR_LOG(COMMON_NAME_ERR, "Unknown state: %d", connection_state); + + ret_val = WLAN_MANAGER_ERROR; + break; + } + + return ret_val; +} + +int wlan_manager_request_power_on(void) +{ + __COMMON_FUNC_ENTER__; + + INFO_LOG(UG_NAME_REQ, "power on"); + + int ret = 0; + int hot_spot_mode = + common_util_get_system_registry("memory/mobile_hotspot/mode"); + if (hot_spot_mode < 0) { + INFO_LOG(COMMON_NAME_LIB, "FAILED to get the mobile hotspot mode"); + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_UNKNOWN; + } else if (VCONFKEY_MOBILE_HOTSPOT_MODE_WIFI & hot_spot_mode) { + INFO_LOG(COMMON_NAME_LIB, "mobile_hotspot wifi ON"); + + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_MOBILE_HOTSPOT_OCCUPIED; + } + + INFO_LOG(UG_NAME_REQ, "Mobile hotspot mode = %d\n", hot_spot_mode); + + wlan_mgr_req_data_t *req_data = g_new0(wlan_mgr_req_data_t, 1); + req_data->req_type = WLAN_MANAGER_REQ_TYPE_ACTIVATE; + ret = wifi_activate(wlan_manager_network_event_cb, req_data); + if (WIFI_ERROR_NONE != ret) { + ERROR_LOG(UG_NAME_REQ, "Power on request. Error Reason [%d]", ret); + g_free(req_data); + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_UNKNOWN; + } + + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_NONE; +} + +int wlan_manager_request_power_off(void) +{ + __COMMON_FUNC_ENTER__; + wlan_mgr_req_data_t *req_data = g_new0(wlan_mgr_req_data_t, 1); + req_data->req_type = WLAN_MANAGER_REQ_TYPE_DEACTIVATE; + int ret = wifi_deactivate(wlan_manager_network_event_cb, req_data); + if (WIFI_ERROR_NONE != ret) { + ERROR_LOG(UG_NAME_REQ, "Power off request. Error Reason [%d]", ret); + g_free(req_data); + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_UNKNOWN; + } + + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_NONE; +} + +int wlan_manager_request_wps_connection(wifi_ap_h ap) +{ + __COMMON_FUNC_ENTER__; + wlan_mgr_req_data_t *req_data = g_new0(wlan_mgr_req_data_t, 1); + req_data->req_type = WLAN_MANAGER_REQ_TYPE_WPS_CONNECT; + wifi_ap_clone(&(req_data->ap), ap); + + int ret = wifi_connect_by_wps_pbc(req_data->ap, wlan_manager_network_event_cb, req_data); + if (WIFI_ERROR_NONE != ret) { + ERROR_LOG(UG_NAME_REQ, "WPS Connect failed. Error Reason [%d]", ret); + wifi_ap_destroy(req_data->ap); + g_free(req_data); + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_UNKNOWN; + } + + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_NONE; +} + +int wlan_manager_request_connection(wifi_ap_h ap) +{ + __COMMON_FUNC_ENTER__; + + bool favourite; + int ret = wifi_ap_is_favorite(ap, &favourite); + wifi_security_type_e sec_type; + if (WIFI_ERROR_NONE != ret) { + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_NOSERVICE; + } + + if (false == favourite) { + if (WIFI_ERROR_NONE != wifi_ap_get_security_type(ap, &sec_type)) { + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_NOSERVICE; + } + + if (WIFI_SECURITY_TYPE_EAP == sec_type) { + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_CONNECT_EAP_SEC_TYPE; + } else if (WIFI_SECURITY_TYPE_NONE == sec_type) { + /* Allow Open APs to connect */ + } else { + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_CONNECT_PASSWORD_NEEDED; + } + } + + INFO_LOG(UG_NAME_REQ, "All OK to connect to ap[0x%x]", ap); + + wlan_mgr_req_data_t *req_data = g_new0(wlan_mgr_req_data_t, 1); + req_data->req_type = WLAN_MANAGER_REQ_TYPE_CONNECT; + wifi_ap_clone(&(req_data->ap), ap); + + _common_register_invalid_password_popup(); + ret = wifi_connect(req_data->ap, wlan_manager_network_event_cb, req_data); + if (WIFI_ERROR_NONE != ret) { + _common_deregister_invalid_password_popup(); + + ERROR_LOG(UG_NAME_REQ, "Connect failed. Error Reason [%d]", ret); + + wifi_ap_destroy(req_data->ap); + g_free(req_data); + + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_UNKNOWN; + } + + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_NONE; +} + +int wlan_manager_connect_with_password(wifi_ap_h ap, const char *pass_phrase) +{ + __COMMON_FUNC_ENTER__; + if (!ap) { + ERROR_LOG(UG_NAME_SCAN, "AP handler is NULL"); + return WLAN_MANAGER_ERR_INVALID_PARAM; + } + + int ret = wifi_ap_set_passphrase(ap, pass_phrase); + if (WIFI_ERROR_NONE != ret) { + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_UNKNOWN; + } + + wlan_mgr_req_data_t *req_data = g_new0(wlan_mgr_req_data_t, 1); + req_data->req_type = WLAN_MANAGER_REQ_TYPE_CONNECT; + wifi_ap_clone(&(req_data->ap), ap); + + _common_register_invalid_password_popup(); + ret = wifi_connect(req_data->ap, wlan_manager_network_event_cb, req_data); + if (WIFI_ERROR_NONE != ret) { + _common_deregister_invalid_password_popup(); + + ERROR_LOG(UG_NAME_REQ, "Connect failed. Error Reason [%d]", ret); + + wifi_ap_destroy(req_data->ap); + g_free(req_data); + + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_UNKNOWN; + } + + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_NONE; +} + +int wlan_manager_connect_with_wifi_info(wifi_ap_h ap) +{ + __COMMON_FUNC_ENTER__; + + int ret; + + INFO_LOG(UG_NAME_REQ, "All OK to connect to ap[0x%x]", ap); + + wlan_mgr_req_data_t *req_data = g_new0(wlan_mgr_req_data_t, 1); + req_data->req_type = WLAN_MANAGER_REQ_TYPE_CONNECT; + wifi_ap_clone(&(req_data->ap), ap); + + _common_register_invalid_password_popup(); + ret = wifi_connect(req_data->ap, wlan_manager_network_event_cb, req_data); + if (WIFI_ERROR_NONE != ret) { + _common_deregister_invalid_password_popup(); + + ERROR_LOG(UG_NAME_REQ, "Connect failed. Error Reason [%d]", ret); + + wifi_ap_destroy(req_data->ap); + g_free(req_data); + + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_UNKNOWN; + } + + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_NONE; +} + +int wlan_manager_request_disconnection(wifi_ap_h ap) +{ + __COMMON_FUNC_ENTER__; + int ret; + + INFO_LOG(UG_NAME_REQ, "Request disconnection for ap [0x%x]", ap); + + ret = wifi_disconnect(ap, NULL, NULL); + if (WIFI_ERROR_NONE != ret) { + ERROR_LOG(UG_NAME_REQ, "Disconnect failed. Error Reason [%d]", ret); + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_UNKNOWN; + } + + __COMMON_FUNC_EXIT__; + return WLAN_MANAGER_ERR_NONE; +} + +int wlan_manager_request_scan(void) +{ + __COMMON_FUNC_ENTER__; + + wlan_mgr_req_data_t *req_data = g_new0(wlan_mgr_req_data_t, 1); + req_data->req_type = WLAN_MANAGER_REQ_TYPE_SCAN; + + int ret = wifi_scan(wlan_manager_network_event_cb, req_data); + if (ret != WLAN_MANAGER_ERR_NONE) { + ERROR_LOG(UG_NAME_REQ, "Scan failed. Ret: %d", ret); + + g_free(req_data); + + __COMMON_FUNC_EXIT__; + return ret; + } + + /* Since the scan request was success, + * lets reset the ui refresh and scan update blocked flags. + */ + manager_object->b_scan_blocked = FALSE; + manager_object->b_ui_refresh = FALSE; + + __COMMON_FUNC_EXIT__; + return ret; +} + +int wlan_manager_request_specific_scan(const char *ssid, void *user_data) +{ + __COMMON_FUNC_ENTER__; + + wifi_set_specific_scan_cb(wlan_manager_specific_scan_finished_cb, user_data); + + int ret = connman_request_specific_scan(ssid); + if (ret != WLAN_MANAGER_ERR_NONE) { + ERROR_LOG(UG_NAME_REQ, "Specific Scan failed. Ret: %d", ret); + + __COMMON_FUNC_EXIT__; + return ret; + } + + /* Since the scan request was success, + * lets reset the ui refresh and scan update blocked flags. + */ + manager_object->b_scan_blocked = FALSE; + manager_object->b_ui_refresh = FALSE; + + __COMMON_FUNC_EXIT__; + return ret; +} + +int wlan_manager_scanned_profile_refresh_with_count(int count) +{ + __COMMON_FUNC_ENTER__; + + manager_object->refresh_func(); + + __COMMON_FUNC_EXIT__; + return 0; +} + +void wlan_manager_scanned_profile_refresh(void) +{ + __COMMON_FUNC_ENTER__; + + if (FALSE == manager_object->b_scan_blocked) { + manager_object->refresh_func(); + DEBUG_LOG(COMMON_NAME_LIB, "success profiles update"); + } else { + manager_object->b_ui_refresh = TRUE; + DEBUG_LOG(COMMON_NAME_LIB, "Scan update is blocked"); + } + __COMMON_FUNC_EXIT__; +} + +STRENGTH_TYPES wlan_manager_get_signal_strength(int rssi) +{ + /* Wi-Fi Signal Strength Display (dB / ConnMan normalized value) + * + * Excellent : -63 ~ / 57 ~ + * Good: -74 ~ -64 / 46 ~ 56 + * Weak: -82 ~ -75 / 38 ~ 45 + * Very weak: ~ -83 / ~ 37 + */ + if (rssi >= 57) { + return SIGNAL_STRENGTH_TYPE_EXCELLENT; + } else if (rssi >= 46) { + return SIGNAL_STRENGTH_TYPE_GOOD; + } else if (rssi >= 38) { + return SIGNAL_STRENGTH_TYPE_WEAK; + } else { + return SIGNAL_STRENGTH_TYPE_VERY_WEAK; + } +} + +wifi_device_info_t* wlan_manager_profile_device_info_blank_create() +{ + __COMMON_FUNC_ENTER__; + wifi_device_info_t *di_s0 = g_new0(wifi_device_info_t, 1); + + if (di_s0 == NULL) { + ERROR_LOG(UG_NAME_NORMAL, "Error!!! Failed to allocate memory\n"); + __COMMON_FUNC_EXIT__; + return NULL; + } + + char No_AP_found[] = "No AP found"; + + di_s0->ssid = g_strdup(No_AP_found); + if (NULL == di_s0->ssid) { + g_free(di_s0); + di_s0 = NULL; + ERROR_LOG(UG_NAME_NORMAL, "Error!!! Failed to allocate memory\n"); + } + + __COMMON_FUNC_EXIT__; + return di_s0; +} + +static Eina_Bool _refresh_ui(void *data) +{ + manager_object->refresh_func(); + manager_object->b_scan_blocked = FALSE; + manager_object->b_ui_refresh = FALSE; + return ECORE_CALLBACK_CANCEL; +} + +void wlan_manager_enable_scan_result_update(void) +{ + if (TRUE == manager_object->b_scan_blocked) { + if (TRUE == manager_object->b_ui_refresh) { + DEBUG_LOG(COMMON_NAME_LIB, "Refresh the UI with last scan update"); + + /* We delay the rendering inorder to get smooth effect of popup close */ + ecore_idler_add(_refresh_ui, NULL); + } else { + manager_object->b_scan_blocked = FALSE; + } + } +} + +void wlan_manager_disable_scan_result_update(void) +{ + manager_object->b_scan_blocked = TRUE; +} + +char *wlan_manager_get_connected_ssid(void) +{ + wifi_ap_h ap; + char *essid = NULL; + + wifi_get_connected_ap(&ap); + if (ap) { + wifi_ap_get_essid(ap, &essid); + } + + wifi_ap_destroy(ap); + + return essid; +} diff --git a/sources/libraries/appcoreWrapper/appcoreWrapper.c b/sources/libraries/appcoreWrapper/appcoreWrapper.c new file mode 100644 index 0000000..13eed73 --- /dev/null +++ b/sources/libraries/appcoreWrapper/appcoreWrapper.c @@ -0,0 +1,69 @@ +/* + * Wi-Fi + * + * 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 <Ecore_X.h> +#include <Elementary.h> + +#include "common.h" +#include "appcoreWrapper.h" + +void appcore_win_del(void *data, Evas_Object *obj, void *event) +{ + INFO_LOG(UG_NAME_NORMAL, "win_del"); + elm_exit(); +} + +Evas_Object* appcore_create_win(const char *name) +{ + Evas_Object *eo; + int w, h; + + eo = elm_win_add(NULL, name, ELM_WIN_BASIC); + if (eo) { + elm_win_title_set(eo, name); + elm_win_borderless_set(eo, EINA_TRUE); + evas_object_smart_callback_add(eo, "delete,request", + (Evas_Smart_Cb)appcore_win_del, NULL); + ecore_x_window_size_get(ecore_x_window_root_first_get(), + &w, &h); + evas_object_resize(eo, w, h); + } + + return eo; +} + +Evas_Object* appcore_load_edj(Evas_Object *parent, const char *file, const char *group) +{ + Evas_Object *eo; + int r; + + eo = elm_layout_add(parent); + if (eo) { + r = elm_layout_file_set(eo, file, group); + if (!r) { + evas_object_del(eo); + return NULL; + } + + evas_object_size_hint_weight_set(eo, + EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + } + + return eo; +} diff --git a/sources/libraries/appcoreWrapper/include/appcoreWrapper.h b/sources/libraries/appcoreWrapper/include/appcoreWrapper.h new file mode 100644 index 0000000..0eef3d8 --- /dev/null +++ b/sources/libraries/appcoreWrapper/include/appcoreWrapper.h @@ -0,0 +1,38 @@ +/* + * Wi-Fi + * + * 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 __APPCORE_WRAPPER_H__ +#define __APPCORE_WRAPPER_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <Evas.h> + +void appcore_win_del(void *data, Evas_Object *obj, void *event); +Evas_Object* appcore_create_win(const char *name); +Evas_Object* appcore_load_edj(Evas_Object *parent, const char *file,const char *group); + +#ifdef __cplusplus +} +#endif + +#endif /* __APPCORE_WRAPPER_H__ */ diff --git a/sources/libraries/i18nManager/i18nmanager.c b/sources/libraries/i18nManager/i18nmanager.c new file mode 100644 index 0000000..7a3296c --- /dev/null +++ b/sources/libraries/i18nManager/i18nmanager.c @@ -0,0 +1,227 @@ +/* + * Wi-Fi + * + * 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 "i18nmanager.h" +#include <libintl.h> +#include <stdio.h> +#include <string.h> + +static char* apply_i18n(const char *pkg_name, I18N_MODES mode, const char *string) +{ + switch (mode) { + case I18N_MODE_SELF_MADE: + return (char*) dgettext(pkg_name, string); + case I18N_MODE_NO_NEEDED: + return (char*) gettext(string); + default: + return "(debug)applying_i18n_failed"; + } +} + +static char* i18n_get_text_by_system(I18N_TYPES type){ + switch (type) { + case I18N_TYPE_Ok: + return (char*)dgettext("sys_string", "IDS_COM_SK_OK"); + case I18N_TYPE_Yes: + return (char*)dgettext("sys_string", "IDS_COM_SK_YES"); + case I18N_TYPE_No: + return (char*)dgettext("sys_string", "IDS_COM_SK_NO"); + case I18N_TYPE_Save: + return (char*)dgettext("sys_string", "IDS_COM_OPT_SAVE"); + case I18N_TYPE_Done: + return (char*)dgettext("sys_string", "IDS_COM_SK_DONE"); + case I18N_TYPE_Back: + return (char*)dgettext("sys_string", "IDS_COM_BODY_BACK"); + case I18N_TYPE_Cancel: + return (char*)dgettext("sys_string", "IDS_COM_SK_CANCEL"); + case I18N_TYPE_Activating: + return (char*)dgettext("sys_string", "IDS_COM_POP_ACTIVATING"); + case I18N_TYPE_Connecting: + return (char*)dgettext("sys_string", "IDS_COM_POP_CONNECTING"); + case I18N_TYPE_Connected: + return (char*)dgettext("sys_string", "IDS_COM_POP_CONNECTED"); + case I18N_TYPE_Searching: + return (char*)dgettext("sys_string", "IDS_COM_POP_SEARCHING"); + case I18N_TYPE_Wi_Fi: + return (char*)dgettext("sys_string", "IDS_COM_BODY_WI_FI"); + case I18N_TYPE_Name: + return (char*)dgettext("sys_string", "IDS_COM_BODY_DETAILS_NAME"); + case I18N_TYPE_Password: + return (char*)dgettext("sys_string", "IDS_COM_BODY_PASSWORD"); + case I18N_TYPE_Details: + return (char*)dgettext("sys_string", "IDS_COM_BODY_DETAILS"); + default: + return "(debug)system_text_failed"; + } +} + +char* i18n_manager_get_text(const char *pkg_name, I18N_TYPES type) +{ + switch (type) { + case I18N_TYPE_Ok: + case I18N_TYPE_Yes: + case I18N_TYPE_No: + case I18N_TYPE_Save: + case I18N_TYPE_Done: + case I18N_TYPE_Back: + case I18N_TYPE_Cancel: + case I18N_TYPE_Name: + case I18N_TYPE_Wi_Fi: + case I18N_TYPE_Password: + case I18N_TYPE_Activating: + case I18N_TYPE_Connecting: + case I18N_TYPE_Connected: + case I18N_TYPE_Searching: + case I18N_TYPE_Details: + return i18n_get_text_by_system(type); + case I18N_TYPE_Provisioning: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_PROVISIONING"); + case I18N_TYPE_Ca_Certificate: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_CA_CERTIFICATE"); + case I18N_TYPE_User_Certificate: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_USER_CERTIFICATE_ABB"); + case I18N_TYPE_Unspecified: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_UNSPECIFIED"); + case I18N_TYPE_Unknown: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_UNKNOWN"); + case I18N_TYPE_Enter_Ssid: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_ENTER_SSID"); + case I18N_TYPE_Identity: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_IDENTITY"); + case I18N_TYPE_Anonymous_Identity: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_ANONYMOUS_IDENTITY"); + case I18N_TYPE_Wifi_Opt_Find_Hidden_Network: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"); + case I18N_TYPE_WPS_Button_Connection: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_WPS_BUTTON_CONNECTION"); + case I18N_TYPE_Press_WPS_On_Your_Wi_Fi_Access_Point: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_PRESS_WPS_ON_YOUR_WI_FI_ACCESS_POINT_WITHIN_2_MINUTES"); + case I18N_TYPE_Button_Cancel: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BUTTON_CANCEL"); + case I18N_TYPE_Ssid: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_SSID"); + case I18N_TYPE_Find_Hidden_Network: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_OPT_FIND_HIDDEN_NETWORK"); + + + case I18N_TYPE_Connect: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_CONNECT"); + case I18N_TYPE_Scan: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_SCAN"); + case I18N_TYPE_Forget: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_SK_FORGET"); + case I18N_TYPE_Dynamic_IP: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_DYNAMIC_IP"); + case I18N_TYPE_Static_IP: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_STATIC_IP"); + case I18N_TYPE_Security_type: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_SECURITY_TYPE"); + case I18N_TYPE_Excellent: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_EXCELLENT"); + case I18N_TYPE_Good: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_GOOD_M_STRENGTH"); + case I18N_TYPE_Week: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_WEAK_M_STRENGTH"); + case I18N_TYPE_Disconnecting: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_DISCONNECTING_ING"); + case I18N_TYPE_Hidden_AP: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_HEADER_HIDDEN_NETWORK"); + case I18N_TYPE_Add_WiFi_network: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_ADD_WI_FI_NETWORK"); + case I18N_TYPE_No_AP: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_NO_APS"); + case I18N_TYPE_Signal_strength: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_SIGNAL_STRENGTH"); + case I18N_TYPE_IP_address: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_IP_ADDRESS"); + case I18N_TYPE_Proxy_address: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_HEADER_PROXY_ADDRESS"); + case I18N_TYPE_Subnet_mask: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_SUBNET_MASK"); + case I18N_TYPE_DNS_1: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_DNS_1"); + case I18N_TYPE_DNS_2: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_DNS_2"); + case I18N_TYPE_WEP: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_SECURITYTYPE_WEP"); + case I18N_TYPE_Gateway: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_GATEWAY"); + case I18N_TYPE_Gateway_address: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_GATEWAY_ADDRESS"); + case I18N_TYPE_Deactivating: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING"); + case I18N_TYPE_No_security: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_CONFIGURATION_NO_SECURITY"); + case I18N_TYPE_Network_SSID: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_NETWORK_SSID"); + case I18N_TYPE_Network_notification: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_NETWORK_NOTIFICATION"); + case I18N_TYPE_Network_notify_me_later: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_NOTIFY_WHEN_WI_FI_NETWORK_IS_FOUND"); + case I18N_TYPE_Select_network: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_HEADER_SELECT_NETWORK"); + case I18N_TYPE_WiFi_network: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_WI_FI_NETWORKS"); + case I18N_TYPE_Enter_password: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_ENTER_PASSWORD"); + case I18N_TYPE_Enter_Identity: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_ENTER_IDENTITY"); + case I18N_TYPE_Enter_Anonymous_Identity: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY"); + case I18N_TYPE_Input_password: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_CST_BODY_INPUT_PASSWORD"); + case I18N_TYPE_Show_password: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_SHOW_PASSWORD"); + case I18N_TYPE_Autonomous_connection_to_s_will_be_turned_off_Continue: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_POP_AUTOMATIC_CONNECTION_NETWORK_WILL_DISABLED_CONTINUE_Q_MSG"); + case I18N_TYPE_Open: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_POP_OPEN"); + case I18N_TYPE_WPS_Available: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_WPS_AVAILABLE"); + case I18N_TYPE_Secured: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY"); + case I18N_TYPE_Obtaining_IP_addr: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING"); + case I18N_TYPE_Channel: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_CHANNEL"); + case I18N_TYPE_MAC_addr: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_MAC_ADDRESS"); + case I18N_TYPE_Proxy_port: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_PROXY_PORT"); + case I18N_TYPE_EAP: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_EAP"); + case I18N_TYPE_EAP_method: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_BODY_EAP_METHOD"); + case I18N_TYPE_Phase_2_authentication: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_COM_BODY_PHASE_2_AUTHENTICATION"); + case I18N_TYPE_Activating_WiFi: + return apply_i18n(pkg_name, I18N_MODE_SELF_MADE, "IDS_WIFI_POP_ACTIVATING_WI_FI_ING"); + case I18N_TYPE_WPA_PSK: + return apply_i18n(pkg_name, I18N_MODE_NO_NEEDED, "WPA-PSK"); + case I18N_TYPE_WPA2_PSK: + return apply_i18n(pkg_name, I18N_MODE_NO_NEEDED, "WPA2-PSK"); + case I18N_TYPE_WPA_EAP: + return apply_i18n(pkg_name, I18N_MODE_NO_NEEDED, "WPA-EAP"); + case I18N_TYPE_WPA2_EAP: + return apply_i18n(pkg_name, I18N_MODE_NO_NEEDED, "WPA2-EAP"); + + default: + return apply_i18n(pkg_name, I18N_MODE_NO_NEEDED, "(debugapplying_i18n_failed"); + } +} diff --git a/sources/libraries/i18nManager/include/i18nmanager.h b/sources/libraries/i18nManager/include/i18nmanager.h new file mode 100644 index 0000000..efd8a5d --- /dev/null +++ b/sources/libraries/i18nManager/include/i18nmanager.h @@ -0,0 +1,130 @@ +/* + * Wi-Fi + * + * 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 __I18NMANAGER_H__ +#define __I18NMANAGER_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define sc(pkg_name, I18N_TYPE) i18n_manager_get_text(pkg_name, I18N_TYPE) + +typedef enum { + I18N_MODE_SELF_MADE, /* self made, reserve to add platform string convert service */ + I18N_MODE_NO_NEEDED, /* No need to convert other language */ + I18N_MODE_MAX +} I18N_MODES; + +typedef enum { + I18N_TYPE_Ok, + I18N_TYPE_Yes, + I18N_TYPE_No, + I18N_TYPE_Save, + I18N_TYPE_Done, + I18N_TYPE_Back, + I18N_TYPE_Cancel, + I18N_TYPE_Scan, + I18N_TYPE_Forget, + I18N_TYPE_User_ID, + I18N_TYPE_IP_address, + I18N_TYPE_Static_IP, + I18N_TYPE_Dynamic_IP, + I18N_TYPE_Proxy_address, + I18N_TYPE_Details, + I18N_TYPE_Name, + I18N_TYPE_Signal_strength, + I18N_TYPE_Excellent, + I18N_TYPE_Good, + I18N_TYPE_Week, + I18N_TYPE_No_security, + I18N_TYPE_Subnet_mask, + I18N_TYPE_Gateway, + I18N_TYPE_Gateway_address, + I18N_TYPE_Wi_Fi, + I18N_TYPE_Password, + I18N_TYPE_Activating, + I18N_TYPE_Deactivating, + I18N_TYPE_Searching, + I18N_TYPE_Connect, + I18N_TYPE_Connecting, + I18N_TYPE_Connected, + I18N_TYPE_Disconnecting, + I18N_TYPE_Connection_Lost, + I18N_TYPE_Network_SSID, + I18N_TYPE_Network_notification, + I18N_TYPE_Network_notify_me_later, + I18N_TYPE_Select_network, + I18N_TYPE_WiFi_network, + I18N_TYPE_Enter_password, + I18N_TYPE_Enter_Identity, + I18N_TYPE_Enter_Anonymous_Identity, + I18N_TYPE_Input_password, + I18N_TYPE_Show_password, + I18N_TYPE_Add_WiFi_network, + I18N_TYPE_EAP, + I18N_TYPE_EAP_method, + I18N_TYPE_Phase_2_authentication, + I18N_TYPE_Activating_WiFi, + + I18N_TYPE_Provisioning, + I18N_TYPE_Ca_Certificate, + I18N_TYPE_User_Certificate, + I18N_TYPE_Unspecified, + I18N_TYPE_Unknown, + I18N_TYPE_Enter_Ssid, + I18N_TYPE_Identity, + I18N_TYPE_Anonymous_Identity, + I18N_TYPE_Wifi_Opt_Find_Hidden_Network, + I18N_TYPE_WPS_Button_Connection, + I18N_TYPE_Press_WPS_On_Your_Wi_Fi_Access_Point, + I18N_TYPE_Button_Cancel, + I18N_TYPE_Ssid, + I18N_TYPE_Find_Hidden_Network, + +/* etc */ + I18N_TYPE_DNS_1, + I18N_TYPE_DNS_2, + I18N_TYPE_WEP, + I18N_TYPE_WPA_PSK, + I18N_TYPE_WPA2_PSK, + I18N_TYPE_WPA_EAP, + I18N_TYPE_WPA2_EAP, + I18N_TYPE_Hidden_AP, + I18N_TYPE_No_AP, + I18N_TYPE_Security_type, + I18N_TYPE_Autonomous_connection_to_s_will_be_turned_off_Continue, + I18N_TYPE_Open, + I18N_TYPE_WPS_Available, + I18N_TYPE_Secured, + I18N_TYPE_Obtaining_IP_addr, + I18N_TYPE_Channel, + I18N_TYPE_MAC_addr, + I18N_TYPE_Proxy_port, + I18N_TYPE_MAX +} I18N_TYPES; + +char* i18n_manager_get_text(const char *pkg_name, I18N_TYPES type); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/libraries/settingWrapper/include/wifi-setting.h b/sources/libraries/settingWrapper/include/wifi-setting.h new file mode 100644 index 0000000..9c36df1 --- /dev/null +++ b/sources/libraries/settingWrapper/include/wifi-setting.h @@ -0,0 +1,34 @@ +/* +* Wi-Fi UG +* +* 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 _WIFI_SETTING_H_ +#define _WIFI_SETTING_H_ + +#include <vconf-keys.h> + +#define WIFI_SETTING_WIFI_CONNECTED_AP_NAME VCONFKEY_WIFI_CONNECTED_AP_NAME + +int wifi_setting_value_set(const char *key, int value); +int wifi_setting_value_get(const char *key); + +int wifi_setting_key_notify_set(); + +#endif //_WIFI_SETTING_H_ diff --git a/sources/libraries/settingWrapper/wifi-setting.c b/sources/libraries/settingWrapper/wifi-setting.c new file mode 100644 index 0000000..6c63bd3 --- /dev/null +++ b/sources/libraries/settingWrapper/wifi-setting.c @@ -0,0 +1,75 @@ +/* +* Wi-Fi UG +* +* 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 <vconf.h> +#include "wifi-setting.h" +#include "common.h" + +int wifi_setting_value_set(const char *key, int value) +{ + __COMMON_FUNC_ENTER__; + + INFO_LOG(UG_NAME_NORMAL, "setting value : %d\n", value); + + if (vconf_set_int(key, value) < 0) { + ERROR_LOG(UG_NAME_NORMAL, "Failed to set vconf\n"); + __COMMON_FUNC_EXIT__; + return -1; + } + + __COMMON_FUNC_EXIT__; + return 0; +} + +int wifi_setting_value_get(const char *key) +{ + __COMMON_FUNC_ENTER__; + + int value = 0; + if (vconf_get_int(key, &value) < 0) { + ERROR_LOG(UG_NAME_NORMAL, "Failed to get vconf\n"); + __COMMON_FUNC_EXIT__; + return -1; + } + + __COMMON_FUNC_EXIT__; + return value; +} + +static void wifi_flight_mode_changed(keynode_t* node, void* user_data) +{ + INFO_LOG(UG_NAME_NORMAL, "Airplane mode [%s] \n", node); + return; +} + +static void mobile_hotspot_status(keynode_t* node, void* user_data) +{ + INFO_LOG(UG_NAME_NORMAL, "MobileAP mode [%s] \n", node); +} + +int wifi_setting_key_notify_set() +{ + vconf_notify_key_changed(VCONFKEY_SETAPPL_FLIGHT_MODE_BOOL, (vconf_callback_fn) wifi_flight_mode_changed, NULL); + vconf_notify_key_changed(VCONFKEY_MOBILE_HOTSPOT_MODE, (vconf_callback_fn) mobile_hotspot_status, NULL); + + return TRUE; +} + diff --git a/sources/ui-gadget/CMakeLists.txt b/sources/ui-gadget/CMakeLists.txt new file mode 100644 index 0000000..c354c22 --- /dev/null +++ b/sources/ui-gadget/CMakeLists.txt @@ -0,0 +1,56 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT(ug-wifi-efl-UG C) + +# defines +SET(PREFIX ${CMAKE_INSTALL_PREFIX}) +SET(EXEC_PREFIX "\${prefix}") +SET(LIBDIR "\${prefix}/lib") +SET(INCLUDEDIR "\${prefix}/include") +SET(VERSION 0.1.0) + +# source files +SET(SRCS + ../libraries/i18nManager/i18nmanager.c + ../libraries/appcoreWrapper/appcoreWrapper.c + ../libraries/WlanManager/wlan-manager/wlan_manager.c + ../libraries/Common/common_utils.c + ../libraries/Common/common_ip_info.c + ../libraries/Common/common_pswd_popup.c + ../libraries/Common/common_eap_connect.c + ../libraries/Common/common_invalid_password.c + ${ENGINE_SOURCES} + wifi-efl-UG.c + viewers-layout/viewer_manager.c + viewers-layout/wifi_viewer_list.c + viewers-layout/view_detail.c + viewers-layout/view_ime_hidden.c + wifi-wlan-callbacks.c + motion_control.c + winset_popup.c) + +FOREACH(flag ${pkgs_CFLAGS}) + SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") +ENDFOREACH(flag) + +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") + +# add library +ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS}) +SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0.1.0) +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS}) + +ADD_CUSTOM_TARGET(custom_editfield.edj + COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images + ${CMAKE_CURRENT_SOURCE_DIR}/edcs/custom_editfield.edc ${CMAKE_CURRENT_SOURCE_DIR}/edcs/custom_editfield.edj + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/edcs/custom_editfield.edc +) + +ADD_DEPENDENCIES(${PROJECT_NAME} custom_editfield.edj) + + +INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/ug/lib) + +# install image files +INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/ DESTINATION /usr/ug/res/images/wifi-efl-UG FILES_MATCHING PATTERN "*.png") +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/edcs/custom_editfield.edj DESTINATION /usr/ug/res/edje/wifi-efl-UG) + diff --git a/sources/ui-gadget/edcs/custom_editfield.edc b/sources/ui-gadget/edcs/custom_editfield.edc new file mode 100644 index 0000000..fd51137 --- /dev/null +++ b/sources/ui-gadget/edcs/custom_editfield.edc @@ -0,0 +1,442 @@ +#define EDITFIELD_TOP_PADDING 46 +#define EDITFIELD_BOTTOM_PADDING 6 +#define EDITFIELD_RIGHT_PADDING 26 +#define EDITFIELD_TOP_TEXT_PADDING 6 +#define EDITFIELD_RIGHT_TEXT_PADDING 56 +#define EDITFIELD_RIGHT_ERASER_PADDING 10 +#define EDITFIELD_HEIGHT_INC 66 +#define EDITFIELD_INPUTFIELD_BORDER_INC 9 9 9 9 +#define EDITFIELD_LEFT_PADDING_SEARCHFIELD_INC 16 +#define EDITFIELD_RIGHT_PADDING_SEARCHFIELD_INC 48 +#define EDITFIELD_TITLE_COLOR_INC 42 137 194 255 +#define EDITFIELD_TITLE_SIZE_INC 32 +#define EDITFIELD_GUIDE_TEXT_COLOR_INC 121 131 138 255 +#define EDITFIELD_DEFAULT_ERASER_MINW_INC 48 +#define EDITFIELD_DEFAULT_ERASER_MINH_INC 48 +#define EDITFIELD_SEARCHBAR_ERASER_EVENT_MINW_INC 38 +#define EDITFIELD_SEARCHBAR_ERASER_EVENT_MINH_INC 50 +#define ENTRY_TEXT_SIZE_INC 44 + + +collections { + group { name: "custom_editfield"; + images { + image: "00_EditField_clear.png" COMP; + image: "00_EditField_clear_press.png" COMP; + image: "00_search_edit_field_bg.png" COMP; + } + parts { + part { + name: "base"; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + align: 0.0 0.0; + visible: 0; + } + } + part { + name: "top_left_padding"; + type: RECT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + min: 0 EDITFIELD_TOP_PADDING; + fixed: 1 1; + align: 0.0 0.0; + rel1 { + relative : 0.0 0.0; + to: "base"; + } + rel2 { + relative : 0.0 0.0; + to: "base"; + } + visible: 0; + } + } + part { name: "bottom_right_padding"; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + min: EDITFIELD_RIGHT_PADDING EDITFIELD_BOTTOM_PADDING; + fixed: 1 1; + align: 1.0 1.0; + rel1 { relative: 1.0 1.0; to: "base"; } + rel2 { relative: 1.0 1.0; to: "base"; } + visible: 0; + } + } + part { name: "top_text_padding"; + type: RECT; + scale: 1; + ignore_flags: ON_HOLD; + description { + state: "default" 0.0; + visible: 0; + min: 0 EDITFIELD_TOP_TEXT_PADDING; + fixed: 1 1; + align: 0 1; + rel1 { + relative: 0.0 0.0; + to: "base"; + } + rel2 { + relative: 1.0 0.0; + to: "base"; + } + } + } + part { name: "inputfield_rect"; + type: IMAGE; + scale: 1; + description { + state: "default" 0.0; + min: 0 EDITFIELD_HEIGHT_INC; + align: 0.0 0.5; + image { + normal: "00_search_edit_field_bg.png"; + border: EDITFIELD_INPUTFIELD_BORDER_INC; + } + rel1 { relative: 1.0 1.0; to: "top_left_padding"; } + rel2 { relative: 0.0 0.0; to: "bottom_right_padding"; } + } + } + part { name: "left_padding_inputfield"; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: EDITFIELD_LEFT_PADDING_SEARCHFIELD_INC 0; + fixed: 1 0; + align: 0.0 0.5; + rel1 { relative: 0.0 0.0; to: "inputfield_rect"; } + rel2 { relative: 0.0 1.0; to: "inputfield_rect"; } + } + } + part { name: "right_padding_inputfield"; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: EDITFIELD_RIGHT_PADDING_SEARCHFIELD_INC 0; + fixed: 1 0; + align: 1.0 0.5; + rel1 { relative: 1.0 0.0; to: "inputfield_rect"; } + rel2 { relative: 1.0 1.0; to: "inputfield_rect"; } + } + } + part { name: "right_eraser_padding"; + type: RECT; + scale: 1; + ignore_flags: ON_HOLD; + description { + state: "default" 0.0; + visible: 0; + min: EDITFIELD_RIGHT_ERASER_PADDING 0; + fixed: 1 0; + align: 1.0 0.5; + rel1 { relative: 1.0 0.0; to: "inputfield_rect"; } + rel2 { relative: 1.0 1.0; to: "inputfield_rect"; } + } + } + part { name: "textfield"; + type: RECT; + mouse_events: 1; + scale: 1; + ignore_flags: ON_HOLD; + description { + state: "default" 0.0; + color: 0 0 0 0; + min: 0 EDITFIELD_HEIGHT_INC; + fixed: 0 1; + align: 0.0 0.5; + rel1 { + relative: 1.0 0.0; + to: "left_padding_inputfield"; + } + rel2 { + relative: 0.0 1.0; + to: "right_padding_inputfield"; + } + } + } + part { name: "top"; + type: RECT; + scale: 1; + ignore_flags: ON_HOLD; + description { + state: "default" 0.0; + visible: 0; + min: 0 EDITFIELD_TOP_TEXT_PADDING; + fixed: 1 1; + align: 0.5 0; + rel1 { + relative: 0.0 0.0; + to: "textfield"; + } + rel2 { + relative: 1.0 0.0; + to: "textfield"; + } + } + } + part { name: "left"; + type: RECT; + scale: 1; + ignore_flags: ON_HOLD; + description { + state: "default" 0.0; + visible: 0; + fixed: 1 1; + align: 0 0; + rel1 { + relative: 0.0 0.0; + to: "textfield"; + } + rel2 { + relative: 0.0 1.0; + to: "textfield"; + } + } + } + part { name: "right"; + type: RECT; + scale: 1; + ignore_flags: ON_HOLD; + description { + state: "default" 0.0; + visible: 0; + min: EDITFIELD_RIGHT_TEXT_PADDING 0; + fixed: 1 1; + align: 1 0; + rel1 { + relative: 1.0 0.0; + to: "textfield"; + } + rel2.to: "textfield"; + } + } + part { name: "bottom"; + type: RECT; + scale: 1; + ignore_flags: ON_HOLD; + description { + state: "default" 0.0; + visible: 0; + min: 0 EDITFIELD_TOP_TEXT_PADDING; + fixed: 1 1; + align: 0 1; + rel1 { + relative: 0.0 1.0; + to: "textfield"; + } + } + } + part { + name: "elm.text"; + type: TEXT; + scale: 1; + ignore_flags: ON_HOLD; + description { + state: "default" 0.0; + align: 0.0 0.0; + min: 0 32; + fixed: 1 1; + rel1 { + relative: 0.0 1.0; + to_x: "left_padding_inputfield"; + to_y: "top_text_padding"; + } + rel2 { + relative: 0.0 1.0; + to_x: "left_padding_inputfield"; + to_y: "top_text_padding"; + } + color: EDITFIELD_TITLE_COLOR_INC; + text { + font: "Tizen:style=Medium"; + size: EDITFIELD_TITLE_SIZE_INC; + min: 1 1; + align: 0.0 0.0; + text_class: "tizen"; + } + } + } + part { + name: "elm.guidetext"; + type: TEXT; + scale: 1; + ignore_flags: ON_HOLD; + description { + state: "default" 0.0; + align: 0.0 0.0; + fixed: 1 1; + rel1.to: "elm.swallow.content"; + rel2.to: "elm.swallow.content"; + color: EDITFIELD_GUIDE_TEXT_COLOR_INC; + text { + font: "Tizen:style=Roman"; + size: ENTRY_TEXT_SIZE_INC; + min: 0 0; + align: 0.0 0.5; + text_class: "tizen"; + } + } + description { + state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { + name: "elm.swallow.content"; + type: SWALLOW; + scale: 1; + ignore_flags: ON_HOLD; + description { + state: "default" 0.0; + min: 0 40; + rel1 { + relative : 1.0 1.0; + to_x: "left"; + to_y: "top"; + } + rel2 { + relative : 0.0 0.0; + to_x: "right"; + to_y: "bottom"; + } + align: 0.0 0.5; + } + } + part { + name: "eraser_image"; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: EDITFIELD_DEFAULT_ERASER_MINW_INC EDITFIELD_DEFAULT_ERASER_MINH_INC; + fixed: 1 1; + align: 1 0.5; + rel1 { + relative: 0.0 0.5; + to_x : "right_eraser_padding"; + to_y : "inputfield_rect"; + } + rel2 { + relative: 0.0 0.5; + to_x : "right_eraser_padding"; + to_y : "inputfield_rect"; + } + } + description { + state: "elm.eraser.show" 0.0; + inherit: "default" 0.0; + visible: 1; + image { + normal: "00_EditField_clear.png"; + border: 10 10 10 10; + border_scale: 1; + } + } + description { + state: "elm.eraser.pressed" 0.0; + inherit: "default" 0.0; + visible: 1; + image { + normal: "00_EditField_clear_press.png"; + border: 8 8 8 8; + border_scale: 1; + } + } + } + part { + name: "eraser"; + type: RECT; + scale: 1; + mouse_events: 1; + description { + state: "default" 0.0; + visible: 0; + min: EDITFIELD_SEARCHBAR_ERASER_EVENT_MINW_INC EDITFIELD_SEARCHBAR_ERASER_EVENT_MINH_INC; + fixed: 1 1; + align: 1 0.5; + color: 0 0 0 0; + rel1 { + relative: 0.0 0.5; + to_x : "bottom_right_padding"; + to_y : "inputfield_rect"; + } + rel2 { + relative: 0.0 0.5; + to_x : "bottom_right_padding"; + to_y : "inputfield_rect"; + } + } + description { + state: "elm.eraser.show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { + name: "guidetext_show"; + signal: "elm,state,guidetext,show"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.guidetext"; + } + program { + name: "guidetext_hide"; + signal: "elm,state,guidetext,hide"; + source: "elm"; + action: STATE_SET "hidden" 0.0; + target: "elm.guidetext"; + } + program { + name: "eraser_show"; + signal: "elm,state,eraser,show"; + source: "elm"; + action: STATE_SET "elm.eraser.show" 0.0; + target: "eraser_image"; + target: "eraser"; + } + program { + name: "eraser_hide"; + signal: "elm,state,eraser,hide"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "eraser_image"; + target: "eraser"; + } + program { + name: "eraser_clicked"; + signal: "mouse,clicked,1"; + source: "eraser"; + action: SIGNAL_EMIT "elm,eraser,clicked" "elm"; + } + program { + name: "eraser_pressed"; + signal: "mouse,down,1"; + source: "eraser"; + action: STATE_SET "elm.eraser.pressed" 0.0; + target: "eraser_image"; + } + program { + name: "eraser_unpressed"; + signal: "mouse,up,1"; + source: "eraser"; + action: STATE_SET "elm.eraser.show" 0.0; + target: "eraser_image"; + } + } + } +} diff --git a/sources/ui-gadget/edcs/wifi_ug_edj_etc.edc b/sources/ui-gadget/edcs/wifi_ug_edj_etc.edc new file mode 100644 index 0000000..70b5f60 --- /dev/null +++ b/sources/ui-gadget/edcs/wifi_ug_edj_etc.edc @@ -0,0 +1,33 @@ +collections { + group { + name: "fake_radio"; + parts { + part { name: "radio"; + type: SWALLOW; + scale: 1; + description { + state: "default" 0.0; + fixed: 0 0; + min: 48 48; + align: 0.0 0.0; + rel1 { relative: 0 0; offset: 10 0; } + rel2 { relative: 1 1; offset: -10 0; } + } + } + part { name: "image"; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + fixed: 0 0; + min: 48 48; + align: 0.0 0.0; + rel1 { relative: 0 0; offset: 10 0; } + rel2 { relative: 1 1; offset: -10 0; } + color: 0 0 0 0; + } + } + + } + } +} diff --git a/sources/ui-gadget/include/motion_control.h b/sources/ui-gadget/include/motion_control.h new file mode 100644 index 0000000..de58865 --- /dev/null +++ b/sources/ui-gadget/include/motion_control.h @@ -0,0 +1,44 @@ +/* + * Wi-Fi + * + * 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 __MOTION_CONTROL_H__ +#define __MOTION_CONTROL_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <Evas.h> + +typedef enum { + MOTION_TARGET_VIEW_FOCUS_ON = 0, + MOTION_TARGET_VIEW_FOCUS_OFF +}TARGET_VIEW_FOCUS; + +void motion_create(Evas_Object *base); +void motion_destroy(void); +void motion_start(void); +void motion_stop(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/ui-gadget/include/ug_wifi.h b/sources/ui-gadget/include/ug_wifi.h new file mode 100644 index 0000000..48fa215 --- /dev/null +++ b/sources/ui-gadget/include/ug_wifi.h @@ -0,0 +1,89 @@ +/* + * Wi-Fi + * + * 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 __NEW_WIFI_H__ +#define __NEW_WIFI_H__ + +#define TARGET + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <ui-gadget-module.h> + +#include "common.h" +#include "common_pswd_popup.h" +#include "view_ime_hidden.h" +#include "common_eap_connect.h" +#include "winset_popup.h" +#include "wlan_manager.h" +#include "viewer_manager.h" + +#define PACKAGE "ug-wifi-efl-UG" +#define LOCALEDIR "/usr/ug/res/locale" +#define CUSTOM_EDITFIELD_PATH \ + "/usr/ug/res/edje/wifi-efl-UG/custom_editfield.edj" + +#define FACTORYFS "/usr/ug" +#define WIFI_APP_IMAGE_DIR FACTORYFS "/res/images/wifi-efl-UG" +#define WIFI_APP_ICON_PATH_SCAN \ + WIFI_APP_IMAGE_DIR"/01_controlbar_icon_update.png" +#define WIFI_APP_ICON_PATH_DONE \ + WIFI_APP_IMAGE_DIR"/01_controlbar_icon_edit.png" +#define WIFI_APP_ICON_PATH_FORGET \ + WIFI_APP_IMAGE_DIR"/01_controlbar_icon_delete.png" + +#define UG_CALLER "caller" +#define UG_MAIN_MESSAGE_DESTROY 1 + +typedef enum { + UG_VIEW_DEFAULT = 0, + UG_VIEW_SETUP_WIZARD +} UG_TYPE; + +typedef struct { + /* ui gadget object */ + void* gadget; + ui_gadget_h ug; + + //Basic Evas_Objects + Evas_Object *layout_main; + Evas *evas; + pswd_popup_t *passpopup; + hiddep_ap_popup_data_t *hidden_ap_popup; + + UG_TYPE ug_type; + Eina_Bool bAlive; + + char *lbutton_setup_wizard_prev; + char *rbutton_setup_wizard_next; + char *rbutton_setup_wizard_skip; + popup_manager_object_t *popup_manager; + common_eap_connect_data_t *eap_view; +} wifi_appdata ; + +int wifi_exit(); + +#ifdef __cplusplus +} +#endif + +#endif /* __WIFI_H__ */ diff --git a/sources/ui-gadget/include/viewer_list.h b/sources/ui-gadget/include/viewer_list.h new file mode 100644 index 0000000..2c0fe8f --- /dev/null +++ b/sources/ui-gadget/include/viewer_list.h @@ -0,0 +1,74 @@ +/* + * Wi-Fi + * + * 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 __VIEWER_LIST_H__ +#define __VIEWER_LIST_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "viewer_manager.h" + +//////// genlist struct data //////////////////////////////////////////////////////////////////// +typedef struct { + wifi_device_info_t *device_info; + VIEWER_ITEM_RADIO_MODES radio_mode; +} ug_genlist_data_t; +///////////////////////////////////////////////////////////////////////////////////////////// + + +Evas_Object* viewer_list_create(Evas_Object *win); +int viewer_list_destroy(void); +void viewer_list_title_item_del(); +void viewer_list_title_item_update(); + +//////////////////////////////////////////////////////////////////////////////////////////////// + +//////// list item add / remove /////////////////////////////////////////////////////////////// +int viewer_list_title_item_set(void); +int viewer_list_item_radio_mode_set(Elm_Object_Item* item, VIEWER_ITEM_RADIO_MODES mode); +Elm_Object_Item* viewer_list_item_insert_after(wifi_ap_h ap, Elm_Object_Item *after); +Elm_Object_Item* viewer_list_get_first_item(void); +void viewer_list_item_clear(void); +//////////////////////////////////////////////////////////////////////////////////////////////// + +//////// item iteration ///////////////////////////////////////////////////////////////////////// +int viewer_list_item_size_get(void); +void viewer_list_item_del(Elm_Object_Item *item); +Elm_Object_Item* viewer_list_item_first_get(Evas_Object* list); +Elm_Object_Item* viewer_list_item_next_get(const Elm_Object_Item* current); +Elm_Object_Item* viewer_list_item_at_index(int index); +///////////////////////////////////////////////////////////////////////////////////////////////// + +//////// item control ///////////////////////////////////////////////////////////////////////// +void viewer_list_item_enable_all(void); +void viewer_list_item_disable_all(void); +////////////////////////////////////////////////////////////////////////////////////////////////// + +Elm_Object_Item* item_get_for_ap(wifi_ap_h ap); +Elm_Object_Item *item_get_for_ssid(const char* ssid, int *num_aps); +void viewer_list_item_move_connected_ap_to_top(const Elm_Object_Item *connected_item); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/ui-gadget/include/viewer_manager.h b/sources/ui-gadget/include/viewer_manager.h new file mode 100644 index 0000000..14ef35f --- /dev/null +++ b/sources/ui-gadget/include/viewer_manager.h @@ -0,0 +1,85 @@ +/* + * Wi-Fi + * + * 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 __VIEWER_MANAGER_H__ +#define __VIEWER_MANAGER_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <glib.h> +#include <Elementary.h> + +#include "wlan_manager.h" + +typedef enum { + HEADER_MODE_OFF=0x01, + HEADER_MODE_ON, + HEADER_MODE_ACTIVATING, + HEADER_MODE_CONNECTING, + HEADER_MODE_CONNECTED, + HEADER_MODE_DISCONNECTING, + HEADER_MODE_DEACTIVATING, + HEADER_MODE_CANCEL_CONNECTING, + HEADER_MODE_SEARCHING, + HEADER_MODE_MAX +} HEADER_MODES; + +typedef enum { + VIEWER_ITEM_RADIO_MODE_OFF = 0, + VIEWER_ITEM_RADIO_MODE_CONNECTED, + VIEWER_ITEM_RADIO_MODE_CONNECTING, + VIEWER_ITEM_RADIO_MODE_CANCEL_CONNECTING, + VIEWER_ITEM_RADIO_MODE_WPS_CONNECTING, + VIEWER_ITEM_RADIO_MODE_DISCONNECTING, + VIEWER_ITEM_RADIO_MODE_MAX + +} VIEWER_ITEM_RADIO_MODES; + +typedef enum { + VIEWER_WINSET_SEARCHING, + VIEWER_WINSET_SUB_CONTENTS +} VIEWER_WINSETS; + +Evas_Object* viewer_manager_create(Evas_Object* parent); +Eina_Bool viewer_manager_destroy(); +Eina_Bool viewer_manager_show(VIEWER_WINSETS winset); +Eina_Bool viewer_manager_hide(VIEWER_WINSETS winset); +Eina_Bool viewer_manager_refresh(void); + +int power_control(); + +int viewer_manager_hidden_disable_set(int mode); +Evas_Object *viewer_manager_get_naviframe(); +int viewer_manager_header_mode_set(HEADER_MODES mode); +HEADER_MODES viewer_manager_header_mode_get(void); +void viewer_manager_scroll_to_top(void); +Elm_Object_Item *viewer_manager_move_item_to_top(Elm_Object_Item *item); +void viewer_manager_specific_scan_response_hlr( + GSList *bss_info_list, void *user_data); +void viewer_manager_update_ap_handle(Elm_Object_Item *item, wifi_ap_h ap); +void viewer_manager_update_connected_ap_sig_str(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/ui-gadget/include/wifi-engine-callback.h b/sources/ui-gadget/include/wifi-engine-callback.h new file mode 100644 index 0000000..2c7925d --- /dev/null +++ b/sources/ui-gadget/include/wifi-engine-callback.h @@ -0,0 +1,35 @@ +/* + * Wi-Fi + * + * 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 __WIFI_ENGINE_CALLBACK_H__ +#define __WIFI_ENGINE_CALLBACK_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +void wlan_engine_refresh_callback(); +void wlan_engine_callback(wlan_mgr_event_info_t *event_info, void *user_data); + +#ifdef __cplusplus +} +#endif + +#endif /* __WIFI_ENGINE_CALLBACKS_H__ */ diff --git a/sources/ui-gadget/include/wifi-ui-list-callbacks.h b/sources/ui-gadget/include/wifi-ui-list-callbacks.h new file mode 100644 index 0000000..8936c5e --- /dev/null +++ b/sources/ui-gadget/include/wifi-ui-list-callbacks.h @@ -0,0 +1,38 @@ +/* +* Wi-Fi UG +* +* 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 __WIFI_CALLBACKS_H_ +#define __WIFI_CALLBACKS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +void radio_button_cb(void *data, Evas_Object *obj, void *event_info); +void list_select_cb(void *data, Evas_Object *obj, void *event_info); +void eap_view_close_cb(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/ui-gadget/include/wifi.h b/sources/ui-gadget/include/wifi.h new file mode 100644 index 0000000..3a67a2c --- /dev/null +++ b/sources/ui-gadget/include/wifi.h @@ -0,0 +1,88 @@ +/* +* Wi-Fi UG +* +* 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 __NEW_WIFI_H_ +#define __NEW_WIFI_H_ + +#define TARGET + +#ifdef __cplusplus +extern "C" +{ +#endif + + +#include "common.h" +#include "common_pswd_popup.h" +#include "view_ime_hidden.h" +#include "common_eap_connect.h" +#include "winset_popup.h" +#include "wlan_manager.h" +#include "viewer_manager.h" +#include <ui-gadget-module.h> + +#define PACKAGE "ug-wifi-efl-UG" +#define LOCALEDIR "/usr/ug/res/locale" +#define CUSTOM_EDITFIELD_PATH "/usr/ug/res/edje/wifi-efl-UG/custom_editfield.edj" + +#define WIFI_APP_IMAGE_DIR FACTORYFS"/res/images/wifi-efl-UG" +#define WIFI_APP_ICON_PATH_SCAN WIFI_APP_IMAGE_DIR"/01_controlbar_icon_update.png" +#define WIFI_APP_ICON_PATH_DONE WIFI_APP_IMAGE_DIR"/01_controlbar_icon_edit.png" +#define WIFI_APP_ICON_PATH_FORGET WIFI_APP_IMAGE_DIR"/01_controlbar_icon_delete.png" + +#define UG_CALLER "caller" +#define UG_MAIN_MESSAGE_DESTROY 1 + +typedef enum { + UG_VIEW_DEFAULT = 0, + UG_VIEW_SETUP_WIZARD +} UG_TYPE; + +typedef struct { + /* ui gadget object */ + void* gadget; + ui_gadget_h ug; + + //Basic Evas_Objects + Evas_Object *win_main; + Evas *evas; + pswd_popup_t *passpopup; + hiddep_ap_popup_data_t *hidden_ap_popup; + + UG_TYPE ug_type; + Eina_Bool bAlive; + + char *lbutton_setup_wizard_prev; + char *rbutton_setup_wizard_next; + char *rbutton_setup_wizard_skip; + popup_manager_object_t *popup_manager; + common_eap_connect_data_t *eap_view; +} wifi_appdata ; + +int wifi_exit(); + +#ifdef __cplusplus +} +#endif + +#endif /* __WIFI_H_ */ + + diff --git a/sources/ui-gadget/include/winset_popup.h b/sources/ui-gadget/include/winset_popup.h new file mode 100644 index 0000000..4775cb8 --- /dev/null +++ b/sources/ui-gadget/include/winset_popup.h @@ -0,0 +1,54 @@ +/* + * Wi-Fi + * + * 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 __WINSET_POPUP_H__ +#define __WINSET_POPUP_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <glib.h> +#include <Evas.h> + +typedef enum { + POPUP_OPTION_NONE = 0X01, + POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED, + POPUP_OPTION_POWER_ON_FAILED_MOBILE_HOTSPOT, + POPUP_OPTION_CONNECTING_FAILED, + POPUP_OPTION_HIDDEN_AP_SSID_LEN_ERROR, + POPUP_OPTION_WEP_PSWD_LEN_ERROR, + POPUP_OPTION_WPA_PSWD_LEN_ERROR, + POPUP_OPTION_WIFI_INVALID_KEY, + POPUP_OPTION_MAX +} POPUP_MODE_OPTIONS; + +typedef struct popup_manager_object popup_manager_object_t; + +popup_manager_object_t *winset_popup_manager_create(Evas_Object* win, const char *str_pkg_name); +void winset_popup_mode_set(popup_manager_object_t *manager_object, POPUP_MODE_OPTIONS option, void *input_data); +gboolean winset_popup_manager_destroy(popup_manager_object_t *manager_object); +gboolean winset_popup_hide_popup(popup_manager_object_t *manager_object); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/ui-gadget/motion_control.c b/sources/ui-gadget/motion_control.c new file mode 100644 index 0000000..a00c003 --- /dev/null +++ b/sources/ui-gadget/motion_control.c @@ -0,0 +1,103 @@ +/* + * Wi-Fi + * + * 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 "sensor.h" +#include "motion_control.h" +#include "viewer_manager.h" +#include "wlan_manager.h" +#include "vconf.h" +#include "wifi-engine-callback.h" + +static int motion_handle = -1; +static Evas_Object* target = NULL; + +static void __motion_shake_cb(unsigned int event_type, sensor_event_data_t *event_data, void *data) +{ + int vconf_value = 0; + + vconf_get_bool(VCONFKEY_SETAPPL_MOTION_ACTIVATION, &vconf_value); + if(vconf_value != 1) + return; + + vconf_get_bool(VCONFKEY_SETAPPL_USE_SHAKE, &vconf_value); + if(vconf_value != 1) + return; + + HEADER_MODES header_mode = viewer_manager_header_mode_get(); + + switch(header_mode) { + case HEADER_MODE_OFF: + power_control(); + viewer_manager_show(VIEWER_WINSET_SEARCHING); + break; + case HEADER_MODE_ON: + case HEADER_MODE_CONNECTED: + if (WLAN_MANAGER_ERR_NONE == wlan_manager_request_scan()) { + viewer_manager_show(VIEWER_WINSET_SEARCHING); + viewer_manager_header_mode_set(HEADER_MODE_SEARCHING); + } + break; + default: + break; + } +} + +static TARGET_VIEW_FOCUS __motion_target_view_focus_get(void) +{ + if (target == NULL) + return MOTION_TARGET_VIEW_FOCUS_OFF; + + if (elm_object_focus_get(target)) + return MOTION_TARGET_VIEW_FOCUS_ON; + else + return MOTION_TARGET_VIEW_FOCUS_OFF; +} + +void motion_create(Evas_Object* base) +{ + target = base; + + motion_handle = sf_connect(MOTION_SENSOR); + if (motion_handle < 0) + return; + + sf_register_event(motion_handle, MOTION_ENGINE_EVENT_SHAKE, NULL, __motion_shake_cb, base); +} + +void motion_start(void) +{ + TARGET_VIEW_FOCUS focus_state = __motion_target_view_focus_get(); + + if ((focus_state == MOTION_TARGET_VIEW_FOCUS_ON) && (motion_handle >= 0)) + sf_start(motion_handle, 0); +} + +void motion_stop(void) +{ + sf_stop(motion_handle); +} + +void motion_destroy(void) +{ + sf_stop(motion_handle); + + sf_unregister_event(motion_handle, MOTION_ENGINE_EVENT_SHAKE); + + sf_disconnect(motion_handle); +} diff --git a/sources/ui-gadget/viewers-layout/include/view_detail.h b/sources/ui-gadget/viewers-layout/include/view_detail.h new file mode 100644 index 0000000..9731e4e --- /dev/null +++ b/sources/ui-gadget/viewers-layout/include/view_detail.h @@ -0,0 +1,50 @@ +/* + * Wi-Fi + * + * 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 __VIEW_DETAIL_H__ +#define __VIEW_DETAIL_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <Evas.h> + +void view_detail(wifi_device_info_t *device_info, Evas_Object *parent); + +int detailview_ip_and_dns_type_set_as_static(); + +int detailview_modified_ip_address_set(char* data); +int detailview_modified_gateway_address_set(char* data); +int detailview_modified_subnet_mask_set(char* data); +int detailview_modified_dns1_address_set(char* data); +int detailview_modified_dns2_address_set(char* data); + +const char* detailview_modified_ip_address_get(void); +const char* detailview_modified_gateway_address_get(void); +const char* detailview_modified_subnet_mask_get(void); +const char* detailview_modified_dns1_address_get(void); +const char* detailview_modified_dns2_address_get(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/ui-gadget/viewers-layout/include/view_ime_hidden.h b/sources/ui-gadget/viewers-layout/include/view_ime_hidden.h new file mode 100644 index 0000000..bc1cb72 --- /dev/null +++ b/sources/ui-gadget/viewers-layout/include/view_ime_hidden.h @@ -0,0 +1,39 @@ +/* + * Wi-Fi + * + * 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 __VIEW_IME_HIDDEN_H__ +#define __VIEW_IME_HIDDEN_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <Evas.h> + +typedef struct hiddep_ap_popup_data hiddep_ap_popup_data_t; + +hiddep_ap_popup_data_t *view_hidden_ap_popup_create(Evas_Object *win_main, const char *str_pkg_name); +void view_hidden_ap_popup_destroy(hiddep_ap_popup_data_t *popup_data); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/ui-gadget/viewers-layout/view_detail.c b/sources/ui-gadget/viewers-layout/view_detail.c new file mode 100644 index 0000000..a7b5b8a --- /dev/null +++ b/sources/ui-gadget/viewers-layout/view_detail.c @@ -0,0 +1,339 @@ +/* + * Wi-Fi + * + * 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 "ug_wifi.h" +#include "view_detail.h" +#include "i18nmanager.h" +#include "viewer_manager.h" +#include "winset_popup.h" +#include "common_utils.h" +#include "common_ip_info.h" +#include "common_eap_connect.h" + +typedef struct _view_detail_data { + Evas_Object *win; + char *ap_image_path; + wifi_ap_h ap; + eap_info_list_t *eap_info_list; + ip_info_list_t *ip_info_list; + Evas_Object *forget_confirm_popup; + Evas_Object *view_detail_list; +} view_detail_data; + +static int view_detail_end = TRUE; + +/* function declaration */ +static void detailview_sk_cb(void *data, Evas_Object *obj, void *event_info); +static void forget_sk_cb(void *data, Evas_Object *obj, void *event_info); + +/////////////////////////////////////////////////////////////// +// implementation +/////////////////////////////////////////////////////////////// + +static char* _view_detail_grouptitle_text_get(void *data, Evas_Object *obj, const char *part) +{ + __COMMON_FUNC_ENTER__; + char *ret = NULL; + assertm_if(NULL == obj, "NULL!!"); + assertm_if(NULL == part, "NULL!!"); + assertm_if(NULL == data, "NULL!!"); + + view_detail_data *detail_data = (view_detail_data *)data; + if (!strncmp(part, "elm.text.2", strlen(part))) { + ret = (char*) g_strdup(sc(PACKAGE, I18N_TYPE_Name)); + } else if (!strncmp(part, "elm.text.1", strlen(part))) { + wifi_ap_get_essid(detail_data->ap, &ret); + } + + __COMMON_FUNC_EXIT__; + return ret; +} + +static Evas_Object *_view_detail_grouptitle_content_get(void *data, Evas_Object *obj, const char *part) +{ + view_detail_data *detail_data = (view_detail_data *)data; + Evas_Object* icon = NULL; + assertm_if(NULL == obj, "NULL!!"); + assertm_if(NULL == data, "NULL!!"); + assertm_if(NULL == part, "NULL!!"); + + if (detail_data->ap_image_path == NULL) { + /* if there is no ap_image_path (NO AP Found situation) */ + DEBUG_LOG(UG_NAME_ERR, "Fatal: Image path is NULL"); + } else if (!strncmp(part, "elm.icon", strlen(part))) { + /* for strength */ + icon = elm_image_add(obj); + assertm_if(NULL == icon, "NULL!!"); + elm_image_file_set(icon, detail_data->ap_image_path, NULL); + } + + return icon; +} + +static void _remove_all(view_detail_data *_detail_data) +{ + __COMMON_FUNC_ENTER__; + if(_detail_data) { + if (_detail_data->eap_info_list) { + eap_info_remove(_detail_data->eap_info_list); + _detail_data->eap_info_list = NULL; + } + + ip_info_remove(_detail_data->ip_info_list); + _detail_data->ip_info_list = NULL; + + evas_object_del(_detail_data->view_detail_list); + _detail_data->view_detail_list = NULL; + + g_free(_detail_data->ap_image_path); + g_free(_detail_data); + _detail_data = NULL; + } + + __COMMON_FUNC_EXIT__; +} + +static void ok_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + if(view_detail_end == TRUE) { + return; + } + view_detail_end = TRUE; + view_detail_data *_detail_data = (view_detail_data *)data; + assertm_if(NULL == _detail_data, "NULL!!"); + + evas_object_del(_detail_data->forget_confirm_popup); + _detail_data->forget_confirm_popup = NULL; + wlan_manager_forget(_detail_data->ap); + _remove_all(_detail_data); + elm_naviframe_item_pop(viewer_manager_get_naviframe()); + + __COMMON_FUNC_EXIT__; + return; +} + +static void cancel_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + view_detail_data *_detail_data = (view_detail_data *)data; + assertm_if(NULL == _detail_data, "NULL!!"); + evas_object_del(_detail_data->forget_confirm_popup); + _detail_data->forget_confirm_popup = NULL; + __COMMON_FUNC_EXIT__; +} + +static void forget_sk_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + view_detail_data *_detail_data = (view_detail_data *)data; + assertm_if(NULL == _detail_data, "NULL!!"); + + if (!_detail_data->forget_confirm_popup) { + popup_btn_info_t popup_data; + memset(&popup_data, 0, sizeof(popup_data)); + + popup_data.info_txt = g_strdup(sc(PACKAGE, I18N_TYPE_Autonomous_connection_to_s_will_be_turned_off_Continue)); + popup_data.btn1_cb = ok_cb; + popup_data.btn1_txt = sc(PACKAGE, I18N_TYPE_Ok); + popup_data.btn1_data = _detail_data; + popup_data.btn2_cb = cancel_cb; + popup_data.btn2_txt = sc(PACKAGE, I18N_TYPE_Cancel); + popup_data.btn2_data = _detail_data; + _detail_data->forget_confirm_popup = common_utils_show_info_popup(_detail_data->win, &popup_data); + + evas_object_show(_detail_data->forget_confirm_popup); + } + + __COMMON_FUNC_EXIT__; +} + +static void title_back_btn_sk_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + + if(view_detail_end == TRUE) { + return; + } + view_detail_end = TRUE; + view_detail_data *_detail_data = (view_detail_data *)data; + assertm_if(NULL == _detail_data, "NULL!!"); + + if (_detail_data->eap_info_list) + eap_info_save_data(_detail_data->eap_info_list); + + ip_info_save_data(_detail_data->ip_info_list); + _remove_all(_detail_data); + elm_naviframe_item_pop(viewer_manager_get_naviframe()); + + __COMMON_FUNC_EXIT__; +} + +static void detailview_sk_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + if (view_detail_end == TRUE) + return; + view_detail_end = TRUE; + + view_detail_data *_detail_data = (view_detail_data *)data; + assertm_if(NULL == _detail_data, "NULL!!"); + + if (_detail_data->eap_info_list) + eap_info_save_data(_detail_data->eap_info_list); + + ip_info_save_data(_detail_data->ip_info_list); + _remove_all(_detail_data); + + __COMMON_FUNC_EXIT__; +} + +static void __view_detail_imf_ctxt_evnt_cb(void *data, Ecore_IMF_Context *ctx, int value) +{ + if (!data) + return; + if (value == ECORE_IMF_INPUT_PANEL_STATE_SHOW) { + DEBUG_LOG(UG_NAME_NORMAL, "Key pad is now open"); + elm_object_item_signal_emit(data, "elm,state,sip,shown", ""); + } else if (value == ECORE_IMF_INPUT_PANEL_STATE_HIDE) { + DEBUG_LOG(UG_NAME_NORMAL, "Key pad is now closed"); + elm_object_item_signal_emit(data, "elm,state,sip,hidden", ""); + } + return; +} + +static Eina_Bool __view_detail_load_ip_info_list_cb(void *data) +{ + Elm_Object_Item *navi_it = NULL; + Evas_Object *list = NULL; + Evas_Object *layout; + view_detail_data *_detail_data = (view_detail_data *)data; + + if (!_detail_data) + return ECORE_CALLBACK_CANCEL; + + navi_it = elm_naviframe_top_item_get(viewer_manager_get_naviframe()); + layout = elm_object_item_part_content_get(navi_it, "elm.swallow.content"); + + /* Create an EAP connect view list */ + list = elm_object_part_content_get(layout, "elm.swallow.content"); + + /* Append ip info list */ + _detail_data->ip_info_list = ip_info_append_items(_detail_data->ap, PACKAGE, list, __view_detail_imf_ctxt_evnt_cb, navi_it); + + common_utils_add_dialogue_separator(list, "dialogue/separator"); + + return ECORE_CALLBACK_CANCEL; +} + +void view_detail(wifi_device_info_t *device_info, Evas_Object *win_main) +{ + __COMMON_FUNC_ENTER__; + + bool favourite = 0; + wifi_ap_h ap; + static Elm_Genlist_Item_Class grouptitle_itc; + + if (device_info == NULL) { + ERROR_LOG(UG_NAME_NORMAL, "Failed : device_info is NULL"); + return; + } + Evas_Object *layout = NULL; + Evas_Object* navi_frame = viewer_manager_get_naviframe(); + if (navi_frame == NULL) { + ERROR_LOG(UG_NAME_NORMAL, "Failed : get naviframe"); + return; + } + + view_detail_end = FALSE; + + view_detail_data *_detail_data = g_new0(view_detail_data, 1); + assertm_if(NULL == _detail_data, "NULL!!"); + + _detail_data->ap = ap = device_info->ap; + wifi_ap_is_favorite(ap, &favourite); + _detail_data->ap_image_path = g_strdup(device_info->ap_image_path); + layout = common_utils_create_layout(navi_frame); + evas_object_show(layout); + + Evas_Object* detailview_list = elm_genlist_add(layout); + elm_object_style_set(detailview_list, "dialogue"); + assertm_if(NULL == detailview_list, "NULL!!"); + _detail_data->view_detail_list = detailview_list; + + grouptitle_itc.item_style = "dialogue/2text.1icon.5"; + grouptitle_itc.func.text_get = _view_detail_grouptitle_text_get; + grouptitle_itc.func.content_get = _view_detail_grouptitle_content_get; + grouptitle_itc.func.state_get = NULL; + grouptitle_itc.func.del = NULL; + + common_utils_add_dialogue_separator(detailview_list, "dialogue/separator"); + + /* AP name and signal strength icon */ + Elm_Object_Item* title = elm_genlist_item_append(detailview_list, &grouptitle_itc, _detail_data, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL); + elm_object_item_disabled_set(title, TRUE); + + elm_object_part_content_set(layout, "elm.swallow.content", detailview_list); + + Elm_Object_Item* navi_it = elm_naviframe_item_push(navi_frame, sc(PACKAGE, I18N_TYPE_Details), NULL, NULL, layout, NULL); + evas_object_data_set(navi_frame, SCREEN_TYPE_ID_KEY, (void *)VIEW_MANAGER_VIEW_TYPE_DETAIL); + + /* Toolbar Back button */ + Evas_Object* button_back = elm_object_item_part_content_get(navi_it, "prev_btn"); + evas_object_smart_callback_add(button_back, "clicked", detailview_sk_cb, _detail_data); + + /* Title Back button */ + button_back = elm_button_add(navi_frame); + elm_object_style_set(button_back, "naviframe/back_btn/default"); + evas_object_smart_callback_add(button_back, "clicked", title_back_btn_sk_cb, _detail_data); + elm_object_item_part_content_set(navi_it, "title_prev_btn", button_back); + + _detail_data->win = win_main; + + if (favourite) { + /* Toolbar Forget button */ + Evas_Object* forget_button = elm_button_add(navi_frame); + elm_object_style_set(forget_button, "naviframe/toolbar/default"); + elm_object_text_set(forget_button, sc(PACKAGE, I18N_TYPE_Forget)); + evas_object_smart_callback_add(forget_button, "clicked", forget_sk_cb, _detail_data); + elm_object_item_part_content_set(navi_it, "toolbar_button1", forget_button); + + /* Title Forget button */ + forget_button = elm_button_add(navi_frame); + elm_object_style_set(forget_button, "naviframe/toolbar/default"); + elm_object_text_set(forget_button, sc(PACKAGE, I18N_TYPE_Forget)); + evas_object_smart_callback_add(forget_button, "clicked", forget_sk_cb, _detail_data); + elm_object_item_part_content_set(navi_it, "title_toolbar_button1", forget_button); + } + + wifi_security_type_e type = WIFI_SECURITY_TYPE_NONE; + wifi_ap_get_security_type(ap, &type); + if (WIFI_SECURITY_TYPE_EAP == type) { + wifi_connection_state_e connection_state; + wifi_ap_get_connection_state(ap, &connection_state); + if (favourite || WIFI_CONNECTION_STATE_CONNECTED == connection_state) { + _detail_data->eap_info_list = eap_info_append_items(ap, detailview_list, PACKAGE, __view_detail_imf_ctxt_evnt_cb, navi_it); + } + } + + /* Append the ip info details */ + ecore_idler_add(__view_detail_load_ip_info_list_cb, _detail_data); + + __COMMON_FUNC_EXIT__; +} diff --git a/sources/ui-gadget/viewers-layout/view_ime_hidden.c b/sources/ui-gadget/viewers-layout/view_ime_hidden.c new file mode 100644 index 0000000..2a61586 --- /dev/null +++ b/sources/ui-gadget/viewers-layout/view_ime_hidden.c @@ -0,0 +1,201 @@ +/* + * Wi-Fi + * + * 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 "ug_wifi.h" +#include "view_ime_hidden.h" +#include "i18nmanager.h" +#include "wlan_manager.h" +#include "viewer_manager.h" +#include "common_utils.h" + +struct hiddep_ap_popup_data { + Evas_Object *win; + const char *str_pkg_name; + Evas_Object *popup; + Evas_Object *popup_entry_lyt; + Evas_Object *progress_popup; +}; + +static void view_hidden_ap_popup_ok_cb(void *data, Evas_Object *obj, void *event_info); +static void view_hidden_ap_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info); +static Eina_Bool _enable_scan_updates_cb(void *data); + +static void __popup_entry_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"); + } +} + +static void __popup_entry_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"); +} + +static void __popup_entry_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"); +} + +static void __popup_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + elm_entry_entry_set(data, ""); +} + +hiddep_ap_popup_data_t *view_hidden_ap_popup_create(Evas_Object *win_main, const char *str_pkg_name) +{ + __COMMON_FUNC_ENTER__; + + if (!win_main) { + INFO_LOG(UG_NAME_ERR, "Invalid argument passed."); + return NULL; + } + + /* Lets disable the scan updates so that the UI is not refreshed un necessarily */ + wlan_manager_disable_scan_result_update(); + + hiddep_ap_popup_data_t *hidden_ap_popup_data = g_new0(hiddep_ap_popup_data_t, 1); + popup_btn_info_t popup_btn_data; + + memset(&popup_btn_data, 0, sizeof(popup_btn_data)); + popup_btn_data.title_txt = sc(str_pkg_name,I18N_TYPE_Find_Hidden_Network); + popup_btn_data.btn1_cb = view_hidden_ap_popup_ok_cb; + popup_btn_data.btn1_data = hidden_ap_popup_data; + popup_btn_data.btn2_cb = view_hidden_ap_popup_cancel_cb; + popup_btn_data.btn2_data = hidden_ap_popup_data; + popup_btn_data.btn1_txt = sc(str_pkg_name, I18N_TYPE_Ok); + popup_btn_data.btn2_txt = sc(str_pkg_name, I18N_TYPE_Cancel); + Evas_Object *passpopup = common_utils_show_info_popup(win_main, &popup_btn_data); + + Evas_Object *box = elm_box_add(passpopup); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(box); + + Evas_Object *entry_ly = elm_layout_add(box); + Evas_Object *entry = NULL; + Elm_Entry_Filter_Limit_Size limit_filter_data; + + elm_layout_file_set(entry_ly, CUSTOM_EDITFIELD_PATH, "custom_editfield"); + evas_object_size_hint_weight_set(entry_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(entry_ly, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_text_set(entry_ly, "elm.text", sc(str_pkg_name, I18N_TYPE_Enter_Ssid)); + elm_object_part_text_set(entry_ly, "elm.guidetext", sc(str_pkg_name, I18N_TYPE_Ssid)); + + entry = elm_entry_add(entry_ly); + elm_entry_scrollable_set(entry, EINA_TRUE); + elm_entry_single_line_set(entry, EINA_TRUE); + elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_URL); + elm_object_part_content_set(entry_ly, "elm.swallow.content", entry); + + limit_filter_data.max_char_count = 32; + elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &limit_filter_data); + + evas_object_smart_callback_add(entry, "changed", __popup_entry_changed_cb, entry_ly); + evas_object_smart_callback_add(entry, "focused", __popup_entry_focused_cb, entry_ly); + evas_object_smart_callback_add(entry, "unfocused", __popup_entry_unfocused_cb, entry_ly); + elm_object_signal_callback_add(entry_ly, "elm,eraser,clicked", "elm", __popup_eraser_clicked_cb, entry); + evas_object_show(entry); + evas_object_show(entry_ly); + + elm_box_pack_end(box, entry_ly); + + elm_object_content_set(passpopup, box); + evas_object_show(passpopup); + hidden_ap_popup_data->win = win_main; + hidden_ap_popup_data->str_pkg_name = str_pkg_name; + hidden_ap_popup_data->popup = passpopup; + hidden_ap_popup_data->popup_entry_lyt = entry_ly; + elm_object_focus_set(entry, EINA_TRUE); + __COMMON_FUNC_EXIT__; + + return hidden_ap_popup_data; +} + +void view_hidden_ap_popup_destroy(hiddep_ap_popup_data_t *popup_data) +{ + if (!popup_data) { + INFO_LOG(UG_NAME_ERR, "Invalid argument passed."); + return; + } + + if (popup_data->popup) { + evas_object_del(popup_data->popup); + popup_data->popup = NULL; + } + + if (popup_data->progress_popup) { + evas_object_del(popup_data->progress_popup); + popup_data->progress_popup = NULL; + } + + g_free(popup_data); + + /* A delay is needed to get the smooth Input panel closing animation effect */ + ecore_timer_add(0.1, _enable_scan_updates_cb, NULL); + + return; +} + +static void view_hidden_ap_popup_ok_cb(void *data, Evas_Object *obj, void *event_info) +{ + hiddep_ap_popup_data_t *popup_data = (hiddep_ap_popup_data_t *)data; + char *entry_txt = common_utils_entry_layout_get_text(popup_data->popup_entry_lyt); + if (WLAN_MANAGER_ERR_NONE != wlan_manager_request_specific_scan(entry_txt, entry_txt)) { + char *disp_msg = g_strdup_printf("Unable to find %s", entry_txt); + common_utils_show_info_ok_popup(popup_data->win, popup_data->str_pkg_name, disp_msg); + g_free(disp_msg); + g_free(entry_txt); + view_hidden_ap_popup_destroy(popup_data); + } else { + + /* Show progress idication popup */ + popup_data->progress_popup = common_utils_show_info_ok_popup(popup_data->win, popup_data->str_pkg_name, "Please Wait..."); + + evas_object_del(popup_data->popup); + popup_data->popup = NULL; + + /* A delay is needed to get the smooth Input panel closing animation effect */ + ecore_timer_add(0.1, _enable_scan_updates_cb, NULL); + } + + return; +} + +static void view_hidden_ap_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info) +{ + hiddep_ap_popup_data_t *hidden_ap_popup_data = (hiddep_ap_popup_data_t *)data; + view_hidden_ap_popup_destroy(hidden_ap_popup_data); + return; +} + +static Eina_Bool _enable_scan_updates_cb(void *data) +{ + /* Lets enable the scan updates */ + wlan_manager_enable_scan_result_update(); + + return ECORE_CALLBACK_CANCEL; +} diff --git a/sources/ui-gadget/viewers-layout/viewer_manager.c b/sources/ui-gadget/viewers-layout/viewer_manager.c new file mode 100644 index 0000000..28184e4 --- /dev/null +++ b/sources/ui-gadget/viewers-layout/viewer_manager.c @@ -0,0 +1,1267 @@ +/* + * Wi-Fi + * + * 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 <vconf-keys.h> + +#include "common.h" +#include "ug_wifi.h" +#include "viewer_list.h" +#include "i18nmanager.h" +#include "common_utils.h" +#include "winset_popup.h" +#include "viewer_manager.h" +#include "view_ime_hidden.h" + +typedef struct { + wlan_security_mode_type_t sec_mode; + char *ssid; + Evas_Object *confirmation_popup; +} hidden_ap_data_t; + +typedef struct viewer_manager_object { + Evas_Object* nav; + Evas_Object* scan_button; + Evas_Object* next_button; + Evas_Object* prev_button; + Evas_Object* list; + + Elm_Object_Item *item_hidden_btn; + Elm_Object_Item *item_sep_above_hidden_button; + Elm_Object_Item *item_sep_below_hidden_button; + + char* header_text; + HEADER_MODES header_mode; + Elm_Object_Item* item_header; +} viewer_manager_object; + +typedef struct { + Evas_Object* list; + Elm_Object_Item *last_appended_item; + int total_items_added; +} view_manager_list_update_info_t; + +static viewer_manager_object* manager_object = NULL; + +extern wifi_appdata *ug_app_state; + +static Elm_Genlist_Item_Class header_itc_text; +static Elm_Genlist_Item_Class bottom_itc_text; +static Elm_Genlist_Item_Class bottom_itc_helper_text; +static Elm_Genlist_Item_Class hidden_button_itc; + +int power_control() +{ + __COMMON_FUNC_ENTER__; + + int cur_state = -1; + cur_state = viewer_manager_header_mode_get(); + + INFO_LOG(UG_NAME_NORMAL, "current state %d\n", cur_state); + + int ret = TRUE; + + switch (cur_state) { + case HEADER_MODE_OFF: + case HEADER_MODE_ACTIVATING: + INFO_LOG(UG_NAME_NORMAL, "wifi state power off/powering off"); + + ret = wlan_manager_request_power_on(); + switch (ret){ + case WLAN_MANAGER_ERR_NONE: + INFO_LOG(UG_NAME_NORMAL, "power on ok"); + viewer_manager_header_mode_set(HEADER_MODE_ACTIVATING); + break; + case WLAN_MANAGER_ERR_MOBILE_HOTSPOT_OCCUPIED: + viewer_manager_header_mode_set(HEADER_MODE_ACTIVATING); + winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_POWER_ON_FAILED_MOBILE_HOTSPOT, NULL); + break; + case WLAN_MANAGER_ERR_IN_PROGRESS: + /* Do nothing */ + break; + default: + viewer_manager_header_mode_set(HEADER_MODE_OFF); + INFO_LOG(UG_NAME_NORMAL, "power on failed. ret = %d", ret); + break; + } + break; + + case HEADER_MODE_ON: + case HEADER_MODE_CONNECTING: + case HEADER_MODE_DISCONNECTING: + case HEADER_MODE_CANCEL_CONNECTING: + case HEADER_MODE_CONNECTED: + case HEADER_MODE_SEARCHING: + + viewer_list_item_clear(); + INFO_LOG(UG_NAME_NORMAL, "wifi state power on/connected"); + ret = wlan_manager_request_power_off(); + switch (ret) { + case WLAN_MANAGER_ERR_NONE: + viewer_manager_show(VIEWER_WINSET_SEARCHING); + viewer_manager_hide(VIEWER_WINSET_SUB_CONTENTS); + viewer_manager_header_mode_set(HEADER_MODE_DEACTIVATING); + wlan_manager_disable_scan_result_update(); // Lets ignore all the scan updates because we are powering off now. + break; + case WLAN_MANAGER_ERR_IN_PROGRESS: + /* Do nothing */ + break; + default: + INFO_LOG(UG_NAME_NORMAL, "power off failed. ret = %d", ret); + break; + } + break; + + case HEADER_MODE_DEACTIVATING: + default: + INFO_LOG(UG_NAME_NORMAL, "Powering off in progress. Let it complete. \n"); + break; + } + + __COMMON_FUNC_EXIT__; + return TRUE; +} + +static void _hide_finished_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + + view_manager_view_type_t top_view_id = + (view_manager_view_type_t)evas_object_data_get(obj, + SCREEN_TYPE_ID_KEY); + + if (data == elm_naviframe_top_item_get(obj)) { + /* We are now in main view */ + evas_object_data_set(obj, SCREEN_TYPE_ID_KEY, (void *)VIEW_MANAGER_VIEW_TYPE_MAIN); + top_view_id = VIEW_MANAGER_VIEW_TYPE_MAIN; + } + + INFO_LOG(UG_NAME_NORMAL, "top view id = %d", top_view_id); + + switch(top_view_id) { + case VIEW_MANAGER_VIEW_TYPE_MAIN: + ug_app_state->eap_view = NULL; + /* Lets enable the scan updates */ + wlan_manager_enable_scan_result_update(); + break; + + case VIEW_MANAGER_VIEW_TYPE_DETAIL: + case VIEW_MANAGER_VIEW_TYPE_EAP: + default: + /* Lets disable the scan updates so that the UI is not refreshed */ + wlan_manager_disable_scan_result_update(); + break; + } + + __COMMON_FUNC_EXIT__; +} + +void _lbutton_click_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + + service_h service; + int ret; + + ret = service_create(&service); + if (ret != SERVICE_ERROR_NONE) { + INFO_LOG(UG_NAME_ERR, "service_create failed: %d", ret); + return; + } + + service_add_extra_data(service, "result", "lbutton_click"); + ug_send_result(ug_app_state->ug, service); + + service_destroy(service); + ug_destroy_me(ug_app_state->ug); + + __COMMON_FUNC_EXIT__; +} + +void _rbutton_click_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + + service_h service; + int ret; + + ret = service_create(&service); + if (ret != SERVICE_ERROR_NONE) { + INFO_LOG(UG_NAME_ERR, "service_create failed: %d", ret); + return; + } + + service_add_extra_data(service, "result", "rbutton_click"); + ug_send_result(ug_app_state->ug, service); + + service_destroy(service); + ug_destroy_me(ug_app_state->ug); + + __COMMON_FUNC_EXIT__; +} + +void _back_sk_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + + if (ug_app_state->bAlive == EINA_FALSE) + return; + + wifi_exit(); + + __COMMON_FUNC_EXIT__; +} + +static Eina_Bool __scan_request(void *data) +{ + int ret = WLAN_MANAGER_ERR_NONE; + + ret = wlan_manager_request_scan(); + if (ret == WLAN_MANAGER_ERR_NONE) { + viewer_manager_show(VIEWER_WINSET_SEARCHING); + viewer_manager_header_mode_set(HEADER_MODE_SEARCHING); + } else + INFO_LOG(COMMON_NAME_ERR, "Manual scan failed. Err = %d", ret); + + return ECORE_CALLBACK_CANCEL; +} + +static void __refresh_scan_callback(void *data, + Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + + int cur_state = -1; + cur_state = viewer_manager_header_mode_get(); + + switch (cur_state) { + case HEADER_MODE_DEACTIVATING: + case HEADER_MODE_OFF: + power_control(); + viewer_manager_show(VIEWER_WINSET_SEARCHING); + break; + + case HEADER_MODE_ON: + case HEADER_MODE_CONNECTED: + ecore_idler_add(__scan_request, NULL); + break; + + default: + INFO_LOG(UG_NAME_NORMAL, "Manual scan requested in wrong state: %d", + cur_state); + break; + } + + __COMMON_FUNC_EXIT__; +} + +static char *_gl_header_text_get(void *data, Evas_Object *obj, const char *part) +{ + char* det = NULL; + + __COMMON_FUNC_ENTER__; + + if (manager_object == NULL) + return NULL; + + if (!strncmp(part, "elm.text", strlen(part))) { + det = g_strdup(manager_object->header_text); + assertm_if(NULL == det, "NULL!!"); + } + + __COMMON_FUNC_EXIT__; + return det; +} + +static void _gl_header_sel_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + const HEADER_MODES header_mode = viewer_manager_header_mode_get(); + if (HEADER_MODE_ACTIVATING != header_mode && HEADER_MODE_DEACTIVATING != header_mode) + power_control(); + + elm_genlist_item_update(manager_object->item_header); + + elm_genlist_item_selected_set(manager_object->item_header, EINA_FALSE); + + __COMMON_FUNC_EXIT__; + return; +} + +static Evas_Object *_gl_header_content_get(void *data, Evas_Object *obj, const char *part) +{ + if (manager_object == NULL) + return NULL; + + Evas_Object *icon = NULL; + + __COMMON_FUNC_ENTER__; + + if (!strncmp(part, "elm.icon", strlen(part))) { + switch (manager_object->header_mode) { + case HEADER_MODE_OFF: + /* Show WiFi off indication button */ + icon = elm_check_add(obj); + elm_object_style_set(icon, "on&off"); + evas_object_propagate_events_set(icon, EINA_TRUE); + elm_check_state_set(icon, EINA_FALSE); + evas_object_smart_callback_add(icon, "changed", _gl_header_sel_cb, NULL);//item_data); + evas_object_show(icon); + break; + + case HEADER_MODE_ACTIVATING: + case HEADER_MODE_DEACTIVATING: + /* Dont display the WiFi on/off indication while it is Activating/Deactivating */ + icon = elm_progressbar_add(obj); + elm_object_style_set(icon, "list_process"); + evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, 0.5); + evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_progressbar_pulse(icon, TRUE); + break; + + default: /* Show WiFi on indication button */ + icon = elm_check_add(obj); + elm_object_style_set(icon, "on&off"); + evas_object_propagate_events_set(icon, EINA_TRUE); + evas_object_smart_callback_add(icon, "changed", _gl_header_sel_cb, NULL);//item_data); + elm_check_state_set(icon, EINA_TRUE); + evas_object_show(icon); + break; + } + } + + __COMMON_FUNC_EXIT__; + return icon; +} + +static char *_gl_bottom_text_get(void *data, Evas_Object *obj, const char *part) +{ + char* det = NULL; + + __COMMON_FUNC_ENTER__; + + if (!strncmp(part, "elm.text", strlen(part))) { + det = g_strdup(sc(PACKAGE, I18N_TYPE_Network_notification)); + assertm_if(NULL == det, "NULL!!"); + } + + __COMMON_FUNC_EXIT__; + return det; +} + +static char *_gl_bottom_helper_text_get(void *data, Evas_Object *obj, const char *part) +{ + char* det = NULL; + + __COMMON_FUNC_ENTER__; + + det = g_strdup(sc(PACKAGE, I18N_TYPE_Network_notify_me_later)); + + __COMMON_FUNC_EXIT__; + return det; +} + +static void _gl_bottom_sel_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + + int ret = -1; + int bottom_ret = (int)elm_check_state_get(obj); + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + + INFO_LOG(UG_NAME_NORMAL, "bottom state[%d] is different", bottom_ret); + + ret = common_util_get_system_registry(VCONFKEY_WIFI_ENABLE_QS); + switch (ret) { + case 1: + common_util_set_system_registry(VCONFKEY_WIFI_ENABLE_QS, + VCONFKEY_WIFI_QS_DISABLE); + break; + + case 0: + common_util_set_system_registry(VCONFKEY_WIFI_ENABLE_QS, + VCONFKEY_WIFI_QS_ENABLE); + break; + + default: + ERROR_LOG(UG_NAME_NORMAL, "Failed to get VCONFKEY_WIFI_ENABLE_QS"); + break; + } + + elm_genlist_item_update(item); + elm_genlist_item_selected_set(item, EINA_FALSE); + + __COMMON_FUNC_EXIT__; +} + +static Evas_Object *_gl_bottom_content_get(void *data, Evas_Object *obj, const char *part) +{ + __COMMON_FUNC_ENTER__; + + if (manager_object == NULL || obj == NULL) + return NULL; + + int ret = -1; + + Evas_Object *toggle_btn = elm_check_add(obj); + assertm_if(NULL == toggle_btn, "NULL!!"); + elm_object_style_set(toggle_btn, "on&off"); + evas_object_propagate_events_set(toggle_btn, EINA_TRUE); + ret = common_util_get_system_registry(VCONFKEY_WIFI_ENABLE_QS); + switch (ret) { + case 1: + elm_check_state_set(toggle_btn, EINA_TRUE); + break; + case 0: + elm_check_state_set(toggle_btn, EINA_FALSE); + break; + default: + assertm_if(TRUE, "Setting fail!!"); + break; + } + + __COMMON_FUNC_EXIT__; + return toggle_btn; +} + +static void _hidden_button_callback(void* data, Evas_Object* obj, void* event_info) +{ + __COMMON_FUNC_ENTER__; + + ug_app_state->hidden_ap_popup = view_hidden_ap_popup_create(ug_app_state->layout_main, PACKAGE); + + __COMMON_FUNC_EXIT__; +} + +static Evas_Object *_gl_hidden_btn_content_get(void *data, Evas_Object *obj, const char *part) +{ + Evas_Object *find_hidden_ap_btn = elm_button_add(obj); + evas_object_smart_callback_add(find_hidden_ap_btn, "clicked", _hidden_button_callback, NULL); + evas_object_propagate_events_set(find_hidden_ap_btn, EINA_FALSE); + elm_object_style_set(find_hidden_ap_btn, "style2"); + elm_object_text_set(find_hidden_ap_btn, sc(PACKAGE, I18N_TYPE_Find_Hidden_Network)); + + return find_hidden_ap_btn; +} + +static int viewer_manager_header_create(Evas_Object* genlist) +{ + __COMMON_FUNC_ENTER__; + manager_object->header_text = g_strdup(sc(PACKAGE, I18N_TYPE_Wi_Fi)); + + header_itc_text.item_style = "dialogue/1text.1icon"; + header_itc_text.func.text_get = _gl_header_text_get; + header_itc_text.func.content_get = _gl_header_content_get; + header_itc_text.func.state_get = NULL; + header_itc_text.func.del = NULL; + + common_utils_add_dialogue_separator(genlist, "dialogue/separator"); + + assertm_if(NULL != manager_object->item_header, "ERROR!!"); + manager_object->item_header = elm_genlist_item_append(genlist, &header_itc_text, NULL, NULL, ELM_GENLIST_ITEM_NONE, _gl_header_sel_cb, NULL); + assertm_if(NULL == manager_object->item_header, "NULL!!"); + + common_utils_add_dialogue_separator(genlist, "dialogue/separator"); + + __COMMON_FUNC_EXIT__; + return TRUE; +} + +static int viewer_manager_bottom_create(Evas_Object* genlist) +{ + __COMMON_FUNC_ENTER__; + assertm_if(NULL == genlist, "NULL!!"); + + bottom_itc_text.item_style = "dialogue/1text.1icon"; + bottom_itc_text.func.text_get = _gl_bottom_text_get; + bottom_itc_text.func.content_get = _gl_bottom_content_get; + bottom_itc_text.func.state_get = NULL; + bottom_itc_text.func.del = NULL; + + bottom_itc_helper_text.item_style = "multiline/1text"; + bottom_itc_helper_text.func.text_get = _gl_bottom_helper_text_get; + bottom_itc_helper_text.func.content_get = NULL; + bottom_itc_helper_text.func.state_get = NULL; + bottom_itc_helper_text.func.del = NULL; + + elm_genlist_item_append(genlist, &bottom_itc_text, NULL, NULL, ELM_GENLIST_ITEM_NONE, _gl_bottom_sel_cb, NULL); + + elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); + Elm_Object_Item *item = elm_genlist_item_append(genlist, &bottom_itc_helper_text, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + + common_utils_add_dialogue_separator(genlist, "dialogue/separator"); + + __COMMON_FUNC_EXIT__; + + return TRUE; +} + +static int viewer_manager_hidden_button_create(Evas_Object* genlist) +{ + __COMMON_FUNC_ENTER__; + + if (NULL != manager_object->item_sep_above_hidden_button || + NULL != manager_object->item_sep_below_hidden_button || + NULL != manager_object->item_hidden_btn) { + + __COMMON_FUNC_EXIT__; + return FALSE; + } + + assertm_if(NULL == genlist, "NULL!!"); + + hidden_button_itc.item_style = "1icon"; + hidden_button_itc.func.text_get = NULL; + hidden_button_itc.func.content_get = _gl_hidden_btn_content_get; + hidden_button_itc.func.state_get = NULL; + hidden_button_itc.func.del = NULL; + + manager_object->item_sep_above_hidden_button = common_utils_add_dialogue_separator(genlist, "dialogue/separator"); + + manager_object->item_hidden_btn = elm_genlist_item_append(genlist, &hidden_button_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + assertm_if(NULL == manager_object->item_hidden_btn, "NULL!!"); + + manager_object->item_sep_below_hidden_button = common_utils_add_dialogue_separator(genlist, "dialogue/separator"); + + __COMMON_FUNC_EXIT__; + return TRUE; +} + +static Eina_Bool viewer_manager_scan_button_set(Eina_Bool show_state) +{ + __COMMON_FUNC_ENTER__; + + if(NULL == manager_object) { + __COMMON_FUNC_EXIT__; + return EINA_FALSE; + } + + if (show_state == EINA_TRUE) { + Evas_Object* navi_frame = viewer_manager_get_naviframe(); + view_manager_view_type_t top_view_id = (view_manager_view_type_t)evas_object_data_get(navi_frame, SCREEN_TYPE_ID_KEY); + if(VIEW_MANAGER_VIEW_TYPE_MAIN == top_view_id) { + INFO_LOG(UG_NAME_NORMAL,"Show directly"); + elm_object_item_disabled_set((Elm_Object_Item *)manager_object->scan_button, EINA_FALSE); + } else { + INFO_LOG(UG_NAME_NORMAL,"Show reserve"); + } + } else if (show_state == EINA_FALSE) { + elm_object_item_disabled_set((Elm_Object_Item *)manager_object->scan_button, EINA_TRUE); + } + + __COMMON_FUNC_EXIT__; + + return EINA_TRUE; +} + +Evas_Object* viewer_manager_create(Evas_Object* _parent) +{ + __COMMON_FUNC_ENTER__; + + if (manager_object != NULL || _parent == NULL) { + __COMMON_FUNC_EXIT__; + return NULL; + } + + manager_object = g_new0(viewer_manager_object, 1); + + /* Add Full Layout */ + Evas_Object *layout = elm_layout_add(_parent); + elm_layout_theme_set(layout, "layout", "application", "default"); + evas_object_size_hint_weight_set(layout, + EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(_parent, layout); + edje_object_signal_emit(elm_layout_edje_get(layout), + "elm,state,show,content", "elm"); + edje_object_signal_emit(elm_layout_edje_get(layout), + "elm,bg,show,group_list", "elm"); + edje_object_signal_emit(elm_layout_edje_get(layout), + "elm,state,show,indicator", "elm"); + + /* Add Naviframe */ + manager_object->nav = elm_naviframe_add(layout); + elm_object_part_content_set(layout, + "elm.swallow.content", manager_object->nav); + + /* Add MainView Layout */ + Evas_Object* view_content = elm_layout_add(manager_object->nav); + elm_layout_theme_set(view_content, "standard", "window", "integration"); + edje_object_signal_emit(elm_layout_edje_get(view_content), + "elm,state,show,content", "elm"); + edje_object_signal_emit(elm_layout_edje_get(view_content), + "elm,bg,show,group_list", "elm"); + + /* Add Genlist */ + manager_object->list = viewer_list_create(view_content); + assertm_if(NULL == manager_object->list, "manager_object->list is NULL!!"); + viewer_manager_header_create(manager_object->list); + viewer_manager_bottom_create(manager_object->list); + + elm_object_part_content_set(view_content, + "elm.swallow.content", manager_object->list); + + if (ug_app_state->ug_type == UG_VIEW_SETUP_WIZARD) { + Elm_Object_Item* navi_it = elm_naviframe_item_push(manager_object->nav, + sc(PACKAGE, I18N_TYPE_Wi_Fi), NULL, NULL, view_content, NULL); + evas_object_data_set(manager_object->nav, SCREEN_TYPE_ID_KEY, + (void *)VIEW_MANAGER_VIEW_TYPE_MAIN); + evas_object_smart_callback_add(manager_object->nav, + "transition,finished", _hide_finished_cb, navi_it); + + manager_object->prev_button = elm_button_add(manager_object->nav); + elm_object_style_set(manager_object->prev_button, + "naviframe/toolbar/default"); + elm_object_text_set(manager_object->prev_button, + ug_app_state->lbutton_setup_wizard_prev); + evas_object_smart_callback_add(manager_object->prev_button, + "clicked", _lbutton_click_cb, NULL); + elm_object_item_part_content_set(navi_it, "toolbar_button1", + manager_object->prev_button); + + manager_object->next_button = elm_button_add(manager_object->nav); + elm_object_style_set(manager_object->next_button, + "naviframe/toolbar/default"); + elm_object_text_set(manager_object->next_button, + ug_app_state->rbutton_setup_wizard_next); + evas_object_smart_callback_add(manager_object->next_button, + "clicked", _rbutton_click_cb, NULL); + elm_object_item_part_content_set(navi_it, "toolbar_button2", + manager_object->next_button); + } else { + Evas_Object* back_btn = elm_button_add(manager_object->nav); + elm_object_style_set(back_btn, "naviframe/back_btn/default"); + evas_object_smart_callback_add(back_btn, "clicked", _back_sk_cb, NULL); + + Elm_Object_Item* navi_it = elm_naviframe_item_push(manager_object->nav, + sc(PACKAGE, I18N_TYPE_Wi_Fi), back_btn, NULL, + view_content, NULL); + evas_object_data_set(manager_object->nav, SCREEN_TYPE_ID_KEY, + (void *)VIEW_MANAGER_VIEW_TYPE_MAIN); + evas_object_smart_callback_add(manager_object->nav, + "transition,finished", _hide_finished_cb, navi_it); + + manager_object->scan_button = elm_button_add(manager_object->nav); + elm_object_style_set(manager_object->scan_button, + "naviframe/toolbar/default"); + elm_object_text_set(manager_object->scan_button, + sc(PACKAGE, I18N_TYPE_Scan)); + evas_object_smart_callback_add(manager_object->scan_button, + "clicked", __refresh_scan_callback, NULL); + elm_object_item_part_content_set(navi_it, + "toolbar_button1", manager_object->scan_button); + } + + evas_object_show(layout); + + __COMMON_FUNC_EXIT__; + return layout; +} + +Eina_Bool viewer_manager_destroy() +{ + __COMMON_FUNC_ENTER__; + + viewer_list_destroy(); + if (manager_object) { + if (manager_object->header_text) { + g_free(manager_object->header_text); + manager_object->header_text = NULL; + } + g_free(manager_object); + manager_object = NULL; + } + __COMMON_FUNC_EXIT__; + return EINA_TRUE; +} + +Eina_Bool viewer_manager_show(VIEWER_WINSETS winset) +{ + __COMMON_FUNC_ENTER__; + + assertm_if(NULL == manager_object, "NULL!!"); + + switch (winset) { + case VIEWER_WINSET_SEARCHING: + viewer_manager_scan_button_set(EINA_FALSE); + viewer_list_item_disable_all(); + break; + case VIEWER_WINSET_SUB_CONTENTS: + assertm_if(NULL == manager_object->list, "NULL!!"); + viewer_list_title_item_set(); + viewer_manager_hidden_button_create(manager_object->list); + break; + } + + __COMMON_FUNC_EXIT__; + return EINA_TRUE; +} + +Eina_Bool viewer_manager_hide(VIEWER_WINSETS winset) +{ + __COMMON_FUNC_ENTER__; + + switch (winset) { + case VIEWER_WINSET_SEARCHING: + /* searching view */ + viewer_manager_scan_button_set(EINA_TRUE); + viewer_list_item_enable_all(); + break; + case VIEWER_WINSET_SUB_CONTENTS: + /* hidden AP and WPS PBC */ + if (ug_app_state->passpopup) { + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + } + if (ug_app_state->eap_view) { + eap_view_close(ug_app_state->eap_view); + ug_app_state->eap_view = NULL; + } + viewer_list_title_item_del(); + assertm_if(NULL == manager_object->item_sep_above_hidden_button, "NULL!!"); + assertm_if(NULL == manager_object->item_sep_below_hidden_button, "NULL!!"); + assertm_if(NULL == manager_object->item_hidden_btn, "NULL!!"); + elm_object_item_del(manager_object->item_sep_above_hidden_button); + elm_object_item_del(manager_object->item_sep_below_hidden_button); + elm_object_item_del(manager_object->item_hidden_btn); + manager_object->item_sep_above_hidden_button = NULL; + manager_object->item_sep_below_hidden_button = NULL; + manager_object->item_hidden_btn = NULL; + break; + default: + /* Err */ + assertm_if(TRUE, "Err!!"); + break; + } + + __COMMON_FUNC_EXIT__; + return EINA_TRUE; +} + +Eina_Bool viewer_manager_genlist_item_update(Elm_Object_Item* item) +{ + __COMMON_FUNC_ENTER__; + if (item == NULL) { + __COMMON_FUNC_EXIT__; + return EINA_FALSE; + } + + elm_genlist_item_update(item); + + __COMMON_FUNC_EXIT__; + return EINA_FALSE; +} + +int viewer_manager_hidden_disable_set(int mode) +{ + __COMMON_FUNC_ENTER__; + assertm_if(NULL == manager_object->item_hidden_btn, "NULL!!"); + + elm_object_item_disabled_set(manager_object->item_hidden_btn, mode); + elm_genlist_item_update(manager_object->item_hidden_btn); + + __COMMON_FUNC_EXIT__; + return TRUE; +} + +static Eina_Bool _gl_bring_in(void *data) +{ + if (manager_object == NULL) + return ECORE_CALLBACK_CANCEL; + + if (manager_object->item_header == NULL) + return ECORE_CALLBACK_CANCEL; + + elm_genlist_item_bring_in(manager_object->item_header, ELM_GENLIST_ITEM_SCROLLTO_IN); + return ECORE_CALLBACK_CANCEL; +} + +void viewer_manager_scroll_to_top() +{ + if (manager_object->item_header == NULL) + return; + + ecore_idler_add((Ecore_Task_Cb)_gl_bring_in, NULL); +} + +static void viewer_manager_setup_wizard_button_controller(HEADER_MODES mode) +{ + switch (mode) { + case HEADER_MODE_OFF: + case HEADER_MODE_ON: + if (manager_object->next_button != NULL && ug_app_state->rbutton_setup_wizard_skip != NULL) + elm_object_text_set(manager_object->next_button, ug_app_state->rbutton_setup_wizard_skip); + break; + case HEADER_MODE_CONNECTED: + if (manager_object->next_button != NULL && ug_app_state->rbutton_setup_wizard_next != NULL) + elm_object_text_set(manager_object->next_button, ug_app_state->rbutton_setup_wizard_next); + break; + default: + break; + } +} + +int viewer_manager_header_mode_set(HEADER_MODES mode) +{ + __COMMON_FUNC_ENTER__; + + assertm_if(NULL == manager_object, "NULL!!"); + assertm_if(NULL == manager_object->item_header, "NULL!!"); + assertm_if(HEADER_MODE_OFF > mode || HEADER_MODE_MAX <= mode, "Err!!"); + + if (manager_object->header_mode == mode) { + return FALSE; + } + + DEBUG_LOG(UG_NAME_NORMAL, "Header mode changing from %d --> %d", manager_object->header_mode, mode); + manager_object->header_mode = mode; + if (manager_object->header_text) { + g_free(manager_object->header_text); + manager_object->header_text = NULL; + } + + switch (mode) { + case HEADER_MODE_OFF: + case HEADER_MODE_ON: + case HEADER_MODE_CONNECTED: + viewer_manager_hidden_disable_set(FALSE); + viewer_manager_scan_button_set(EINA_TRUE); + manager_object->header_text = g_strdup(sc(PACKAGE, I18N_TYPE_Wi_Fi)); + break; + case HEADER_MODE_ACTIVATING: + viewer_manager_hidden_disable_set(TRUE); + manager_object->header_text = g_strdup(sc(PACKAGE, I18N_TYPE_Activating_WiFi)); + break; + case HEADER_MODE_DEACTIVATING: + viewer_manager_hidden_disable_set(TRUE); + manager_object->header_text = g_strdup(sc(PACKAGE, I18N_TYPE_Deactivating)); + break; + case HEADER_MODE_CONNECTING: + case HEADER_MODE_DISCONNECTING: + case HEADER_MODE_CANCEL_CONNECTING: + case HEADER_MODE_SEARCHING: + viewer_manager_hidden_disable_set(TRUE); + manager_object->header_text = g_strdup(sc(PACKAGE, I18N_TYPE_Wi_Fi)); + break; + default: + assertm_if(TRUE, "Err!!"); + break; + } + + + elm_genlist_item_update(manager_object->item_header); + viewer_list_title_item_update(); + + + if (ug_app_state->ug_type == UG_VIEW_SETUP_WIZARD) { + viewer_manager_setup_wizard_button_controller(mode); + } + + __COMMON_FUNC_EXIT__; + + return TRUE; +} + +HEADER_MODES viewer_manager_header_mode_get(void){ + __COMMON_FUNC_ENTER__; + assertm_if(HEADER_MODE_OFF > manager_object->header_mode || + HEADER_MODE_MAX <= manager_object->header_mode, "Err!"); + __COMMON_FUNC_EXIT__; + + return manager_object->header_mode; +} + +Evas_Object* viewer_manager_get_naviframe() +{ + return manager_object->nav; +} + +void viewer_manager_update_ap_handle(Elm_Object_Item *item, wifi_ap_h ap) +{ + if (!item || !ap) { + return; + } + + ug_genlist_data_t *gdata = elm_object_item_data_get(item); + if (!gdata) { + return; + } + wifi_device_info_t *wifi_device = gdata->device_info; + if (!wifi_device) { + return; + } + wifi_ap_h ap_to_destroy = wifi_device->ap; + if (WIFI_ERROR_NONE == wifi_ap_clone(&(wifi_device->ap), ap)) { + wifi_ap_destroy(ap_to_destroy); + } + + return; +} + +Elm_Object_Item *viewer_manager_move_item_to_top(Elm_Object_Item *old_item) +{ + __COMMON_FUNC_ENTER__; + Elm_Object_Item *new_item = NULL; + Elm_Object_Item *first_item = viewer_list_get_first_item(); + ug_genlist_data_t *gdata = NULL; + wifi_device_info_t *old_wifi_device = NULL; + + if (!old_item || !first_item) { + __COMMON_FUNC_EXIT__; + return NULL; + } + + gdata = elm_object_item_data_get(old_item); + if (!gdata || !gdata->device_info) { + __COMMON_FUNC_EXIT__; + return NULL; + } + old_wifi_device = gdata->device_info; + + if (old_item == first_item) { + __COMMON_FUNC_EXIT__; + return old_item; + } + + new_item = viewer_list_item_insert_after(old_wifi_device->ap, NULL); + viewer_list_item_del(old_item); + + __COMMON_FUNC_EXIT__; + return new_item; +} + +void viewer_manager_update_connected_ap_sig_str(void) +{ + wifi_ap_h ap; + int ret = wifi_get_connected_ap(&ap); + if (WIFI_ERROR_NONE != ret) { + return; + } + Elm_Object_Item *item = item_get_for_ap(ap); + if (!item) { + wifi_ap_destroy(ap); + return; + } + + ug_genlist_data_t* gdata = elm_object_item_data_get(item); + if (gdata && gdata->device_info) { + int rssi = 0; + if (WIFI_ERROR_NONE != wifi_ap_get_rssi(ap, &rssi)) { + wifi_ap_destroy(ap); + return; + } else if (gdata->device_info->rssi != rssi) { + gdata->device_info->rssi = rssi; + g_free(gdata->device_info->ap_image_path); + gdata->device_info->ap_image_path = common_utils_get_device_icon(WIFI_APP_IMAGE_DIR, gdata->device_info); + elm_genlist_item_update(item); + } + } + wifi_ap_destroy(ap); +} + +static bool wifi_update_list_for_each_ap(wifi_ap_h ap, void *user_data) +{ + view_manager_list_update_info_t *update_info = (view_manager_list_update_info_t *)user_data; + Elm_Object_Item *item;; + + item = viewer_list_item_insert_after(ap, update_info->last_appended_item); + if (item) { + update_info->last_appended_item = item; + update_info->total_items_added++; + } + + return true; +} + +static void viewer_manager_update_list_all() +{ + Elm_Object_Item *item = NULL; + + __COMMON_FUNC_ENTER__; + + view_manager_list_update_info_t update_info; + memset(&update_info, 0, sizeof(update_info)); + + wifi_foreach_found_aps (wifi_update_list_for_each_ap, &update_info); + DEBUG_LOG(UG_NAME_NORMAL, "total items added = %d", update_info.total_items_added); + + if (0 == update_info.total_items_added) { + /* if there is no scan_data, generate No-AP item */ + item = viewer_list_item_insert_after(NULL, NULL); + if (item) { + elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + } + } + + __COMMON_FUNC_EXIT__; +} + +Eina_Bool viewer_manager_refresh(void) +{ + INFO_LOG(UG_NAME_SCAN, "UI update start"); + int profile_state; + + if (manager_object == NULL) + return EINA_FALSE; + + /* Remove the list */ + viewer_list_item_clear(); + + profile_state = wlan_manager_state_get(); + if (WLAN_MANAGER_ERROR == profile_state || WLAN_MANAGER_OFF == profile_state) { + /* Some body requested to refresh the list while the WLAN manager is OFF or Unable to get the profile state */ + INFO_LOG(UG_NAME_ERR, "Refresh requested in wrong state or Unable to get the state. Profile state = %d !!! ", profile_state); + viewer_manager_header_mode_set(HEADER_MODE_OFF); + return EINA_FALSE; + } + + wifi_ap_h ap = wlan_manager_get_ap_with_state(profile_state); + viewer_manager_update_list_all(); + + if (WLAN_MANAGER_CONNECTING == profile_state) { + INFO_LOG(UG_NAME_NORMAL, "Profile is connecting..."); + Elm_Object_Item* target_item = item_get_for_ap(ap); + viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); + viewer_list_item_radio_mode_set(target_item, VIEWER_ITEM_RADIO_MODE_CONNECTING); + } else if (WLAN_MANAGER_CONNECTED == profile_state) { + INFO_LOG(UG_NAME_NORMAL, "Profile is connected"); + Elm_Object_Item* target_item = item_get_for_ap(ap); + target_item = viewer_manager_move_item_to_top(target_item); + viewer_manager_header_mode_set(HEADER_MODE_CONNECTED); + viewer_list_item_radio_mode_set(target_item, VIEWER_ITEM_RADIO_MODE_CONNECTED); + } else if (WLAN_MANAGER_DISCONNECTING == profile_state) { + INFO_LOG(UG_NAME_NORMAL, "Profile is disconnecting"); + Elm_Object_Item* target_item = item_get_for_ap(ap); + viewer_manager_header_mode_set(HEADER_MODE_DISCONNECTING); + viewer_list_item_radio_mode_set(target_item, VIEWER_ITEM_RADIO_MODE_DISCONNECTING); + } else { + INFO_LOG(UG_NAME_NORMAL, "Profile state = %d", profile_state); + viewer_manager_header_mode_set(HEADER_MODE_ON); + } + wifi_ap_destroy(ap); + INFO_LOG(UG_NAME_SCAN, "UI update finish"); + + return EINA_TRUE; +} + +static void hidden_ap_connect_ok_cb (void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + + hidden_ap_data_t *hidden_ap_data = (hidden_ap_data_t *)data; + if (!hidden_ap_data) + return; + + char* szPassword = NULL; + wifi_ap_h ap; + int ret = wifi_ap_create(hidden_ap_data->ssid, &ap); + if (WIFI_ERROR_NONE != ret) { + ERROR_LOG(UG_NAME_ERR, "Failed to create an AP handle. Err = %d", ret); + return; + } + INFO_LOG(UG_NAME_NORMAL, "Hidden AP[%s]. Sec mode = %d. Connect ok cb", hidden_ap_data->ssid, hidden_ap_data->sec_mode); + + switch (hidden_ap_data->sec_mode) { + case WLAN_SEC_MODE_NONE: + INFO_LOG(UG_NAME_NORMAL, "This hidden AP is Open. event info = %x; passpopup = %x", event_info, ug_app_state->passpopup); + wifi_ap_set_security_type(ap, WIFI_SECURITY_TYPE_NONE); + evas_object_del(hidden_ap_data->confirmation_popup); + hidden_ap_data->confirmation_popup = NULL; + break; + + case WLAN_SEC_MODE_WEP: + case WLAN_SEC_MODE_WPA_PSK: + case WLAN_SEC_MODE_WPA2_PSK: + szPassword = common_pswd_popup_get_txt(ug_app_state->passpopup); + INFO_LOG(UG_NAME_NORMAL, "Hidden AP paswd = [%s]", szPassword); + if (WLAN_SEC_MODE_WEP == hidden_ap_data->sec_mode) { + wifi_ap_set_security_type(ap, WIFI_SECURITY_TYPE_WEP); + } else if (WLAN_SEC_MODE_WPA_PSK == hidden_ap_data->sec_mode) { + wifi_ap_set_security_type(ap, WIFI_SECURITY_TYPE_WPA_PSK); + } else { + wifi_ap_set_security_type(ap, WIFI_SECURITY_TYPE_WPA2_PSK); + } + wifi_ap_set_passphrase(ap, szPassword); + g_free(szPassword); + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + break; + + default: + INFO_LOG(UG_NAME_NORMAL, "Fatal: Unknown Sec mode: %d", hidden_ap_data->sec_mode); + goto hidden_ap_connect_end; + } + + wlan_manager_connect_with_wifi_info(ap); + +hidden_ap_connect_end: + wifi_ap_destroy(ap); + g_free(hidden_ap_data->ssid); + g_free(hidden_ap_data); + __COMMON_FUNC_EXIT__; + return; +} + +static void hidden_ap_connect_cacel_cb (void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + hidden_ap_data_t *hidden_ap_data = (hidden_ap_data_t *)data; + if (!hidden_ap_data) + return; + + switch (hidden_ap_data->sec_mode) { + case WLAN_SEC_MODE_NONE: + INFO_LOG(UG_NAME_NORMAL, "This hidden AP is Open"); + evas_object_del(hidden_ap_data->confirmation_popup); + hidden_ap_data->confirmation_popup = NULL; + break; + + case WLAN_SEC_MODE_WEP: + case WLAN_SEC_MODE_WPA_PSK: + case WLAN_SEC_MODE_WPA2_PSK: + INFO_LOG(UG_NAME_NORMAL, "Hidden AP Secured"); + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + break; + + default: + INFO_LOG(UG_NAME_NORMAL, "Fatal: Unknown Sec mode: %d", hidden_ap_data->sec_mode); + break; + } + + g_free(hidden_ap_data->ssid); + g_free(hidden_ap_data); + __COMMON_FUNC_EXIT__; + return; +} + +void viewer_manager_specific_scan_response_hlr(GSList *bss_info_list, void *user_data) +{ + hidden_ap_data_t *hidden_ap_data = NULL; + const char *ssid = (const char *)user_data; + wlan_security_mode_type_t sec_mode; + + if (!ug_app_state->hidden_ap_popup) { + ERROR_LOG(UG_NAME_RESP, "Popup is already destroyed \n"); + g_free(user_data); + return; + } + + if (!ssid) { + ERROR_LOG(UG_NAME_RESP, "SSID is empty \n"); + view_hidden_ap_popup_destroy(ug_app_state->hidden_ap_popup); + ug_app_state->hidden_ap_popup = NULL; + return; + } + + INFO_LOG(UG_NAME_RESP, "Specific scan complete response received for AP[%s]", ssid); + int ap_count = g_slist_length(bss_info_list); + net_wifi_connection_info_t *bss_info = NULL; + + if (ap_count == 1) { + bss_info = g_slist_nth_data(bss_info_list, 0); + if (!bss_info || g_strcmp0(ssid, bss_info->essid)) { + INFO_LOG(UG_NAME_RESP, "Fatal: Bss info is NULL OR response received for wrong ssid. ", ssid); + /* Bss info not available or Response recieved for wrong ssid */ + ap_count = 0; + } else { + sec_mode = bss_info->security_info.sec_mode; + } + } + + if (ap_count == 1) { + /* Only if there is one AP found then we need Users further action */ + + switch (sec_mode) { + case WLAN_SEC_MODE_NONE: + INFO_LOG(UG_NAME_NORMAL, "One AP item with ssid[%s] found. Its security is Open.", ssid); + /* This is an Open AP. Ask for confirmation to connect. */ + hidden_ap_data = g_new0(hidden_ap_data_t, 1); + hidden_ap_data->sec_mode = WLAN_SEC_MODE_NONE; + hidden_ap_data->ssid = g_strdup(ssid); + + popup_btn_info_t popup_btn_data; + memset(&popup_btn_data, 0, sizeof(popup_btn_data)); + popup_btn_data.info_txt = "Wi-Fi network detected. Connect?"; + popup_btn_data.btn1_cb = hidden_ap_connect_ok_cb; + popup_btn_data.btn2_cb = hidden_ap_connect_cacel_cb; + popup_btn_data.btn2_data = popup_btn_data.btn1_data = hidden_ap_data; + popup_btn_data.btn1_txt = sc(PACKAGE, I18N_TYPE_Connect); + popup_btn_data.btn2_txt = sc(PACKAGE, I18N_TYPE_Cancel); + hidden_ap_data->confirmation_popup = common_utils_show_info_popup(ug_app_state->layout_main, &popup_btn_data); + break; + case WLAN_SEC_MODE_IEEE8021X: + INFO_LOG(UG_NAME_NORMAL, "One AP item with ssid[%s] found. Its security is EAP.", ssid); + /* This is a EAP secured AP. Ask for confirmation to connect. */ + Evas_Object* navi_frame = viewer_manager_get_naviframe(); + wifi_device_info_t device_info; + wifi_ap_h ap; + + wifi_ap_create(ssid, &ap); + wifi_ap_set_security_type(ap, common_utils_get_sec_mode(sec_mode)); + + memset(&device_info, 0, sizeof(device_info)); + device_info.security_mode = sec_mode; + device_info.ssid = (char *)ssid; + device_info.ap = ap; + ug_app_state->eap_view = create_eap_connect_view(ug_app_state->layout_main, navi_frame, PACKAGE, &device_info); + wifi_ap_destroy(ap); + break; + case WLAN_SEC_MODE_WEP: + case WLAN_SEC_MODE_WPA_PSK: + case WLAN_SEC_MODE_WPA2_PSK: + INFO_LOG(UG_NAME_NORMAL, "One AP item with ssid[%s] found. Its security is %d", ssid, sec_mode); + /* This is a WEP/WPA/WPA-2 secured AP. Ask for confirmation to connect. */ + hidden_ap_data = g_new0(hidden_ap_data_t, 1); + pswd_popup_create_req_data_t popup_info; + memset(&popup_info, 0, sizeof(pswd_popup_create_req_data_t)); + hidden_ap_data->sec_mode = sec_mode; + hidden_ap_data->ssid = g_strdup(ssid); + popup_info.title = (char *)ssid; + popup_info.ok_cb = hidden_ap_connect_ok_cb; + popup_info.cancel_cb = hidden_ap_connect_cacel_cb; + popup_info.show_wps_btn = FALSE; + popup_info.wps_btn_cb = NULL; + popup_info.cb_data = hidden_ap_data; + popup_info.ap = NULL; + INFO_LOG(UG_NAME_NORMAL, "Going to create a popup. ug_app_state = 0x%x", ug_app_state); + ug_app_state->passpopup = common_pswd_popup_create(ug_app_state->layout_main, PACKAGE, &popup_info); + INFO_LOG(UG_NAME_NORMAL, "After create a popup"); + if (ug_app_state->passpopup == NULL) { + INFO_LOG(UG_NAME_ERR, "pass popup create failed !"); + } + break; + default: + INFO_LOG(UG_NAME_NORMAL, "Unkown security mode: %d", sec_mode); + break; + } + } else if (ap_count == 0) { + INFO_LOG(UG_NAME_NORMAL, "No AP item with ssid[%s] found", ssid); + char *disp_msg = g_strdup_printf("Unable to find %s", ssid); + common_utils_show_info_ok_popup(ug_app_state->layout_main, PACKAGE, disp_msg); + g_free(disp_msg); + } else { + INFO_LOG(UG_NAME_NORMAL, "More than one AP items with ssid[%s] found", ssid); + } + + /* If the hidden AP found on first and second scan OR not found even after first and second scan then delete the popup */ + g_free(user_data); + view_hidden_ap_popup_destroy(ug_app_state->hidden_ap_popup); + ug_app_state->hidden_ap_popup = NULL; + return; +} diff --git a/sources/ui-gadget/viewers-layout/wifi_viewer_list.c b/sources/ui-gadget/viewers-layout/wifi_viewer_list.c new file mode 100644 index 0000000..7255874 --- /dev/null +++ b/sources/ui-gadget/viewers-layout/wifi_viewer_list.c @@ -0,0 +1,840 @@ +/* + * Wi-Fi + * + * 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 "common.h" +#include "common_utils.h" +#include "ug_wifi.h" +#include "wlan_manager.h" +#include "view_detail.h" +#include "viewer_list.h" +#include "viewer_manager.h" +#include "appcoreWrapper.h" +#include "i18nmanager.h" + +#define LIST_ITEM_CONNECTED_AP_FONT_SIZE 28 +#define LIST_ITEM_CONNECTED_AP_FONT_COLOR "#3B73B6" +#define FIRST_ITEM_NUMBER 8 + + +static Evas_Object* viewer_list = NULL; +static Elm_Object_Item* first_item = NULL; +static Elm_Object_Item* last_item = NULL; + +static Elm_Genlist_Item_Class itc; +static Elm_Genlist_Item_Class grouptitle_itc; +static Elm_Object_Item* grouptitle = NULL; + +extern wifi_appdata *ug_app_state; + +void list_select_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + + INFO_LOG(UG_NAME_NORMAL,"=================\n"); + INFO_LOG(UG_NAME_NORMAL," %s %d\n", __func__ ,__LINE__); + INFO_LOG(UG_NAME_NORMAL,"=================\n"); + + if (data == NULL) { + __COMMON_FUNC_EXIT__; + return; + } + + wifi_device_info_t *device_info = (wifi_device_info_t *)data; + + DEBUG_LOG(UG_NAME_NORMAL, "ssid [%s]", device_info->ssid); + + view_detail(device_info, ug_app_state->layout_main); + + __COMMON_FUNC_EXIT__; +} + +static char* _gl_listview_text_get(void *data, Evas_Object *obj, const char *part) +{ + char* det = NULL; + assertm_if(NULL == obj, "NULL!!"); + assertm_if(NULL == part, "NULL!!"); + assertm_if(NULL == data, "NULL!!"); + + ug_genlist_data_t* gdata = (ug_genlist_data_t*) data; + assertm_if(NULL == gdata, "NULL!!"); + assertm_if(NULL == gdata->device_info, "NULL!!"); + assertm_if(NULL == gdata->device_info->ssid, "NULL!!"); + assertm_if(NULL == gdata->device_info->ap_status_txt, "NULL!!"); + + if (!strncmp(part, "elm.text.1", strlen(part))) { + det = g_strdup(gdata->device_info->ssid); + assertm_if(NULL == det, "NULL!!"); + } else if (!strncmp(part, "elm.text.2", strlen(part))) { + det = g_strdup(gdata->device_info->ap_status_txt); + assertm_if(NULL == det, "NULL!!"); + } + return det; +} + +static Evas_Object *_gl_listview_content_get(void *data, Evas_Object *obj, const char *part) +{ + assertm_if(NULL == obj, "NULL!!"); + assertm_if(NULL == data, "NULL!!"); + assertm_if(NULL == part, "NULL!!"); + + ug_genlist_data_t* gdata = (ug_genlist_data_t*) data; + Evas_Object* icon = NULL; + + if (gdata->device_info->ap_image_path == NULL) { + /* if there is no ap_image_path (NO AP Found situation) */ + DEBUG_LOG(UG_NAME_ERR, "Fatal: Image path is NULL"); + } else if (!strncmp(part, "elm.icon.1", strlen(part))) { + /* for strength */ + icon = elm_image_add(obj); + assertm_if(NULL == icon, "NULL!!"); + elm_image_file_set(icon, gdata->device_info->ap_image_path, NULL); + } else if (!strncmp(part, "elm.icon.2", strlen(part))) { + if (VIEWER_ITEM_RADIO_MODE_CONNECTING == gdata->radio_mode) { + icon = elm_progressbar_add(obj); + elm_object_style_set(icon, "list_process"); + evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, 0.5); + evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_progressbar_pulse(icon, TRUE); + } else { + icon = elm_button_add(obj); + assertm_if(NULL == icon, "NULL!!"); + elm_object_style_set(icon, "reveal"); + evas_object_smart_callback_add(icon, "clicked", (Evas_Smart_Cb)list_select_cb, gdata->device_info); + evas_object_propagate_events_set(icon, EINA_FALSE); + } + } + + return icon; +} + +static void _gl_listview_del(void* data, Evas_Object* obj) +{ + if (data == NULL) + return; + + ug_genlist_data_t* gdata = (ug_genlist_data_t*) data; + assertm_if(NULL == gdata->device_info->ssid, "NULL!!"); + + DEBUG_LOG(UG_NAME_NORMAL, "del target ssid:[%s]", gdata->device_info->ssid); + + g_free(gdata->device_info->ap_image_path); + g_free(gdata->device_info->ap_status_txt); + g_free(gdata->device_info->ssid); + wifi_ap_destroy(gdata->device_info->ap); + g_free(gdata->device_info); + g_free(gdata); + + return; +} + +static char* _gl_text_title_get(void *data, Evas_Object *obj, const char *part) +{ + assertm_if(NULL == obj, "NULL!!"); + assertm_if(NULL == part, "NULL!!"); + + return (char*) g_strdup(sc(PACKAGE, I18N_TYPE_WiFi_network)); +} + +static Evas_Object *_gl_content_title_get(void *data, Evas_Object *obj, const char *part) +{ + __COMMON_FUNC_ENTER__; + Evas_Object *title_progressbar = NULL; + if (HEADER_MODE_SEARCHING == viewer_manager_header_mode_get()) { + if (!strcmp(part, "elm.icon")) { + title_progressbar = elm_progressbar_add(obj); + elm_object_style_set(title_progressbar, "list_process_small"); + elm_progressbar_horizontal_set(title_progressbar, EINA_TRUE); + elm_progressbar_pulse(title_progressbar, EINA_TRUE); + } + } + __COMMON_FUNC_EXIT__; + return title_progressbar; +} + + +Elm_Object_Item* viewer_list_get_first_item(void) +{ + return first_item; +} + +static Elm_Object_Item* viewer_list_get_last_item(void) +{ + return last_item; +} + +static void _gl_realized(void *data, Evas_Object *obj, void *event_info) +{ + HEADER_MODES header_mode = viewer_manager_header_mode_get(); + + if (header_mode == HEADER_MODE_ACTIVATING || + header_mode == HEADER_MODE_DEACTIVATING || + header_mode == HEADER_MODE_OFF) + return ; + + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + int index = (int)elm_genlist_item_index_get(item); + int first_item_index = (int)elm_genlist_item_index_get(viewer_list_get_first_item()); + int last_item_index = (int)elm_genlist_item_index_get(viewer_list_get_last_item()); + + if (last_item_index == FIRST_ITEM_NUMBER) + return ; + + if (first_item_index == -1) { + int group_index = (int)elm_genlist_item_index_get(grouptitle); + first_item_index = group_index+1; + } + + if (first_item_index <= index) { + if(index == first_item_index) + elm_object_item_signal_emit(item, "elm,state,top", ""); + else if (index == last_item_index) + elm_object_item_signal_emit(item, "elm,state,bottom", ""); + else + elm_object_item_signal_emit(item, "elm,state,center", ""); + } + + elm_genlist_item_update(item); + + return; +} + +static void _popup_cancel_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + if (!ug_app_state->passpopup) { + return; + } + + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + __COMMON_FUNC_EXIT__; +} + +static void _popup_ok_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + if (!ug_app_state->passpopup) { + return; + } + + wifi_security_type_e sec_mode = 0; + wifi_ap_h ap = common_pswd_popup_get_ap(ug_app_state->passpopup); + int ret = WLAN_MANAGER_ERR_NONE; + int nLen = 0; + const char* szPassword = common_pswd_popup_get_txt(ug_app_state->passpopup); + nLen = strlen(szPassword); + INFO_LOG(UG_NAME_NORMAL, "password = [%s]", szPassword); + + wifi_ap_get_security_type(ap, &sec_mode); + switch (sec_mode) { + case WIFI_SECURITY_TYPE_WEP: + + if (nLen != 5 && nLen != 13 && nLen != 26 && nLen != 10) { + winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_WEP_PSWD_LEN_ERROR, NULL); + goto popup_ok_cb_exit; + } + break; + + case WIFI_SECURITY_TYPE_WPA_PSK: + case WIFI_SECURITY_TYPE_WPA2_PSK: + + if (nLen < 8 || nLen > 63) { + winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_WPA_PSWD_LEN_ERROR, NULL); + goto popup_ok_cb_exit; + } + break; + + default: + ERROR_LOG(UG_NAME_SCAN, "Fatal: Wrong security mode : %d", sec_mode); + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + goto popup_ok_cb_exit; + } + + INFO_LOG(UG_NAME_SCAN, "connect with password comp"); + ret = wlan_manager_connect_with_password(ap, szPassword); + if (WLAN_MANAGER_ERR_NONE == ret) { + viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); + } else { + ERROR_LOG(UG_NAME_SCAN, "wlan error %d", ret); + viewer_manager_header_mode_set(HEADER_MODE_ON); + } + + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + + +popup_ok_cb_exit: + g_free((gpointer)szPassword); + + __COMMON_FUNC_EXIT__; +} + +static void _wps_pbc_popup_cancel_connecting(void* data, Evas_Object* obj, void* event_info) +{ + if (!ug_app_state->passpopup) { + return; + } + + wifi_ap_h ap = common_pswd_popup_get_ap(ug_app_state->passpopup);; + int ret = wlan_manager_request_disconnection(ap); + if (ret == WLAN_MANAGER_ERR_NONE) { + INFO_LOG(UG_NAME_NORMAL, "WPS conection cancelled successfully for AP[0x%x]", ap); + } else { + ERROR_LOG(UG_NAME_NORMAL, "Error!!! wlan_manager_request_disconnection failed for AP[0x%x]", ap); + } + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + viewer_manager_header_mode_set(HEADER_MODE_ON); + return; +} + +static void _wps_btn_cb(void* data, Evas_Object* obj, void* event_info) +{ + __COMMON_FUNC_ENTER__; + if (!ug_app_state->passpopup) { + return; + } + + wifi_ap_h ap = common_pswd_popup_get_ap(ug_app_state->passpopup); + int ret = wlan_manager_request_wps_connection(ap); + if (ret == WLAN_MANAGER_ERR_NONE) { + viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); + common_pswd_popup_pbc_popup_create(ug_app_state->passpopup, _wps_pbc_popup_cancel_connecting, NULL); + } else { + ERROR_LOG(UG_NAME_NORMAL, "Error!!! wlan_manager_request_wps_connection failed"); + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + } + __COMMON_FUNC_EXIT__; +} + +#if 0 +static gint __viewer_list_compare_mode(gconstpointer a, gconstpointer b) +{ + Elm_Object_Item *item = (Elm_Object_Item *)a; + if (item) { + ug_genlist_data_t* gdata = elm_object_item_data_get(item); + if (gdata) { + VIEWER_ITEM_RADIO_MODES mode = (VIEWER_ITEM_RADIO_MODES)b; + if (gdata->radio_mode == mode) + return 0; + } + } + return -1; +} + +static Elm_Object_Item *__wifi_viewer_list_get_item_in_mode(VIEWER_ITEM_RADIO_MODES mode) +{ + Elm_Object_Item *item = NULL; + GSList *found = g_slist_find_custom(container, (gconstpointer)mode, __viewer_list_compare_mode); + if (found) { + INFO_LOG(UG_NAME_NORMAL, "item found in mode [%d]", mode); + item = found->data; + } + return item; +} +#endif + +static void __wifi_viewer_list_request_connection(wifi_device_info_t *device_info) +{ + if (!device_info) + return; + + pswd_popup_create_req_data_t popup_info; + Evas_Object* navi_frame = NULL; + int ret = wlan_manager_request_connection(device_info->ap);; + switch (ret) { + case WLAN_MANAGER_ERR_NONE: + INFO_LOG(UG_NAME_NORMAL, "ERROR_NONE"); + viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); + break; + case WLAN_MANAGER_ERR_CONNECT_PASSWORD_NEEDED: + memset(&popup_info, 0, sizeof(pswd_popup_create_req_data_t)); + popup_info.title = device_info->ssid; + popup_info.ok_cb = _popup_ok_cb; + popup_info.cancel_cb = _popup_cancel_cb; + popup_info.show_wps_btn = device_info->wps_mode; + popup_info.wps_btn_cb = _wps_btn_cb; + popup_info.ap = device_info->ap; + popup_info.cb_data = NULL; + INFO_LOG(UG_NAME_NORMAL, "Going to create a popup. ug_app_state = 0x%x", ug_app_state); + ug_app_state->passpopup = common_pswd_popup_create(ug_app_state->layout_main, PACKAGE, &popup_info); + INFO_LOG(UG_NAME_NORMAL, "After create a popup"); + if (ug_app_state->passpopup == NULL) { + INFO_LOG(UG_NAME_ERR, "pass popup create failed !"); + } + break; + + case WLAN_MANAGER_ERR_CONNECT_EAP_SEC_TYPE: + navi_frame = viewer_manager_get_naviframe(); + ug_app_state->eap_view = create_eap_connect_view(ug_app_state->layout_main, navi_frame, PACKAGE, device_info); + break; + + default: + ERROR_LOG(UG_NAME_NORMAL, "errro code [%d]", ret); + break; + } +} + +static void viewer_list_item_clicked_cb(void* data, Evas_Object* obj, void* event_info) +{ + __COMMON_FUNC_ENTER__; + assertm_if(NULL == event_info, "event_info is NULL!!"); + assertm_if(NULL == data, "data is NULL!!"); + assertm_if(NULL == obj, "obj is NULL!!"); + + int ret = WLAN_MANAGER_ERR_UNKNOWN; + Elm_Object_Item *it = (Elm_Object_Item *)event_info; +// Elm_Object_Item *connecting_item = NULL; + ug_genlist_data_t *gdata = (ug_genlist_data_t *)elm_object_item_data_get(it); + wifi_device_info_t *device_info = (wifi_device_info_t *)data; + + if (!gdata || !device_info || !device_info->ssid) { + ERROR_LOG(UG_NAME_NORMAL, "Error!!! Invalid inout params"); + __COMMON_FUNC_EXIT__; + return; + } + + int item_state = gdata->radio_mode; + int current_state = 0; + + INFO_LOG(UG_NAME_NORMAL, "ssid --- %s", device_info->ssid); + INFO_LOG(UG_NAME_NORMAL, "ap --- 0x%x", device_info->ap); + INFO_LOG(UG_NAME_NORMAL, "current item_state state is --- %d\n", item_state); + + switch (item_state) { + case VIEWER_ITEM_RADIO_MODE_OFF: + current_state = viewer_manager_header_mode_get(); + + INFO_LOG(UG_NAME_NORMAL, "Clicked AP`s information\n"); + INFO_LOG(UG_NAME_NORMAL, "header mode [%d]", current_state); + + switch (current_state) { + case HEADER_MODE_CONNECTED: + case HEADER_MODE_ON: + __wifi_viewer_list_request_connection(device_info); + break; + + case HEADER_MODE_CONNECTING: +#if 0 // Enable this later when two connect requests is supported by libnet. + /* Try connecting to the selected AP */ + connecting_item = __wifi_viewer_list_get_item_in_mode(VIEWER_ITEM_RADIO_MODE_CONNECTING); + viewer_manager_header_mode_set(HEADER_MODE_ON); + wlan_manager_request_connection(device_info->ap); + + /* Disconnect the connecting AP */ + if (connecting_item) { + ug_genlist_data_t *connecting_gdata = elm_object_item_data_get(connecting_item); + if (connecting_gdata) { + wlan_manager_request_disconnection(connecting_gdata->device_info->ap); + } + } + break; +#endif + case HEADER_MODE_OFF: + case HEADER_MODE_SEARCHING: + case HEADER_MODE_ACTIVATING: + case HEADER_MODE_DISCONNECTING: + case HEADER_MODE_DEACTIVATING: + default: + INFO_LOG(UG_NAME_NORMAL, "Ignore the item click"); + break; + } + break; + + case VIEWER_ITEM_RADIO_MODE_CONNECTED: + INFO_LOG(UG_NAME_NORMAL, "want to disconnect for connected item"); + ret = wlan_manager_request_disconnection(device_info->ap); + if(ret == WLAN_MANAGER_ERR_NONE){ + viewer_manager_header_mode_set(HEADER_MODE_DISCONNECTING); + } + break; + + case VIEWER_ITEM_RADIO_MODE_CONNECTING: + INFO_LOG(UG_NAME_NORMAL, "want to cancel connecting for connected item"); + ret = wlan_manager_request_disconnection(device_info->ap); + if(ret == WLAN_MANAGER_ERR_NONE){ + viewer_manager_header_mode_set(HEADER_MODE_CANCEL_CONNECTING); + } + break; + + default: + ret = WLAN_MANAGER_ERR_UNKNOWN; + break; + } + + elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE); + + __COMMON_FUNC_EXIT__; + return; +} + +static char *viewer_list_get_device_status_txt(wifi_device_info_t *wifi_device, VIEWER_ITEM_RADIO_MODES mode) +{ + char *status_txt = NULL; + char *ret_txt = NULL; + /* The strings are currently hard coded. It will be replaced with string ids later */ + if (VIEWER_ITEM_RADIO_MODE_CONNECTING == mode || VIEWER_ITEM_RADIO_MODE_WPS_CONNECTING == mode) { + status_txt = g_strdup(sc(PACKAGE, I18N_TYPE_Connecting)); + } else if (VIEWER_ITEM_RADIO_MODE_CONNECTED == mode) { + status_txt = g_strdup_printf("<color=%s><b>%s</b></color>", LIST_ITEM_CONNECTED_AP_FONT_COLOR, sc(PACKAGE, I18N_TYPE_Connected)); + } else if (VIEWER_ITEM_RADIO_MODE_DISCONNECTING == mode) { + status_txt = g_strdup(sc(PACKAGE, I18N_TYPE_Disconnecting)); + } else if (VIEWER_ITEM_RADIO_MODE_OFF == mode) { + status_txt = common_utils_get_ap_security_type_info_txt(PACKAGE, wifi_device); + } else { + status_txt = g_strdup(WIFI_UNKNOWN_DEVICE_STATUS_STR); + INFO_LOG(UG_NAME_NORMAL, "Invalid mode: %d", mode); + } + ret_txt = g_strdup_printf("%s", status_txt); + g_free(status_txt); + return ret_txt; +} + +Evas_Object* viewer_list_create(Evas_Object *win) +{ + __COMMON_FUNC_ENTER__; + + assertm_if(NULL == win, "NULL!!"); + + assertm_if(NULL != viewer_list, "Err!!"); + viewer_list = elm_genlist_add(win); + + + elm_object_style_set(viewer_list, "dialogue"); + assertm_if(NULL == viewer_list, "NULL!!"); + + elm_genlist_mode_set(viewer_list, ELM_LIST_LIMIT); + + evas_object_size_hint_weight_set(viewer_list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(viewer_list, EVAS_HINT_FILL, EVAS_HINT_FILL); + + itc.item_style = "dialogue/2text.2icon.3.tb"; + itc.func.text_get = _gl_listview_text_get; + itc.func.content_get = _gl_listview_content_get; + itc.func.state_get = NULL; + itc.func.del = _gl_listview_del; + + first_item = last_item = NULL; + + evas_object_smart_callback_add(viewer_list, "realized", _gl_realized, NULL); + __COMMON_FUNC_EXIT__; + return viewer_list; +} + +int viewer_list_destroy(void) +{ + __COMMON_FUNC_ENTER__; + + assertm_if(NULL == viewer_list, "NULL!!"); + viewer_list_item_clear(); + evas_object_del(viewer_list); + viewer_list = NULL; + + __COMMON_FUNC_EXIT__; + return TRUE; +} + +void viewer_list_title_item_del() +{ + if (grouptitle) { + elm_object_item_del(grouptitle); + grouptitle = NULL; + } +} + +void viewer_list_title_item_update() +{ + elm_genlist_item_update(grouptitle); +} + +int viewer_list_title_item_set(void) +{ + if (viewer_list_item_size_get() == 0 && !grouptitle) { + // To use multiline textblock/entry/editfield in genlist, set height_for_width mode + // then the item's height is calculated while the item's width fits to genlist width. + elm_genlist_mode_set(viewer_list, ELM_LIST_COMPRESS); + + grouptitle_itc.item_style = "dialogue/title"; + grouptitle_itc.func.text_get = _gl_text_title_get; + grouptitle_itc.func.content_get = _gl_content_title_get; + grouptitle_itc.func.state_get = NULL; + grouptitle_itc.func.del = NULL; + + assertm_if(NULL != grouptitle, "Err!!"); + + grouptitle = elm_genlist_item_append(viewer_list, + &grouptitle_itc, + NULL, + NULL, + ELM_GENLIST_ITEM_NONE, + NULL, + NULL); + + assertm_if(NULL == grouptitle, "NULL!!"); + + elm_genlist_item_select_mode_set(grouptitle, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + + return TRUE; + } else { + return FALSE; + } +} + +int viewer_list_item_radio_mode_set(Elm_Object_Item* item, VIEWER_ITEM_RADIO_MODES mode) +{ + __COMMON_FUNC_ENTER__; + if (NULL == item) { + INFO_LOG(COMMON_NAME_ERR, "item is NULL"); + return FALSE; + } + + ug_genlist_data_t* gdata = (ug_genlist_data_t *) elm_object_item_data_get(item); + if (NULL == gdata || NULL == gdata->device_info) { + INFO_LOG(COMMON_NAME_ERR, "gdata or device_info is NULL"); + return FALSE; + } + + if (gdata->radio_mode == mode) { + INFO_LOG(UG_NAME_NORMAL, "[%s] is already in requested state", gdata->device_info->ssid); + return FALSE; + } + + INFO_LOG(UG_NAME_NORMAL, "[%s] AP Item State Transition from [%d] --> [%d]", gdata->device_info->ssid, gdata->radio_mode, mode); + gdata->radio_mode = mode; + if (gdata->device_info->ap_status_txt) { + g_free(gdata->device_info->ap_status_txt); + gdata->device_info->ap_status_txt = viewer_list_get_device_status_txt(gdata->device_info, mode); + } + + elm_genlist_item_update(item); + + __COMMON_FUNC_EXIT__; + return TRUE; +} + +Elm_Object_Item* viewer_list_item_insert_after(wifi_ap_h ap, Elm_Object_Item *after) +{ + Elm_Object_Item* ret = NULL; + wifi_security_type_e sec_type; + + if (!viewer_list) { + assertm_if(NULL == viewer_list, "NULL!!"); + return NULL; + } + + wifi_device_info_t *wifi_device = NULL; + + if (!ap) { + wifi_device = wlan_manager_profile_device_info_blank_create(); + if (!wifi_device) + return NULL; + } else { + wifi_device = g_new0(wifi_device_info_t, 1); + if (WIFI_ERROR_NONE != wifi_ap_clone(&(wifi_device->ap), ap)) { + goto FREE_DEVICE_INFO; + } else if (WIFI_ERROR_NONE != wifi_ap_get_essid(ap, &(wifi_device->ssid))) { + goto FREE_DEVICE_INFO; + } else if (WIFI_ERROR_NONE != wifi_ap_get_rssi(ap, &(wifi_device->rssi))) { + goto FREE_DEVICE_INFO; + } else if (WIFI_ERROR_NONE != wifi_ap_get_security_type (ap, &sec_type)) { + goto FREE_DEVICE_INFO; + } else if (WIFI_ERROR_NONE != wifi_ap_is_wps_supported (ap, &(wifi_device->wps_mode))) { + goto FREE_DEVICE_INFO; + } + wifi_device->security_mode = common_utils_get_sec_mode(sec_type); + wifi_device->ap_image_path = common_utils_get_device_icon(WIFI_APP_IMAGE_DIR, wifi_device); + wifi_device->ap_status_txt = viewer_list_get_device_status_txt(wifi_device, VIEWER_ITEM_RADIO_MODE_OFF); + } + ug_genlist_data_t* gdata = g_new0(ug_genlist_data_t, 1); + gdata->device_info = wifi_device; + gdata->radio_mode = VIEWER_ITEM_RADIO_MODE_OFF; + + if (!after) { /* If the after item is NULL then insert it as first item */ + after = grouptitle; + } + + ret = elm_genlist_item_insert_after( + viewer_list, /*obj*/ + &itc,/*itc*/ + gdata,/*data*/ + NULL,/*parent*/ + after, /*after than*/ + ELM_GENLIST_ITEM_NONE, /*flags*/ + viewer_list_item_clicked_cb,/*func*/ + wifi_device);/*func_data*/ + + if (!ret) { + assertm_if(NULL == ret, "NULL!!"); + g_free(gdata); + } else { + DEBUG_LOG(UG_NAME_NORMAL, + "* item add complete item [0x%x] ssid:[%s] security[%d] size:[%d]", + ret, + wifi_device->ssid, + wifi_device->security_mode, + viewer_list_item_size_get()); + + if (after == grouptitle) { + first_item = ret; + if (!last_item) + last_item = ret; + } else { + last_item = ret; + if (!first_item) + first_item = ret; + } + + elm_genlist_item_update(ret); + } + +FREE_DEVICE_INFO: + if (!ret && wifi_device) { + wifi_ap_destroy(wifi_device->ap); + g_free(wifi_device->ap_image_path); + g_free(wifi_device->ap_status_txt); + g_free(wifi_device->ssid); + g_free(wifi_device); + } + + return ret; +} + +void viewer_list_item_del(Elm_Object_Item *it) +{ + if (it == NULL) + return; + + if (it == first_item) { + first_item = elm_genlist_item_next_get(first_item); + } else if (it == last_item) { + last_item = elm_genlist_item_prev_get(last_item); + } + elm_object_item_del(it); +} + +int viewer_list_item_size_get() +{ + __COMMON_FUNC_ENTER__; + int ret = 0; + Elm_Object_Item *it = first_item; + + while(it) { + ret++; + if (it == last_item) + break; + it = elm_genlist_item_next_get(it); + } + + __COMMON_FUNC_EXIT__; + return ret; +} + +void viewer_list_item_clear(void) +{ + __COMMON_FUNC_ENTER__; + + Elm_Object_Item *it = first_item; + Elm_Object_Item *nxt = NULL; + + while(it) { + nxt = elm_genlist_item_next_get(it); + elm_object_item_del(it); + if (it == last_item) + break; + it = nxt; + } + + first_item = last_item = NULL; + + __COMMON_FUNC_EXIT__; +} + +void viewer_list_item_enable_all(void) +{ + __COMMON_FUNC_ENTER__; + + Elm_Object_Item *it = first_item; + + while(it) { + elm_object_item_disabled_set(it, EINA_FALSE); + if (it == last_item) + break; + it = elm_genlist_item_next_get(it); + } + + __COMMON_FUNC_EXIT__; +} + +void viewer_list_item_disable_all(void) +{ + __COMMON_FUNC_ENTER__; + + Elm_Object_Item *it = first_item; + + while(it) { + elm_object_item_disabled_set(it, EINA_TRUE); + if (it == last_item) + break; + it = elm_genlist_item_next_get(it); + } + + __COMMON_FUNC_EXIT__; +} + +Elm_Object_Item* item_get_for_ap(wifi_ap_h ap) +{ + __COMMON_FUNC_ENTER__; + if (!ap) { + __COMMON_FUNC_EXIT__; + return NULL; + } + + char *essid = NULL; + wifi_security_type_e type = WIFI_SECURITY_TYPE_NONE; + + if (WIFI_ERROR_NONE != wifi_ap_get_essid(ap, &essid)) { + __COMMON_FUNC_EXIT__; + return NULL; + } else if (WIFI_ERROR_NONE != wifi_ap_get_security_type(ap, &type)) { + __COMMON_FUNC_EXIT__; + return NULL; + } + + Elm_Object_Item *it = first_item; + wlan_security_mode_type_t sec_mode = common_utils_get_sec_mode(type); + while(it) { + ug_genlist_data_t* gdata = elm_object_item_data_get(it); + wifi_device_info_t *device_info = NULL; + if (gdata && (device_info = gdata->device_info)) { + if (!g_strcmp0(device_info->ssid, essid) && device_info->security_mode == sec_mode) + break; + } + if (it == last_item) { + it = NULL; + break; + } + it = elm_genlist_item_next_get(it); + } + + g_free(essid); + __COMMON_FUNC_EXIT__; + return it; +} diff --git a/sources/ui-gadget/wifi-efl-UG.c b/sources/ui-gadget/wifi-efl-UG.c new file mode 100644 index 0000000..6b5e091 --- /dev/null +++ b/sources/ui-gadget/wifi-efl-UG.c @@ -0,0 +1,431 @@ +/* + * Wi-Fi + * + * 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 <vconf-keys.h> + +#include "ug_wifi.h" +#include "view_detail.h" +#include "i18nmanager.h" +#include "wlan_manager.h" +#include "winset_popup.h" +#include "common_utils.h" +#include "motion_control.h" +#include "viewer_manager.h" +#include "view_ime_hidden.h" +#include "wifi-engine-callback.h" + +static int wifi_exit_end = FALSE; + +wifi_appdata *ug_app_state = NULL; + +struct ug_data +{ + Evas_Object *base; + ui_gadget_h ug; +}; + +static Eina_Bool __wifi_efl_ug_del_found_ap_noti(void *data) +{ + common_utils_send_message_to_net_popup(NULL, NULL, "del_found_ap_noti", NULL); + return ECORE_CALLBACK_CANCEL; +} + +static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, void *priv) +{ + Ecore_Idler *idler; + + __COMMON_FUNC_ENTER__; + + if (!ug || !priv) { + INFO_LOG(UG_NAME_ERR, "[Error]Data is NULL - ug or priv"); + return NULL; + } + + ug_app_state = g_new0(wifi_appdata, 1); + assertm_if(NULL == ug_app_state, "Err!! ug_app_state == NULL"); + + struct ug_data *ugd; + ugd = (struct ug_data*)priv; + ugd->ug = ug; + + if (NULL != service) { + INFO_LOG(UG_NAME_NORMAL, "message load from caller"); + + char *caller = NULL; + if (service_get_extra_data(service, UG_CALLER, &caller)) { + ERROR_LOG(UG_NAME_NORMAL, "Failed to get service extra data"); + return NULL; + } + + if (caller != NULL) { + INFO_LOG(UG_NAME_NORMAL, "caller = [%s]", caller); + if (strcmp(caller, "pwlock") == 0) { + ug_app_state->ug_type = UG_VIEW_SETUP_WIZARD; + service_get_extra_data(service, "lbutton", &ug_app_state->lbutton_setup_wizard_prev); + service_get_extra_data(service, "rbutton_skip", &ug_app_state->rbutton_setup_wizard_skip); + service_get_extra_data(service, "rbutton_next", &ug_app_state->rbutton_setup_wizard_next); + } else { + ug_app_state->ug_type = UG_VIEW_DEFAULT; + } + + free(caller); + } else { + INFO_LOG(UG_NAME_NORMAL, "caller is not defined"); + ug_app_state->ug_type = UG_VIEW_DEFAULT; + } + } else { + INFO_LOG(UG_NAME_NORMAL, "caller is not defined"); + ug_app_state->ug_type = UG_VIEW_DEFAULT; + } + + bindtextdomain(PACKAGE, LOCALEDIR); + + Evas_Object *parent_layout = ug_get_parent_layout(ug); + if (parent_layout == NULL) { + ERROR_LOG(UG_NAME_NORMAL, "Failed to get parent layout"); + return NULL; + } + + ug_app_state->gadget= ugd; + ug_app_state->ug = ug; + + common_util_set_system_registry(VCONFKEY_WIFI_UG_RUN_STATE, + VCONFKEY_WIFI_UG_RUN_STATE_ON_FOREGROUND); + + /* Remove the "WiFi networks found" from the notification tray.*/ + idler = ecore_idler_add(__wifi_efl_ug_del_found_ap_noti, NULL); + + evas_object_show(parent_layout); + + memset(&g_pending_call, 0, sizeof(wifi_pending_call_info_t)); + + Evas_Object *layout_main = viewer_manager_create(parent_layout); + if (layout_main == NULL) { + if( idler != NULL ) + ecore_idler_del(idler); + INFO_LOG(UG_NAME_ERR, "Failed to create viewer_manager"); + return NULL; + } + + ug_app_state->popup_manager = winset_popup_manager_create(layout_main, PACKAGE); + + ugd->base = layout_main; + ug_app_state->layout_main = layout_main; + ug_app_state->bAlive = EINA_TRUE; + + wlan_manager_create(); + wlan_manager_set_message_callback(wlan_engine_callback); + wlan_manager_set_refresh_callback(wlan_engine_refresh_callback); + + switch (wlan_manager_start()) { + case WLAN_MANAGER_ERR_NONE: + break; + + case WLAN_MANAGER_ERR_ALREADY_REGISTERED: + break; + + case WLAN_MANAGER_ERR_UNKNOWN: + winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED, NULL); + + __COMMON_FUNC_EXIT__; + return ugd->base; + + default: + __COMMON_FUNC_EXIT__; + return ugd->base; + } + + switch (wlan_manager_state_get()) { + case WLAN_MANAGER_OFF: + viewer_manager_header_mode_set(HEADER_MODE_OFF); + viewer_manager_hide(VIEWER_WINSET_SUB_CONTENTS); + break; + case WLAN_MANAGER_CONNECTING: + case WLAN_MANAGER_UNCONNECTED: + case WLAN_MANAGER_CONNECTED: + connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC); + viewer_manager_header_mode_set(HEADER_MODE_SEARCHING); + viewer_manager_show(VIEWER_WINSET_SEARCHING); + viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS); + break; + case WLAN_MANAGER_ERROR: + default: + return ugd->base; + } + + motion_create(layout_main); + + __COMMON_FUNC_EXIT__; + return ugd->base; +} + +static Eina_Bool load_initial_ap_list(void *data) +{ + wlan_manager_scanned_profile_refresh_with_count((int)data); + return ECORE_CALLBACK_CANCEL; +} + +static void on_start(ui_gadget_h ug, service_h service, void *priv) +{ + __COMMON_FUNC_ENTER__; + ecore_idler_add(load_initial_ap_list, (void *)8); + + motion_start(); + + __COMMON_FUNC_EXIT__; + return; +} + +static void on_pause(ui_gadget_h ug, service_h service, void *priv) +{ + __COMMON_FUNC_ENTER__; + + motion_stop(); + + connman_request_scan_mode_set(WIFI_BGSCAN_MODE_EXPONENTIAL); + + common_util_set_system_registry(VCONFKEY_WIFI_UG_RUN_STATE, + VCONFKEY_WIFI_UG_RUN_STATE_ON_BACKGROUND); + + __COMMON_FUNC_EXIT__; +} + +static void on_resume(ui_gadget_h ug, service_h service, void *priv) +{ + __COMMON_FUNC_ENTER__; + + motion_start(); + + connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC); + + common_util_set_system_registry(VCONFKEY_WIFI_UG_RUN_STATE, + VCONFKEY_WIFI_UG_RUN_STATE_ON_FOREGROUND); + + __COMMON_FUNC_EXIT__; +} + +static void on_destroy(ui_gadget_h ug, service_h service, void *priv) +{ + __COMMON_FUNC_ENTER__; + + common_util_set_system_registry(VCONFKEY_WIFI_UG_RUN_STATE, + VCONFKEY_WIFI_UG_RUN_STATE_OFF); + + if (!ug || !priv){ + __COMMON_FUNC_EXIT__; + return; + } + + motion_destroy(); + + connman_request_scan_mode_set(WIFI_BGSCAN_MODE_EXPONENTIAL); + + DEBUG_LOG(UG_NAME_NORMAL, "* popup manager destroying..."); + winset_popup_manager_destroy(ug_app_state->popup_manager); + ug_app_state->popup_manager = NULL; + DEBUG_LOG(UG_NAME_NORMAL, "* view_main destroying..."); + viewer_manager_destroy(); + DEBUG_LOG(UG_NAME_NORMAL, "* manager destroy complete"); + DEBUG_LOG(UG_NAME_NORMAL, "* wlan manager destroying..."); + wlan_manager_destroy(); + + if(g_pending_call.is_handled == FALSE) + { + dbus_g_proxy_cancel_call(g_pending_call.proxy, g_pending_call.pending_call); + g_pending_call.is_handled = TRUE; + memset(&g_pending_call, 0, sizeof(wifi_pending_call_info_t)); + DEBUG_LOG(UG_NAME_NORMAL, "* pending dbus call cleared"); + } + + struct ug_data* ugd = priv; + if(ugd->base){ + evas_object_del(ugd->base); + ugd->base = NULL; + } +} + +static void on_message(ui_gadget_h ug, service_h msg, service_h service, void *priv) +{ +} + +static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, void *priv) +{ + switch (event) { + case UG_EVENT_LOW_MEMORY: + break; + case UG_EVENT_LOW_BATTERY: + break; + case UG_EVENT_LANG_CHANGE: + break; + case UG_EVENT_ROTATE_PORTRAIT: + break; + case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN: + break; + case UG_EVENT_ROTATE_LANDSCAPE: + break; + case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN: + break; + default: + break; + } +} + +static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h service, void *priv) +{ + __COMMON_FUNC_ENTER__; + + if (!ug) { + return; + } + + switch (event) { + case UG_KEY_EVENT_END: + INFO_LOG(UG_NAME_NORMAL, "UG_KEY_EVENT_END"); + + /* popup key event determine */ + winset_popup_hide_popup(ug_app_state->popup_manager); + + Evas_Object* navi_frame = viewer_manager_get_naviframe(); + view_manager_view_type_t top_view_id = (view_manager_view_type_t)evas_object_data_get(navi_frame, SCREEN_TYPE_ID_KEY); + if(VIEW_MANAGER_VIEW_TYPE_MAIN == top_view_id) { + INFO_LOG(UG_NAME_NORMAL, "same"); + } else { + INFO_LOG(UG_NAME_NORMAL, "differ"); + elm_naviframe_item_pop(viewer_manager_get_naviframe()); + return; + } + + wifi_exit(); + break; + default: + INFO_LOG(UG_NAME_NORMAL, "UG_KEY_EVENT [%d]", event); + break; + } + __COMMON_FUNC_EXIT__; +} + +UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops) +{ + __COMMON_FUNC_ENTER__; + + wifi_exit_end = FALSE; + + assertm_if(NULL == ops, "Err!! ug_module_ops == NULL"); + + struct ug_data *ugd; + ugd = calloc(1, sizeof(struct ug_data)); + + assertm_if(NULL == ugd, "Err!! calloc fail"); + + ops->create = on_create; + ops->start = on_start; + ops->pause = on_pause; + ops->resume = on_resume; + ops->destroy = on_destroy; + ops->message = on_message; + ops->event = on_event; + ops->key_event = on_key_event; + ops->priv = ugd; + ops->opt = UG_OPT_INDICATOR_ENABLE; + + __COMMON_FUNC_EXIT__; + return 0; +} + +UG_MODULE_API void UG_MODULE_EXIT(struct ug_module_ops *ops) +{ + __COMMON_FUNC_ENTER__; + assertm_if(NULL == ops, "Err!! ug_module_ops == NULL"); + + struct ug_data *ugd; + + ugd = ops->priv; + + if (ugd) + free(ugd); + __COMMON_FUNC_EXIT__; +} + +static bool setting_plugin_wifi_found_ap_cb(wifi_ap_h ap, void* user_data) +{ + bool favourite = false; + + wifi_ap_is_favorite(ap, &favourite); + + if (true == favourite) + wlan_manager_forget(ap); + + return true; +} + +UG_MODULE_API int setting_plugin_reset(bundle *data, void *priv) +{ + __COMMON_FUNC_ENTER__; + + int return_value = 0; + + return_value = wlan_manager_start(); + if (return_value != WLAN_MANAGER_ERR_NONE) { + ERROR_LOG(UG_NAME_NORMAL, "Failed to register : %d",return_value); + return_value = -1; + goto error; + } + + wifi_foreach_found_aps(setting_plugin_wifi_found_ap_cb, NULL); + return_value = wlan_manager_request_power_off(); + if (return_value != WLAN_MANAGER_ERR_NONE) { + ERROR_LOG(UG_NAME_NORMAL, "Failed to power_off: %d",return_value); + return_value = -1; + goto error; + } + + common_util_set_system_registry(VCONFKEY_WIFI_ENABLE_QS, + VCONFKEY_WIFI_QS_ENABLE); + +error: + wlan_manager_destroy(); + + __COMMON_FUNC_EXIT__; + return return_value; +} + +int wifi_exit() +{ + __COMMON_FUNC_ENTER__; + if(wifi_exit_end == TRUE) { + __COMMON_FUNC_EXIT__; + return FALSE; + } + wifi_exit_end = TRUE; + + struct ug_data *ugd; + ugd = ug_app_state->gadget; + ug_app_state->bAlive = EINA_FALSE; + + DEBUG_LOG(UG_NAME_NORMAL, "* ug_destroying..."); + ug_destroy_me(ugd->ug); + + __COMMON_FUNC_EXIT__; + + return TRUE; +} diff --git a/sources/ui-gadget/wifi-ui-list-callbacks.c b/sources/ui-gadget/wifi-ui-list-callbacks.c new file mode 100644 index 0000000..b813406 --- /dev/null +++ b/sources/ui-gadget/wifi-ui-list-callbacks.c @@ -0,0 +1,312 @@ +/* +* Wi-Fi UG +* +* 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 "wifi.h" +#include "wifi-ui-list-callbacks.h" +#include "wlan_manager.h" +#include "view_detail.h" +#include "viewer_list.h" +#include "common_pswd_popup.h" +#include "common_eap_connect.h" +#include "winset_popup.h" +#include "i18nmanager.h" +#include "common_datamodel.h" + +extern wifi_appdata *ug_app_state; + +static void _popup_cancel_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + if (!ug_app_state->passpopup || !data) { + return; + } + + char *profile_name = (char *)data; + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + g_free(profile_name); + __COMMON_FUNC_EXIT__; +} + +static void _popup_ok_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + if (!ug_app_state->passpopup || !data) { + return; + } + + char *profile_name = (char *)data; + wlan_security_mode_type_t sec_mode; + view_datamodel_basic_info_t *basic_data_model = view_basic_detail_datamodel_create(profile_name); + if (!basic_data_model) { + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + g_free(profile_name); + return; + } + int ret = WLAN_MANAGER_ERR_NONE; + int nLen = 0; + const char* szPassword = common_pswd_popup_get_txt(ug_app_state->passpopup); + nLen = strlen(szPassword); + INFO_LOG(UG_NAME_NORMAL, "password = [%s]", szPassword); + + sec_mode = view_detail_datamodel_sec_mode_get(basic_data_model); + switch (sec_mode) { + case WLAN_SEC_MODE_WEP: + + if (nLen != 5 && nLen != 13 && nLen != 26 && nLen != 10) { + winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_WEP_PSWD_LEN_ERROR, NULL); + goto popup_ok_cb_exit; + } + + break; + + case WLAN_SEC_MODE_WPA_PSK: + case WLAN_SEC_MODE_WPA2_PSK: + + if (nLen < 8 || nLen > 63) { + winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_WPA_PSWD_LEN_ERROR, NULL); + goto popup_ok_cb_exit; + } + break; + + default: + ERROR_LOG(UG_NAME_SCAN, "Fatal: Wrong security mode : %d", sec_mode); + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + g_free(profile_name); + goto popup_ok_cb_exit; + } + + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + + INFO_LOG(UG_NAME_SCAN, "connect with password comp"); + wlan_manager_password_data param; + memset(¶m, 0, sizeof(wlan_manager_password_data)); + param.wlan_eap_type = WLAN_MANAGER_EAP_TYPE_NONE; + param.password = szPassword; + ret = wlan_manager_connect_with_password(profile_name, sec_mode, ¶m); + if (WLAN_MANAGER_ERR_NONE == ret) { + viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); + } else { + ERROR_LOG(UG_NAME_SCAN, "wlan error %d", ret); + viewer_manager_header_mode_set(HEADER_MODE_ON); + } + + g_free(profile_name); + +popup_ok_cb_exit: + g_free((gpointer)szPassword); + view_basic_detail_datamodel_destroy(basic_data_model); + + __COMMON_FUNC_EXIT__; +} + +static void _wps_pbc_popup_cancel_connecting(void* data, Evas_Object* obj, void* event_info) +{ + if (!ug_app_state->passpopup || !data) { + return; + } + + char *profile_name = (char *)data; + int ret = wlan_manager_request_cancel_wps_connection(profile_name); + if (ret == WLAN_MANAGER_ERR_NONE) { + INFO_LOG(UG_NAME_NORMAL, "WPS conection cancelled successfully for AP[%s]", profile_name); + } else { + ERROR_LOG(UG_NAME_NORMAL, "Error!!! wlan_manager_request_cancel_wps_connection failed for AP[%s]", profile_name); + } + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + viewer_manager_header_mode_set(HEADER_MODE_ON); + g_free(profile_name); + return; +} + +static void _wps_btn_cb(void* data, Evas_Object* obj, void* event_info) +{ + __COMMON_FUNC_ENTER__; + if (!ug_app_state->passpopup || !data) { + return; + } + + char *profile_name = (char *)data; + int ret = wlan_manager_request_wps_connection(profile_name); + if (ret == WLAN_MANAGER_ERR_NONE) { + viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); + common_pswd_popup_pbc_popup_create(ug_app_state->passpopup, _wps_pbc_popup_cancel_connecting, profile_name); + } else { + ERROR_LOG(UG_NAME_NORMAL, "Error!!! wlan_manager_request_wps_connection failed"); + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + g_free(profile_name); + } + __COMMON_FUNC_EXIT__; +} + +void eap_view_close_cb(void) +{ + ug_app_state->eap_view = NULL; +} + +void radio_button_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + + int ret = WLAN_MANAGER_ERR_UNKNOWN; + Elm_Object_Item *it = (Elm_Object_Item *)event_info; + wifi_device_info_t *device_info = (wifi_device_info_t *)data; + + if (!it || !device_info || device_info->ssid == NULL) { + ERROR_LOG(UG_NAME_NORMAL, "Error!!! Invalid inout params"); + __COMMON_FUNC_EXIT__; + return; + } + + ug_genlist_data_t *gdata = (ug_genlist_data_t *) elm_object_item_data_get((Elm_Object_Item*)it); + if(NULL == gdata) { + ERROR_LOG(UG_NAME_NORMAL, "Error!!! list item data null"); + __COMMON_FUNC_EXIT__; + return; + } + + int item_state = gdata->radio_mode; + int current_state = 0; + + INFO_LOG(UG_NAME_NORMAL, "ssid --- %s", device_info->ssid); + INFO_LOG(UG_NAME_NORMAL, "current item_state state is --- %d\n", item_state); + + switch (item_state) { + case VIEWER_ITEM_RADIO_MODE_OFF: + current_state = viewer_manager_header_mode_get(); + + INFO_LOG(UG_NAME_NORMAL, "Clicked AP`s information\n"); + INFO_LOG(UG_NAME_NORMAL, "header mode [%d]", current_state); + + switch (current_state) { + case HEADER_MODE_CONNECTED: + case HEADER_MODE_ON: + ret = wlan_manager_request_connection(device_info); + if (ret == WLAN_MANAGER_ERR_NONE) { + viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); + } + break; + + case HEADER_MODE_OFF: + case HEADER_MODE_SEARCHING: + case HEADER_MODE_ACTIVATING: + case HEADER_MODE_CONNECTING: + case HEADER_MODE_DISCONNECTING: + case HEADER_MODE_DEACTIVATING: + default: + INFO_LOG(UG_NAME_NORMAL, "Ignore the item click"); + break; + } + break; + + case VIEWER_ITEM_RADIO_MODE_CONNECTED: + INFO_LOG(UG_NAME_NORMAL, "want to disconnect for connected item"); + ret = wlan_manager_request_disconnection(device_info); + if(ret == WLAN_MANAGER_ERR_NONE){ + viewer_manager_header_mode_set(HEADER_MODE_DISCONNECTING); + } + break; + + case VIEWER_ITEM_RADIO_MODE_CONNECTING: + INFO_LOG(UG_NAME_NORMAL, "want to cancel connecting for connected item"); + ret = wlan_manager_request_cancel_connecting(device_info->profile_name); + if(ret == WLAN_MANAGER_ERR_NONE){ + viewer_manager_header_mode_set(HEADER_MODE_CANCEL_CONNECTING); + } + break; + + default: + ret = WLAN_MANAGER_ERR_UNKNOWN; + break; + } + + switch (ret) { + case WLAN_MANAGER_ERR_NONE: + INFO_LOG(UG_NAME_NORMAL, "ERROR_NONE"); + break; + case WLAN_MANAGER_ERR_CONNECT_PASSWORD_NEEDED: + { + pswd_popup_create_req_data_t popup_info; + popup_info.title = device_info->ssid; + popup_info.ok_cb = _popup_ok_cb; + popup_info.cancel_cb = _popup_cancel_cb; + popup_info.show_wps_btn = device_info->wps_mode; + popup_info.wps_btn_cb = _wps_btn_cb; + popup_info.cb_data = g_strdup(gdata->device_info->profile_name); + INFO_LOG(UG_NAME_NORMAL, "Going to create a popup. ug_app_state = 0x%x", ug_app_state); + ug_app_state->passpopup = common_pswd_popup_create(ug_app_state->win_main, PACKAGE, &popup_info); + INFO_LOG(UG_NAME_NORMAL, "After create a popup"); + if (ug_app_state->passpopup == NULL) { + INFO_LOG(UG_NAME_ERR, "pass popup create failed !"); + } + } + break; + + case WLAN_MANAGER_ERR_CONNECT_EAP_SEC_TYPE: + { + Evas_Object* navi_frame = viewer_manager_get_naviframe(); + if (navi_frame == NULL) { + ERROR_LOG(UG_NAME_NORMAL, "Failed : get naviframe"); + return; + } + ug_app_state->eap_view = create_eap_connect(ug_app_state->win_main, navi_frame, PACKAGE, device_info, eap_view_close_cb); + } + break; + + case WLAN_MANAGER_ERR_NOSERVICE: + break; + + default: + ERROR_LOG(UG_NAME_NORMAL, "errro code [%d]", ret); + break; + } + + __COMMON_FUNC_EXIT__; + return; +} + +void list_select_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + + INFO_LOG(UG_NAME_NORMAL,"=================\n"); + INFO_LOG(UG_NAME_NORMAL," %s %d\n", __func__ ,__LINE__); + INFO_LOG(UG_NAME_NORMAL,"=================\n"); + + if (data == NULL) { + __COMMON_FUNC_EXIT__; + return; + } + + wifi_device_info_t *device_info = (wifi_device_info_t *)data; + + DEBUG_LOG(UG_NAME_NORMAL, "ssid [%s]", device_info->ssid); + + view_detail(device_info, ug_app_state->win_main); + + __COMMON_FUNC_EXIT__; +} + diff --git a/sources/ui-gadget/wifi-wlan-callbacks.c b/sources/ui-gadget/wifi-wlan-callbacks.c new file mode 100644 index 0000000..e9b157c --- /dev/null +++ b/sources/ui-gadget/wifi-wlan-callbacks.c @@ -0,0 +1,199 @@ +/* + * Wi-Fi + * + * 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 "ug_wifi.h" +#include "wlan_manager.h" +#include "viewer_manager.h" +#include "winset_popup.h" +#include "wifi-engine-callback.h" +#include "viewer_list.h" +#include "motion_control.h" + +extern wifi_appdata *ug_app_state; + +void wlan_engine_callback(wlan_mgr_event_info_t *event_info, void *user_data) +{ + __COMMON_FUNC_ENTER__; + + if (event_info == NULL) { + __COMMON_FUNC_EXIT__; + return; + } + + Elm_Object_Item* target_item = NULL; + ug_genlist_data_t* gdata = NULL; + + int header_state = -1; + header_state = viewer_manager_header_mode_get(); + + INFO_LOG(UG_NAME_NORMAL, "header state [%d]", header_state); + INFO_LOG(UG_NAME_NORMAL, "event type [%d]", event_info->event_type); + INFO_LOG(UG_NAME_NORMAL, "ap [0x%x]", event_info->ap); + + if (event_info->ap) { /* Is it a response with AP handle? */ + + /* All responses with profile names should have an associated genlist item + * Verify if the genlist item exists and associated genlist item data exists + */ + target_item = item_get_for_ap(event_info->ap); + if (!target_item || + !(gdata = (ug_genlist_data_t *)elm_object_item_data_get(target_item))) { + /* This is a case where the profile name exists but no + * associated genlist item OR genlist item data exists. + * This condition can come when an AP action(Example connect) + * is triggered and by the time the response came the genlist is cleared. + */ + ERROR_LOG(UG_NAME_RESP,"Error!!! Target item[0x%x] is NULL OR item data[0x%x] is NULL", target_item, gdata); + if (event_info->event_type == WLAN_MANAGER_RESPONSE_TYPE_CONNECTING || + event_info->event_type == WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK) { + /* This situation comes during hidden AP connecting/connected event. + * Anyways its always better to add the connecting/connected AP */ + target_item = viewer_list_item_insert_after(event_info->ap, NULL); + if (!target_item || + !(gdata = (ug_genlist_data_t *)elm_object_item_data_get(target_item))) { + ERROR_LOG(UG_NAME_RESP, "Error!!! Fatal: Unable to add a connecting/connected item with item data[0x%x].", gdata); + __COMMON_FUNC_EXIT__; + return; + } + } else { + ERROR_LOG(UG_NAME_RESP, "Fatal: target_item or gdata is NULL"); + __COMMON_FUNC_EXIT__; + return; + } + + } + } + + /* All OK to process the response */ + switch (event_info->event_type) { + case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_OK: + connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC); + viewer_manager_header_mode_set(HEADER_MODE_SEARCHING); + viewer_manager_show(VIEWER_WINSET_SEARCHING); + viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_POWER_OFF_OK: + viewer_list_item_clear(); + viewer_manager_header_mode_set(HEADER_MODE_OFF); + viewer_manager_hide(VIEWER_WINSET_SUB_CONTENTS); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_NOT_SUPPORTED: + viewer_manager_header_mode_set(HEADER_MODE_OFF); + common_utils_send_message_to_net_popup("Network connection popup", "not support", "notification", NULL); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_RESTRICTED: + viewer_manager_header_mode_set(HEADER_MODE_OFF); + common_utils_send_message_to_net_popup("Network connection popup", "wifi restricted", "popup", NULL); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_SCAN_OK: + /* Manual scan complete response */ + if (HEADER_MODE_DEACTIVATING == header_state || + HEADER_MODE_OFF == header_state) + break; + + viewer_manager_hidden_disable_set(FALSE); + viewer_manager_hide(VIEWER_WINSET_SEARCHING); + /* fall through */ + case WLAN_MANAGER_RESPONSE_TYPE_SCAN_RESULT_IND: + /* Auto scan complete response */ + wlan_manager_scanned_profile_refresh(); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTING: + target_item = viewer_manager_move_item_to_top(target_item); + viewer_manager_update_ap_handle(target_item, event_info->ap); + viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); + viewer_list_item_radio_mode_set(target_item, VIEWER_ITEM_RADIO_MODE_CONNECTING); + viewer_manager_scroll_to_top(); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK: + case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_OK: + target_item = viewer_manager_move_item_to_top(target_item); + viewer_manager_update_ap_handle(target_item, event_info->ap); + viewer_list_item_radio_mode_set(target_item , VIEWER_ITEM_RADIO_MODE_CONNECTED); + viewer_manager_header_mode_set(HEADER_MODE_CONNECTED); + viewer_manager_scroll_to_top(); + + if (ug_app_state->passpopup) { + /* This is needed to remove the PBC timer popup */ + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + } + break; + + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_CONNECT_FAILED: + case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_FAIL: + viewer_manager_header_mode_set(HEADER_MODE_ON); + viewer_list_item_radio_mode_set(target_item , VIEWER_ITEM_RADIO_MODE_OFF); + + if (ug_app_state->passpopup) { + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + } + break; + + case WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK: + viewer_manager_update_ap_handle(target_item, event_info->ap); + viewer_list_item_radio_mode_set(target_item, VIEWER_ITEM_RADIO_MODE_OFF); + viewer_manager_header_mode_set(HEADER_MODE_ON); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_OK: + viewer_list_item_radio_mode_set(target_item, VIEWER_ITEM_RADIO_MODE_OFF); + viewer_manager_header_mode_set(HEADER_MODE_ON); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_FAIL: + break; + + case WLAN_MANAGER_RESPONSE_TYPE_MAC_ID_IND: + break; + + case WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_FAIL: + case WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_OK: + viewer_manager_specific_scan_response_hlr(event_info->bss_info_list, user_data); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_UPDATE_SIG_STR: + viewer_manager_update_connected_ap_sig_str(); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_INVALID_KEY: + winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_WIFI_INVALID_KEY, NULL); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_NONE: + default: + break; + } + + __COMMON_FUNC_EXIT__; +} + +void wlan_engine_refresh_callback(void) +{ + __COMMON_FUNC_ENTER__; + viewer_manager_refresh(); + __COMMON_FUNC_EXIT__; +} diff --git a/sources/ui-gadget/winset_popup.c b/sources/ui-gadget/winset_popup.c new file mode 100644 index 0000000..7b5636f --- /dev/null +++ b/sources/ui-gadget/winset_popup.c @@ -0,0 +1,346 @@ +/* + * Wi-Fi + * + * 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 "common.h" +#include "ug_wifi.h" +#include "i18nmanager.h" +#include "common_utils.h" +#include "winset_popup.h" +#include "wlan_manager.h" +#include "viewer_manager.h" + +struct popup_manager_object { + /* General popup attributes */ + Evas_Object* win; + Evas_Object* popup; + Evas_Object *popup_user_prompt; + char *str_pkg_name; +}; + +static void _mobilehotspot_disable_cb(DBusGProxy *proxy, DBusGProxyCall *call, gpointer user_data) +{ + __COMMON_FUNC_ENTER__; + + GError *err = NULL; + guint type; + guint result; + DBusGConnection *bus = user_data; + + dbus_g_proxy_end_call(proxy, call, &err, G_TYPE_UINT, &type, + G_TYPE_UINT, &result, G_TYPE_INVALID); + if (err != NULL) { + INFO_LOG(COMMON_NAME_LIB, "Error occured [%s]\n", err->message); + g_error_free(err); + viewer_manager_header_mode_set(HEADER_MODE_OFF); + } else { + INFO_LOG(COMMON_NAME_LIB, "TYPE = %d, Result = %d\n", type, result); + if (3 == type && (0 == result || 5 == result)) { + INFO_LOG(COMMON_NAME_LIB, "OK\n"); + /* Tethering is now disabled. All OK to switch on Wi-Fi */ + power_control(); + } else { + viewer_manager_header_mode_set(HEADER_MODE_OFF); + } + } + + g_pending_call.is_handled = TRUE; + + g_object_unref(proxy); + dbus_g_connection_unref(bus); + + __COMMON_FUNC_EXIT__; +} + +static void _retry_clicked_cb(void* data, Evas_Object* obj, void* event_info) +{ + __COMMON_FUNC_ENTER__; + + popup_manager_object_t *manager_object = (popup_manager_object_t *)data; + if (manager_object == NULL) + return; + + INFO_LOG(UG_NAME_NORMAL, "Response OK"); + + switch (wlan_manager_start()) { + case WLAN_MANAGER_ERR_NONE: + break; + + case WLAN_MANAGER_ERR_ALREADY_REGISTERED: + break; + + case WLAN_MANAGER_ERR_UNKNOWN: + winset_popup_mode_set(manager_object, POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED, NULL); + + __COMMON_FUNC_EXIT__; + return; + + default: + __COMMON_FUNC_EXIT__; + return; + } + + switch (wlan_manager_state_get()) { + case WLAN_MANAGER_OFF: + viewer_manager_header_mode_set(HEADER_MODE_OFF); + viewer_manager_hide(VIEWER_WINSET_SUB_CONTENTS); + break; + case WLAN_MANAGER_UNCONNECTED: + case WLAN_MANAGER_CONNECTING: + case WLAN_MANAGER_CONNECTED: + connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC); + viewer_manager_header_mode_set(HEADER_MODE_SEARCHING); + viewer_manager_hide(VIEWER_WINSET_SEARCHING); + viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS); + break; + case WLAN_MANAGER_ERROR: + default: + break; + } + + __COMMON_FUNC_EXIT__; +} + +static void _back_clicked_cb(void* data, Evas_Object* obj, void* event_info) +{ + INFO_LOG(UG_NAME_NORMAL, "Response CANCEL"); + wifi_exit(); +} + +static int mobilehotspot_deactivate() +{ + __COMMON_FUNC_ENTER__; + + DBusGConnection *bus; + DBusGProxy *proxy; + GError *error= NULL; + + bus = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error); + if (error != NULL) { + INFO_LOG(COMMON_NAME_LIB, "Couldn't connect to the system bus"); + g_error_free(error); + return FALSE; + } + + proxy = dbus_g_proxy_new_for_name(bus, + "org.tizen.tethering", /* name */ + "/Tethering", /* obj path */ + "org.tizen.tethering");/* interface */ + if (proxy == NULL) { + INFO_LOG(COMMON_NAME_LIB, "Couldn't create the proxy object"); + dbus_g_connection_unref(bus); + return FALSE; + } + g_pending_call.pending_call = dbus_g_proxy_begin_call(proxy, "disable_wifi_tethering", + _mobilehotspot_disable_cb, bus, NULL, G_TYPE_INVALID); + + g_pending_call.proxy = proxy; + g_pending_call.is_handled = FALSE; + + __COMMON_FUNC_EXIT__; + return TRUE; +} + +static void _turn_off_mobileap_yes_clicked_cb(void* data, Evas_Object* obj, void* event_info) +{ + __COMMON_FUNC_ENTER__; + popup_manager_object_t *manager_object = (popup_manager_object_t *)data; + INFO_LOG(UG_NAME_NORMAL, "Response OK"); + if(manager_object && NULL != manager_object->popup_user_prompt) { + evas_object_hide(manager_object->popup_user_prompt); + evas_object_del(manager_object->popup_user_prompt); + manager_object->popup_user_prompt = NULL; + } + + if (FALSE != mobilehotspot_deactivate()) { + INFO_LOG(UG_NAME_NORMAL, "Mobile AP return value TRUE"); + } else { + INFO_LOG(UG_NAME_NORMAL, "Mobile AP return value FALSE"); + } + + __COMMON_FUNC_EXIT__; +} + +static void _turn_off_mobileap_no_clicked_cb(void* data, Evas_Object* obj, void* event_info) +{ + __COMMON_FUNC_ENTER__; + popup_manager_object_t *manager_object = (popup_manager_object_t *)data; + + INFO_LOG(UG_NAME_NORMAL, "Response CANCEL"); + + if(manager_object && NULL != manager_object->popup_user_prompt) { + evas_object_hide(manager_object->popup_user_prompt); + evas_object_del(manager_object->popup_user_prompt); + manager_object->popup_user_prompt = NULL; + viewer_manager_header_mode_set(HEADER_MODE_OFF); + } + __COMMON_FUNC_EXIT__; +} + +#if 0 +static void _winset_popup_close_cb(void *data, Evas_Object *obj, void *event_info) +{ + popup_manager_object_t *manager_object = (popup_manager_object_t *)data; + if (manager_object && manager_object->popup) { + evas_object_del(manager_object->popup); + manager_object->popup = NULL; + } + return; +} +#endif + +popup_manager_object_t *winset_popup_manager_create(Evas_Object* win, const char *str_pkg_name) +{ + popup_manager_object_t *manager_object; + manager_object = g_new0(popup_manager_object_t, 1); + manager_object->win = win; + manager_object->str_pkg_name = (char *)str_pkg_name; + + return manager_object; +} + +/* + * FIX ME LATER + * This function had re-factored as elm_popup's bug + */ +void winset_popup_mode_set(popup_manager_object_t *manager_object, + POPUP_MODE_OPTIONS option, void *input_data) +{ + __COMMON_FUNC_ENTER__; + + char *info_txt; + popup_btn_info_t popup_btn_data; + + if (manager_object == NULL) + return; + + if(NULL != manager_object->popup) { + evas_object_hide(manager_object->popup); + evas_object_del(manager_object->popup); + manager_object->popup = NULL; + } + INFO_LOG(UG_NAME_NORMAL, "option = %d", option); + + memset(&popup_btn_data, 0, sizeof(popup_btn_data)); + switch (option) { + case POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED: + popup_btn_data.info_txt = "connman is not working now"; + popup_btn_data.btn1_cb = _retry_clicked_cb; + popup_btn_data.btn2_cb = _back_clicked_cb; + popup_btn_data.btn1_data = manager_object; + popup_btn_data.btn1_txt = "Retry"; + popup_btn_data.btn2_txt = "Back"; + manager_object->popup = + common_utils_show_info_popup( + manager_object->win, &popup_btn_data); + break; + + case POPUP_OPTION_POWER_ON_FAILED_MOBILE_HOTSPOT: + if(NULL == manager_object->popup_user_prompt) { + popup_btn_data.info_txt = + "Connecting Wi-Fi will turn off Mobile hotspot. Continue?"; + popup_btn_data.btn1_cb = _turn_off_mobileap_yes_clicked_cb; + popup_btn_data.btn2_cb = _turn_off_mobileap_no_clicked_cb; + popup_btn_data.btn1_data = popup_btn_data.btn2_data = manager_object; + popup_btn_data.btn1_txt = sc(manager_object->str_pkg_name, I18N_TYPE_Yes); + popup_btn_data.btn2_txt = sc(manager_object->str_pkg_name, I18N_TYPE_No); + manager_object->popup_user_prompt = + common_utils_show_info_popup( + manager_object->win, &popup_btn_data); + } + break; + + case POPUP_OPTION_CONNECTING_FAILED: + if (input_data) { + info_txt = g_strdup_printf("Unable to connect %s", (char *)input_data); + } else { + info_txt = g_strdup("Unable to connect"); + } + manager_object->popup = + common_utils_show_info_ok_popup( + manager_object->win, manager_object->str_pkg_name, info_txt); + g_free(info_txt); + break; + + case POPUP_OPTION_HIDDEN_AP_SSID_LEN_ERROR: + info_txt = _("SSID can be up to 32 letters.<br>Check your input."); + manager_object->popup = + common_utils_show_info_ok_popup( + manager_object->win, manager_object->str_pkg_name, info_txt); + break; + + case POPUP_OPTION_WEP_PSWD_LEN_ERROR: + info_txt = WEP_WRONG_PASSWORD_LEN_ERR_MSG_STR; + manager_object->popup = + common_utils_show_info_ok_popup( + manager_object->win, manager_object->str_pkg_name, info_txt); + break; + + case POPUP_OPTION_WPA_PSWD_LEN_ERROR: + info_txt = WPA_WRONG_PASSWORD_LEN_ERR_MSG_STR; + manager_object->popup = + common_utils_show_info_ok_popup( + manager_object->win, manager_object->str_pkg_name, info_txt); + break; + + case POPUP_OPTION_WIFI_INVALID_KEY: + info_txt = INVALID_PASSWORD; + manager_object->popup = + common_utils_show_info_ok_popup( + manager_object->win, manager_object->str_pkg_name, info_txt); + break; + + default: + break; + } + + __COMMON_FUNC_EXIT__; +} + +gboolean winset_popup_manager_destroy(popup_manager_object_t *manager_object) +{ + if (manager_object == NULL) + return FALSE; + + if (manager_object->popup != NULL) { + evas_object_del(manager_object->popup); + manager_object->popup = NULL; + } + + g_free(manager_object); + + return TRUE; +} + +gboolean winset_popup_hide_popup(popup_manager_object_t *manager_object) +{ + if (manager_object == NULL) + return FALSE; + + evas_object_hide(manager_object->popup); + evas_object_del(manager_object->popup); + manager_object->popup = NULL; + + if(manager_object->popup_user_prompt != NULL) { + evas_object_hide(manager_object->popup_user_prompt); + evas_object_del(manager_object->popup_user_prompt); + manager_object->popup_user_prompt = NULL; + } + + return TRUE; +} diff --git a/sources/wifi-syspopup/CMakeLists.txt b/sources/wifi-syspopup/CMakeLists.txt new file mode 100644 index 0000000..7fa7e8e --- /dev/null +++ b/sources/wifi-syspopup/CMakeLists.txt @@ -0,0 +1,56 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT(wifi-qs C) + +# defines +SET(PREFIX ${CMAKE_INSTALL_PREFIX}) +SET(EXEC_PREFIX "\${prefix}") +SET(LIBDIR "\${prefix}/lib") +SET(INCLUDEDIR "\${prefix}/include") +SET(VERSION 0.1.0) + +# source files +SET(SRCS + ../libraries/i18nManager/i18nmanager.c + ../libraries/appcoreWrapper/appcoreWrapper.c + ../libraries/WlanManager/wlan-manager/wlan_manager.c + ../libraries/Common/common_utils.c + ../libraries/Common/common_ip_info.c + ../libraries/Common/common_pswd_popup.c + ../libraries/Common/common_eap_connect.c + ../libraries/Common/common_invalid_password.c + ${ENGINE_SOURCES} + viewer-popups/view-main.c + viewer-popups/view-alerts.c + wifi-syspopup.c + wifi-syspopup-engine-callback.c) + +FOREACH(flag ${pkgs_CFLAGS}) + SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") +ENDFOREACH(flag) + +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") + +ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"") + +# add executable +ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS}) +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS}) + +INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin) + +# install image files +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/37_wifi_icon_00.png DESTINATION /usr/share/icon) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/37_wifi_icon_01.png DESTINATION /usr/share/icon) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/37_wifi_icon_02.png DESTINATION /usr/share/icon) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/37_wifi_icon_03.png DESTINATION /usr/share/icon) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/37_wifi_icon_lock_00.png DESTINATION /usr/share/icon) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/37_wifi_icon_lock_01.png DESTINATION /usr/share/icon) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/37_wifi_icon_lock_02.png DESTINATION /usr/share/icon) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/37_wifi_icon_lock_03.png DESTINATION /usr/share/icon) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/Q02_Notification__wifi_in_range.png DESTINATION /usr/share/icon) + +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/net.${PROJECT_NAME}.xml DESTINATION /usr/share/packages/) + +# install ini file +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.ini DESTINATION /usr/share/process-info) + diff --git a/sources/wifi-syspopup/include/wifi-syspopup-engine-callback.h b/sources/wifi-syspopup/include/wifi-syspopup-engine-callback.h new file mode 100644 index 0000000..cba393f --- /dev/null +++ b/sources/wifi-syspopup/include/wifi-syspopup-engine-callback.h @@ -0,0 +1,37 @@ +/* + * Wi-Fi + * + * 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 __WIFI_SYSPOPUP_ENGINE_CALLBACK_H__ +#define __WIFI_SYSPOPUP_ENGINE_CALLBACK_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "wlan_manager.h" + +void wlan_engine_refresh_callback(void); +void wlan_engine_callback(wlan_mgr_event_info_t *event_info, void *user_data); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/wifi-syspopup/include/wifi-syspopup.h b/sources/wifi-syspopup/include/wifi-syspopup.h new file mode 100644 index 0000000..b499599 --- /dev/null +++ b/sources/wifi-syspopup/include/wifi-syspopup.h @@ -0,0 +1,98 @@ +/* + * Wi-Fi + * + * 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 __WIFI_SYSPOPUP_H__ +#define __WIFI_SYSPOPUP_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "common.h" +#include "common_pswd_popup.h" +#include "common_eap_connect.h" +#include "wlan_manager.h" + +#define PACKAGE "wifi-qs" +#define LOCALEDIR "/usr/share/locale" +#define WIFI_SP_ICON_PATH "/usr/share/icon" + +typedef enum { + WIFI_SYSPOPUP_SUPPORT_NONE =0, + WIFI_SYSPOPUP_SUPPORT_QUICKPANEL=1, + WIFI_SYSPOPUP_SUPPORT_MAX +} WIFI_SYSPOPUP_SUPPORTS; + +typedef enum { + WIFI_SYSPOPUP_WITH_AP_LIST = 0, + WIFI_SYSPOPUP_WITHOUT_AP_LIST +} WIFI_SYSPOPUP_TYPE; + +#define MAX_PROFILE_NUM NETPM_PROFILES_PERSISTENT_MAX + +typedef struct wifi_object { + /* wifi object attributes */ + WIFI_SYSPOPUP_SUPPORTS wifi_syspopup_support; + + /* connection_result */ + int connection_result; + + Eina_Bool update_enabled; + + /* caller type */ + WIFI_SYSPOPUP_TYPE syspopup_type; + + /* window */ + Evas_Object* win_main; + Evas_Object* conformant; + Evas_Object* layout_main; + + Evas* evas; + bundle* b; + + /* popups */ + Evas_Object* syspopup; + pswd_popup_t *passpopup; + common_eap_connect_data_t *eap_popup; + Evas_Object* alertpopup; +} wifi_object; + +typedef enum { + ITEM_CONNECTION_MODE_NULL, + ITEM_CONNECTION_MODE_OFF, + ITEM_CONNECTION_MODE_CONNECTING, + ITEM_CONNECTION_MODE_DISCONNECTING, + ITEM_CONNECTION_MODE_MAX +} ITEM_CONNECTION_MODES; + +typedef struct { + Elm_Object_Item *it; + ITEM_CONNECTION_MODES connection_mode; + wifi_device_info_t *dev_info; +} syspopup_genlist_data_t; + +int wifi_syspopup_create(void); +int wifi_syspopup_destroy(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/wifi-syspopup/net.wifi-qs.xml b/sources/wifi-syspopup/net.wifi-qs.xml new file mode 100644 index 0000000..2ad839d --- /dev/null +++ b/sources/wifi-syspopup/net.wifi-qs.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns="http://tizen.org/ns/packages" package="net.wifi-qs" version="0.4.55-7" install-location="internal-only"> + <label>Wi-Fi device picker</label> + <author email="sanghoon80.cho@samsung.com" href="www.samsung.com">Sanghoon Cho</author> + <description>Wi-Fi device picker</description> + <ui-application appid="net.wifi-qs" exec="/usr/bin/wifi-qs" nodisplay="true" multiple="false" type="capp" taskmanage="false"> + <label>Wi-Fi device picker</label> + </ui-application> +</manifest> diff --git a/sources/wifi-syspopup/viewer-popups/include/view-alerts.h b/sources/wifi-syspopup/viewer-popups/include/view-alerts.h new file mode 100644 index 0000000..1858b23 --- /dev/null +++ b/sources/wifi-syspopup/viewer-popups/include/view-alerts.h @@ -0,0 +1,36 @@ +/* + * Wi-Fi + * + * 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 __WIFI_SYSPOPUP_VIEW_ALERTS_H__ +#define __WIFI_SYSPOPUP_VIEW_ALERTS_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +int view_alerts_powering_on_show(void); +void view_alerts_popup_show(const char *err_msg); +void view_alerts_popup_ok_show(const char *err_msg); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/wifi-syspopup/viewer-popups/include/view-main.h b/sources/wifi-syspopup/viewer-popups/include/view-main.h new file mode 100644 index 0000000..5e25385 --- /dev/null +++ b/sources/wifi-syspopup/viewer-popups/include/view-main.h @@ -0,0 +1,44 @@ +/* + * Wi-Fi + * + * 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 __WIFI_SYSPOPUP_VIEW_MAIN_H__ +#define __WIFI_SYSPOPUP_VIEW_MAIN_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include <Evas.h> +#include <Eina.h> + +#include "wlan_manager.h" +#include "wifi-syspopup.h" + +/* create */ +Evas_Object *view_main_create(Evas_Object* parent); +int view_main_destroy(void); +void view_main_item_state_set(wifi_ap_h ap, ITEM_CONNECTION_MODES state); +Eina_Bool view_main_show(void *data); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sources/wifi-syspopup/viewer-popups/view-alerts.c b/sources/wifi-syspopup/viewer-popups/view-alerts.c new file mode 100644 index 0000000..cf722b4 --- /dev/null +++ b/sources/wifi-syspopup/viewer-popups/view-alerts.c @@ -0,0 +1,112 @@ +/* + * Wi-Fi + * + * 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 "common.h" +#include "common_utils.h" +#include "wifi-syspopup.h" +#include "view-alerts.h" +#include "i18nmanager.h" + +extern wifi_object* syspopup_app_state; + +int view_alerts_powering_on_show(void) +{ + __COMMON_FUNC_ENTER__; + if(WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == syspopup_app_state->wifi_syspopup_support){ + __COMMON_FUNC_EXIT__; + return TRUE; + } + if(NULL != syspopup_app_state->alertpopup) { + evas_object_del(syspopup_app_state->alertpopup); + syspopup_app_state->alertpopup = NULL; + } + + syspopup_app_state->alertpopup = elm_popup_add(syspopup_app_state->layout_main); + + Evas_Object *box = elm_box_add(syspopup_app_state->alertpopup); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(box); + + Evas_Object *progressbar = elm_progressbar_add(box); + elm_object_style_set(progressbar, "list_process"); + evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_progressbar_pulse(progressbar, EINA_TRUE); + evas_object_show(progressbar); + elm_box_pack_end(box, progressbar); + + Evas_Object *label = elm_label_add(box); + elm_object_style_set(label, "popup/default"); + evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_text_set(label, sc(PACKAGE, I18N_TYPE_Activating)); + evas_object_show(label); + elm_box_pack_end(box, label); + + elm_object_content_set(syspopup_app_state->alertpopup, box); + evas_object_size_hint_weight_set(syspopup_app_state->alertpopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(syspopup_app_state->alertpopup); + + __COMMON_FUNC_EXIT__; + + return TRUE; +} + +void view_alerts_popup_show(const char *err_msg) +{ + __COMMON_FUNC_ENTER__; + + if (WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == + syspopup_app_state->wifi_syspopup_support) { + __COMMON_FUNC_EXIT__; + return; + } + + if (NULL != syspopup_app_state->alertpopup) { + evas_object_del(syspopup_app_state->alertpopup); + syspopup_app_state->alertpopup = NULL; + } + + syspopup_app_state->alertpopup = common_utils_show_info_timeout_popup(syspopup_app_state->win_main, err_msg, 2.0f); + + __COMMON_FUNC_EXIT__; +} + +void view_alerts_popup_ok_show(const char *err_msg) +{ + __COMMON_FUNC_ENTER__; + + if (WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == + syspopup_app_state->wifi_syspopup_support) { + __COMMON_FUNC_EXIT__; + return; + } + + if (NULL != syspopup_app_state->alertpopup) { + evas_object_del(syspopup_app_state->alertpopup); + syspopup_app_state->alertpopup = NULL; + } + + syspopup_app_state->alertpopup = + common_utils_show_info_ok_popup( + syspopup_app_state->win_main, PACKAGE, err_msg); + + __COMMON_FUNC_EXIT__; +} diff --git a/sources/wifi-syspopup/viewer-popups/view-main.c b/sources/wifi-syspopup/viewer-popups/view-main.c new file mode 100644 index 0000000..ad283b5 --- /dev/null +++ b/sources/wifi-syspopup/viewer-popups/view-main.c @@ -0,0 +1,520 @@ +/* + * Wi-Fi + * + * 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 "common.h" +#include "view-main.h" +#include "common_pswd_popup.h" +#include "common_utils.h" +#include "view-alerts.h" +#include "i18nmanager.h" +#include "common_eap_connect.h" + +#define QS_POPUP_CONNECTION_STATE "qs_popup_connection_state" + +extern wifi_object* syspopup_app_state; + +static Evas_Object* list = NULL; +static Elm_Genlist_Item_Class itc; + +static ITEM_CONNECTION_MODES view_main_state_get() +{ + return (ITEM_CONNECTION_MODES)evas_object_data_get(list, QS_POPUP_CONNECTION_STATE); +} + +static void view_main_state_set(ITEM_CONNECTION_MODES state) +{ + return evas_object_data_set(list, QS_POPUP_CONNECTION_STATE, (const void *)state); +} + +static void _popup_ok_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + if (!syspopup_app_state->passpopup) { + return; + } + assertm_if(NULL == obj, "obj is NULL!!"); + assertm_if(NULL == event_info, "event_info is NULL!!"); + + wifi_ap_h ap = common_pswd_popup_get_ap(syspopup_app_state->passpopup); + wifi_security_type_e sec_type; + wifi_ap_get_security_type(ap, &sec_type); + + char* password = NULL; + int len_password = 0; + int ret = WLAN_MANAGER_ERR_UNKNOWN; + password = common_pswd_popup_get_txt(syspopup_app_state->passpopup); + len_password = strlen(password); + INFO_LOG(SP_NAME_NORMAL, "* password len [%d]", len_password); + + switch (sec_type) { + case WIFI_SECURITY_TYPE_WEP: + if (len_password == 5 || len_password == 13 || len_password == 26 || len_password == 10) { + ret = wlan_manager_connect_with_password(ap, password); + } else { + view_alerts_popup_show(WEP_WRONG_PASSWORD_LEN_ERR_MSG_STR); + goto popup_ok_exit; + } + break; + + case WIFI_SECURITY_TYPE_WPA_PSK: + case WIFI_SECURITY_TYPE_WPA2_PSK: + if (len_password < 8 || len_password > 63) { + view_alerts_popup_show(WPA_WRONG_PASSWORD_LEN_ERR_MSG_STR); + goto popup_ok_exit; + } else { + ret = wlan_manager_connect_with_password(ap, password); + } + break; + + default: + ret = WLAN_MANAGER_ERR_UNKNOWN; + ERROR_LOG(SP_NAME_ERR, "Fatal: Wrong security type : %d", sec_type); + break; + } + + common_pswd_popup_destroy(syspopup_app_state->passpopup); + syspopup_app_state->passpopup = NULL; + +popup_ok_exit: + g_free(password); + + __COMMON_FUNC_EXIT__; +} + +static void _popup_cancel_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + + INFO_LOG(SP_NAME_NORMAL, "button cancel"); + + common_pswd_popup_destroy(syspopup_app_state->passpopup); + syspopup_app_state->passpopup = NULL; + + __COMMON_FUNC_EXIT__; +} + +static void _wps_pbc_popup_cancel_connecting(void* data, Evas_Object* obj, void* event_info) +{ + if (!syspopup_app_state->passpopup) { + return; + } + + wifi_ap_h ap = common_pswd_popup_get_ap(syspopup_app_state->passpopup); + int ret = wlan_manager_request_disconnection(ap); + if (ret == WLAN_MANAGER_ERR_NONE) { + INFO_LOG(SP_NAME_NORMAL, "WPS conection cancelled successfully for AP[0x%x]", ap); + } else { + ERROR_LOG(SP_NAME_ERR, "Error!!! wlan_manager_request_disconnection failed for AP[0x%x]", ap); + } + common_pswd_popup_destroy(syspopup_app_state->passpopup); + syspopup_app_state->passpopup = NULL; + return; +} + +static void _wps_btn_cb(void* data, Evas_Object* obj, void* event_info) +{ + __COMMON_FUNC_ENTER__; + if (!syspopup_app_state->passpopup) { + return; + } + + wifi_ap_h ap = common_pswd_popup_get_ap(syspopup_app_state->passpopup); + int ret = wlan_manager_request_wps_connection(ap); + if (ret == WLAN_MANAGER_ERR_NONE) { + common_pswd_popup_pbc_popup_create(syspopup_app_state->passpopup, _wps_pbc_popup_cancel_connecting, NULL); + } else { + ERROR_LOG(SP_NAME_ERR, "Error!!! wlan_manager_request_wps_connection failed"); + wifi_ap_destroy(ap); + } + __COMMON_FUNC_EXIT__; +} + +static void __view_main_request_connection(syspopup_genlist_data_t *gdata) +{ + if (!gdata) + return; + + int ret = WLAN_MANAGER_ERR_UNKNOWN; + ret = wlan_manager_request_connection(gdata->dev_info->ap); + switch (ret) { + case WLAN_MANAGER_ERR_NONE: + INFO_LOG( SP_NAME_NORMAL, "ERROR_NONE"); + view_main_state_set(ITEM_CONNECTION_MODE_CONNECTING); + break; + case WLAN_MANAGER_ERR_CONNECT_PASSWORD_NEEDED: + INFO_LOG( SP_NAME_NORMAL, "Password view will show up"); + pswd_popup_create_req_data_t popup_info; + memset(&popup_info, 0, sizeof(pswd_popup_create_req_data_t)); + popup_info.title = gdata->dev_info->ssid; + popup_info.ok_cb = _popup_ok_cb; + popup_info.cancel_cb = _popup_cancel_cb; + popup_info.show_wps_btn = gdata->dev_info->wps_mode; + popup_info.wps_btn_cb = _wps_btn_cb; + popup_info.ap = gdata->dev_info->ap; + popup_info.cb_data = NULL; + syspopup_app_state->passpopup = common_pswd_popup_create(syspopup_app_state->layout_main, PACKAGE, &popup_info); + break; + case WLAN_MANAGER_ERR_CONNECT_EAP_SEC_TYPE: + syspopup_app_state->eap_popup = create_eap_connect_popup(syspopup_app_state->layout_main, PACKAGE, gdata->dev_info); + break; + default: + ERROR_LOG( SP_NAME_NORMAL, "errro code [%d]", ret); + break; + } +} + +Elm_Object_Item *__view_main_get_item_in_mode(ITEM_CONNECTION_MODES mode) +{ + Elm_Object_Item* it = NULL; + it = elm_genlist_first_item_get(list); + __COMMON_FUNC_ENTER__; + while (it) { + syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)elm_object_item_data_get(it); + if (gdata && gdata->connection_mode == mode) { + INFO_LOG( SP_NAME_NORMAL, "Found Item [%s] in mode[%d]", gdata->dev_info->ssid, mode); + __COMMON_FUNC_EXIT__; + return it; + } + it = elm_genlist_item_next_get(it); + } + + __COMMON_FUNC_EXIT__; + return NULL; +} + +static void _gl_sel(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + assertm_if(NULL == data, "data is NULL!!"); + assertm_if(NULL == obj, "obj is NULL!!"); + assertm_if(NULL == event_info, "event_info is NULL!!"); + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + ITEM_CONNECTION_MODES state = view_main_state_get(); + syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)data; + + if (ITEM_CONNECTION_MODE_OFF == state) { + INFO_LOG(SP_NAME_NORMAL, "item state: off"); + __view_main_request_connection(gdata); + elm_genlist_item_update(item); + } else if (ITEM_CONNECTION_MODE_CONNECTING == state) { + if (ITEM_CONNECTION_MODE_CONNECTING == gdata->connection_mode) { // Connecting Item Selected + if (WLAN_MANAGER_ERR_NONE == wlan_manager_request_disconnection(gdata->dev_info->ap)) { + view_main_state_set(ITEM_CONNECTION_MODE_DISCONNECTING); + gdata->connection_mode = ITEM_CONNECTION_MODE_DISCONNECTING; + elm_genlist_item_update(item); + } + } else { // Item Selected while other item is in connecting state +#if 0 // Enable this later when two connect requests is supported by libnet. + Elm_Object_Item *connecting_it = __view_main_get_item_in_mode(ITEM_CONNECTION_MODE_CONNECTING); + view_main_state_set(ITEM_CONNECTION_MODE_OFF); + __view_main_request_connection(gdata); + if (connecting_it) { + syspopup_genlist_data_t *connecting_gdata = elm_object_item_data_get(connecting_it); + if (connecting_gdata && WLAN_MANAGER_ERR_NONE == wlan_manager_request_disconnection(connecting_gdata->dev_info->ap)) { + gdata->connection_mode = ITEM_CONNECTION_MODE_OFF; + elm_genlist_item_update(connecting_it); + } + } else { + ERROR_LOG(SP_NAME_NORMAL, "Could not find connecting item"); + } +#endif + } + } else { + INFO_LOG(SP_NAME_NORMAL, "In wrong state, nothing can do" ); + } + + elm_genlist_item_selected_set(item, EINA_FALSE); + + __COMMON_FUNC_EXIT__; +} + +static char *_gl_text_get(void *data, Evas_Object *obj, const char *part) +{ + __COMMON_FUNC_ENTER__; + char *ret = NULL; + assertm_if(NULL == data, "data param is NULL!!"); + assertm_if(NULL == obj, "obj param is NULL!!"); + assertm_if(NULL == part, "part param is NULL!!"); + + syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *) data; + if (!strncmp(part, "elm.text.1", strlen(part))) { + ret = gdata->dev_info->ssid; + if (ret == NULL) { + ERROR_LOG(SP_NAME_NORMAL, "ssid name is NULL!!"); + } + } else if (!strncmp(part, "elm.text.2", strlen(part))) { + if (ITEM_CONNECTION_MODE_CONNECTING == gdata->connection_mode) { + ret = sc(PACKAGE, I18N_TYPE_Connecting); + } else if (ITEM_CONNECTION_MODE_DISCONNECTING == gdata->connection_mode) { + ret = sc(PACKAGE, I18N_TYPE_Disconnecting); + } else { + ret = gdata->dev_info->ap_status_txt; + } + if (ret == NULL) { + ERROR_LOG(SP_NAME_NORMAL, "ap_status_txt is NULL!!"); + } + } + + __COMMON_FUNC_EXIT__; + + return g_strdup(ret); +} + +static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part) +{ + __COMMON_FUNC_ENTER__; + if (data == NULL) + return NULL; + + syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *) data; + + const char* ssid_name = gdata->dev_info->ssid; + INFO_LOG(SP_NAME_NORMAL, "ssid name [%s]", ssid_name); + + Evas_Object* icon = NULL; + + if (!strncmp(part, "elm.icon.1", strlen(part))) { + icon = elm_image_add(obj); + elm_image_file_set(icon, gdata->dev_info->ap_image_path, NULL); + evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 5, 5); + } else if (!strncmp(part, "elm.icon.2", strlen(part))) { + switch (gdata->connection_mode) { + case ITEM_CONNECTION_MODE_OFF: + default: + break; + case ITEM_CONNECTION_MODE_CONNECTING: + case ITEM_CONNECTION_MODE_DISCONNECTING: + icon = elm_progressbar_add(obj); + elm_object_style_set(icon, "list_process"); + evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, 0.5); + evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_progressbar_pulse(icon, TRUE); + break; + } + + } + + __COMMON_FUNC_EXIT__; + return icon; +} + +static void _gl_list_del(void* data, Evas_Object* obj) +{ + if (data == NULL) + return; + + syspopup_genlist_data_t* gdata = (syspopup_genlist_data_t *) data; + + if (gdata->dev_info) { + DEBUG_LOG(UG_NAME_NORMAL, "del target ssid: [%s]", gdata->dev_info->ssid); + g_free(gdata->dev_info->ap_image_path); + g_free(gdata->dev_info->ap_status_txt); + g_free(gdata->dev_info->ssid); + wifi_ap_destroy(gdata->dev_info->ap); + g_free(gdata->dev_info); + } + elm_object_item_data_set(gdata->it, NULL); + g_free(gdata); + + return; +} + +Evas_Object *view_main_create(Evas_Object* parent) +{ + __COMMON_FUNC_ENTER__; + assertm_if(NULL == parent, "parent is NULL!!"); + + list = elm_genlist_add(parent); + assertm_if(NULL == list, "list allocation fail!!"); + + evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL); + + __COMMON_FUNC_EXIT__; + + return list; +} + +int view_main_destroy(void) +{ + __COMMON_FUNC_ENTER__; + if(NULL != list) { + evas_object_del(list); + list = NULL; + } + + __COMMON_FUNC_EXIT__; + return TRUE; +} + +static void view_main_scan_ui_clear(void) +{ + __COMMON_FUNC_ENTER__; + + if (list == NULL) + return; + elm_genlist_clear(list); + + __COMMON_FUNC_EXIT__; +} + +void view_main_item_state_set(wifi_ap_h ap, ITEM_CONNECTION_MODES state) +{ + char *item_ssid = NULL; + wifi_security_type_e sec_type; + wlan_security_mode_type_t item_sec_mode; + Elm_Object_Item* it = NULL; + it = elm_genlist_first_item_get(list); + __COMMON_FUNC_ENTER__; + if (!it || + !ap || + (WIFI_ERROR_NONE != wifi_ap_get_essid(ap, &item_ssid)) || + (WIFI_ERROR_NONE != wifi_ap_get_security_type(ap, &sec_type))) { + ERROR_LOG(SP_NAME_NORMAL, "Invalid params"); + __COMMON_FUNC_EXIT__; + return; + } + item_sec_mode = common_utils_get_sec_mode(sec_type); + INFO_LOG(SP_NAME_NORMAL, "item state set for AP[%s] with sec mode[%d]", item_ssid, item_sec_mode); + while (it) { + syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)elm_object_item_data_get(it); + INFO_LOG(SP_NAME_NORMAL, "gdata AP[%s] with sec mode[%d]", gdata->dev_info->ssid, gdata->dev_info->security_mode); + if (gdata->dev_info->security_mode == item_sec_mode && + !g_strcmp0(gdata->dev_info->ssid, item_ssid)) { + if (gdata->connection_mode != state) { + gdata->connection_mode = state; + INFO_LOG(SP_NAME_NORMAL, "State transition from [%d] --> [%d]", view_main_state_get(), state); + view_main_state_set(state); + elm_genlist_item_update(it); + } + break; + } + + it = elm_genlist_item_next_get(it); + } + g_free(item_ssid); + __COMMON_FUNC_EXIT__; + return; +} + +static wifi_device_info_t *view_main_item_device_info_create(wifi_ap_h ap) +{ + __COMMON_FUNC_ENTER__; + + wifi_device_info_t *wifi_device = g_new0(wifi_device_info_t, 1); + wifi_security_type_e sec_type; + + if (WIFI_ERROR_NONE != wifi_ap_clone(&(wifi_device->ap), ap)) { + g_free(wifi_device); + return NULL; + } else if (WIFI_ERROR_NONE != wifi_ap_get_essid(ap, &(wifi_device->ssid))) { + g_free(wifi_device); + return NULL; + } else if (WIFI_ERROR_NONE != wifi_ap_get_rssi(ap, &(wifi_device->rssi))) { + g_free(wifi_device->ssid); + g_free(wifi_device); + return NULL; + } else if (WIFI_ERROR_NONE != wifi_ap_get_security_type (ap, &sec_type)) { + g_free(wifi_device->ssid); + g_free(wifi_device); + return NULL; + } else if (WIFI_ERROR_NONE != wifi_ap_is_wps_supported (ap, &(wifi_device->wps_mode))) { + g_free(wifi_device->ssid); + g_free(wifi_device); + return NULL; + } + wifi_device->security_mode = common_utils_get_sec_mode(sec_type); + wifi_device->ap_status_txt = common_utils_get_ap_security_type_info_txt(PACKAGE, wifi_device); + wifi_device->ap_image_path = common_utils_get_device_icon(WIFI_SP_ICON_PATH, wifi_device); + + __COMMON_FUNC_EXIT__; + return wifi_device; +} + +static bool view_main_wifi_found_ap_cb(wifi_ap_h ap, void* user_data) +{ + int *profile_size = (int *)user_data; + syspopup_genlist_data_t *gdata = g_new0(syspopup_genlist_data_t, 1); + wifi_connection_state_e state; + + gdata->dev_info = view_main_item_device_info_create(ap); + if (gdata->dev_info == NULL) { + g_free(gdata); + + return true; + } + + wifi_ap_get_connection_state(ap, &state); + + if (WIFI_CONNECTION_STATE_ASSOCIATION == state || + WIFI_CONNECTION_STATE_CONFIGURATION == state) { + gdata->connection_mode = ITEM_CONNECTION_MODE_CONNECTING; + gdata->it = elm_genlist_item_append(list, &itc, gdata, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, gdata); + *profile_size += 1; + view_main_state_set(ITEM_CONNECTION_MODE_CONNECTING); + + return true; + } + + gdata->connection_mode = ITEM_CONNECTION_MODE_OFF; + gdata->it = elm_genlist_item_append(list, &itc, gdata, NULL, + ELM_GENLIST_ITEM_NONE, _gl_sel, gdata); + *profile_size += 1; + + return true; +} + +Eina_Bool view_main_show(void *data) +{ + __COMMON_FUNC_ENTER__; + + if (list == NULL) { + ERROR_LOG( SP_NAME_NORMAL, "list is NULL!!" ); + return ECORE_CALLBACK_CANCEL; + } + + view_main_scan_ui_clear(); + view_main_state_set(ITEM_CONNECTION_MODE_OFF); + + int state = wlan_manager_state_get(); + if (WLAN_MANAGER_ERROR == state || WLAN_MANAGER_OFF == state) { + return ECORE_CALLBACK_CANCEL; + } + + itc.item_style = "2text.2icon.4"; + itc.func.text_get = _gl_text_get; + itc.func.content_get = _gl_content_get; + itc.func.state_get = NULL; + itc.func.del = _gl_list_del; + + int profiles_list_size = 0; + + wifi_foreach_found_aps(view_main_wifi_found_ap_cb, &profiles_list_size); + + INFO_LOG(SP_NAME_NORMAL, "profiles list count [%d]\n", profiles_list_size); + if (profiles_list_size <= 0) { + WARN_LOG(SP_NAME_NORMAL, "scan size is ZERO"); + return ECORE_CALLBACK_CANCEL; + } + + evas_object_show(list); + __COMMON_FUNC_EXIT__; + + return ECORE_CALLBACK_CANCEL; +} diff --git a/sources/wifi-syspopup/wifi-qs.ini b/sources/wifi-syspopup/wifi-qs.ini new file mode 100644 index 0000000..5abbace --- /dev/null +++ b/sources/wifi-syspopup/wifi-qs.ini @@ -0,0 +1,2 @@ +[ProcessSetting] +BG_SCHEDULE=true diff --git a/sources/wifi-syspopup/wifi-syspopup-engine-callback.c b/sources/wifi-syspopup/wifi-syspopup-engine-callback.c new file mode 100644 index 0000000..93ca3e9 --- /dev/null +++ b/sources/wifi-syspopup/wifi-syspopup-engine-callback.c @@ -0,0 +1,157 @@ +/* + * Wi-Fi + * + * 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 <vconf-keys.h> +#include <syspopup_caller.h> + +#include "common.h" +#include "view-main.h" +#include "view-alerts.h" +#include "common_utils.h" +#include "wifi-syspopup-engine-callback.h" + +extern wifi_object* syspopup_app_state; + +void wlan_engine_callback(wlan_mgr_event_info_t *event_info, void *user_data) +{ + __COMMON_FUNC_ENTER__; + + char *ssid = NULL; + + if (event_info == NULL) { + __COMMON_FUNC_EXIT__; + return; + } + + INFO_LOG(SP_NAME_NORMAL, "event type [%d]", event_info->event_type); + + switch (event_info->event_type) { + case WLAN_MANAGER_RESPONSE_TYPE_NONE: + break; + + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK: + case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_OK: + ssid = wlan_manager_get_connected_ssid(); + + common_utils_send_message_to_net_popup( + "Network connection popup", "wifi connected", + "notification", ssid); + syspopup_app_state->connection_result = VCONFKEY_WIFI_QS_WIFI_CONNECTED; + wifi_syspopup_destroy(); + g_free(ssid); + + break; + + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_CONNECT_FAILED: + case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_FAIL: + if (syspopup_app_state->passpopup) { + common_pswd_popup_destroy(syspopup_app_state->passpopup); + syspopup_app_state->passpopup = NULL; + } + + view_main_item_state_set(event_info->ap, ITEM_CONNECTION_MODE_OFF); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK: + view_main_item_state_set(event_info->ap, ITEM_CONNECTION_MODE_OFF); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_OK: + connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC); + + if (syspopup_app_state->syspopup_type == WIFI_SYSPOPUP_WITHOUT_AP_LIST) + wifi_syspopup_destroy(); + + break; + + case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_NOT_SUPPORTED: + if (syspopup_app_state->alertpopup) { + evas_object_del(syspopup_app_state->alertpopup); + syspopup_app_state->alertpopup = NULL; + } + + common_utils_send_message_to_net_popup("Network connection popup", "not support", "notification", NULL); + wifi_syspopup_destroy(); + + break; + + case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_RESTRICTED: + if (syspopup_app_state->alertpopup) { + evas_object_del(syspopup_app_state->alertpopup); + syspopup_app_state->alertpopup = NULL; + } + + common_utils_send_message_to_net_popup("Network connection popup", "wifi restricted", "popup", NULL); + wifi_syspopup_destroy(); + + break; + + case WLAN_MANAGER_RESPONSE_TYPE_POWER_OFF_OK: + wifi_syspopup_destroy(); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_SCAN_OK: + wlan_manager_scanned_profile_refresh(); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTING: + view_main_item_state_set(event_info->ap, + ITEM_CONNECTION_MODE_CONNECTING); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_SCAN_RESULT_IND: + wlan_manager_scanned_profile_refresh(); + break; + + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_INVALID_KEY: + view_alerts_popup_ok_show(INVALID_PASSWORD); + break; + + default: + break; + } + + __COMMON_FUNC_EXIT__; +} + +void wlan_engine_refresh_callback(void) +{ + __COMMON_FUNC_ENTER__; + + if (NULL == syspopup_app_state) { + INFO_LOG(SP_NAME_ERR, "syspopup_app_state is NULL!! Is it test mode?"); + + __COMMON_FUNC_EXIT__; + return; + } + + /* Make System popup filled, if it was first launched */ + if (NULL != syspopup_app_state->alertpopup) { + /* deallocate alert popup if it has allocated */ + evas_object_del(syspopup_app_state->alertpopup); + syspopup_app_state->alertpopup = NULL; + } + + INFO_LOG(SP_NAME_NORMAL, "Wi-Fi QS launch"); + + ecore_idler_add(view_main_show, NULL); + + __COMMON_FUNC_EXIT__; + return; +} diff --git a/sources/wifi-syspopup/wifi-syspopup.c b/sources/wifi-syspopup/wifi-syspopup.c new file mode 100644 index 0000000..03f35e3 --- /dev/null +++ b/sources/wifi-syspopup/wifi-syspopup.c @@ -0,0 +1,641 @@ +/* + * Wi-Fi + * + * 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 <wifi.h> +#include <X11/Xatom.h> +#include <X11/Xutil.h> +#include <Ecore_X.h> +#include <syspopup.h> +#include <vconf-keys.h> +#include <appcore-efl.h> + +#include "common.h" +#include "view-main.h" +#include "i18nmanager.h" +#include "view-alerts.h" +#include "common_utils.h" +#include "wlan_manager.h" +#include "wifi-syspopup.h" +#include "appcoreWrapper.h" +#include "wifi-syspopup-engine-callback.h" + +#define POPUP_HEAD_AREA 134 +#define POPUP_BUTTON_AREA 200 +#define MAX_INITIAL_QS_POPUP_LIST_SIZE 8 + +wifi_object* syspopup_app_state = NULL; + +/* static */ +static int myterm(bundle* b, void* data); +static int mytimeout(bundle *b, void* data); +static int wifi_syspopup_exit( void ); +static void _exit_cb(void *data, Evas_Object *obj, void *event_info); +static int syspopup_support_set(const char* support); +static int app_reset(bundle *b, void *data); +static int app_init(void *data); +static int app_exit(void *data); +static int app_start(void *data); +static int app_stop(void *data); + +static int __get_window_property(Display *dpy, Window win, Atom atom, + Atom type, unsigned int *val, + unsigned int len) +{ + __COMMON_FUNC_ENTER__; + unsigned char *prop_ret = NULL; + Atom type_ret = -1; + unsigned long bytes_after = 0; + unsigned long num_ret = -1; + int format_ret = -1; + unsigned int i = 0; + int num = 0; + + prop_ret = NULL; + if (XGetWindowProperty(dpy, win, atom, 0, 0x7fffffff, False, + type, &type_ret, &format_ret, &num_ret, + &bytes_after, &prop_ret) != Success) { + return -1; + } + + if (type_ret != type || format_ret != 32) { + num = -1; + } else if (num_ret == 0 || !prop_ret) { + num = 0; + } else { + if (num_ret < len) { + len = num_ret; + } + for (i = 0; i < len; i++) { + val[i] = ((unsigned long *)prop_ret)[i]; + } + num = len; + } + + if (prop_ret) { + XFree(prop_ret); + } + + __COMMON_FUNC_EXIT__; + return num; +} + +static int __x_rotation_get(Display *dpy, Window win) +{ + __COMMON_FUNC_ENTER__; + Window active_win = 0; + Window root_win = 0; + int rotation = -1; + int ret = -1; + + Atom atom_active_win; + Atom atom_win_rotate_angle; + + root_win = XDefaultRootWindow(dpy); + + atom_active_win = XInternAtom(dpy, "_NET_ACTIVE_WINDOW", False); + ret = __get_window_property(dpy, root_win, atom_active_win, + XA_WINDOW, + (unsigned int *)&active_win, 1); + + if (ret < 0) + return ret; + + atom_win_rotate_angle = + XInternAtom(dpy, "_E_ILLUME_ROTATE_WINDOW_ANGLE", False); + ret = __get_window_property(dpy, active_win , + atom_win_rotate_angle, XA_CARDINAL, + (unsigned int *)&rotation, 1); + + __COMMON_FUNC_EXIT__; + + if (ret != -1) { + return rotation; + } + + return -1; +} + +static Eina_Bool __rotate(void *data, int type, void *event) +{ + __COMMON_FUNC_ENTER__; + struct wifi_object *ad = data; + Ecore_X_Event_Client_Message *ev = event; + int visible_area_width, visible_area_height; + int rotate_angle; + + Evas_Object *box = NULL; + + if (!event) + return ECORE_CALLBACK_RENEW; + + if (ev->message_type == ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE) { + box = elm_object_content_get(syspopup_app_state->syspopup); + + if (box) { + rotate_angle = __x_rotation_get(ecore_x_display_get(), elm_win_xwindow_get(syspopup_app_state->win_main)); + __common_popup_size_set(NULL ,&visible_area_width, &visible_area_height, rotate_angle); + elm_win_rotation_with_resize_set(syspopup_app_state->win_main, rotate_angle); + evas_object_size_hint_min_set(box, visible_area_width * elm_config_scale_get(), visible_area_height * elm_config_scale_get()); + } + + if (syspopup_app_state->eap_popup) + eap_view_rotate_popup(syspopup_app_state->eap_popup, rotate_angle); + } + + __COMMON_FUNC_EXIT__; + return 0; +} + +void __common_popup_size_set(Ecore_IMF_Context *target_imf, int *width, int *height, int rotate_angle) +{ + __COMMON_FUNC_ENTER__; + + int window_width, window_height; + int start_x, start_y, imf_width, imf_height; + float resize_scale = 0.7f; + + ecore_x_window_size_get(ecore_x_window_root_first_get(), &window_width, &window_height); + + *width = window_width; + + if (rotate_angle == 0 || rotate_angle == 180) + { + *height = window_height * resize_scale; + }else + *height = window_width; + + if (target_imf != NULL) { + ecore_imf_context_input_panel_geometry_get(target_imf, &start_x, &start_y, &imf_width, &imf_height); + *height = start_y * resize_scale; + }else + *height = *height-POPUP_HEAD_AREA-POPUP_BUTTON_AREA; + + __COMMON_FUNC_EXIT__; +} + +static int wifi_syspopup_rotate_cb(enum appcore_rm rotate_mode, void *data) +{ + __COMMON_FUNC_ENTER__; + + int rotate_angle; + int visible_area_width, visible_area_height; + + Evas_Object *box = NULL; + + rotate_angle = common_utils_get_rotate_angle(rotate_mode); + box = elm_object_content_get(syspopup_app_state->syspopup); + elm_win_rotation_with_resize_set(syspopup_app_state->win_main, rotate_angle); + + __common_popup_size_get(NULL ,&visible_area_width, &visible_area_height); + evas_object_size_hint_min_set(box, visible_area_width * elm_config_scale_get(), visible_area_height * elm_config_scale_get()); + + if (syspopup_app_state->eap_popup) + eap_view_rotate_popup(syspopup_app_state->eap_popup, rotate_angle); + + INFO_LOG(SP_NAME_NORMAL, "rotate_angle : %d", rotate_angle); + + __COMMON_FUNC_EXIT__; + return 0; +} + +/* implements */ +static int myterm(bundle* b, void* data) +{ + __COMMON_FUNC_ENTER__; + + wifi_syspopup_exit(); + + __COMMON_FUNC_EXIT__; + + return 0; +} + +static int mytimeout(bundle *b, void* data) +{ + __COMMON_FUNC_ENTER__; + __COMMON_FUNC_EXIT__; + + return FALSE; +} + +syspopup_handler handler = { + .def_term_fn = myterm, + .def_timeout_fn = mytimeout +}; + +static int wifi_syspopup_exit(void) +{ + __COMMON_FUNC_ENTER__; + + view_main_destroy(); + + if (VCONFKEY_WIFI_QS_WIFI_CONNECTED == syspopup_app_state->connection_result) + INFO_LOG(SP_NAME_NORMAL, "Result : WIFI"); + else if (VCONFKEY_WIFI_QS_3G == syspopup_app_state->connection_result) + INFO_LOG(SP_NAME_NORMAL, "Result : 3G"); + else { + WARN_LOG(SP_NAME_NORMAL, "Result : ?? [%d]", syspopup_app_state->connection_result); + syspopup_app_state->connection_result = VCONFKEY_WIFI_QS_3G; + } + + common_util_set_system_registry("memory/wifi/wifi_qs_exit", + syspopup_app_state->connection_result); + + elm_exit(); + + __COMMON_FUNC_EXIT__; + return TRUE; +} + +static void _exit_cb(void *data, Evas_Object *obj, void *event_info) +{ + __COMMON_FUNC_ENTER__; + wifi_syspopup_exit(); + __COMMON_FUNC_EXIT__; +} + +int wifi_syspopup_destroy(void) +{ + if (syspopup_app_state->passpopup) { + common_pswd_popup_destroy(syspopup_app_state->passpopup); + syspopup_app_state->passpopup = NULL; + } + + if (syspopup_app_state->syspopup) { + evas_object_del(syspopup_app_state->syspopup); + syspopup_app_state->syspopup = NULL; + } + + if (syspopup_app_state->layout_main) { + evas_object_del(syspopup_app_state->layout_main); + syspopup_app_state->layout_main = NULL; + } + + if (syspopup_app_state->conformant) { + evas_object_del(syspopup_app_state->conformant); + syspopup_app_state->conformant = NULL; + } + + if (syspopup_app_state->win_main) { + evas_object_del(syspopup_app_state->win_main); + syspopup_app_state->win_main = NULL; + } + + wifi_syspopup_exit(); + + return TRUE; +} + +int wifi_syspopup_create(void) +{ + __COMMON_FUNC_ENTER__; + int rotate_angle; + int visible_area_height; + int visible_area_width; + + if (NULL == syspopup_app_state->syspopup) { + syspopup_app_state->syspopup = elm_popup_add(syspopup_app_state->layout_main); + elm_object_content_set(syspopup_app_state->layout_main, syspopup_app_state->syspopup); + assertm_if(NULL == syspopup_app_state->syspopup, "syspopup is NULL!!"); + } + elm_object_style_set(syspopup_app_state->syspopup,"min_menustyle"); + elm_object_part_text_set(syspopup_app_state->syspopup, "title,text", sc(PACKAGE, I18N_TYPE_WiFi_network)); + evas_object_size_hint_weight_set(syspopup_app_state->syspopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + Evas_Object *btn_cancel = elm_button_add(syspopup_app_state->syspopup); + elm_object_text_set(btn_cancel, sc(PACKAGE, I18N_TYPE_Cancel)); + elm_object_part_content_set(syspopup_app_state->syspopup, "button1", btn_cancel); + evas_object_smart_callback_add(btn_cancel, "clicked", _exit_cb, NULL); + + /* Create and add a box into the layout. */ + Evas_Object *box = elm_box_add(syspopup_app_state->syspopup); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + Evas_Object *main_list = view_main_create(box); + elm_box_pack_end(box, main_list); + evas_object_show(main_list); + + rotate_angle = __x_rotation_get(ecore_x_display_get(), elm_win_xwindow_get(syspopup_app_state->win_main)); + if (rotate_angle < 0) + rotate_angle = 0; + + ecore_x_icccm_hints_set(elm_win_xwindow_get(syspopup_app_state->win_main), 1, 0, 0, 0, 0, 0, 0); + + elm_win_rotation_with_resize_set(syspopup_app_state->win_main, rotate_angle); + + __common_popup_size_set(NULL ,&visible_area_width, &visible_area_height, rotate_angle); + evas_object_size_hint_min_set(box, visible_area_width * elm_config_scale_get(), visible_area_height * elm_config_scale_get()); + + elm_object_content_set(syspopup_app_state->syspopup, box); + evas_object_show(syspopup_app_state->syspopup); + evas_object_show(syspopup_app_state->win_main); + + memset(&g_pending_call, 0, sizeof(wifi_pending_call_info_t)); + + __COMMON_FUNC_EXIT__; + + return TRUE; +} + +int wifi_syspopup_init() +{ + __COMMON_FUNC_ENTER__; + + int wlan_ret; + bool activated = FALSE; + + wlan_manager_create(); + wlan_manager_set_message_callback(wlan_engine_callback); + wlan_manager_set_refresh_callback(wlan_engine_refresh_callback); + + wlan_ret = wlan_manager_start(NULL); + switch (wlan_ret) { + case WLAN_MANAGER_ERR_NONE: + wlan_ret = wifi_is_activated (&activated); + if (WIFI_ERROR_NONE != wlan_ret) { + ERROR_LOG(UG_NAME_ERR, "Failed to get the Wi-Fi State. Return error = %d", wlan_ret); + return WLAN_MANAGER_ERR_UNKNOWN; + } + + if (activated) { + INFO_LOG(UG_NAME_NORMAL, "WiFi is activated"); + if (connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC) == WLAN_MANAGER_ERR_NONE) { + INFO_LOG(SP_NAME_NORMAL, "Set BG scan mode - PERIODIC"); + } + } + INFO_LOG(SP_NAME_NORMAL, "wlan_manager start complete" ); + break; + + case WLAN_MANAGER_ERR_ALREADY_REGISTERED: + ERROR_LOG(SP_NAME_ERR, "Already registered."); + break; + + case WLAN_MANAGER_ERR_UNKNOWN: + ERROR_LOG(SP_NAME_ERR, "wlan fail communication." ); + break; + + default: + ERROR_LOG(SP_NAME_ERR, "wlan_manager start fail ret[%d]", wlan_ret ); + break; + } + + __COMMON_FUNC_EXIT__; + return wlan_ret; +} + +static int syspopup_support_set(const char* support) { + __COMMON_FUNC_ENTER__; + if(NULL == support) { + __COMMON_FUNC_EXIT__; + return FALSE; + } + + if(strcmp("WIFI_SYSPOPUP_SUPPORT_QUICKPANEL",support) == 0) { + syspopup_app_state->wifi_syspopup_support = WIFI_SYSPOPUP_SUPPORT_QUICKPANEL; + } else { + __COMMON_FUNC_EXIT__; + return FALSE; + } + __COMMON_FUNC_EXIT__; + + return TRUE; +} + +static int _power_on_check(void) +{ + int connection_state = wlan_manager_state_get(); + switch (connection_state) { + case WLAN_MANAGER_OFF: + INFO_LOG(SP_NAME_NORMAL, "current state is wifi-off"); + int wlan_ret = wlan_manager_request_power_on(); + if (wlan_ret == WLAN_MANAGER_ERR_NONE) { + view_alerts_powering_on_show(); + __COMMON_FUNC_EXIT__; + return TRUE; + } else if (wlan_ret == WLAN_MANAGER_ERR_MOBILE_HOTSPOT_OCCUPIED) { + __COMMON_FUNC_EXIT__; + return TRUE; + } else { + __COMMON_FUNC_EXIT__; + return FALSE; + } + break; + case WLAN_MANAGER_UNCONNECTED: + case WLAN_MANAGER_CONNECTING: + __COMMON_FUNC_EXIT__; + return TRUE; + case WLAN_MANAGER_CONNECTED: + ERROR_LOG(SP_NAME_NORMAL, "current state is wifi-connected"); + __COMMON_FUNC_EXIT__; + return FALSE; + case WLAN_MANAGER_ERROR: + ERROR_LOG(SP_NAME_NORMAL, "current state is wifi error"); + __COMMON_FUNC_EXIT__; + return FALSE; + default: + ERROR_LOG(SP_NAME_NORMAL, "current state is wifi etc"); + __COMMON_FUNC_EXIT__; + return FALSE; + } + + __COMMON_FUNC_EXIT__; + return TRUE; +} + +static Eina_Bool __wifi_syspopup_del_found_ap_noti(void *data) +{ + common_utils_send_message_to_net_popup(NULL, NULL, "del_found_ap_noti", NULL); + return ECORE_CALLBACK_CANCEL; +} + +static int app_reset(bundle *b, void *data) +{ + __COMMON_FUNC_ENTER__; + + Evas_Object *win_main = NULL; + Evas *evas = NULL; + int ret = 0; + int w, h = 0; + + assertm_if(NULL == data, "data param is NULL!!"); + assertm_if(NULL == b, "bundle is NULL!!"); + + /* Remove the "WiFi networks found" from the notification tray.*/ + ecore_idler_add(__wifi_syspopup_del_found_ap_noti, NULL); + + if (syspopup_has_popup(b)) { + INFO_LOG(SP_NAME_NORMAL, "Wi-Fi Syspopup is already launched. So, no more."); + syspopup_reset(b); + } else { + win_main = appcore_create_win(PACKAGE); + assertm_if(NULL == win_main, "win_main is NULL!!"); + evas = evas_object_evas_get(win_main); + assertm_if(NULL == evas, "evas is NULL!!"); + + syspopup_app_state = data; + syspopup_app_state->win_main = win_main; + syspopup_app_state->evas = evas; + syspopup_app_state->b = bundle_dup(b); + + elm_win_alpha_set(syspopup_app_state->win_main, EINA_TRUE); /* invisible window */ + elm_win_borderless_set(syspopup_app_state->win_main, EINA_TRUE); /* No borders */ + elm_win_conformant_set(syspopup_app_state->win_main, TRUE); /* Popup autoscroll */ + + Evas_Object *conformant = elm_conformant_add(syspopup_app_state->win_main); + elm_win_conformant_set(syspopup_app_state->win_main, EINA_TRUE); + elm_win_resize_object_add(syspopup_app_state->win_main, conformant); + evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(conformant, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(conformant); + syspopup_app_state->conformant = conformant; + + Evas_Object *layout = elm_layout_add(conformant); + elm_object_content_set(conformant, layout); + syspopup_app_state->layout_main = layout; + + const char* is_onoff = bundle_get_val(b, "-t"); + + if (is_onoff != NULL) { + INFO_LOG(SP_NAME_NORMAL, "is_onoff [%s]", is_onoff); + + syspopup_app_state->syspopup_type = WIFI_SYSPOPUP_WITHOUT_AP_LIST; + int wlan_ret = wifi_syspopup_init(); + + if (WLAN_MANAGER_ERR_NONE != wlan_ret) { + INFO_LOG(SP_NAME_ERR, "wifi_syspopup_init failed. wlan_ret = %d", wlan_ret); + } else if (strcmp(is_onoff, "on") == 0) { + INFO_LOG(SP_NAME_NORMAL, "request power on"); + ret = wlan_manager_request_power_on(); + INFO_LOG(SP_NAME_NORMAL, "* ret [%d]", ret); + } else if (strcmp(is_onoff, "off") == 0) { + INFO_LOG(SP_NAME_NORMAL, "request power off"); + ret = wlan_manager_request_power_off(); + INFO_LOG(SP_NAME_NORMAL, "* ret [%d]", ret); + } + + wifi_syspopup_destroy(); + return 0; + } else { + syspopup_app_state->syspopup_type = WIFI_SYSPOPUP_WITH_AP_LIST; + int wlan_ret = wifi_syspopup_init(); + if (WLAN_MANAGER_ERR_NONE != wlan_ret || _power_on_check() == FALSE) { + wifi_syspopup_destroy(); + __COMMON_FUNC_EXIT__; + return 0; + } + } + + syspopup_app_state->syspopup = elm_popup_add(syspopup_app_state->win_main); + ret = syspopup_create(b, &handler, syspopup_app_state->win_main, syspopup_app_state); + if(ret != 0){ + ERROR_LOG(SP_NAME_ERR, "Syspopup create error!! return [%d]", ret ); + + wlan_manager_destroy(); + + __COMMON_FUNC_EXIT__; + elm_exit(); + + return 0; + } else { + const char* support = bundle_get_val(b, "[Wi-Fi_syspopup wifi_syspopup_supports:support]"); + if(NULL != support) { + syspopup_support_set(support); + } + + ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h); + + wifi_syspopup_create(); + wlan_manager_scanned_profile_refresh_with_count(MAX_INITIAL_QS_POPUP_LIST_SIZE); + ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE, __rotate, (void *)syspopup_app_state); + + } + } + __COMMON_FUNC_EXIT__; + + return 0; +} + +static int app_init(void *data) +{ + __COMMON_FUNC_ENTER__; + bindtextdomain(PACKAGE, LOCALEDIR); + __COMMON_FUNC_EXIT__; + + return 0; +} + +static int app_exit(void *data) +{ + __COMMON_FUNC_ENTER__; + wlan_manager_destroy(); + __COMMON_FUNC_EXIT__; + + return 0; +} + +static int app_start(void *data) +{ + __COMMON_FUNC_ENTER__; + if (connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC) == WLAN_MANAGER_ERR_NONE) { + INFO_LOG(SP_NAME_NORMAL, "Set BG scan mode - PERIODIC"); + } + __COMMON_FUNC_EXIT__; + + return 0; +} + +static int app_stop(void *data) +{ + __COMMON_FUNC_ENTER__; + if (connman_request_scan_mode_set(WIFI_BGSCAN_MODE_EXPONENTIAL) == WLAN_MANAGER_ERR_NONE) { + INFO_LOG(SP_NAME_NORMAL, "Set BG scan mode - EXPONENTIAL"); + } + __COMMON_FUNC_EXIT__; + + return 0; +} + +int main(int argc, char* argv[]) +{ + __COMMON_FUNC_ENTER__; + INFO_LOG( SP_NAME_NORMAL, "argc [%d]", argc); + + wifi_object ad; + memset(&ad, 0x0, sizeof(wifi_object)); + + ad.connection_result = VCONFKEY_WIFI_QS_3G; + ad.win_main = NULL; + ad.evas = NULL; + ad.b = NULL; + ad.syspopup = NULL; + ad.passpopup = NULL; + ad.alertpopup = NULL; + + struct appcore_ops ops = { + .create = app_init, + .terminate = app_exit, + .pause = app_stop, + .resume = app_start, + .reset = app_reset, + }; + + ops.data = &ad; + + __COMMON_FUNC_EXIT__; + return appcore_efl_main(PACKAGE, &argc, &argv, &ops); +} diff --git a/wifi-efl-ug.manifest b/wifi-efl-ug.manifest new file mode 100644 index 0000000..97e8c31 --- /dev/null +++ b/wifi-efl-ug.manifest @@ -0,0 +1,5 @@ +<manifest> + <request> + <domain name="_"/> + </request> +</manifest> |