From: Cho Sanghoon Date: Tue, 21 Aug 2012 10:22:09 +0000 (+0900) Subject: Release tizen_2.0_beta X-Git-Tag: 2.0_alpha^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2F2.0alpha;p=apps%2Fhome%2Fug-wifi-efl.git Release tizen_2.0_beta Change-Id: I787fd4827f8db5f5b6af9cad78daf1c35eaaa087 --- diff --git a/AUTHORS b/AUTHORS index 3dbf984..5564678 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,2 +1,3 @@ -Sanghoon Cho -Jeongseok Seo +Sanghoon Cho +Jeongseok Seo +Sunil Kim diff --git a/CMakeLists.txt b/CMakeLists.txt index 05ccddc..9a6d339 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,7 +21,7 @@ pkg_check_modules(pkgs REQUIRED elementary glib-2.0 utilX - ui-gadget + ui-gadget-1 x11 sensor syspopup @@ -49,7 +49,7 @@ INCLUDE_DIRECTORIES( #engine includes ${ENGINE_INCLUDES}) +ADD_SUBDIRECTORY(po) ADD_SUBDIRECTORY(sources/ui-gadget) ADD_SUBDIRECTORY(sources/wifi-syspopup) - diff --git a/debian/changelog b/debian/changelog index 0955149..363cd72 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,2650 @@ +wifi-efl-ug (0.4.56-6) unstable; urgency=low + + * Replaced the #define strings with STMS strings. #2 + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-6 + + -- Kim sun il Mon, 20 Aug 2012 16:30:57 +0900 + +wifi-efl-ug (0.4.56-5) unstable; urgency=low + + * Wi-Fi Detail button relocation. + * Git: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-5 + + -- Kim sun il 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: magnolia/apps/home/ug-wifi-efl + * Tag: wifi-efl-ug_0.4.56-4 + + -- Kim sun il 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.56-3 + + -- Kim sun il 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.56-2 + + -- Kim sun il 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.56-1 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.55-13 + + -- Danny Jeongseok Seo 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.55-12 + + -- Kim sun il 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.55-11 + + -- Kim sun il 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.55-10 + + -- Kim sun il 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.55-9 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.55-8 + + -- Kim sun il 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.55-7 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.55-6 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.55-5 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.55-4 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.55-3 + + -- Kim sun il Fri, 20 Jul 2012 09:52:26 +0900 + +wifi-efl-ug (0.4.55-2) unstable; urgency=low + + * Implement UG managed API + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.55-2 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.55-1 + + -- Danny Jeongseok Seo 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-15 + + -- Praveen C Sat, 14 Jul 2012 11:52:30 +0900 + +wifi-efl-ug (0.4.54-14) unstable; urgency=low + + * Fix the CCR #25541. + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-14 + + -- Praveen C Fri, 13 Jul 2012 21:47:49 +0900 + +wifi-efl-ug (0.4.54-13) unstable; urgency=low + + * Fix memory leak. + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-13 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-12 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-11 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-10 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-9 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-8 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-7 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-6 + + -- Praveen C Tue, 10 Jul 2012 13:12:43 +0900 + +wifi-efl-ug (0.4.54-5) unstable; urgency=low + + * Rollback for SetupWizard problem + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-5 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-4 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-3 + + -- Praveen C Mon, 09 Jul 2012 10:40:30 +0900 + +wifi-efl-ug (0.4.54-2) unstable; urgency=low + + * Check NULL before print log + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-2 + + -- Danny Jeongseok Seo Sat, 07 Jul 2012 19:03:17 +0900 + +wifi-efl-ug (0.4.54-1) unstable; urgency=low + + * Implement Find hidden AP feature. + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.54-1 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.53-9 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.53-8 + + -- Kim sun il 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.53-7 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.53-6 + + -- Praveen C Thu, 05 Jul 2012 21:43:37 +0900 + +wifi-efl-ug (0.4.53-5) unstable; urgency=low + + * Display password popup title. + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.53-5 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.53-4 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.53-3 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.53-2 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.53-1 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.52-12 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.52-11 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.52-10 + + -- Praveen C Fri, 29 Jun 2012 17:47:54 +0900 + +wifi-efl-ug (0.4.52-9) unstable; urgency=low + + * Fix the popup scaling issue. + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.52-9 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.52-8 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.52-7 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.52-6 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.52-5 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.52-4 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.52-3 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.52-2 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.52-1 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.51-4 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.51-3 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.51-2 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.51-1 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.50-3 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.50-2 + + -- Sanghoon Cho 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 Tue, 05 Jun 2012 16:07:35 +0900 + +wifi-efl-ug (0.4.49) unstable; urgency=low + + * Update strings according to UX document + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.49 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.48 + + -- Praveen C Wed, 30 May 2012 19:05:26 +0900 + +wifi-efl-ug (0.4.47) unstable; urgency=low + + * Update strings according to UX document + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.47 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.46 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.45 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.44 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.43 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.42 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.41 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.40 + + -- Praveen C Tue, 22 May 2012 09:44:09 +0900 + +wifi-efl-ug (0.4.39) unstable; urgency=low + + * Applied EAP connect change. + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.39 + + -- Praveen C Mon, 21 May 2012 11:23:05 +0900 + +wifi-efl-ug (0.4.38) unstable; urgency=low + + * Update strings according to UX document + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.38 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.37 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.36 + + -- Praveen C Thu, 17 May 2012 19:27:57 +0900 + +wifi-efl-ug (0.4.35) unstable; urgency=low + + * Update strings according to UX document + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.35 + + -- Sanghoon Cho Thu, 17 May 2012 17:54:31 +0900 + +wifi-efl-ug (0.4.34) unstable; urgency=low + + * Implement multi language for several strings + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.34 + + -- Sanghoon Cho Thu, 17 May 2012 16:10:03 +0900 + +wifi-efl-ug (0.4.33) unstable; urgency=low + + * Modify a location of desktop file + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.33 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.32 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.31 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.30 + + -- Sanghoon Cho Thu, 03 May 2012 17:33:12 +0900 + +wifi-efl-ug (0.4.29) unstable; urgency=low + + * Fix a crach - EAP connection + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.29 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.28 + + -- Praveen C 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.27 + + -- Sanghoon Cho Thu, 19 Apr 2012 16:59:02 +0900 + wifi-efl-ug (0.4.26) unstable; urgency=low - * Update boiler plate - * Git: pkgs/s/sg-wifi-efl + * 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: slp/pkgs/s/sg-wifi-efl * Tag: wifi-efl-ug_0.4.26 - -- Sanghoon Cho Wed, 02 May 2012 17:14:46 +0900 + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.25 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.24 + + -- Sanghoon Cho Mon, 09 Apr 2012 11:30:33 +0900 + +wifi-efl-ug (0.4.23) unstable; urgency=low + + * Fix a button position - EAP view + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.23 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.22 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.21 + + -- Sanghoon Cho Wed, 28 Mar 2012 11:06:39 +0900 + +wifi-efl-ug (0.4.20) unstable; urgency=low + + * Fix the header status update + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.20 + + -- Sanghoon Cho Tue, 27 Mar 2012 16:27:33 +0900 + +wifi-efl-ug (0.4.19) unstable; urgency=low + + * Update UI - hidden network view + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.19 + + -- Sanghoon Cho Mon, 26 Mar 2012 19:54:53 +0900 + +wifi-efl-ug (0.4.18) unstable; urgency=low + + * Fix a bug - redrawing separator + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.18 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.17 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.16 + + -- Sanghoon Cho Mon, 19 Mar 2012 16:03:11 +0900 + +wifi-efl-ug (0.4.15) unstable; urgency=low + + * Revise debian/rule and spec files + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.15 + + -- Danny Jeongseok Seo 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.14 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.13 + + -- Sanghoon Cho Thu, 15 Mar 2012 15:05:41 +0900 + +wifi-efl-ug (0.4.12) unstable; urgency=low + + * Migrate EFL 1.0 + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.12 + + -- Sanghoon Cho Tue, 13 Mar 2012 19:32:14 +0900 + +wifi-efl-ug (0.4.11) unstable; urgency=low + + * Apply deprecating the editfield elementary + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.11 + + -- Sanghoon Cho Fri, 02 Mar 2012 14:49:15 +0900 + +wifi-efl-ug (0.4.10) unstable; urgency=low + + * Fix the crash - deregister ime callback + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.10 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.9 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.8 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.7 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.6 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.5 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.4 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.3 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.2 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.4.1 + + -- Sanghoon Cho Wed, 04 Jan 2012 15:47:05 +0900 + +wifi-efl-ug (0.3.19) unstable; urgency=low + + * Implement mulit language + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.19 + + -- Sanghoon Cho Mon, 02 Jan 2012 21:52:18 +0900 + +wifi-efl-ug (0.3.18) unstable; urgency=low + + * Re-build package + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.18 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.17 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.16 + + -- Sanghoon Cho Fri, 23 Dec 2011 20:07:44 +0900 + +wifi-efl-ug (0.3.15) unstable; urgency=low + + * Remove unnecessay ifdef codes + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.15 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.14 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.13 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.12 + + -- Danny Jeongseok Seo 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.11 + + -- Danny Jeongseok Seo 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.10 + + -- Danny Jeongseok Seo 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.9 + + -- Jeongseok Seo 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.8 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.7 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.6 + + -- Jeongseok Seo 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.5 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.4 + + -- Jeongseok Seo 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.3 + + -- Sanghoon Cho Fri, 02 Dec 2011 20:25:15 +0900 + +wifi-efl-ug (0.3.2) unstable; urgency=low + + * Update the boilerplate + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.2 + + -- Sanghoon Cho Fri, 02 Dec 2011 13:55:22 +0900 + +wifi-efl-ug (0.3.1) unstable; urgency=low + + * Migrate from DNET to connman + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.3.1 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.41 + + -- Jeongseok Seo 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.40 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.39 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.38 + + -- Jeongseok Seo 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.37 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.36 + + -- Jeongseok Seo 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.35 + + -- Sanghoon Cho Wed, 16 Nov 2011 14:50:29 +0900 + +wifi-efl-ug (0.2.34) unstable; urgency=low + + * Re-factors connected AP information + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.34 + + -- Jeongseok Seo 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.33 + + -- Sanghoon Cho Mon, 14 Nov 2011 17:00:38 +0900 + +wifi-efl-ug (0.2.32) unstable; urgency=low + + * Fixed not updating DHCP IP inform + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.32 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.31 + + -- Jeongseok Seo 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.30 + + -- Sanghoon Cho Wed, 09 Nov 2011 15:00:02 +0900 + +wifi-efl-ug (0.2.29) unstable; urgency=low + + * Applied the password showing option + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.29 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.28 + + -- Sanghoon Cho Fri, 04 Nov 2011 18:35:57 +0900 + +wifi-efl-ug (0.2.27) unstable; urgency=low + + * Modified handling the connection error response + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.27 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.26 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.25 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.24 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.23 + + -- Sanghoon Cho Wed, 19 Oct 2011 15:41:51 +0900 + +wifi-efl-ug (0.2.22) unstable; urgency=low + + * Updated the boiler plate + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.22 + + -- Sanghoon Cho Wed, 19 Oct 2011 14:40:19 +0900 + +wifi-efl-ug (0.2.21) unstable; urgency=low + + * Fixed sorting problem after connected/disconnected + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.21 + + -- Sanghoon Cho Wed, 19 Oct 2011 11:14:51 +0900 + +wifi-efl-ug (0.2.20) unstable; urgency=low + + * Changed the navigationbar elementary to naviframe + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.20 + + -- Sanghoon Cho Mon, 17 Oct 2011 16:37:37 +0900 + +wifi-efl-ug (0.2.19) unstable; urgency=low + + * Removed all custom edj + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.19 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.18 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.17 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.16 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.15 + + -- Sanghoon Cho Tue, 04 Oct 2011 19:58:24 +0900 + +wifi-efl-ug (0.2.14) unstable; urgency=low + + * Applied showing auto join status + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.14 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.13 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.12 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.11 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.10 + + -- Sanghoon Cho Thu, 01 Sep 2011 19:58:51 +0900 + +wifi-efl-ug (0.2.9) unstable; urgency=low + + * Applied the setting reset + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.9 + + -- Sanghoon Cho Thu, 11 Aug 2011 17:08:06 +0900 + +wifi-efl-ug (0.2.8) unstable; urgency=low + + * Removed the callback for language change + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.8 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.7 + + -- Sanghoon Cho Tue, 02 Aug 2011 20:23:52 +0900 + +wifi-efl-ug (0.2.6) unstable; urgency=low + + * Fixed mobilehotspot vconf value + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.6 + + -- Sanghoon Cho Fri, 29 Jul 2011 11:33:09 +0900 + +wifi-efl-ug (0.2.5) unstable; urgency=low + + * Fixed setting AP Mac address + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.5 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.4 + + -- Sanghoon Cho Mon, 25 Jul 2011 21:57:21 +0900 + +wifi-efl-ug (0.2.3) unstable; urgency=low + + * Re - Removed mobilehotspot dependency + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.3 + + -- Sanghoon Cho Mon, 25 Jul 2011 21:20:10 +0900 + +wifi-efl-ug (0.2.2) unstable; urgency=low + + * Removed mobilehotspot dependency + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.2 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.1 + + -- Sanghoon Cho Fri, 22 Jul 2011 17:18:21 +0900 + +wifi-efl-ug (0.2.0) unstable; urgency=low + + * fixed elm_widget() check error + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.2.0 + + -- Sanghoon Cho Wed, 20 Jul 2011 17:13:13 +0900 + +wifi-efl-ug (0.1.99) unstable; urgency=low + + * replaced bool to Eina_Bool. + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.99 + + -- Sanghoon Cho Mon, 18 Jul 2011 11:50:21 +0900 + +wifi-efl-ug (0.1.98) unstable; urgency=low + + * applied the boilerplate. + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.98 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.97 + + -- Sanghoon Cho Wed, 13 Jul 2011 14:09:23 +0900 + +wifi-efl-ug (0.1.96) unstable; urgency=low + + * fixed IP valid check problem. + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.96 + + -- Sanghoon Cho Mon, 11 Jul 2011 10:05:14 +0900 + +wifi-efl-ug (0.1.95) unstable; urgency=low + + * rebuiled + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.95 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.94 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.93 + + -- Sanghoon Cho Thu, 30 Jun 2011 11:38:54 +0900 + +wifi-efl-ug (0.1.92) unstable; urgency=low + + * apply the popup for scan fail. + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.92 + + -- Sanghoon Cho Wed, 29 Jun 2011 15:49:41 +0900 + +wifi-efl-ug (0.1.91) unstable; urgency=low + + * refactorying wifi-ug + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.91 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.90 + + -- Sanghoon Cho Fri, 24 Jun 2011 16:59:01 +0900 + +wifi-efl-ug (0.1.89) unstable; urgency=low + + * apply modified wifid client library + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.89 + + -- Misun Kim Tue, 21 Jun 2011 16:23:33 +0900 + +wifi-efl-ug (0.1.88) unstable; urgency=low + + * Fixed forget prob. + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.88 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.87 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.86 + + -- Sanghoon Cho Tue, 31 May 2011 20:50:33 +0900 + +wifi-efl-ug (0.1.85) lucid; urgency=low + + * rollback + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.85 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.84 + + -- Sanghoon Cho 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.83 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.82 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.81 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.80 + + -- Seong-hyeon Kim Mon, 23 May 2011 11:38:15 +0900 + +wifi-efl-ug (0.1.79) unstable; urgency=low + + * desktop fixed + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.79 + + -- Seong-hyeon Kim Fri, 20 May 2011 13:41:04 +0900 + +wifi-efl-ug (0.1.78) unstable; urgency=low + + * H0100126393 + * H0100126638 + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.78 + + -- Seong-hyeon Kim Thu, 19 May 2011 17:38:12 +0900 + +wifi-efl-ug (0.1.77) unstable; urgency=low + + * ui-gadget layout remove code add + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.77 + + -- Seong-hyeon Kim Tue, 17 May 2011 09:32:57 +0900 + +wifi-efl-ug (0.1.76) unstable; urgency=low + + * layout manager destroy add + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.76 + + -- Seong-hyeon Kim Tue, 17 May 2011 09:08:41 +0900 + +wifi-efl-ug (0.1.75) unstable; urgency=low + + * message dispatcher refine + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.75 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.74 + + -- Seong-hyeon Kim Mon, 16 May 2011 09:33:44 +0900 + +wifi-efl-ug (0.1.73) unstable; urgency=low + + * H0100122530 + * H0100124908 + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.73 + + -- Seong-hyeon Kim Tue, 03 May 2011 17:26:39 +0900 + +wifi-efl-ug (0.1.72) unstable; urgency=low + + * Fix wlan_manager_connect_with_password + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.72 + + -- Taesoo Jun 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.71 + + -- Taesoo Jun 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.70 + + -- Seong-hyeon Kim Fri, 29 Apr 2011 16:25:59 +0900 + +wifi-efl-ug (0.1.69) unstable; urgency=low + + * H0100124879 + * H0100125637 + * H0100125649 + * H0100126216 + * H0100123004 + * H0100123928 + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.69 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.68 + + -- Seong-hyeon Kim Thu, 28 Apr 2011 10:55:06 +0900 + +wifi-efl-ug (0.1.67) unstable; urgency=low + + * Matched with changed Mobile-AP + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.67 + + -- Seong-hyeon Kim Mon, 25 Apr 2011 16:30:08 +0900 + +wifi-efl-ug (0.1.66) unstable; urgency=low + + * NBeat applied + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.66 + + -- Seong-hyeon Kim Thu, 21 Apr 2011 17:59:44 +0900 + +wifi-efl-ug (0.1.65) unstable; urgency=low + + * fix parent + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.65 + + -- Seong-hyeon Kim Fri, 15 Apr 2011 17:14:43 +0900 + +wifi-efl-ug (0.1.64) unstable; urgency=low + + * Syspopup BS fix + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.64 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.63 + + -- Seong-hyeon Kim Tue, 12 Apr 2011 17:22:03 +0900 + +wifi-efl-ug (0.1.62) unstable; urgency=low + + * button position fix for both theme + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.62 + + -- Seong-hyeon Kim Mon, 21 Mar 2011 19:59:47 +0900 + +wifi-efl-ug (0.1.61) unstable; urgency=low + + * H0100122875 + * H0100123004 + * H0100123021 + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.61 + + -- Seong-hyeon Kim Mon, 21 Mar 2011 09:21:12 +0900 + +wifi-efl-ug (0.1.60) unstable; urgency=low + + * arch i386 add + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.60 + + -- Seong-hyeon Kim Wed, 16 Mar 2011 17:49:33 +0900 + +wifi-efl-ug (0.1.59) unstable; urgency=low + + * add syspopup, UI-bgimage + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.59 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.1.58 + + -- Seong-hyeon Kim Wed, 16 Mar 2011 15:56:32 +0900 + +wifi-efl-ug (0.0.120) unstable; urgency=low + + * H0100122533 + * H0100122470 + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.120 + + -- Seong-hyeon Kim Mon, 14 Mar 2011 09:10:56 +0900 + +wifi-efl-ug (0.0.119) unstable; urgency=low + + * H0100121941 + * 53425 + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.119 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.118 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.117 + + -- Seong-hyeon Kim Wed, 02 Mar 2011 12:13:31 +0900 + +wifi-efl-ug (0.0.116) unstable; urgency=low + + * connecting fail feature matching with wifid + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.116 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.115 + + -- Seong-hyeon Kim Wed, 23 Feb 2011 16:10:47 +0900 + +wifi-efl-ug (0.0.114) unstable; urgency=low + + * Profile related code refine + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.114 + + -- Seong-hyeon Kim Mon, 21 Feb 2011 13:26:27 +0900 + +wifi-efl-ug (0.0.113) unstable; urgency=low + + * H0100119704 + * searching layout refine + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.113 + + -- Seong-hyeon Kim Thu, 17 Feb 2011 14:01:59 +0900 + +wifi-efl-ug (0.0.112) unstable; urgency=low + + * H0100119462 + * H0100120612 + * wifi API re-addition + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.112 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.111 + + -- Seong-hyeon Kim Tue, 15 Feb 2011 11:07:46 +0900 + +wifi-efl-ug (0.0.110) unstable; urgency=low + + * match with wifid + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.110 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.109 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.108 + + -- Seong-hyeon Kim Tue, 08 Feb 2011 14:41:34 +0900 + +wifi-efl-ug (0.0.107) unstable; urgency=low + + * new vconf add + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.107 + + -- Seong-hyeon Kim Tue, 01 Feb 2011 11:29:50 +0900 + +wifi-efl-ug (0.0.106) unstable; urgency=low + + * remove code refine + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.106 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.105 + + -- Seong-hyeon Kim Thu, 27 Jan 2011 15:44:58 +0900 + +wifi-efl-ug (0.0.104) unstable; urgency=low + + * reupload + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.104 + + -- Seong-hyeon Kim Tue, 25 Jan 2011 14:34:39 +0900 + +wifi-efl-ug (0.0.103) unstable; urgency=low + + * reupload + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.103 + + -- Seong-hyeon Kim Tue, 25 Jan 2011 14:27:30 +0900 + +wifi-efl-ug (0.0.102) unstable; urgency=low + + * navigation with END key + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.102 + + -- Seong-hyeon Kim Tue, 25 Jan 2011 13:52:52 +0900 + +wifi-efl-ug (0.0.101) unstable; urgency=low + + * popup related bug fix + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.101 + + -- Seong-hyeon Kim Mon, 24 Jan 2011 15:26:27 +0900 + +wifi-efl-ug (0.0.100) unstable; urgency=low + + * popup policy had adopted + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.100 + + -- Seong-hyeon Kim Mon, 24 Jan 2011 14:04:35 +0900 + +wifi-efl-ug (0.0.99) unstable; urgency=low + + * Program termination code refined + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.99 + + -- Seong-hyeon Kim Mon, 24 Jan 2011 10:12:24 +0900 + +wifi-efl-ug (0.0.98) unstable; urgency=low + + * reupload + * scroller problem avoid + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.98 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.97 + + -- Seong-hyeon Kim Fri, 21 Jan 2011 09:22:56 +0900 + +wifi-efl-ug (0.0.96) unstable; urgency=low + + * scroller related fixed + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.96 + + -- Seong-hyeon Kim Thu, 20 Jan 2011 17:31:24 +0900 + +wifi-efl-ug (0.0.95) unstable; urgency=low + + * dialogue item dragged bug fixed + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.95 + + -- Seong-hyeon Kim Thu, 20 Jan 2011 14:46:12 +0900 + +wifi-efl-ug (0.0.94) unstable; urgency=low + + * fixed print type + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.94 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.93 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.92 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.91 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.90 + + -- Seong-hyeon Kim Thu, 06 Jan 2011 17:27:07 +0900 + +wifi-efl-ug (0.0.89) unstable; urgency=low + + * comman implementation code implement + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.89 + + -- Seong-hyeon Kim Wed, 05 Jan 2011 09:20:42 +0900 + +wifi-efl-ug (0.0.88) unstable; urgency=low + + * unused EFL struct removed + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.88 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.87 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.86 + + -- Seong-hyeon Kim Thu, 30 Dec 2010 14:46:18 +0900 + +wifi-efl-ug (0.0.85) unstable; urgency=low + + * build-option changed + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.85 + + -- Seong-hyeon Kim Fri, 24 Dec 2010 11:26:33 +0900 + +wifi-efl-ug (0.0.84) unstable; urgency=low + + * profile related api reduced + * CMakeList changed + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.84 + + -- Seong-hyeon Kim Thu, 23 Dec 2010 18:12:36 +0900 + +wifi-efl-ug (0.0.83) unstable; urgency=low + + * fix build-error + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.83 + + -- Seong-hyeon Kim Thu, 23 Dec 2010 09:32:20 +0900 + +wifi-efl-ug (0.0.82) unstable; urgency=low + + * i18n -> gettext changed + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.82 + + -- Seong-hyeon Kim 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: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.81 + + -- Seong-hyeon Kim Wed, 22 Dec 2010 15:13:59 +0900 + +wifi-efl-ug (0.0.80) unstable; urgency=low + + * fixed encryption bug + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.80 + + -- Seong-hyeon Kim Tue, 21 Dec 2010 14:34:56 +0900 + +wifi-efl-ug (0.0.65) unstable; urgency=low + + * animation and profile related problem fixed + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.65 + + -- Seong-hyeon Kim Mon, 20 Dec 2010 09:55:09 +0900 + +wifi-efl-ug (0.0.64) unstable; urgency=low + + * scan related problem fixed + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.64 + + -- Seong-hyeon Kim Fri, 17 Dec 2010 14:23:31 +0900 + +wifi-efl-ug (0.0.63) unstable; urgency=low + + * Fix disconnection ok/indication related bug + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.63 + + -- Seong-hyeon Kim Thu, 09 Dec 2010 11:29:04 +0900 + +wifi-efl-ug (0.0.62) unstable; urgency=low + + * removed edje_edit + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.62 + + -- Seong-hyeon Kim Tue, 07 Dec 2010 20:15:14 +0900 + +wifi-efl-ug (0.0.61) unstable; urgency=low + + * reupload + * Git: slp/pkgs/s/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.61 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.60 + + -- Seong-hyeon Kim Tue, 07 Dec 2010 20:02:45 +0900 + +wifi-efl-ug (0.0.59) unstable; urgency=low + + * fix + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.59 + + -- Seong-hyeon Kim Thu, 02 Dec 2010 20:55:08 +0900 + +wifi-efl-ug (0.0.58) unstable; urgency=low + + * fix + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.58 + + -- Seong-hyeon Kim Thu, 02 Dec 2010 20:36:11 +0900 + +wifi-efl-ug (0.0.57) unstable; urgency=low + + * reupload + * Refactoring works + * Korean language add + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.57 + + -- Seong-hyeon Kim Thu, 02 Dec 2010 12:23:20 +0900 + +wifi-efl-ug (0.0.56) unstable; urgency=low + + * Refactoring works + * Korean language add + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.56 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.55 + + -- Seong-hyeon Kim Sat, 20 Nov 2010 14:20:46 +0900 + +wifi-efl-ug (0.0.54) unstable; urgency=low + + * Resource added + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.54 + + -- Seong-hyeon Kim Wed, 17 Nov 2010 22:06:33 +0900 + +wifi-efl-ug (0.0.53) unstable; urgency=low + + * Fix layout related problems + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.53 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.52 + + -- Seong-hyeon Kim Wed, 17 Nov 2010 16:08:02 +0900 + +wifi-efl-ug (0.0.51) unstable; urgency=low + + * profile delete bug fix + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.51 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.50 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.49 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.48 + + -- Seong-hyeon Kim Fri, 12 Nov 2010 14:48:24 +0900 + +wifi-efl-ug (0.0.47) unstable; urgency=low + + * Removed strip rule in debian/rule + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.47 + + -- Seong-hyeon Kim Fri, 12 Nov 2010 09:46:07 +0900 + +wifi-efl-ug (0.0.46) unstable; urgency=low + + * Remove test code + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.46 + + -- Seong-hyeon Kim Thu, 11 Nov 2010 09:40:52 +0900 + +wifi-efl-ug (0.0.45) unstable; urgency=low + + * Fix unclicked problem + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.45 + + -- Seong-hyeon Kim Thu, 11 Nov 2010 09:36:31 +0900 + +wifi-efl-ug (0.0.44) unstable; urgency=low + + * Fix focus on related + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.44 + + -- Seong-hyeon Kim Wed, 10 Nov 2010 16:34:12 +0900 + +wifi-efl-ug (0.0.43) unstable; urgency=low + + * Layout changes + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.43 + + -- Seong-hyeon Kim Wed, 10 Nov 2010 15:18:01 +0900 + +wifi-efl-ug (0.0.42) unstable; urgency=low + + * Fix Layout bug when on/off + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.42 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.41 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.40 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.39 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.38 + + -- Seong-hyeon Kim Fri, 05 Nov 2010 09:05:46 +0900 + +wifi-efl-ug (0.0.37) unstable; urgency=low + + * Vertification code for IP:PORT added + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.37 + + -- Seong-hyeon Kim Thu, 28 Oct 2010 13:26:37 +0900 + +wifi-efl-ug (0.0.36) unstable; urgency=low + + * Connected AP is always takes top + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.36 + + -- Seong-hyeon Kim Wed, 27 Oct 2010 16:13:51 +0900 + +wifi-efl-ug (0.0.35) unstable; urgency=low + + * change signal weight by -90 -> -80 + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.35 + + -- Seong-hyeon Kim Tue, 26 Oct 2010 19:40:45 +0900 + +wifi-efl-ug (0.0.34) unstable; urgency=low + + * Disconnection_Indicatior message handler fix + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.34 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.33 + + -- Seong-hyeon Kim Fri, 22 Oct 2010 14:10:43 +0900 + +wifi-efl-ug (0.0.32) unstable; urgency=low + + * Match with changed engine API + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.32 + + -- Seong-hyeon Kim Fri, 22 Oct 2010 10:08:28 +0900 + +wifi-efl-ug (0.0.31) unstable; urgency=low + + * Reupload by tag mistake + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.31 + + -- Seong-hyeon Kim Wed, 20 Oct 2010 17:14:00 +0900 + +wifi-efl-ug (0.0.30) unstable; urgency=low + + * Reupload by name mistake + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.29 + + -- Seong-hyeon Kim Wed, 20 Oct 2010 17:12:08 +0900 + +wifi-efl-ug (0.0.29) unstable; urgency=low + + * Remove unused function + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.29 + + -- Jongmin Lee Wed, 20 Oct 2010 17:08:17 +0900 + +wifi-efl-ug (0.0.27) unstable; urgency=low + + * packaging + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.27 + + -- Jongmin Lee Thu, 07 Oct 2010 20:49:12 +0900 + +wifi-efl-ug (0.0.26) unstable; urgency=low + + * Partly debug popup disabled + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.26 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.25 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.24 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.23 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.22 + + -- Seong-hyeon Kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.21 + + -- Seong-hyeon Kim Tue, 14 Sep 2010 13:45:52 +0900 + +wifi-efl-ug (0.0.20) unstable; urgency=low + + * Reupload + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.20 + + -- Seong-hyeon Kim Mon, 13 Sep 2010 19:17:05 +0900 + +wifi-efl-ug (0.0.19) unstable; urgency=low + + * Repacakging by wifid-client`s upload + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.19 + + -- Seong-hyeon Kim Mon, 13 Sep 2010 17:35:42 +0900 + +wifi-efl-ug (0.0.18) unstable; urgency=low + + * add uploader + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.18 + + -- Jongmin Lee Fri, 10 Sep 2010 23:02:16 +0900 + +wifi-efl-ug (0.0.17) unstable; urgency=low + + * repackage + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.17 + + -- Jongmin Lee 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.16 + + -- shyeon.kim Wed, 08 Sep 2010 21:28:19 +0900 + +wifi-efl-ug (0.0.15) unstable; urgency=low + + * Beat UI dialogue list works + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.15 + + -- shyeon.kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.14 + + -- shyeon.kim Fri, 03 Sep 2010 11:29:46 +0900 + +wifi-efl-ug (0.0.13) unstable; urgency=low + + * Fix initial connection error bug + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.13 + + -- shyeon.kim Fri, 03 Sep 2010 09:04:55 +0900 + +wifi-efl-ug (0.0.12) unstable; urgency=low + + * Reupload by debian/rule clean failure + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.12 + + -- shyeon.kim Fri, 03 Sep 2010 08:26:02 +0900 + +wifi-efl-ug (0.0.11) unstable; urgency=low + + * Beat UX fitting work + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.11 + + -- shyeon.kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.10 + + -- shyeon.kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.9 + + -- shyeon.kim Tue, 31 Aug 2010 17:25:18 +0900 + +wifi-efl-ug (0.0.8) unstable; urgency=low + + * Connection bug fix + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.8 + + -- shyeon.kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.7 + + -- shyeon.kim Thu, 26 Aug 2010 12:51:27 +0900 + +wifi-efl-ug (0.0.6) unstable; urgency=low + + * Global valuable removal + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.6 + + -- shyeon.kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.5 + + -- shyeon.kim Mon, 23 Aug 2010 13:54:14 +0900 + +wifi-efl-ug (0.0.4) unstable; urgency=low + + * Resource added + * Some known bug fixed + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.4 + + -- shyeon.kim 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: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.2 + + -- shyeon.kim Wed, 18 Aug 2010 15:27:01 +0900 + +wifi-efl-ug (0.0.1) unstable; urgency=low + + * Initial Release. + * Git: slp/pkgs/sg-wifi-efl + * Tag: wifi-efl-ug_0.0.1 + -- shyeon.kim Mon, 16 Aug 2010 09:29:32 +0900 diff --git a/debian/control b/debian/control index 56105fb..ed78304 100644 --- a/debian/control +++ b/debian/control @@ -1,8 +1,8 @@ Source: wifi-efl-ug Section: net Priority: extra -Maintainer: Sanghoon Cho , Danny Jeongseok Seo -Uploaders: Sanghoon Cho , Danny Jeongseok Seo +Maintainer: Sanghoon Cho , Danny Jeongseok Seo , Praveen C +Uploaders: Sanghoon Cho , Danny Jeongseok Seo , Praveen C Build-Depends: debhelper (>= 5), libappcore-efl-dev, libelm-dev, diff --git a/debian/net.wifi-qs.install.in b/debian/net.wifi-qs.install.in index 38d746e..e7d7663 100644 --- a/debian/net.wifi-qs.install.in +++ b/debian/net.wifi-qs.install.in @@ -1,5 +1,5 @@ /usr/bin/wifi-qs -/opt/share/applications/net.wifi-qs.desktop +/usr/share/applications/net.wifi-qs.desktop /usr/share/process-info/wifi-qs.ini /usr/share/icon/* /usr/share/locale/* diff --git a/debian/rules b/debian/rules index aa548a6..a55f788 100755 --- a/debian/rules +++ b/debian/rules @@ -88,7 +88,17 @@ clean: rm -rf debian/*.install - dh_clean + 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 diff --git a/packaging/wifi-efl-ug.spec b/packaging/wifi-efl-ug.spec index 0535d92..834f343 100644 --- a/packaging/wifi-efl-ug.spec +++ b/packaging/wifi-efl-ug.spec @@ -1,11 +1,11 @@ -#sbs-git:slp/pkgs/s/sg-wifi-efl wifi-efl-ug +#sbs-git:magnolia/apps/home/ug-wifi-efl Name: wifi-efl-ug Summary: Wi-Fi UI Gadget -Version: 0.4.25 +Version: 0.4.56_6 Release: 1 Group: App/Network -License: Flora Software License +License: Flora License Source0: %{name}-%{version}.tar.gz BuildRequires: cmake @@ -18,7 +18,7 @@ BuildRequires: pkgconfig(appcore-efl) BuildRequires: pkgconfig(elementary) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(utilX) -BuildRequires: pkgconfig(ui-gadget) +BuildRequires: pkgconfig(ui-gadget-1) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(sensor) BuildRequires: pkgconfig(syspopup) @@ -53,6 +53,7 @@ cmake . -DCMAKE_INSTALL_PREFIX=$PREFIX make %{?jobs:-j%jobs} %install +rm -rf %{buildroot} %make_install %post @@ -79,7 +80,7 @@ vconftool set -t int db/wifi/enable_quick_start 1 -g 6519 -i %files -n net.wifi-qs %defattr(-,root,root,-) %{_prefix}/bin/wifi-qs -/opt/share/applications/net.wifi-qs.desktop +%{_prefix}/share/packages/net.wifi-qs.xml %{_prefix}/share/process-info/wifi-qs.ini %{_prefix}/share/icon/*.png -%{_prefix}/share/locale/*/LC_MESSAGES/wifi-qs.mo +%{_prefix}/share/locale/*/LC_MESSAGES/*.mo diff --git a/sources/ui-gadget/po/CMakeLists.txt b/po/CMakeLists.txt similarity index 69% rename from sources/ui-gadget/po/CMakeLists.txt rename to po/CMakeLists.txt index b8de33a..00ba156 100644 --- a/sources/ui-gadget/po/CMakeLists.txt +++ b/po/CMakeLists.txt @@ -4,6 +4,9 @@ SET(POFILES de_DE.po el_GR.po en.po es_ES.po fr_FR.po it_IT.po ja_JP.po ko_KR.po 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}") @@ -15,8 +18,15 @@ FOREACH(pofile ${POFILES}) COMMAND ${MSGFMT} -o ${moFile} ${absPofile} DEPENDS ${absPofile} ) + + # install for UG INSTALL(FILES ${moFile} - DESTINATION /opt/ug/res/locale/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo) + DESTINATION /opt/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) diff --git a/po/de_DE.po b/po/de_DE.po new file mode 100644 index 0000000..378e1cd --- /dev/null +++ b/po/de_DE.po @@ -0,0 +1,204 @@ +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_WIFI_BODY_CONNECTED" +msgstr "Verbunden" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Verbindung wird hergestellt..." + +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_BODY_STATIC_IP" +msgstr "Statische IP-Adresse" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Verborgenes Netz" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "WLAN wird aktiviert..." + +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_SK_FORGET" +msgstr "Entfernen" + +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_IP_ADDRESS" +msgstr "IP-Adresse" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Subnetzmaske" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Netzbenachrichtigung" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Netz auswählen" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Schwach" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Offen" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS verfügbar" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Gesichert" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP-Adresse wird abgerufen..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Sender" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-Adresse" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxy-Port" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "WLAN" + +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_WIFI_BODY_EAP_METHOD" +msgstr "EAP-Methode" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Phase 2-Authentifizierung" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Verbinden" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Gateway-Adresse" + +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_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_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_IDENTITY" +msgstr "Identität eingeben" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Anonyme Identität eingeben" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Ihre Identität eingeben" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Passwort eingeben" + diff --git a/po/el_GR.po b/po/el_GR.po new file mode 100644 index 0000000..5c884de --- /dev/null +++ b/po/el_GR.po @@ -0,0 +1,204 @@ +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Τέλεια" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Καλό" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Σάρωση" + +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Συνδέθηκε" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Σύνδεση..." + +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_BODY_STATIC_IP" +msgstr "Στατικό IP" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Κρυφό δίκτυο" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Ενεργοποίηση Wi-Fi..." + +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_SK_FORGET" +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_IP_ADDRESS" +msgstr "Διεύθυνση IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Μάσκα υποδικτύου" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Πύλη" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Ειδοποίηση δικτύου" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Επιλογή δικτύου" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Ασθενές" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Άνοιγμα" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "Υπάρχει διαθέσιμο WPS" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Ασφαλές" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Γίνεται λήψη διεύθυνσης IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Κανάλι" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Διεύθυνση MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Θύρα proxy" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Δίκτυα Wi-Fi" + +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_WIFI_BODY_EAP_METHOD" +msgstr "Μέθοδος EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "2η φάση ελέγχου ταυτότητας" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Σύνδεση" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +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_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_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_IDENTITY" +msgstr "Εισαγάγετε ταυτότητα" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Εισαγάγετε άγνωστη ταυτότητα" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Εισαγάγετε την ταυτότητά σας" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Εισαγωγή κωδικού" + diff --git a/po/en.po b/po/en.po new file mode 100644 index 0000000..7505ffc --- /dev/null +++ b/po/en.po @@ -0,0 +1,204 @@ +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_WIFI_BODY_CONNECTED" +msgstr "Connected" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Connecting..." + +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_BODY_STATIC_IP" +msgstr "Static IP" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Hidden network" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Activating Wi-Fi..." + +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_SK_FORGET" +msgstr "Forget" + +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_IP_ADDRESS" +msgstr "IP address" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Subnet mask" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Network notification" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Select network" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Weak" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Open" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS available" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Secured" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Obtaining IP address..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Channel" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC address" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxy port" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi networks" + +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_WIFI_BODY_EAP_METHOD" +msgstr "EAP method" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Phase 2 authentication" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Connect" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Gateway address" + +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_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_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_IDENTITY" +msgstr "Enter identity" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Enter anonymous identity" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Enter your identity" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Enter password" + diff --git a/po/es_ES.po b/po/es_ES.po new file mode 100644 index 0000000..cb4f89f --- /dev/null +++ b/po/es_ES.po @@ -0,0 +1,204 @@ +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_WIFI_BODY_CONNECTED" +msgstr "Conectado" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Conectando..." + +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_BODY_STATIC_IP" +msgstr "IP estática" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Red oculta" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Activando Wi-Fi..." + +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_SK_FORGET" +msgstr "Cancelar" + +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_IP_ADDRESS" +msgstr "Dirección IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Máscara de subred" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Puerta de enlace" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notificación de red" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Seleccionar red" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Débil" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Abierta" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS disponible" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Protegido" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Obteniendo dirección IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Canal" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Dirección MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Puerto Proxy" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Redes Wi-Fi" + +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_WIFI_BODY_EAP_METHOD" +msgstr "Método EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Autenticación de fase 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Conectar" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Dirección de puerta de enlace" + +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_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_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_IDENTITY" +msgstr "Introducir identidad" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Introducir identidad anónima" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Introducir su identidad" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Introducir contraseña" + diff --git a/po/fr_FR.po b/po/fr_FR.po new file mode 100644 index 0000000..4b30302 --- /dev/null +++ b/po/fr_FR.po @@ -0,0 +1,204 @@ +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_WIFI_BODY_CONNECTED" +msgstr "Connecté" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Connexion..." + +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_BODY_STATIC_IP" +msgstr "IP statique" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Réseau masqué" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Activation Wi-Fi..." + +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_SK_FORGET" +msgstr "Oublier" + +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_IP_ADDRESS" +msgstr "Adresse IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Masque de sous-réseau" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Passerelle" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notification réseau" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Sélectionner un réseau" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Faible" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Ouvert" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS disponible" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Sécurisé" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Obtention de l'adresse IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Canal" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Adresse MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Port proxy" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Réseaux Wi-Fi" + +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_WIFI_BODY_EAP_METHOD" +msgstr "Méthode EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Authentification Phase 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Connexion" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Adresse de passerelle" + +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 Wi-Fi sous %d minutes" + +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_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 bouton 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 le bouton 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_IDENTITY" +msgstr "Indiquer une identité" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Indiquer une identité anonyme" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Indiquer votre identité" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Saisir le mot de passe" + diff --git a/po/it_IT.po b/po/it_IT.po new file mode 100644 index 0000000..87eccb4 --- /dev/null +++ b/po/it_IT.po @@ -0,0 +1,204 @@ +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_WIFI_BODY_CONNECTED" +msgstr "Connesso" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Connessione..." + +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_BODY_STATIC_IP" +msgstr "IP statico" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Rete nascosta" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Attivazione Wi-Fi in corso" + +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_SK_FORGET" +msgstr "Rimuovi" + +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_IP_ADDRESS" +msgstr "Indirizzo IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Maschera di sottorete" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notifica di rete" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Selezione rete" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Debole" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Non protetta" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "Disponibile WPS" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Protetto" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Ottenimento indirizzo IP in corso..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Canale" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Indirizzo MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Porta" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Reti Wi-Fi" + +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_WIFI_BODY_EAP_METHOD" +msgstr "Metodo EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Autenticazione fase 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Connetti" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Indirizzo gateway" + +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_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_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_IDENTITY" +msgstr "Inserisci identità" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Inserisci identità anonima" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Inserisci l'identità" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Inserisci password" + diff --git a/po/ja_JP.po b/po/ja_JP.po new file mode 100644 index 0000000..c5e4d3d --- /dev/null +++ b/po/ja_JP.po @@ -0,0 +1,204 @@ +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "とても​良い" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "強" + +msgid "IDS_ST_BODY_SCAN" +msgstr "スキャン" + +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "接続しました。" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "接続中..." + +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_BODY_STATIC_IP" +msgstr "静的​IP" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "非表示​ネットワーク" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi​を​起動中..." + +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_SK_FORGET" +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_IP_ADDRESS" +msgstr "IP​アドレス" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "サブネット​マスク" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "ゲートウェイ" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "ネットワーク​通知" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "ネットワーク​を​選択" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "弱い" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "オープン" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS利用可能" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "セキュリティ保護" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IPアドレスを取得中..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "チャンネル" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC​アドレス" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "プロキシ​ポート" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi​ネットワーク" + +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_WIFI_BODY_EAP_METHOD" +msgstr "EAP​方法" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "フェーズ2​認証" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "接続" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +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_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_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_IDENTITY" +msgstr "ID​を​入力" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "匿名​ID​を​入力" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "あなた​の​ID​を​入力" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "パスワード​を​入力" + diff --git a/po/ko_KR.po b/po/ko_KR.po new file mode 100644 index 0000000..551a5f2 --- /dev/null +++ b/po/ko_KR.po @@ -0,0 +1,204 @@ +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "매우 좋음" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "좋음" + +msgid "IDS_ST_BODY_SCAN" +msgstr "검색" + +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "연결되었습니다" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "연결 중..." + +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_BODY_STATIC_IP" +msgstr "고정 IP" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "허용되지 않은 네트워크" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi 실행 중..." + +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_SK_FORGET" +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_IP_ADDRESS" +msgstr "IP 주소" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "서브넷 마스크" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "게이트웨이" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "네트워크 알림" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "네트워크 선택" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "약함" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "공개" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS 사용 가능" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "보안" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP 주소 불러오는 중..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "채널" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC 주소" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "프록시 포트" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi 네트워크" + +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_WIFI_BODY_EAP_METHOD" +msgstr "EAP 방식" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "2단계 인증" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "연결" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +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_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_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_IDENTITY" +msgstr "ID를 입력하세요" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "익명 ID를 입력하세요" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "ID를 입력하세요" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "비밀번호를 입력하세요" + diff --git a/po/nl_NL.po b/po/nl_NL.po new file mode 100644 index 0000000..dfcf112 --- /dev/null +++ b/po/nl_NL.po @@ -0,0 +1,204 @@ +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_WIFI_BODY_CONNECTED" +msgstr "Verbonden" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Verbinden..." + +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_BODY_STATIC_IP" +msgstr "Vast IP" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Verborgen netwerk" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi activeren..." + +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_SK_FORGET" +msgstr "Vergeten" + +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_IP_ADDRESS" +msgstr "IP-adres" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Subnetmasker" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Netwerkmelding" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Netwerk kiezen" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Zwak" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Open" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS beschikbaar" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Beveiligd" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP-adres ophalen..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanaal" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-adres" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Poort proxy" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi-netwerken" + +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_WIFI_BODY_EAP_METHOD" +msgstr "EAP-methode" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Verificatie fase 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Verbinden" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Gateway-adres" + +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_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_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_IDENTITY" +msgstr "Identiteit opgeven" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Anonieme identiteit opgeven" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Uw identiteit opgeven" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Wachtwoord invoeren" + diff --git a/po/pt_PT.po b/po/pt_PT.po new file mode 100644 index 0000000..42f022c --- /dev/null +++ b/po/pt_PT.po @@ -0,0 +1,204 @@ +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_WIFI_BODY_CONNECTED" +msgstr "Ligado" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "A ligar..." + +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_BODY_STATIC_IP" +msgstr "IP estático" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Rede oculta" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "A activar Wi-Fi..." + +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_SK_FORGET" +msgstr "Esquecer" + +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_IP_ADDRESS" +msgstr "Endereço IP" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Máscara de sub-rede" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Gateway" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Notificação de rede" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Seleccionar rede" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Fraca" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Aberta" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS disponível" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Seguro" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "A obter endereço IP..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Canal" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "Endereço MAC" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Porta de proxy" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Redes Wi-Fi" + +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_WIFI_BODY_EAP_METHOD" +msgstr "Método EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Autenticação de fase 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Ligar" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Endereço de gateway" + +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_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_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_IDENTITY" +msgstr "Introduzir identidade" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Introduzir identidade anónima" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Introduza a sua identidade" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Introduzir palavra-passe" + diff --git a/po/ru_RU.po b/po/ru_RU.po new file mode 100644 index 0000000..98fe49e --- /dev/null +++ b/po/ru_RU.po @@ -0,0 +1,204 @@ +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "Супер" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "Хороший" + +msgid "IDS_ST_BODY_SCAN" +msgstr "Поиск" + +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "Подключено" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Подключение..." + +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_BODY_STATIC_IP" +msgstr "Статический IP-адрес" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Скрытая сеть" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Активация Wi-Fi..." + +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_SK_FORGET" +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_IP_ADDRESS" +msgstr "IP-адрес" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Маска подсети" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Шлюз" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Уведомление о сетях" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Выбор сети" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Слабый" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Открытый" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "Доступен протокол WPS" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Защищенная" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "Получение IP-адреса..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Канал" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC-адрес" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Порт прокси" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Сети Wi-Fi" + +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_WIFI_BODY_EAP_METHOD" +msgstr "Метод EAP" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Проверка подлинности этапа 2" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Подключиться" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +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_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_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_IDENTITY" +msgstr "Введите удостоверение" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "Введите анонимное удостоверение" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Введите свое удостоверение" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Введите пароль" + diff --git a/po/tr_TR.po b/po/tr_TR.po new file mode 100644 index 0000000..826f984 --- /dev/null +++ b/po/tr_TR.po @@ -0,0 +1,204 @@ +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_WIFI_BODY_CONNECTED" +msgstr "Bağlantı kuruldu" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "Bağlanılıyor..." + +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_BODY_STATIC_IP" +msgstr "Statik IP" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "Gizli ağ" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "Wi-Fi etkinleştiriliyor..." + +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_SK_FORGET" +msgstr "Unut" + +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_IP_ADDRESS" +msgstr "IP adresi" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "Alt ağ maskesi" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "Ağ geçidi" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "Ağ bildirimi" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "Şebeke seçimi" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "Zayıf" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "Aç" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS uygun" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "Güvenli" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "IP adresi alınıyor..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "Kanal" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC adresi" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "Proxy portu" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi ağları" + +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_WIFI_BODY_EAP_METHOD" +msgstr "EAP yöntemi" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "Faz 2 yetkilendirmesi" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "Bağlan" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +msgstr "Ağ geçidi adresi" + +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_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_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_IDENTITY" +msgstr "Kimlik girin" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "İsimsiz kimlik girin" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "Kimliğinizi girin" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "Şifreyi girin" + diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 0000000..75347e8 --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,204 @@ +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "棒极了" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "好" + +msgid "IDS_ST_BODY_SCAN" +msgstr "扫描" + +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "已连接" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "连接中..." + +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_BODY_STATIC_IP" +msgstr "静态IP" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "隐藏的网络" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "正在激活Wi-Fi..." + +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_SK_FORGET" +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_IP_ADDRESS" +msgstr "IP 地址" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "子网时标" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "网关" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "网络通知" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "选择网络" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "弱" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "开放" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS可用" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "安全" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "正在获取 IP 地址…" + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "频道" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC 地址" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "代理服务器端口" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi网络" + +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_WIFI_BODY_EAP_METHOD" +msgstr "EAP 方法" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "阶段2认证" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "连接" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +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_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_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_IDENTITY" +msgstr "输入 ID" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "输入匿名 ID" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "输入您的 ID" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "输入密码" + diff --git a/po/zh_HK.po b/po/zh_HK.po new file mode 100644 index 0000000..a5e5e12 --- /dev/null +++ b/po/zh_HK.po @@ -0,0 +1,204 @@ +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "極佳" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "良好" + +msgid "IDS_ST_BODY_SCAN" +msgstr "掃描" + +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "已連接" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "連接中..." + +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_BODY_STATIC_IP" +msgstr "靜態 IP" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "隱藏網絡" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "正在啟動 Wi-Fi..." + +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_SK_FORGET" +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_IP_ADDRESS" +msgstr "IP 位址" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "子網絡範圍" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "網關" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "網絡通知" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "選擇網絡" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "弱" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "開啟" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "WPS 可用" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "安全" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "正在取得 IP 地址..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "頻道" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC 地址" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "代理伺服器端口" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi 網絡" + +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_WIFI_BODY_EAP_METHOD" +msgstr "EAP 方法" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "階段 2 認證" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "連接" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +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_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_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_IDENTITY" +msgstr "輸入身分" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "輸入匿名身分" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "輸入您的身分" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "輸入密碼" + diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 0000000..3f7f60f --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,204 @@ +msgid "IDS_ST_BODY_EXCELLENT" +msgstr "棒極了" + +msgid "IDS_ST_BODY_GOOD_M_STRENGTH" +msgstr "良好" + +msgid "IDS_ST_BODY_SCAN" +msgstr "掃描" + +msgid "IDS_WIFI_BODY_CONNECTED" +msgstr "已連線" + +msgid "IDS_WIFI_BODY_CONNECTING_ING" +msgstr "連線中..." + +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_BODY_STATIC_IP" +msgstr "靜態 IP" + +msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" +msgstr "隱藏網路" + +msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" +msgstr "正在啟動 Wi-Fi..." + +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_SK_FORGET" +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_IP_ADDRESS" +msgstr "IP 位址" + +msgid "IDS_WIFI_BODY_SUBNET_MASK" +msgstr "子網路遮罩" + +msgid "IDS_WIFI_BODY_GATEWAY" +msgstr "閘道" + +msgid "IDS_WIFI_BODY_DNS_1" +msgstr "DNS 1" + +msgid "IDS_WIFI_BODY_DNS_2" +msgstr "DNS 2" + +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_ST_BODY_NETWORK_NOTIFICATION" +msgstr "網路通知" + +msgid "IDS_WIFI_HEADER_SELECT_NETWORK" +msgstr "選擇網路" + +msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" +msgstr "弱" + +msgid "IDS_WIFI_POP_OPEN" +msgstr "開啟" + +msgid "IDS_ST_BODY_WPS_AVAILABLE" +msgstr "取得 WPS" + +msgid "IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" +msgstr "安全" + +msgid "IDS_ST_BODY_OBTAINING_IP_ADDRESS_ING" +msgstr "正在取得 IP 位址..." + +msgid "IDS_WIFI_BODY_CHANNEL" +msgstr "頻道" + +msgid "IDS_WIFI_BODY_MAC_ADDRESS" +msgstr "MAC 位址" + +msgid "IDS_WIFI_BODY_PROXY_PORT" +msgstr "代理伺服器連接埠" + +msgid "IDS_ST_BODY_WI_FI_NETWORKS" +msgstr "Wi-Fi無線網路" + +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_WIFI_BODY_EAP_METHOD" +msgstr "EAP 方法" + +msgid "IDS_WIFI_BODY_EAP" +msgstr "EAP" + +msgid "IDS_COM_BODY_PHASE_2_AUTHENTICATION" +msgstr "第 2 階段認證" + +msgid "IDS_WIFI_BODY_CONNECT" +msgstr "連線" + +msgid "IDS_WIFI_BODY_GATEWAY_ADDRESS" +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_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_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_IDENTITY" +msgstr "輸入身分" + +msgid "IDS_WIFI_BODY_ENTER_ANONYMOUS_IDENTITY" +msgstr "輸入匿名身分" + +msgid "IDS_WIFI_BODY_ENTER_YOUR_IDENTITY" +msgstr "輸入身分" + +msgid "IDS_WIFI_HEADER_ENTER_PASSWORD" +msgstr "輸入密碼" + diff --git a/sources/libraries/Common/common_datamodel.c b/sources/libraries/Common/common_datamodel.c new file mode 100644 index 0000000..c65b843 --- /dev/null +++ b/sources/libraries/Common/common_datamodel.c @@ -0,0 +1,714 @@ +/* +* 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" + +#define DEFAULT_PROXY_ADDR "0.0.0.0:80" + +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 = g_strdup(DEFAULT_PROXY_ADDR); + } 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); + 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 (!g_strcmp0(data_object->proxy_addr, DEFAULT_PROXY_ADDR)) { /* Has user entered default proxy "0.0.0.0:80"*/ + if (g_strcmp0(profile_info->ProfileInfo.Wlan.net_info.ProxyAddr, "")) { /* If user entered defaukt proxy, then check if the profile proxy is zero string ("") */ + g_strlcpy(profile_info->ProfileInfo.Wlan.net_info.ProxyAddr, "", WLAN_PROXY_LEN_MAX); + changed = TRUE; + } + } else if (g_strcmp0(data_object->proxy_addr, profile_info->ProfileInfo.Wlan.net_info.ProxyAddr)) { + 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 = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4); + if (g_strcmp0(data_object->ip, temp_str)) { + inet_aton(data_object->ip, &(profile_info->ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4)); + char *temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4); + INFO_LOG(UG_NAME_NORMAL, "IP : %s", temp_str); + changed = TRUE; + } + temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4); + if (g_strcmp0(data_object->subnet, temp_str)) { + inet_aton(data_object->subnet, &(profile_info->ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4)); + temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4); + INFO_LOG(UG_NAME_NORMAL, "Subnet : %s", temp_str); + changed = TRUE; + } + + temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4); + if (g_strcmp0(data_object->gateway, temp_str)) { + inet_aton(data_object->gateway, &(profile_info->ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4)); + temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4); + INFO_LOG(UG_NAME_NORMAL, "Gateway : %s", temp_str); + changed = TRUE; + } + + temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4); + if (g_strcmp0(data_object->dns1, temp_str)) { + inet_aton(data_object->dns1, &(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4)); + profile_info->ProfileInfo.Wlan.net_info.DnsCount = 1; + temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4); + INFO_LOG(UG_NAME_NORMAL, "DNS1 : %s", temp_str); + changed = TRUE; + } + + temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4); + if (g_strcmp0(data_object->dns2, temp_str)) { + inet_aton(data_object->dns2, &(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4)); + profile_info->ProfileInfo.Wlan.net_info.DnsCount = 2; + temp_str = inet_ntoa(profile_info->ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4); + INFO_LOG(UG_NAME_NORMAL, "DNS2 : %s", temp_str); + changed = TRUE; + } + INFO_LOG(UG_NAME_NORMAL, "DNS count : %d", profile_info->ProfileInfo.Wlan.net_info.DnsCount); + } + if (changed) { + 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!!"); + if(NULL != proxy) { + g_free(data_object->proxy_addr); + data_object->proxy_addr = g_strdup(proxy); + } + 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!!"); + char* ret = g_strdup(data_object->proxy_addr); + return ret; +} + +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..5bb977d --- /dev/null +++ b/sources/libraries/Common/common_eap_connect.c @@ -0,0 +1,1191 @@ +/* +* Wi-Fi syspopup +* +* 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" +#include "common_datamodel.h" + +#define COMMON_EAP_CONNECT_POPUP_W 656 +#define COMMON_EAP_CONNECT_POPUP_H 918 + +#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 + + +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 { + view_datamodel_eap_info_t *data_object; + 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}, + {1, "FAST", ELM_GENLIST_ITEM_NONE}, + {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_Genlist_Item_Class *eap_type_itc; + Elm_Genlist_Item_Class *eap_type_sub_itc; + Elm_Genlist_Item_Class *eap_provision_itc; + Elm_Genlist_Item_Class *eap_provision_sub_itc; + Elm_Genlist_Item_Class *eap_auth_itc; + Elm_Genlist_Item_Class *eap_ca_cert_itc; + Elm_Genlist_Item_Class *eap_user_cert_itc; + Elm_Genlist_Item_Class *eap_auth_sub_itc; + + 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; + view_datamodel_eap_info_t *data_object; + ip_info_list_t *ip_info_list; + void (*eap_closed_cb)(void); + Elm_Object_Item* navi_it; +}; + +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(view_datamodel_eap_info_t *data_object); +static wlan_eap_type_t __common_eap_connect_popup_get_wlan_eap_type(eap_type_t eap_type); +static eap_auth_t __common_eap_connect_popup_get_auth_type(view_datamodel_eap_info_t *data_object); +static wlan_eap_auth_type_t __common_eap_connect_popup_get_wlan_auth_type(eap_auth_t auth_type); + +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->data_object); + 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); + view_detail_datamodel_eap_method_set(eap_data->data_object, __common_eap_connect_popup_get_wlan_eap_type(selected_item_index)); + DEBUG_LOG( UG_NAME_NORMAL, "set to new index = %d", view_detail_datamodel_eap_method_get(eap_data->data_object)); + 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) +{ + 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); + int selected_item_index = elm_genlist_item_index_get(item) - elm_genlist_item_index_get(parent_item) - 1; + + view_detail_datamodel_eap_provision_set(eap_data->data_object, selected_item_index); + + /* 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; + + view_detail_datamodel_eap_auth_set(eap_data->data_object, __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->data_object); + 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); + return; +} + +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 = view_detail_datamodel_eap_provision_get(eap_data->data_object); + 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); + return; +} + +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->data_object); + 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); + return; +} + +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_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; + 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; + 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 == __common_eap_connect_popup_get_eap_type(eap_data->data_object)) + elm_radio_value_set(radio, i); + sub_item = elm_genlist_item_append(gl, eap_data->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 == view_detail_datamodel_eap_provision_get(eap_data->data_object)) + elm_radio_value_set(radio, i); + elm_genlist_item_append(gl, eap_data->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: + 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 == __common_eap_connect_popup_get_auth_type(eap_data->data_object)) + elm_radio_value_set(radio, i); + elm_genlist_item_append(gl, eap_data->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) +{ + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data; + eap_data->eap_type_itc = elm_genlist_item_class_new(); + eap_data->eap_type_sub_itc = elm_genlist_item_class_new(); + eap_data->eap_provision_itc = elm_genlist_item_class_new(); + eap_data->eap_provision_sub_itc = elm_genlist_item_class_new(); + eap_data->eap_auth_itc = elm_genlist_item_class_new(); + eap_data->eap_auth_sub_itc = elm_genlist_item_class_new(); + eap_data->eap_ca_cert_itc = elm_genlist_item_class_new(); + eap_data->eap_user_cert_itc = elm_genlist_item_class_new(); + + eap_data->eap_type_itc->item_style = "dialogue/2text.2/expandable"; + eap_data->eap_type_itc->func.text_get = _gl_eap_type_text_get; + eap_data->eap_type_itc->func.content_get = NULL; + eap_data->eap_type_itc->func.state_get = NULL; + eap_data->eap_type_itc->func.del = NULL; + + eap_data->eap_type_sub_itc->item_style = "dialogue/1text.1icon.2/expandable2"; + eap_data->eap_type_sub_itc->func.text_get = _gl_eap_subtext_get; + eap_data->eap_type_sub_itc->func.content_get = _gl_eap_content_get; + eap_data->eap_type_sub_itc->func.state_get = NULL; + eap_data->eap_type_sub_itc->func.del = _gl_eap_type_sub_menu_item_del; + + eap_data->eap_provision_itc->item_style = "dialogue/2text.2/expandable"; + eap_data->eap_provision_itc->func.text_get = _gl_eap_provision_text_get; + eap_data->eap_provision_itc->func.content_get = NULL; + eap_data->eap_provision_itc->func.state_get = NULL; + eap_data->eap_provision_itc->func.del = NULL; + + eap_data->eap_provision_sub_itc->item_style = "dialogue/1text.1icon.2/expandable2"; + eap_data->eap_provision_sub_itc->func.text_get = _gl_eap_provision_subtext_get; + eap_data->eap_provision_sub_itc->func.content_get = _gl_eap_provision_content_get; + eap_data->eap_provision_sub_itc->func.state_get = NULL; + eap_data->eap_provision_sub_itc->func.del = _gl_eap_provision_sub_menu_item_del; + + eap_data->eap_auth_itc->item_style = "dialogue/2text.2/expandable"; + eap_data->eap_auth_itc->func.text_get = _gl_eap_auth_text_get; + eap_data->eap_auth_itc->func.content_get = NULL; + eap_data->eap_auth_itc->func.state_get = NULL; + eap_data->eap_auth_itc->func.del = NULL; + + eap_data->eap_auth_sub_itc->item_style = "dialogue/1text.1icon.2/expandable2"; + eap_data->eap_auth_sub_itc->func.text_get = _gl_eap_auth_subtext_get; + eap_data->eap_auth_sub_itc->func.content_get = _gl_eap_auth_content_get; + eap_data->eap_auth_sub_itc->func.state_get = NULL; + eap_data->eap_auth_sub_itc->func.del = _gl_eap_auth_sub_menu_item_del; + + eap_data->eap_ca_cert_itc->item_style = "dialogue/2text.2"; + eap_data->eap_ca_cert_itc->func.text_get = _gl_eap_ca_cert_text_get; + eap_data->eap_ca_cert_itc->func.content_get = NULL; + eap_data->eap_ca_cert_itc->func.state_get = NULL; + eap_data->eap_ca_cert_itc->func.del = NULL; + + eap_data->eap_user_cert_itc->item_style = "dialogue/2text.2"; + eap_data->eap_user_cert_itc->func.text_get = _gl_eap_user_cert_text_get; + eap_data->eap_user_cert_itc->func.content_get = NULL; + eap_data->eap_user_cert_itc->func.state_get = NULL; + eap_data->eap_user_cert_itc->func.del = NULL; + + return; +} + +static void __common_eap_connect_popup_deinit_item_class(void *data) +{ + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data; + + elm_genlist_item_class_free(eap_data->eap_type_itc); + elm_genlist_item_class_free(eap_data->eap_type_sub_itc); + elm_genlist_item_class_free(eap_data->eap_provision_itc); + elm_genlist_item_class_free(eap_data->eap_provision_sub_itc); + elm_genlist_item_class_free(eap_data->eap_auth_itc); + elm_genlist_item_class_free(eap_data->eap_auth_sub_itc); + elm_genlist_item_class_free(eap_data->eap_ca_cert_itc); + elm_genlist_item_class_free(eap_data->eap_user_cert_itc); + + eap_data->eap_type_itc = NULL; + eap_data->eap_type_sub_itc = NULL; + eap_data->eap_provision_itc = NULL; + eap_data->eap_provision_sub_itc = NULL; + eap_data->eap_auth_itc = NULL; + eap_data->eap_auth_sub_itc = NULL; + eap_data->eap_ca_cert_itc = NULL; + eap_data->eap_user_cert_itc = NULL; +} + +/* + * 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, eap_data->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->data_object); + } + + 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, eap_data->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", view_detail_datamodel_eap_provision_get(eap_data->data_object)); + 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) { + /* Add EAP phase2 authentication */ + eap_data->eap_auth_item = elm_genlist_item_insert_after(view_list, eap_data->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, eap_data->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, eap_data->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 */ + eap_data->eap_id_item = common_utils_add_edit_box_to_list(view_list, eap_data->eap_user_cert_item, sc(eap_data->str_pkg_name, I18N_TYPE_Identity), "", sc(eap_data->str_pkg_name, I18N_TYPE_Enter_Identity), ELM_INPUT_PANEL_LAYOUT_URL); + + /* Add EAP Anonymous Identity */ + eap_data->eap_anonyid_item = common_utils_add_edit_box_to_list(view_list, eap_data->eap_id_item, sc(eap_data->str_pkg_name, I18N_TYPE_Anonymous_Identity), "", sc(eap_data->str_pkg_name, I18N_TYPE_Enter_Anonymous_Identity), ELM_INPUT_PANEL_LAYOUT_URL); + + /* Add EAP Password */ + eap_data->eap_pw_item = common_utils_add_edit_box_to_list(view_list, eap_data->eap_anonyid_item, sc(eap_data->str_pkg_name, I18N_TYPE_Password), "", sc(eap_data->str_pkg_name, I18N_TYPE_Enter_password), ELM_INPUT_PANEL_LAYOUT_URL); + common_utils_entry_password_set(elm_object_item_data_get(eap_data->eap_pw_item), TRUE); + } + __COMMON_FUNC_EXIT__; + return; +} + +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__; + return; +} + +static Evas_Object* _create_list(Evas_Object* parent, void *data) +{ + __COMMON_FUNC_ENTER__; + assertm_if(NULL == parent, "NULL!!"); + + const char* parent_view_name = evas_object_name_get(parent); + + Evas_Object* view_list = elm_genlist_add(parent); + + if (g_strcmp0(EAP_CONNECT_POPUP, parent_view_name) != 0) + elm_object_style_set(view_list, "dialogue"); + + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)data; + + assertm_if(NULL == view_list, "NULL!!"); + 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); + + eap_data->eap_done_ok = FALSE; + + __common_eap_connect_popup_init_item_class(eap_data); + + eap_data->genlist = view_list; + + 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); + } + + if (g_strcmp0(EAP_CONNECT_POPUP, parent_view_name) != 0) + common_utils_add_dialogue_separator(view_list, "dialogue/separator"); + + /* Create the entry items */ + _create_and_update_list_items_based_on_rules(view_detail_datamodel_eap_method_get(eap_data->data_object), 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_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; + + if (eap_data != NULL) { + evas_object_del(eap_data->genlist); + __common_eap_connect_popup_deinit_item_class(eap_data); + evas_object_del(eap_data->popup); + ip_info_remove(eap_data->ip_info_list); + eap_data->ip_info_list = NULL; + view_detail_datamodel_eap_info_destroy(eap_data->data_object); + eap_data->data_object = NULL; + evas_object_del(radio_main); + radio_main = NULL; + if (eap_data->eap_closed_cb) + eap_data->eap_closed_cb(); + g_free(eap_data); + + /* Lets enable the scan updates */ + wlan_manager_enable_scan_result_update(); + } + + __COMMON_FUNC_EXIT__; +} + +static wlan_eap_type_t __common_eap_connect_popup_get_wlan_eap_type(eap_type_t eap_type) +{ + wlan_eap_type_t wlan_eap_type = WLAN_SEC_EAP_TYPE_PEAP; + switch (eap_type) { + case EAP_SEC_TYPE_PEAP: + wlan_eap_type = WLAN_SEC_EAP_TYPE_PEAP; + break; + case EAP_SEC_TYPE_TLS: + wlan_eap_type = WLAN_SEC_EAP_TYPE_TLS; + break; + case EAP_SEC_TYPE_TTLS: + wlan_eap_type = WLAN_SEC_EAP_TYPE_TTLS; + break; + case EAP_SEC_TYPE_SIM: + wlan_eap_type = WLAN_SEC_EAP_TYPE_SIM; + break; + case EAP_SEC_TYPE_AKA: + wlan_eap_type = WLAN_SEC_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 wlan_eap_auth_type_t __common_eap_connect_popup_get_wlan_auth_type(eap_auth_t auth_type) +{ + wlan_eap_auth_type_t wlan_auth_type = WLAN_SEC_EAP_AUTH_NONE; + switch (auth_type) { + case EAP_SEC_AUTH_NONE: + wlan_auth_type = WLAN_SEC_EAP_AUTH_NONE; + break; + case EAP_SEC_AUTH_PAP: + wlan_auth_type = WLAN_SEC_EAP_AUTH_PAP; + break; + case EAP_SEC_AUTH_MSCHAP: + wlan_auth_type = WLAN_SEC_EAP_AUTH_MSCHAP; + break; + case EAP_SEC_AUTH_MSCHAPV2: + wlan_auth_type = WLAN_SEC_EAP_AUTH_MSCHAPV2; + break; + case EAP_SEC_AUTH_GTC: + wlan_auth_type = WLAN_SEC_EAP_AUTH_GTC; + break; + case EAP_SEC_AUTH_MD5: + wlan_auth_type = WLAN_SEC_EAP_AUTH_MD5; + break; + default: + /* This case should never occur */ + ERROR_LOG(UG_NAME_NORMAL, "Err!"); + break; + } + return wlan_auth_type; +} + +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; + + wlan_eap_type_t eap_type; + wlan_eap_auth_type_t auth_type; + net_wifi_connection_info_t *p_conn_info = NULL; + p_conn_info = g_malloc0(sizeof(net_wifi_connection_info_t)); + p_conn_info->wlan_mode = NETPM_WLAN_CONNMODE_INFRA; + p_conn_info->security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X; + + eap_type = view_detail_datamodel_eap_method_get(eap_data->data_object); + switch (eap_type) { + case WLAN_SEC_EAP_TYPE_PEAP: + case WLAN_SEC_EAP_TYPE_TTLS: + str_id = common_utils_get_list_item_entry_txt(eap_data->eap_id_item); + if (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; + goto eap_done_cleanup; + } + + str_pw = common_utils_get_list_item_entry_txt(eap_data->eap_pw_item); + if (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; + goto eap_done_cleanup; + } + + char *temp_str = common_utils_get_list_item_entry_txt(eap_data->eap_anonyid_item); + view_detail_datamodel_eap_anonymous_id_set(eap_data->data_object, temp_str); + g_free(temp_str); + + p_conn_info->security_info.authentication.eap.eap_type = eap_type; + + auth_type = view_detail_datamodel_eap_auth_get(eap_data->data_object); + p_conn_info->security_info.authentication.eap.eap_auth = auth_type;//__common_eap_connect_popup_get_authentication_type(auth_type); + 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_PASSWORD_LEN); + view_detail_datamodel_eap_user_id_set(eap_data->data_object, str_id); + view_detail_datamodel_eap_pswd_set(eap_data->data_object, str_pw); + break; + + case WLAN_SEC_EAP_TYPE_TLS: + p_conn_info->security_info.authentication.eap.eap_type = eap_type; + auth_type = view_detail_datamodel_eap_auth_get(eap_data->data_object); + p_conn_info->security_info.authentication.eap.eap_auth = auth_type;//__common_eap_connect_popup_get_authentication_type(auth_type); + +// 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); + g_strlcpy(p_conn_info->security_info.authentication.eap.ca_cert_filename, "/mnt/ums/Certification/ca2.pem", NETPM_WLAN_CA_CERT_FILENAME_LEN); + g_strlcpy(p_conn_info->security_info.authentication.eap.client_cert_filename, "/mnt/ums/Certification/user2.pem", NETPM_WLAN_CLIENT_CERT_FILENAME_LEN); + g_strlcpy(p_conn_info->security_info.authentication.eap.private_key_filename, "/mnt/ums/Certification/user2.prv", NETPM_WLAN_PRIVATE_KEY_FILENAME_LEN); + g_strlcpy(p_conn_info->security_info.authentication.eap.private_key_passwd, "wifi", NETPM_WLAN_PRIVATE_KEY_PASSWD_LEN); + break; + + case WLAN_SEC_EAP_TYPE_SIM: + p_conn_info->security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X; + p_conn_info->security_info.authentication.eap.eap_type = eap_type; + break; + + case WLAN_SEC_EAP_TYPE_AKA: + p_conn_info->security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X; + p_conn_info->security_info.authentication.eap.eap_type = eap_type; + 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, TRUE); + view_detail_datamodel_save_eap_info_if_modified(eap_data->data_object); + + char *temp_str = view_detail_datamodel_eap_ap_name_get(eap_data->data_object); + g_strlcpy(p_conn_info->essid, temp_str, NET_WLAN_ESSID_LEN); + g_free(temp_str); + + if (WLAN_MANAGER_ERR_NONE != connman_request_connection_open_hidden_ap(p_conn_info)) { + ERROR_LOG(UG_NAME_NORMAL, "EAP connect request failed!!!"); + } + + if (eap_data->navi_it) { + eap_view_close(eap_data); + } else { + Evas_Object *cancel_btn = elm_object_part_content_get(eap_data->popup, "button2"); + evas_object_smart_callback_call(cancel_btn, "clicked", NULL); + } + +eap_done_cleanup: + g_free(p_conn_info); + g_free(str_id); + g_free(str_pw); + + __COMMON_FUNC_EXIT__; +} + +common_eap_connect_data_t *create_eap_connect(Evas_Object *win_main, Evas_Object *navi_frame, const char *pkg_name, wifi_device_info_t *device_info, eap_view_close_cb_t cb) +{ + __COMMON_FUNC_ENTER__; + + Evas_Object *list = NULL; + if (!win_main || !device_info || !pkg_name) + return NULL; + + common_eap_connect_data_t *eap_data = (common_eap_connect_data_t *)g_malloc0(sizeof(common_eap_connect_data_t)); + eap_data->str_pkg_name = pkg_name; + eap_data->win = win_main; + + /* Create the MVC object */ + eap_data->data_object = view_detail_datamodel_eap_info_create(device_info->profile_name); + + if (!device_info->profile_name) { + /* This means a dummy eap data object has been created. */ + /* This situation can occur during hidden ap case. */ + /* Lets set the ssid */ + view_detail_datamodel_eap_ap_name_set(eap_data->data_object, device_info->ssid); + } + + if (navi_frame) { /* Create eap connect view */ + Evas_Object *layout; + Evas_Object *conform; + Elm_Object_Item* navi_it; + Evas_Object* toolbar; + Evas_Object* button_back; + + layout = common_utils_create_conformant_layout(navi_frame); + conform = elm_object_part_content_get(layout, "elm.swallow.content"); + + /* Create an EAP connect view list */ + list = _create_list(conform, eap_data); + + /* Append ip info items */ + eap_data->ip_info_list = ip_info_append_items(device_info->profile_name, pkg_name, list); + + /* Add a separator */ + common_utils_add_dialogue_separator(list, "dialogue/separator/end"); + + elm_object_content_set(conform, list); + + eap_data->navi_it = 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); + eap_data->eap_closed_cb = cb; + toolbar = elm_toolbar_add(navi_frame); + elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); + + elm_toolbar_item_append(toolbar, + NULL, + sc(pkg_name, I18N_TYPE_Connect), + __common_eap_connect_done_cb, + eap_data); + /* Add a dummy item */ + elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL), EINA_TRUE); + + /* Add the control bar to the naviframe */ + elm_object_item_part_content_set(navi_it, "controlbar", toolbar); + + button_back = elm_object_item_part_content_get(navi_it, "prev_btn"); + elm_object_focus_allow_set(button_back, EINA_TRUE); + evas_object_smart_callback_add(button_back, "clicked", __common_eap_connect_destroy, eap_data); + + } else { /* Create eap connect popup */ + Evas_Object *popup; + Evas_Object *box; + Evas_Object *layout; + Evas_Object *btn; + Evas_Object *conformant; + + /* Lets disable the scan updates so that the UI is not refreshed un necessarily */ + wlan_manager_disable_scan_result_update(); + + conformant = elm_conformant_add(win_main); + assertm_if(NULL == conformant, "conformant is NULL!!"); + elm_win_conformant_set(win_main, EINA_TRUE); + elm_win_resize_object_add(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); + + layout = elm_layout_add(conformant); + + eap_data->popup = popup = elm_popup_add(layout); + elm_object_style_set(popup, "content_expand"); + 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, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_min_set(box, COMMON_EAP_CONNECT_POPUP_W * elm_config_scale_get(), COMMON_EAP_CONNECT_POPUP_H * 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 */ + eap_data->ip_info_list = ip_info_append_items(device_info->profile_name, pkg_name, list); + + /* Add a separator */ + common_utils_add_dialogue_separator(list, "dialogue/separator/end"); + + /* Pack the list into the box */ + elm_box_pack_end(box, list); + elm_object_content_set(popup, box); + elm_object_content_set(layout, popup); + elm_object_content_set(conformant, layout); + evas_object_show(list); + evas_object_show(box); + evas_object_show(popup); + evas_object_show(layout); + evas_object_show(conformant); + } + + __COMMON_FUNC_EXIT__; + + return eap_data; +} + +static eap_type_t __common_eap_connect_popup_get_eap_type(view_datamodel_eap_info_t *data_object) +{ + wlan_eap_type_t wlan_eap_type; + wlan_eap_type = view_detail_datamodel_eap_method_get(data_object); + switch (wlan_eap_type) { + case WLAN_SEC_EAP_TYPE_PEAP: + return EAP_SEC_TYPE_PEAP; + + case WLAN_SEC_EAP_TYPE_TLS: + return EAP_SEC_TYPE_TLS; + + case WLAN_SEC_EAP_TYPE_TTLS: + return EAP_SEC_TYPE_TTLS; + + case WLAN_SEC_EAP_TYPE_SIM: + return EAP_SEC_TYPE_SIM; + + case WLAN_SEC_EAP_TYPE_AKA: + 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_UNKNOWN; + } + return EAP_SEC_TYPE_UNKNOWN; +} + +static eap_auth_t __common_eap_connect_popup_get_auth_type(view_datamodel_eap_info_t *data_object) +{ + wlan_eap_auth_type_t wlan_auth_type; + wlan_auth_type = view_detail_datamodel_eap_auth_get(data_object); + switch (wlan_auth_type) { + case WLAN_SEC_EAP_AUTH_NONE: + return EAP_SEC_AUTH_NONE; + + case WLAN_SEC_EAP_AUTH_PAP: + return EAP_SEC_AUTH_PAP; + + case WLAN_SEC_EAP_AUTH_MSCHAP: + return EAP_SEC_AUTH_MSCHAP; + + case WLAN_SEC_EAP_AUTH_MSCHAPV2: + return EAP_SEC_AUTH_MSCHAPV2; + + case WLAN_SEC_EAP_AUTH_GTC: + return EAP_SEC_AUTH_GTC; + + case WLAN_SEC_EAP_AUTH_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(const char *profile_name, Evas_Object* view_list, const char *str_pkg_name) +{ + __COMMON_FUNC_ENTER__; + eap_type_t eap_type; + eap_auth_t auth_type; + char *temp_str = NULL; + Eina_Bool append_continue = TRUE; + Elm_Object_Item *password_entry_item = NULL; + eap_info_list_t *eap_info_list_data = NULL; + view_datamodel_eap_info_t *data_object = NULL; + if (!view_list || !str_pkg_name || !profile_name) { + ERROR_LOG(UG_NAME_ERR, "Invalid params passed!"); + return NULL; + } + + eap_info_list_data = (eap_info_list_t *)g_malloc0(sizeof(eap_info_list_t)); + + eap_info_list_data->data_object = data_object = view_detail_datamodel_eap_info_create(profile_name); + eap_type = __common_eap_connect_popup_get_eap_type(data_object); + auth_type = __common_eap_connect_popup_get_auth_type(data_object); + + common_utils_add_dialogue_separator(view_list, "dialogue/separator"); + + 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 */ + temp_str = g_strdup_printf("%d", view_detail_datamodel_eap_provision_get(data_object)); + 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) { + /* 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 = view_detail_datamodel_ca_cert_get(data_object); + 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 = view_detail_datamodel_user_cert_get(data_object); + 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 */ + temp_str = view_detail_datamodel_user_id_get(data_object); + 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 */ + temp_str = view_detail_datamodel_anonymous_id_get(data_object); + 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 */ + temp_str = view_detail_datamodel_pswd_get(data_object); + password_entry_item = common_utils_add_edit_box_to_list(view_list, NULL, sc(str_pkg_name, I18N_TYPE_Password), temp_str, sc(str_pkg_name, I18N_TYPE_Enter_password), ELM_INPUT_PANEL_LAYOUT_URL); + g_free(temp_str); + common_utils_entry_password_set(elm_object_item_data_get(password_entry_item), TRUE); + eap_info_list_data->pswd_item = password_entry_item; + } + + __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); + view_detail_datamodel_eap_pswd_set(eap_info_list_data->data_object, txt); + g_free(txt); + + view_detail_datamodel_save_eap_info_if_modified(eap_info_list_data->data_object); + return; +} + +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; + } + + view_detail_datamodel_eap_info_destroy(eap_info_list_data->data_object); + g_free(eap_info_list_data); + + return; +} + +void eap_view_close(common_eap_connect_data_t *eap_data) +{ + if (NULL == eap_data) { + return; + } + Evas_Object *button_back = elm_object_item_part_content_get(eap_data->navi_it, "prev_btn"); + evas_object_smart_callback_call(button_back, "clicked", NULL); + return; +} diff --git a/sources/libraries/Common/common_ip_info.c b/sources/libraries/Common/common_ip_info.c new file mode 100644 index 0000000..cdcc0e3 --- /dev/null +++ b/sources/libraries/Common/common_ip_info.c @@ -0,0 +1,396 @@ +/* +* Wi-Fi syspopup +* +* 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_ip_info.h" +#include "common_utils.h" +#include "i18nmanager.h" +#include "common_datamodel.h" + +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; + + view_datamodel_ip_info_t *data_object; +}; + +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 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 _create_static_ip_table(ip_info_list_t *ip_info_list_data) +{ + char *txt = NULL; + + /* IP Address */ + txt = view_detail_datamodel_static_ip_address_get(ip_info_list_data->data_object); + ip_info_list_data->ip_addr_item = common_utils_add_edit_box_to_list(ip_info_list_data->genlist, ip_info_list_data->ip_toggle_item, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_IP_address), txt, NULL, ELM_INPUT_PANEL_LAYOUT_IP); + g_free(txt); + + /* Subnet Mask */ + txt = view_detail_datamodel_static_subnet_mask_get(ip_info_list_data->data_object); + ip_info_list_data->subnet_mask_item = common_utils_add_edit_box_to_list(ip_info_list_data->genlist, ip_info_list_data->ip_addr_item, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_Subnet_mask), txt, NULL, ELM_INPUT_PANEL_LAYOUT_IP); + g_free(txt); + + /* Gateway Address */ + txt = view_detail_datamodel_static_gateway_address_get(ip_info_list_data->data_object); + ip_info_list_data->gateway_addr_item = common_utils_add_edit_box_to_list(ip_info_list_data->genlist, ip_info_list_data->subnet_mask_item, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_Gateway_address), txt, NULL, ELM_INPUT_PANEL_LAYOUT_IP); + g_free(txt); + + /* DNS 1 */ + txt = view_detail_datamodel_static_dns1_address_get(ip_info_list_data->data_object); + ip_info_list_data->dns_1_item = common_utils_add_edit_box_to_list(ip_info_list_data->genlist, ip_info_list_data->gateway_addr_item, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_DNS_1), txt, NULL, ELM_INPUT_PANEL_LAYOUT_IP); + g_free(txt); + + /* DNS 2 */ + txt = view_detail_datamodel_static_dns2_address_get(ip_info_list_data->data_object); + ip_info_list_data->dns_2_item = common_utils_add_edit_box_to_list(ip_info_list_data->genlist, ip_info_list_data->dns_1_item, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_DNS_2), txt, NULL, ELM_INPUT_PANEL_LAYOUT_IP); + g_free(txt); + + return; +} + +static void _delete_static_ip_table(ip_info_list_t *ip_info_list_data) +{ + 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; + + 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 void _ip_info_toggle_item_sel_cb(void* data, Evas_Object* obj, void* event_info) +{ + if (!data) + return; + + ip_info_list_t *ip_info_list_data = (ip_info_list_t *)data; + elm_object_item_disabled_set(ip_info_list_data->ip_toggle_item, TRUE); + if (IP_TYPE_STATIC_IP == view_detail_datamodel_ip_and_dns_type_get(ip_info_list_data->data_object)) { /* Static IP */ + char *ip_addr = NULL; + + ip_info_save_data(ip_info_list_data, FALSE); + _delete_static_ip_table(ip_info_list_data); + + ip_addr = view_detail_datamodel_static_ip_address_get(ip_info_list_data->data_object); + /* 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); + + view_detail_datamodel_ip_and_dns_type_set(ip_info_list_data->data_object, IP_TYPE_DHCP_IP); + } else { /* 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); + view_detail_datamodel_ip_and_dns_type_set(ip_info_list_data->data_object, IP_TYPE_STATIC_IP); + } + 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); +} + +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 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; + + 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); + if (IP_TYPE_STATIC_IP == view_detail_datamodel_ip_and_dns_type_get(ip_info_list_data->data_object)) { /* Static IP */ + elm_check_state_set(toggle_btn, EINA_TRUE); + } else { + elm_check_state_set(toggle_btn, EINA_FALSE); + } + return toggle_btn; +} + +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 = (_view_detail_description_data_t*)g_malloc0 (sizeof( _view_detail_description_data_t)); + 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; +} + +ip_info_list_t *ip_info_append_items(const char *profile_name, const char *pkg_name, Evas_Object *genlist) +{ + __COMMON_FUNC_ENTER__; + char *proxy_data = NULL; + char *proxy_addr = NULL; + char *proxy_port = NULL; + Elm_Object_Item* item = NULL; + view_datamodel_ip_info_t *data_object = NULL; + + assertm_if(NULL == pkg_name, "NULL!!"); + assertm_if(NULL == genlist, "NULL!!"); + + ip_info_list_t *ip_info_list_data = (ip_info_list_t *)g_malloc0(sizeof(ip_info_list_t)); + ip_info_list_data->data_object = data_object = view_detail_datamodel_ip_info_create(profile_name); + ip_info_list_data->str_pkg_name = pkg_name; + ip_info_list_data->genlist = genlist; + + 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; + + common_utils_add_dialogue_separator(genlist, "dialogue/separator"); + + /* 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 */ + if (IP_TYPE_STATIC_IP == view_detail_datamodel_ip_and_dns_type_get(data_object)) { /* Static IP */ + /* Create the entry layouts */ + _create_static_ip_table(ip_info_list_data); + } else { /* Dynamic IP */ + char *ip_addr = NULL; + ip_addr = view_detail_datamodel_static_ip_address_get(data_object); + /* Dynamic IP Address */ + 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); + free(ip_addr); + } + + common_utils_add_dialogue_separator(genlist, "dialogue/separator"); + +#if 0 + /* Channel Number */ + int channel_number = view_detail_datamodel_channel_freq_get(data_object); + 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 = (char *)view_detail_datamodel_MAC_addr_get(data_object); + 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); + + proxy_data = (char *)view_detail_datamodel_proxy_address_get(data_object); + assertm_if(NULL == proxy_data, "NULL!!"); + + /* Proxy Address */ + proxy_addr = strtok(proxy_data, ":"); + DEBUG_LOG(UG_NAME_NORMAL, "* PROXY ADDR [%s]", proxy_addr); + ip_info_list_data->proxy_addr_item = common_utils_add_edit_box_to_list(genlist, NULL, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_Proxy_address), proxy_addr, NULL, ELM_INPUT_PANEL_LAYOUT_IP); + + /* Proxy port */ + proxy_port = strtok(NULL, ":"); + DEBUG_LOG(UG_NAME_NORMAL, "* PROXY PORT [%s]", proxy_port); + ip_info_list_data->proxy_port_item = common_utils_add_edit_box_to_list(genlist, NULL, sc(ip_info_list_data->str_pkg_name, I18N_TYPE_Proxy_port), proxy_port, NULL, ELM_INPUT_PANEL_LAYOUT_NUMBERONLY); + + g_free(proxy_data); + + __COMMON_FUNC_EXIT__; + return (void *)ip_info_list_data; +} + +void ip_info_save_data(ip_info_list_t *ip_info_list_data, boolean b_save_to_profile) +{ + __COMMON_FUNC_ENTER__; + assertm_if(NULL == ip_info_list_data, "NULL!!"); + char* txt = NULL; + char* proxy_addr = NULL; + char* proxy_port = NULL; + view_datamodel_ip_info_t *data_object = ip_info_list_data->data_object; + + txt = common_utils_get_list_item_entry_txt(ip_info_list_data->ip_addr_item); + DEBUG_LOG(UG_NAME_NORMAL, "IP [%s]", txt); + view_detail_datamodel_static_ip_address_set(data_object, 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); + view_detail_datamodel_static_subnet_mask_set(data_object, 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); + view_detail_datamodel_static_gateway_address_set(data_object, 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); + view_detail_datamodel_static_dns1_address_set(data_object, 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); + view_detail_datamodel_static_dns2_address_set(data_object, 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_port); + DEBUG_LOG( UG_NAME_NORMAL, "Proxy addr:port [%s]", txt); + view_detail_datamodel_proxy_address_set(data_object, txt); + g_free((gpointer)proxy_addr); + g_free((gpointer)proxy_port); + g_free((gpointer)txt); + + if (b_save_to_profile) { + view_detail_datamodel_save_ip_info_if_modified(data_object); + } + + __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!!"); + view_detail_datamodel_ip_info_destroy(ip_info_list->data_object); + 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..646f860 --- /dev/null +++ b/sources/libraries/Common/common_pswd_popup.c @@ -0,0 +1,304 @@ +/* +* Wi-Fi syspopup +* +* 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 "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_conformant; + Evas_Object *popup_entry_lyt; + pbc_popup_t *pbc_popup_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("%02d:%02d", 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; + + pbc_popup_t *pbc_popup_data = NULL; + pbc_popup_data = g_malloc0(sizeof(pbc_popup_t)); + + 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); + + 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); + + 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, _("02:00")); + 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, progressbar); + 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_conformant); + evas_object_del(pswd_popup_data->popup_conformant); + + 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; + + /* Lets disable the scan updates so that the UI is not refreshed un necessarily */ + wlan_manager_disable_scan_result_update(); + + pswd_popup_t *pswd_popup_data = (pswd_popup_t *)g_malloc0(sizeof(pswd_popup_t)); + popup_btn_info_t popup_btn_data; + common_utils_entry_info_t entry_info; + Evas_Object *conformant = NULL; + + conformant = elm_conformant_add(win_main); + assertm_if(NULL == conformant, "conformant is NULL!!"); + elm_win_conformant_set(win_main, EINA_TRUE); + elm_win_resize_object_add(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); + + Evas_Object *content = elm_layout_add(conformant); + elm_object_content_set(conformant, content); + + 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(content, &popup_btn_data); + + elm_object_content_set(content, passpopup); + + 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); + + common_utils_set_entry_info(&entry_info, sc(pkg_name, I18N_TYPE_Enter_password), "", sc(pkg_name, I18N_TYPE_Enter_password), ELM_INPUT_PANEL_LAYOUT_URL); + Evas_Object *ly_editfield = common_utils_add_edit_box(box, &entry_info); + common_utils_entry_password_set(ly_editfield, TRUE); + evas_object_show(ly_editfield); + + elm_box_pack_end(box, ly_editfield); + + 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, ly_editfield); + 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_conformant = conformant; + pswd_popup_data->popup_entry_lyt = ly_editfield; + Evas_Object *popup_entry = common_utils_entry_layout_get_entry(ly_editfield); + elm_object_focus_set(popup_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; +} + +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_conformant); + evas_object_del(pswd_popup_data->popup_conformant); + pswd_popup_data->popup_conformant = NULL; + pswd_popup_data->popup_entry_lyt = NULL; + 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..66e3185 --- /dev/null +++ b/sources/libraries/Common/common_utils.c @@ -0,0 +1,428 @@ +/* +* Wi-Fi syspopup +* +* 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 "i18nmanager.h" + +typedef struct { + char *title_str; + char *info_str; +} two_line_disp_data_t; + + +static void __common_utils_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 __common_utils_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 __common_utils_entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info) +{ + INFO_LOG(UG_NAME_NORMAL, "__common_utils_entry_unfocused_cb entered"); + + if (elm_entry_is_empty(obj)) { + const char *guide_txt = elm_object_part_text_get(data, "elm.guidetext"); + INFO_LOG(UG_NAME_NORMAL, "entry is empty"); + if (guide_txt && strlen(guide_txt)) { /* If guide text exists then show it */ + elm_object_signal_emit(data, "elm,state,guidetext,show", "elm"); + } else { /* If default entry text exists then show it */ + char *default_entry_txt = NULL; + default_entry_txt = evas_object_data_get(data, COMMON_UTILS_DEFAULT_ENTRY_TEXT_KEY); + if (default_entry_txt && strlen(default_entry_txt)) { + elm_entry_entry_set(obj, default_entry_txt); + } + } + } + elm_object_signal_emit(data, "elm,state,eraser,hide", "elm"); +} + +static void __common_utils_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + elm_entry_entry_set(data, ""); +} + +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 Evas_Object *__common_utils_entry_content_get(void *data, Evas_Object *obj, const char *part) +{ + Evas_Object *layout = (Evas_Object *)data; + return layout; +} + +static void __common_utils_entry_del(void *data, Evas_Object *obj) +{ + Evas_Object *layout = (Evas_Object *)data; + char *dfalt_entry_txt = evas_object_data_get(layout, COMMON_UTILS_DEFAULT_ENTRY_TEXT_KEY); + g_free(dfalt_entry_txt); + evas_object_unref(layout); +} + +static Evas_Object* __common_utils_create_conformant(Evas_Object* parent) +{ + assertm_if(NULL == parent, "NULL!!"); + + Evas_Object* conform = NULL; + elm_win_conformant_set(parent, TRUE); + conform = elm_conformant_add(parent); + assertm_if(NULL == conform, "NULL!!"); + + elm_object_style_set(conform, "internal_layout"); + + evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(conform, EVAS_HINT_FILL, EVAS_HINT_FILL); + + evas_object_show(conform); + + return conform; +} + +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_set_entry_info(common_utils_entry_info_t *entry_info, char *title, char *entry_txt, char *guide_txt, Elm_Input_Panel_Layout panel_type) +{ + if (NULL == entry_info) { + return; + } + memset(entry_info, 0, sizeof(common_utils_entry_info_t)); + entry_info->title = title; + entry_info->entry_txt = entry_txt; + entry_info->guide_txt = guide_txt; + entry_info->panel_type = panel_type; + return; +} + +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); +} + +Evas_Object *common_utils_add_edit_box(Evas_Object *parent, const common_utils_entry_info_t *entry_info) +{ + Evas_Object *layout = elm_layout_add(parent); + Evas_Object *entry = NULL; + elm_layout_theme_set(layout, "layout", "editfield", "title"); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_text_set(layout, "elm.text", entry_info->title); + elm_object_part_text_set(layout, "elm.guidetext", entry_info->guide_txt); // Set guidetext. + + entry = elm_entry_add(layout); + elm_object_part_content_set(layout, "elm.swallow.content", entry); + elm_entry_single_line_set(entry, EINA_TRUE); + elm_entry_scrollable_set(entry, EINA_TRUE); + elm_entry_entry_set(entry, entry_info->entry_txt); + elm_entry_input_panel_layout_set(entry, entry_info->panel_type); + if (!elm_entry_is_empty(entry)) { + INFO_LOG(UG_NAME_NORMAL, "entry is not empty"); + elm_object_signal_emit(layout, "elm,state,guidetext,hide", "elm"); + if (!entry_info->guide_txt || strlen(entry_info->guide_txt) <= 0) + evas_object_data_set(layout, COMMON_UTILS_DEFAULT_ENTRY_TEXT_KEY, g_strdup(entry_info->entry_txt)); + } + + evas_object_smart_callback_add(entry, "changed", __common_utils_entry_changed_cb, layout); + evas_object_smart_callback_add(entry, "focused", __common_utils_entry_focused_cb, layout); + evas_object_smart_callback_add(entry, "unfocused", __common_utils_entry_unfocused_cb, layout); + elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", __common_utils_eraser_clicked_cb, entry); + evas_object_show(entry); + + return layout; +} + +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_malloc0(sizeof(two_line_disp_data_t)); + 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; +} + +Elm_Object_Item *common_utils_add_edit_box_to_list(Evas_Object *list, Elm_Object_Item *insert_after, char *title, char *entry_txt, char *guide_txt, Elm_Input_Panel_Layout panel_type) +{ + static common_utils_entry_info_t entry_info; + static Elm_Genlist_Item_Class entry_itc; + Evas_Object *layout = NULL; + common_utils_set_entry_info(&entry_info, title, entry_txt, guide_txt, panel_type); + layout = common_utils_add_edit_box(list, &entry_info); + evas_object_ref(layout); /* We need to ref the layout object inorder to inform EFL not to delete it */ + + entry_itc.item_style = "dialogue/1icon"; + entry_itc.func.text_get = NULL; + entry_itc.func.content_get = __common_utils_entry_content_get; + entry_itc.func.state_get = NULL; + entry_itc.func.del = __common_utils_entry_del; + + if (insert_after) + return elm_genlist_item_insert_after(list, &entry_itc, layout, NULL, insert_after, ELM_GENLIST_ITEM_NONE, NULL, NULL); + else + return elm_genlist_item_append(list, &entry_itc, layout, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); +} + +char *common_utils_get_list_item_entry_txt(Elm_Object_Item *entry_item) +{ + Evas_Object *ly = elm_object_item_data_get(entry_item); + return common_utils_entry_layout_get_text(ly); +} + +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_conformant_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* conform = __common_utils_create_conformant(layout); + assertm_if(NULL == conform, "NULL!!"); + elm_object_part_content_set(layout, "elm.swallow.content", conform); + 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) +{ + __COMMON_FUNC_ENTER__; + 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; +} diff --git a/sources/libraries/Common/include/common.h b/sources/libraries/Common/include/common.h index 092cfd9..836f1e5 100644 --- a/sources/libraries/Common/include/common.h +++ b/sources/libraries/Common/include/common.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -59,24 +62,40 @@ typedef unsigned int uint32; #include #include - #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 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" +#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_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.
Please, check your input." +#define WPA_WRONG_PASSWORD_LEN_ERR_MSG_STR "WPA2 requires 8 - 63 letters for a password.
Please, check your input." +#define FIND_HIDDEN_NETWORK_STR "Find hidden network" + +#define SCREEN_TYPE_ID_KEY "screen_type_id_key" + +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, "[]: %s() [%d]", __func__, __LINE__) diff --git a/sources/libraries/Common/include/common_datamodel.h b/sources/libraries/Common/include/common_datamodel.h new file mode 100644 index 0000000..6fcda5d --- /dev/null +++ b/sources/libraries/Common/include/common_datamodel.h @@ -0,0 +1,95 @@ +/* +* 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 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..e03ab4a --- /dev/null +++ b/sources/libraries/Common/include/common_eap_connect.h @@ -0,0 +1,38 @@ +/* +* Wi-Fi syspopup +* +* 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_POPUP_H_ +#define __COMMON_EAP_CONNECT_POPUP_H_ +#include "wlan_manager.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; +typedef void (*eap_view_close_cb_t)(void); + +common_eap_connect_data_t *create_eap_connect(Evas_Object *win_main, Evas_Object *navi_frame, const char *pkg_name, wifi_device_info_t *device_info, eap_view_close_cb_t cb); +eap_info_list_t *eap_info_append_items(const char *profile_name, Evas_Object* view_list, const char *str_pkg_name); +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); + +#endif 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..343aded --- /dev/null +++ b/sources/libraries/Common/include/common_ip_info.h @@ -0,0 +1,31 @@ +/* +* Wi-Fi syspopup +* +* 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_ + +typedef struct ip_info_list ip_info_list_t; + +ip_info_list_t *ip_info_append_items(const char *profile_name, const char *pkg_name, Evas_Object *genlist); +void ip_info_save_data(ip_info_list_t *ip_info_list, boolean b_save_to_profile); +void ip_info_remove(ip_info_list_t *ip_info_list); + +#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..a93ca6a --- /dev/null +++ b/sources/libraries/Common/include/common_pswd_popup.h @@ -0,0 +1,40 @@ +/* +* Wi-Fi syspopup +* +* 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_ + +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; + 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); +void common_pswd_popup_destroy(pswd_popup_t *pswd_popup_data); + +#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..27c22f6 --- /dev/null +++ b/sources/libraries/Common/include/common_utils.h @@ -0,0 +1,62 @@ +/* +* Wi-Fi syspopup +* +* 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_ +#include "wlan_manager.h" + +#define COMMON_UTILS_DEFAULT_ENTRY_TEXT_KEY "common_utils_default_entry_text_key" + +typedef struct { + char *title; + char *entry_txt; + char *guide_txt; + Elm_Input_Panel_Layout panel_type; +} 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); +void common_utils_set_entry_info(common_utils_entry_info_t *entry_info, char *title, char *entry_txt, char *guide_txt, Elm_Input_Panel_Layout panel_type); +Evas_Object *common_utils_add_edit_box(Evas_Object *parent, const common_utils_entry_info_t *entry_info); +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); +Elm_Object_Item *common_utils_add_edit_box_to_list(Evas_Object *list, Elm_Object_Item *insert_after, char *title, char *entry_txt, char *guide_txt, Elm_Input_Panel_Layout panel_type); +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_conformant_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); + +#endif diff --git a/sources/libraries/WlanManager/EngineManager/connman-profile-manager.c b/sources/libraries/WlanManager/EngineManager/connman-profile-manager.c index 9d6ab28..a421313 100644 --- a/sources/libraries/WlanManager/EngineManager/connman-profile-manager.c +++ b/sources/libraries/WlanManager/EngineManager/connman-profile-manager.c @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -51,37 +54,31 @@ void connman_profile_manager_destroy() int connman_profile_manager_profile_cache(int count) { - int num_of_profiles = 0; - net_profile_info_t *profiles = NULL; + 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"); - net_get_profile_list(NET_DEVICE_WIFI, &profiles, &num_of_profiles); - if (num_of_profiles == 0) { - INFO_LOG(COMMON_NAME_LIB, "count = 0"); - return FALSE; - } - - if (count < num_of_profiles && count > 0) - num_of_profiles = count; + profile_manager = connman_profile_manager_get_singleton(); + old_profile_table = profile_manager->profile_table; + profile_manager->profile_table = NULL; - INFO_LOG(COMMON_NAME_LIB, "count = %d", num_of_profiles); + p_num_of_profiles = &(profile_manager->profile_num); + p_profile_table = &(profile_manager->profile_table); - profile_manager = connman_profile_manager_get_singleton(); - if (profile_manager->profile_table) { - g_free(profile_manager->profile_table); - profile_manager->profile_table = NULL; + 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; } - profile_manager->profile_table = (net_profile_info_t*)malloc(num_of_profiles*sizeof(net_profile_info_t)); - memcpy(profile_manager->profile_table, profiles, num_of_profiles*sizeof(net_profile_info_t)); - profile_manager->profile_num = num_of_profiles; - - if (profiles) - g_free(profiles); + INFO_LOG(COMMON_NAME_LIB, "count = %d", *p_num_of_profiles); - return num_of_profiles; + return *p_num_of_profiles; } int connman_profile_manager_scanned_profile_table_size_get(void) @@ -132,26 +129,11 @@ int connman_profile_manager_disconnected_ssid_set(const char *profile_name) return TRUE; } -int connman_profile_manager_profile_modify(net_profile_info_t new_profile) +int connman_profile_manager_profile_modify(net_profile_info_t *new_profile) { - net_profile_info_t profile; - if (net_get_profile_info(new_profile.ProfileName, &profile) != NET_ERR_NONE) { - return 0; - } - - profile.ProfileInfo.Wlan.net_info.IpConfigType = new_profile.ProfileInfo.Wlan.net_info.IpConfigType; - if (profile.ProfileInfo.Wlan.net_info.IpConfigType == NET_IP_CONFIG_TYPE_STATIC) { - profile.ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4 = new_profile.ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4; - profile.ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4 = new_profile.ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4; - profile.ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4 = new_profile.ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4; - profile.ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4 = new_profile.ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4; - profile.ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4 = new_profile.ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4; - } - - profile.ProfileInfo.Wlan.net_info.ProxyMethod = NET_PROXY_TYPE_MANUAL; - strncpy(profile.ProfileInfo.Wlan.net_info.ProxyAddr, new_profile.ProfileInfo.Wlan.net_info.ProxyAddr, WLAN_PROXY_LEN_MAX); + new_profile->ProfileInfo.Wlan.net_info.ProxyMethod = NET_PROXY_TYPE_MANUAL; - int ret = net_modify_profile(new_profile.ProfileName, &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; diff --git a/sources/libraries/WlanManager/EngineManager/connman-request.c b/sources/libraries/WlanManager/EngineManager/connman-request.c index 2124224..8cdf88b 100644 --- a/sources/libraries/WlanManager/EngineManager/connman-request.c +++ b/sources/libraries/WlanManager/EngineManager/connman-request.c @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -46,14 +49,14 @@ int connman_request_deregister(void) int connman_request_power_on(void) { - int ret = NET_ERR_NONE; - - ret = net_wifi_power_on(); + int ret = net_wifi_power_on(); INFO_LOG(COMMON_NAME_LIB,"network_wifi_power_on ret: %d", ret); switch (ret){ case NET_ERR_NONE: return WLAN_MANAGER_ERR_NONE; + case NET_ERR_IN_PROGRESS: + return WLAN_MANAGER_ERR_IN_PROGRESS; default: return WLAN_MANAGER_ERR_UNKNOWN; } @@ -61,9 +64,7 @@ int connman_request_power_on(void) int connman_request_power_off(void) { - int ret = NET_ERR_NONE; - - ret = net_wifi_power_off(); + int ret = net_wifi_power_off(); INFO_LOG(COMMON_NAME_LIB, "network_wifi_power_off ret: %d", ret); switch (ret){ @@ -76,12 +77,26 @@ int connman_request_power_off(void) int connman_request_connection_open(const char* profile_name) { - int ret = NET_ERR_NONE; - ret = net_open_connection_with_profile(profile_name); + int ret = net_open_connection_with_profile(profile_name); INFO_LOG(COMMON_NAME_LIB, "connman_request_connection_open 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_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; @@ -89,9 +104,8 @@ int connman_request_connection_open(const char* profile_name) } int connman_request_connection_open_hidden_ap(net_wifi_connection_info_t* conninfo) - { - int ret = NET_ERR_NONE; - ret = net_open_connection_with_wifi_info(conninfo); +{ + int ret = net_open_connection_with_wifi_info(conninfo); switch (ret){ case NET_ERR_NONE: return WLAN_MANAGER_ERR_NONE; @@ -102,8 +116,7 @@ int connman_request_connection_open_hidden_ap(net_wifi_connection_info_t* connin int connman_request_connection_close(const char* profile_name) { - int ret = NET_ERR_NONE; - ret = net_close_connection(profile_name); + int ret = net_close_connection(profile_name); switch (ret) { case NET_ERR_NONE: @@ -115,8 +128,7 @@ int connman_request_connection_close(const char* profile_name) int connman_request_delete_profile(const char* profile_name) { - int ret = NET_ERR_NONE; - ret = net_delete_profile(profile_name); + int ret = net_delete_profile(profile_name); switch (ret){ case NET_ERR_NONE: return WLAN_MANAGER_ERR_NONE; @@ -127,10 +139,10 @@ int connman_request_delete_profile(const char* profile_name) int connman_request_scan() { - int ret = NET_ERR_NONE; - ret = net_scan_wifi(); + int ret = net_scan_wifi(); switch (ret){ case NET_ERR_NONE: + case NET_ERR_IN_PROGRESS: return WLAN_MANAGER_ERR_NONE; default: return WLAN_MANAGER_ERR_UNKNOWN; @@ -139,9 +151,7 @@ int connman_request_scan() int connman_request_scan_mode_set(net_wifi_background_scan_mode_t scan_mode) { - int ret = NET_ERR_NONE; - - ret = net_wifi_set_background_scan_mode(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) { @@ -179,10 +189,9 @@ int connman_request_state_get(const char* profile_name) { __COMMON_FUNC_ENTER__; - int ret = NET_ERR_NONE; net_wifi_state_t state; + int ret = net_get_wifi_state(&state, (net_profile_name_t *)profile_name); - ret = net_get_wifi_state(&state, (net_profile_name_t *)profile_name); switch (ret) { case NET_ERR_NONE: if (WIFI_OFF == state) { diff --git a/sources/libraries/WlanManager/EngineManager/connman-response.c b/sources/libraries/WlanManager/EngineManager/connman-response.c index ef65643..7a850d8 100644 --- a/sources/libraries/WlanManager/EngineManager/connman-response.c +++ b/sources/libraries/WlanManager/EngineManager/connman-response.c @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -26,8 +29,8 @@ void network_evt_cb(net_event_info_t* net_event, void* user_data) wlan_manager_object* manager_object = wlan_manager_get_singleton(); - callback_data *ret = (callback_data *) malloc(sizeof(callback_data)); - ret->profile_name = strdup(net_event->ProfileName); + callback_data *ret = (callback_data *) g_malloc0(sizeof(callback_data)); + ret->profile_name = g_strdup(net_event->ProfileName); ret->type = WLAN_MANAGER_RESPONSE_TYPE_NONE; switch (net_event->Event) { @@ -40,7 +43,6 @@ void network_evt_cb(net_event_info_t* net_event, void* user_data) if (net_event->Error == NET_ERR_NONE && net_event->Datalength == sizeof(net_wifi_state_t)) { if (*wifi_state == WIFI_ON) { ret->type = WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_OK; - wlan_manager_request_scan(); } else if (*wifi_state == WIFI_OFF) { ret->type = WLAN_MANAGER_RESPONSE_TYPE_POWER_OFF_OK; @@ -53,7 +55,7 @@ void network_evt_cb(net_event_info_t* net_event, void* user_data) } else if (net_event->Error == NET_ERR_SECURITY_RESTRICTED) { ret->type = WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_RESTRICTED; } else { - return; + goto cleanup; } break; /** Open Connection Response Event */ @@ -63,31 +65,39 @@ void network_evt_cb(net_event_info_t* net_event, void* user_data) if (net_event->Error == NET_ERR_NONE) { if (strstr(ret->profile_name, "wifi_") == NULL) { INFO_LOG(COMMON_NAME_LIB, "RESULT: NOT WIFI"); - return; + goto cleanup; } INFO_LOG(COMMON_NAME_LIB, "RESULT: CONNECTION OK"); ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK; connman_profile_manager_connected_ssid_set((const char *)ret->profile_name); - } else if (net_event->Error == NET_ERR_TIME_OUT) { + } else if (net_event->Error == NET_ERR_TIME_OUT) { /* The connection timeout occured. */ ERROR_LOG(COMMON_NAME_LIB, "Open response: NET_ERR_TIME_OUT"); ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_TIMEOUT; wlan_manager_reset_connected_AP(); connman_request_connection_close(ret->profile_name); - } else if (net_event->Error == NET_ERR_IN_PROGRESS) { + } else if (net_event->Error == NET_ERR_IN_PROGRESS) { /* Already a conncetion is in progress */ ERROR_LOG(COMMON_NAME_LIB, "Open response: NET_ERR_IN_PROGRESS"); ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_IN_PROGRESS; - } else if (net_event->Error == NET_ERR_ACTIVE_CONNECTION_EXISTS) { + } else if (net_event->Error == NET_ERR_ACTIVE_CONNECTION_EXISTS) { /* If the AP is already conected. WEIRD. Check when this can occur */ ERROR_LOG(COMMON_NAME_LIB, "Open response: NET_ERR_ACTIVE_CONNECTION_EXISTS"); ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ALREADY_EXIST; - } else if (net_event->Error == NET_ERR_UNKNOWN_METHOD) { + } else if (net_event->Error == NET_ERR_UNKNOWN_METHOD) { /* Unable to send connection request due to dbus failure. */ ERROR_LOG(COMMON_NAME_LIB, "Open response: NET_ERR_UNKNOWN_METHOD"); ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN_METHOD; wlan_manager_reset_connected_AP(); - } else if (net_event->Error == NET_ERR_OPERATION_ABORTED) { + } else if (net_event->Error == NET_ERR_OPERATION_ABORTED) { /* The connection was aborted due to connman internal problem OR some other issue */ ERROR_LOG(COMMON_NAME_LIB, "Open response: NET_ERR_OPERATION_ABORTED"); ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ABORTED; wlan_manager_reset_connected_AP(); - } else { + } else if (net_event->Error == NET_ERR_CONNECTION_CONNECT_FAILED) { /* The connection failed to connect */ + ERROR_LOG(COMMON_NAME_LIB, "Open response: NET_ERR_CONNECTION_CONNECT_FAILED"); + ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_CONNECT_FAILED; + wlan_manager_reset_connected_AP(); + } else if (net_event->Error == NET_ERR_CONNECTION_INVALID_KEY) { /* Wrong password entered */ + ERROR_LOG(COMMON_NAME_LIB, "Open response: NET_ERR_CONNECTION_CONNECT_FAILED"); + ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_INVALID_KEY; + wlan_manager_reset_connected_AP(); + } else { /* WEIRD. What can be these other cases? */ ERROR_LOG(COMMON_NAME_LIB, "Open response: %d", net_event->Error); ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN; wlan_manager_reset_connected_AP(); @@ -97,7 +107,7 @@ void network_evt_cb(net_event_info_t* net_event, void* user_data) case NET_EVENT_OPEN_IND: INFO_LOG(COMMON_NAME_LIB, "Callback - NET_EVENT_OPEN_IND : %s", ret->profile_name); if (strstr(ret->profile_name, "wifi_") == NULL) { - return; + goto cleanup; } ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_IND; @@ -107,7 +117,7 @@ void network_evt_cb(net_event_info_t* net_event, void* user_data) case NET_EVENT_CLOSE_RSP: INFO_LOG(COMMON_NAME_LIB, "Callback - NET_EVENT_CLOSE_RSP : %s", ret->profile_name); if (strstr(ret->profile_name, "wifi_") == NULL) { - return; + goto cleanup; } ret->type = WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK; @@ -117,7 +127,7 @@ void network_evt_cb(net_event_info_t* net_event, void* user_data) case NET_EVENT_CLOSE_IND: INFO_LOG(COMMON_NAME_LIB, "Callback - NET_EVENT_CLOSE_IND : %s", ret->profile_name); if (strstr(ret->profile_name, "wifi_") == NULL) { - return; + goto cleanup; } ret->type = WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_IND; @@ -127,39 +137,32 @@ void network_evt_cb(net_event_info_t* net_event, void* user_data) case NET_EVENT_NET_STATE_IND: INFO_LOG(COMMON_NAME_LIB, "Callback - NET_EVENT_NET_STATE_IND"); - if (net_event->Error == NET_ERR_NONE) { - if (strstr(ret->profile_name, "wifi_") == NULL) { - return; + if (net_event->Error != NET_ERR_NONE || !strstr(ret->profile_name, "wifi_")) { + goto cleanup; + } else { + net_state_type_t state_type = *(net_state_type_t *)(net_event->Data); + if (state_type == NET_STATE_TYPE_ASSOCIATION) { + INFO_LOG(COMMON_NAME_LIB, "STATE_IND : ASSOCIATION"); + ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTING; + } else if (state_type == NET_STATE_TYPE_FAILURE) { + INFO_LOG(COMMON_NAME_LIB, "STATE_IND : FAILURE"); + ret->type = WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK; } else { - net_state_type_t* state_type = (net_state_type_t*)net_event->Data; - if (*state_type == NET_STATE_TYPE_ASSOCIATION) { - INFO_LOG(COMMON_NAME_LIB, "STATE_IND : ASSOCIATION"); - ret->type = WLAN_MANAGER_RESPONSE_TYPE_CONNECTING; - } else if (*state_type == NET_STATE_TYPE_DISCONNECT) { + if (state_type == NET_STATE_TYPE_DISCONNECT) { INFO_LOG(COMMON_NAME_LIB, "STATE_IND : DISCONNECT"); - return; - } else if (*state_type == NET_STATE_TYPE_FAILURE) { - INFO_LOG(COMMON_NAME_LIB, "STATE_IND : FAILURE"); - ret->type = WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK; - } else if (*state_type == NET_STATE_TYPE_IDLE) { + } else if (state_type == NET_STATE_TYPE_IDLE) { INFO_LOG(COMMON_NAME_LIB, "STATE_IND : IDLE"); - return; - } else if (*state_type == NET_STATE_TYPE_CONFIGURATION) { + } else if (state_type == NET_STATE_TYPE_CONFIGURATION) { INFO_LOG(COMMON_NAME_LIB, "STATE_IND : CONFIGURATION"); - return; - } else if (*state_type == NET_STATE_TYPE_READY) { + } else if (state_type == NET_STATE_TYPE_READY) { INFO_LOG(COMMON_NAME_LIB, "STATE_IND : READY"); - return; - } else if (*state_type == NET_STATE_TYPE_ONLINE) { + } else if (state_type == NET_STATE_TYPE_ONLINE) { INFO_LOG(COMMON_NAME_LIB, "STATE_IND : ONLINE"); - return; } else { INFO_LOG(COMMON_NAME_LIB, "STATE_IND : ?????????"); - return; } + goto cleanup; } - } else { - return; } break; /** Profile modify indication Event */ @@ -191,7 +194,7 @@ void network_evt_cb(net_event_info_t* net_event, void* user_data) if (net_event->Error == NET_ERR_NONE) { if (strstr(ret->profile_name, "wifi_") == NULL) { INFO_LOG(COMMON_NAME_LIB, "RESULT : NOT WIFI"); - return; + goto cleanup; } INFO_LOG(COMMON_NAME_LIB, "RESULT : CONNECTION OK"); ret->type = WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_OK; @@ -205,6 +208,18 @@ void network_evt_cb(net_event_info_t* net_event, void* user_data) ret->type = WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_FAIL; } break; + case NET_EVENT_SPECIFIC_SCAN_RSP: + INFO_LOG(COMMON_NAME_LIB, "Callback - NET_EVENT_SPECIFIC_SCAN_RSP"); + if (net_event->Error == NET_ERR_NONE) { + ret->type = WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_OK; + } else { + ret->type = WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_FAIL; + } + break; + case NET_EVENT_SPECIFIC_SCAN_IND: + INFO_LOG(COMMON_NAME_LIB, "Callback - NET_EVENT_SPECIFIC_SCAN_IND"); + ret->type = WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_IND; + break; default: INFO_LOG(COMMON_NAME_LIB, "Callback - %d", net_event->Event); break; @@ -212,4 +227,9 @@ void network_evt_cb(net_event_info_t* net_event, void* user_data) if (manager_object->message_func) manager_object->message_func((void*)net_event->Data, (void*)ret); + +cleanup: + g_free(ret->profile_name); + g_free(ret); + __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 index dc09515..84f13c6 100644 --- a/sources/libraries/WlanManager/EngineManager/include/connman-profile-manager.h +++ b/sources/libraries/WlanManager/EngineManager/include/connman-profile-manager.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -25,7 +28,7 @@ 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(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); diff --git a/sources/libraries/WlanManager/EngineManager/include/connman-request.h b/sources/libraries/WlanManager/EngineManager/include/connman-request.h index 2afa735..026c7ba 100644 --- a/sources/libraries/WlanManager/EngineManager/include/connman-request.h +++ b/sources/libraries/WlanManager/EngineManager/include/connman-request.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -32,6 +35,7 @@ int connman_request_deregister(void); int connman_request_power_on(void); int connman_request_power_off(void); int connman_request_connection_open(const char* profile_name); +int connman_request_specific_scan(const char *ssid); int connman_request_connection_open_hidden_ap(net_wifi_connection_info_t* conninfo); int connman_request_connection_close(const char* profile_name); int connman_request_delete_profile(const char* profile_name); diff --git a/sources/libraries/WlanManager/EngineManager/include/connman-response.h b/sources/libraries/WlanManager/EngineManager/include/connman-response.h index 3c7a365..c6f55a0 100644 --- a/sources/libraries/WlanManager/EngineManager/include/connman-response.h +++ b/sources/libraries/WlanManager/EngineManager/include/connman-response.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ diff --git a/sources/libraries/WlanManager/wlan-manager/include/wlan_manager.h b/sources/libraries/WlanManager/wlan-manager/include/wlan_manager.h index becd171..29c8bd7 100644 --- a/sources/libraries/WlanManager/wlan-manager/include/wlan_manager.h +++ b/sources/libraries/WlanManager/wlan-manager/include/wlan_manager.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -46,7 +49,8 @@ typedef enum { 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_NOSERVICE, + WLAN_MANAGER_ERR_IN_PROGRESS, } WLAN_MANAGER_ERR_TYPE; typedef enum { @@ -122,6 +126,8 @@ typedef enum { 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, @@ -136,10 +142,13 @@ typedef enum { 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_MAX } WLAN_MANAGER_RESPONSE_TYPES; -#define WLAN_RSSI_LEVEL_EXCELLENT 64 +#define WLAN_RSSI_LEVEL_EXCELLENT 64 #define WLAN_RSSI_LEVEL_GOOD 59 #define WLAN_RSSI_LEVEL_WEAK 34 @@ -156,9 +165,11 @@ wifi_pending_call_info_t g_pending_call; typedef struct _wifi_device_info_t { char* profile_name; char* ssid; + char* ap_status_txt; + char* ap_image_path; int ipconfigtype; int rssi; - int security_mode; + wlan_security_mode_type_t security_mode; boolean wps_mode; } wifi_device_info_t; @@ -168,7 +179,7 @@ typedef struct { } callback_data; typedef struct { - char* password; + const char* password; char* category; char* subcategory; char* username; @@ -197,12 +208,15 @@ struct access_point_info { char* ssid; }; +typedef void (*wlan_manager_ui_refresh_func_t)(void); + /** It should be hide to others */ typedef struct wlan_manager_object { void (*message_func)(void *user_data, void *data); - void (*refresh_func)(int is_scan); - + wlan_manager_ui_refresh_func_t refresh_func; + boolean b_scan_blocked; + boolean b_ui_refresh; /* AP SSID & saved profile */ /** should be changed to DEVICE_OBJECT **/ struct access_point_info connected_AP; @@ -223,10 +237,12 @@ int wlan_manager_start(); int wlan_manager_state_get(char* profile_name); void wlan_manager_set_message_callback(void *func); -void wlan_manager_set_refresh_callback(void *func); +void wlan_manager_set_refresh_callback(wlan_manager_ui_refresh_func_t func); void wlan_manager_set_connected_AP(const net_profile_info_t *profile); void wlan_manager_reset_connected_AP(void); +void wlan_manager_enable_scan_result_update(void); +void wlan_manager_disable_scan_result_update(void); const char *wlan_manager_get_connected_profile(void); const char *wlan_manager_get_connected_ssid(void); @@ -249,17 +265,17 @@ void *wlan_manager_profile_table_get(); // * profile add/modify/delete int wlan_manager_request_profile_add(const char *profile_name, int security_mode, void* authdata); -int wlan_manager_profile_modify_by_device_info(net_profile_info_t profiles); +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(boolean view_update); +void wlan_manager_scanned_profile_refresh(void); int wlan_manager_scanned_profile_refresh_with_count(int count); int wlan_manager_profile_scanned_length_get(); void *wlan_manager_profile_device_info_blank_create(void); -int wlan_manager_network_syspopup_message(const char *title, const char *content); +int wlan_manager_network_syspopup_message(const char *title, const char *content, const char *type); #ifdef __cplusplus } diff --git a/sources/libraries/WlanManager/wlan-manager/wlan_manager.c b/sources/libraries/WlanManager/wlan-manager/wlan_manager.c index 9df4b68..3fa1b5c 100644 --- a/sources/libraries/WlanManager/wlan-manager/wlan_manager.c +++ b/sources/libraries/WlanManager/wlan-manager/wlan_manager.c @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -119,7 +122,7 @@ int wlan_manager_forget(const char *profile_name) return 1; } -void wlan_manager_set_refresh_callback(void *func) +void wlan_manager_set_refresh_callback(wlan_manager_ui_refresh_func_t func) { wlan_manager_object* manager_object = wlan_manager_get_singleton(); manager_object->refresh_func = func; @@ -143,7 +146,10 @@ int wlan_manager_destroy() if (ret == WLAN_MANAGER_ERR_NONE) { connman_profile_manager_destroy(); } - + if (manager_object) { + g_free(manager_object); + manager_object = NULL; + } return ret; } @@ -284,7 +290,14 @@ int wlan_manager_request_cancel_connecting(const char *profile_name) int wlan_manager_request_scan(void) { - return connman_request_scan(); + if (WLAN_MANAGER_ERR_NONE == connman_request_scan()) { + /* 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; + return WLAN_MANAGER_ERR_NONE; + } else { + return WLAN_MANAGER_ERR_UNKNOWN; + } } int wlan_manager_request_profile_add(const char *profile_name, int security_mode, void *authdata) @@ -314,7 +327,7 @@ void* wlan_manager_profile_table_get() return connman_profile_manager_profile_table_get(); } -int wlan_manager_profile_modify_by_device_info(net_profile_info_t profile) +int wlan_manager_profile_modify_by_device_info(net_profile_info_t *profile) { if (connman_profile_manager_profile_modify(profile)) { DEBUG_LOG(COMMON_NAME_LIB, "Success - profile modify"); @@ -333,7 +346,7 @@ int wlan_manager_scanned_profile_refresh_with_count(int count) int ret = connman_profile_manager_profile_cache(count); if (ret > 0) { DEBUG_LOG(COMMON_NAME_LIB, "success %d profiles update", count); - manager_object->refresh_func(FALSE); + manager_object->refresh_func(); } __COMMON_FUNC_EXIT__; @@ -342,37 +355,45 @@ int wlan_manager_scanned_profile_refresh_with_count(int count) return FALSE; } -void wlan_manager_scanned_profile_refresh(boolean view_update) +void wlan_manager_scanned_profile_refresh(void) { __COMMON_FUNC_ENTER__; - int ret = connman_profile_manager_profile_cache(0); - if (ret > 0) { + if (FALSE == manager_object->b_scan_blocked) { + connman_profile_manager_profile_cache(0); + manager_object->refresh_func(); DEBUG_LOG(COMMON_NAME_LIB, "success profiles update"); - if (view_update) - manager_object->refresh_func(TRUE); + } 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) { - if (rssi > WLAN_RSSI_LEVEL_EXCELLENT) { + /* 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 > WLAN_RSSI_LEVEL_GOOD) { + else if (rssi >= 46) return SIGNAL_STRENGTH_TYPE_GOOD; - } else if (rssi > WLAN_RSSI_LEVEL_WEAK) { + else if (rssi >= 38) return SIGNAL_STRENGTH_TYPE_WEAK; - } else { + else return SIGNAL_STRENGTH_TYPE_VERY_WEAK; - } } void* wlan_manager_profile_device_info_blank_create() { + __COMMON_FUNC_ENTER__; wifi_device_info_t *di_s0 = NULL; - di_s0 = malloc(sizeof(wifi_device_info_t)); + di_s0 = g_malloc0(sizeof(wifi_device_info_t)); if (di_s0 == NULL) { ERROR_LOG(UG_NAME_NORMAL, "Error!!! Failed to allocate memory\n"); @@ -382,19 +403,14 @@ void* wlan_manager_profile_device_info_blank_create() char No_AP_found[] = "No AP found"; - memset(di_s0, 0x0, sizeof(wifi_device_info_t)); - di_s0->ssid = malloc(sizeof(No_AP_found)); - - if (di_s0->ssid == NULL) { + 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 NULL; } - strncpy(di_s0->ssid, No_AP_found, sizeof(No_AP_found)); - + __COMMON_FUNC_EXIT__; return (void*) di_s0; } @@ -450,6 +466,34 @@ void wlan_manager_reset_connected_AP(void) INFO_LOG(UG_NAME_REQ, "clear connected AP information\n"); } +static Eina_Bool _refresh_ui(void *data) +{ + connman_profile_manager_profile_cache(0); + 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; +} + const char *wlan_manager_get_connected_profile(void) { wlan_manager_object* obj = wlan_manager_get_singleton(); @@ -464,13 +508,14 @@ const char *wlan_manager_get_connected_ssid(void) return (const char *)obj->connected_AP.ssid; } -int wlan_manager_network_syspopup_message(const char *title, const char *content) +int wlan_manager_network_syspopup_message(const char *title, const char *content, const char *type) { 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); ret = syspopup_launch("net-popup", b); bundle_free(b); diff --git a/sources/libraries/appcoreWrapper/appcoreWrapper.c b/sources/libraries/appcoreWrapper/appcoreWrapper.c index caee0b7..1093c6e 100644 --- a/sources/libraries/appcoreWrapper/appcoreWrapper.c +++ b/sources/libraries/appcoreWrapper/appcoreWrapper.c @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ diff --git a/sources/libraries/appcoreWrapper/include/appcoreWrapper.h b/sources/libraries/appcoreWrapper/include/appcoreWrapper.h index 5406a82..1038018 100644 --- a/sources/libraries/appcoreWrapper/include/appcoreWrapper.h +++ b/sources/libraries/appcoreWrapper/include/appcoreWrapper.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ diff --git a/sources/libraries/i18nManager/i18nmanager.c b/sources/libraries/i18nManager/i18nmanager.c index 60ae0ea..4ea0a58 100644 --- a/sources/libraries/i18nManager/i18nmanager.c +++ b/sources/libraries/i18nManager/i18nmanager.c @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -63,6 +66,8 @@ static char* i18n_get_text_by_system(I18N_TYPES type){ 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"; } @@ -85,8 +90,40 @@ char* i18n_manager_get_text(const char *pkg_name, I18N_TYPES type) 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: @@ -107,6 +144,8 @@ char* i18n_manager_get_text(const char *pkg_name, I18N_TYPES type) 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: @@ -125,31 +164,70 @@ char* i18n_manager_get_text(const char *pkg_name, I18N_TYPES type) 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_ST_POP_DEACTIVATING_ING"); + 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_ST_BODY_NOTIFY_ME_WHEN_AN_OPEN_NETWORK_IS_AVAILABLE"); 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_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q"); - + 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 gettext("WPA-PSK"); + return apply_i18n(pkg_name, I18N_MODE_NO_NEEDED, "WPA-PSK"); case I18N_TYPE_WPA2_PSK: - return gettext("WPA2-PSK"); + return apply_i18n(pkg_name, I18N_MODE_NO_NEEDED, "WPA2-PSK"); case I18N_TYPE_WPA_EAP: - return gettext("WPA-EAP"); + return apply_i18n(pkg_name, I18N_MODE_NO_NEEDED, "WPA-EAP"); case I18N_TYPE_WPA2_EAP: - return gettext("WPA2-EAP"); + return apply_i18n(pkg_name, I18N_MODE_NO_NEEDED, "WPA2-EAP"); + + + + default: - return "(debugapplying_i18n_failed"; + 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 index 395cdb3..f4634d4 100644 --- a/sources/libraries/i18nManager/include/i18nmanager.h +++ b/sources/libraries/i18nManager/include/i18nmanager.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -51,19 +54,48 @@ typedef enum { 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, @@ -76,6 +108,13 @@ typedef enum { 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; diff --git a/sources/libraries/settingWrapper/include/wifi-setting.h b/sources/libraries/settingWrapper/include/wifi-setting.h index 4eca2ef..9c36df1 100644 --- a/sources/libraries/settingWrapper/include/wifi-setting.h +++ b/sources/libraries/settingWrapper/include/wifi-setting.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ diff --git a/sources/libraries/settingWrapper/wifi-setting.c b/sources/libraries/settingWrapper/wifi-setting.c index 809ec63..6c63bd3 100644 --- a/sources/libraries/settingWrapper/wifi-setting.c +++ b/sources/libraries/settingWrapper/wifi-setting.c @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ diff --git a/sources/ui-gadget/CMakeLists.txt b/sources/ui-gadget/CMakeLists.txt index f5e24b1..e12c5b7 100644 --- a/sources/ui-gadget/CMakeLists.txt +++ b/sources/ui-gadget/CMakeLists.txt @@ -14,20 +14,21 @@ SET(SRCS ../libraries/i18nManager/i18nmanager.c ../libraries/appcoreWrapper/appcoreWrapper.c ../libraries/WlanManager/wlan-manager/wlan_manager.c + ../libraries/Common/common_pswd_popup.c + ../libraries/Common/common_utils.c + ../libraries/Common/common_ip_info.c + ../libraries/Common/common_eap_connect.c + ../libraries/Common/common_datamodel.c ${ENGINE_SOURCES} wifi-efl-UG.c - viewers-layout/popup.c viewers-layout/viewer_manager.c viewers-layout/wifi_viewer_list.c viewers-layout/view_detail.c - viewers-layout/view_detail_datamodel.c - viewers-layout/view_dhcpip.c - viewers-layout/view_staticip.c - viewers-layout/view_ime_password.c viewers-layout/view_ime_hidden.c - viewers-layout/view_eap.c wifi-wlan-callbacks.c - wifi-ui-list-callbacks.c) + wifi-ui-list-callbacks.c + motion_control.c + winset_popup.c) FOREACH(flag ${pkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") @@ -55,5 +56,3 @@ INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /opt/ug/lib) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/ DESTINATION /opt/ug/res/images/wifi-efl-UG FILES_MATCHING PATTERN "*.png") INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/edcs/wifi_ug_edj_etc.edj DESTINATION /opt/ug/res/edje/wifi-efl-UG) -ADD_SUBDIRECTORY(po) - diff --git a/sources/ui-gadget/include/motion_control.h b/sources/ui-gadget/include/motion_control.h new file mode 100644 index 0000000..42bba77 --- /dev/null +++ b/sources/ui-gadget/include/motion_control.h @@ -0,0 +1,30 @@ +/* +* 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 + +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); diff --git a/sources/ui-gadget/include/viewer_list.h b/sources/ui-gadget/include/viewer_list.h index 6017fa2..58c3497 100644 --- a/sources/ui-gadget/include/viewer_list.h +++ b/sources/ui-gadget/include/viewer_list.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -23,51 +26,46 @@ #include "viewer_manager.h" //////// genlist struct data //////////////////////////////////////////////////////////////////// -typedef struct genlist_data { - char* ssid; - char* ap_image_path; +typedef struct { wifi_device_info_t *device_info; VIEWER_ITEM_RADIO_MODES radio_mode; - void* callback_data; -} genlist_data; +} 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(Elm_Object_Item *target); -Elm_Object_Item* viewer_list_item_set(Evas_Object* list, +Elm_Object_Item* viewer_list_item_insert_after(Evas_Object* list, void* list_data, - const char* ssid, - const char* ap_image_path, - VIEWER_ITEM_RADIO_MODES mode, - void (*callback_func)(void*data,Evas_Object*obj,void*event_info), - void*callback_data); + Elm_Object_Item *after, + Evas_Smart_Cb callback_func, + void *callback_data); int viewer_list_item_clear(); //////////////////////////////////////////////////////////////////////////////////////////////// //////// 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); ///////////////////////////////////////////////////////////////////////////////////////////////// -//////// data get/set /////////////////////////////////////////////////////////////////////////// -int viewer_list_item_data_set(Elm_Object_Item* item, const char* key, void* data); -void* viewer_list_item_data_get(const Elm_Object_Item* item, const char* key); -//////////////////////////////////////////////////////////////////////////////////////////////// - //////// item control ///////////////////////////////////////////////////////////////////////// int viewer_list_item_enable_all(void); int viewer_list_item_disable_all(void); ////////////////////////////////////////////////////////////////////////////////////////////////// Elm_Object_Item* item_get_for_profile_name(char* profile_name); +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); #endif diff --git a/sources/ui-gadget/include/viewer_manager.h b/sources/ui-gadget/include/viewer_manager.h index 0796aa8..3dba1f8 100644 --- a/sources/ui-gadget/include/viewer_manager.h +++ b/sources/ui-gadget/include/viewer_manager.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -20,7 +23,7 @@ #define __DEF_VIEWER_MANAGER_H_ #include - +#include //////// viewer-manager enumeration ///////////////////////////////////// typedef enum { @@ -37,8 +40,7 @@ typedef enum { } HEADER_MODES; typedef enum { - VIEWER_ITEM_RADIO_MODE_NULL=0, - VIEWER_ITEM_RADIO_MODE_OFF, + VIEWER_ITEM_RADIO_MODE_OFF = 0, VIEWER_ITEM_RADIO_MODE_CONNECTED, VIEWER_ITEM_RADIO_MODE_CONNECTING, VIEWER_ITEM_RADIO_MODE_CANCEL_CONNECTING, @@ -49,27 +51,10 @@ typedef enum { } VIEWER_ITEM_RADIO_MODES; typedef enum { - VIEWER_CALLBACK_TYPE_NORMAL_LIST, - VIEWER_CALLBACK_TYPE_NONE_AP_LIST, - VIEWER_CALLBACK_TYPE_MAX - -} VIEWER_CALLBACK_TYPES; - -typedef enum { VIEWER_WINSET_SEARCHING, VIEWER_WINSET_SUB_CONTENTS - } VIEWER_WINSETS; -typedef enum { - VIEWER_MANAGER_TOUCH_RESPONSE_TYPE_NULL, - VIEWER_MANAGER_TOUCH_RESPONSE_TYPE_CONNECTION_AND_DETAILVIEW, - VIEWER_MANAGER_TOUCH_RESPONSE_TYPE_SELECTION, - VIEWER_MANAGER_TOUCH_RESPONSE_TYPE_MAX - -} VIEWER_MANAGER_TOUCH_RESPONSE_TYPE; - - ////////////////////////////////////////////////////////////////////////////////// //////// viewer managing /////////////////////////////////////////////////////////// @@ -77,7 +62,8 @@ 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(int is_scan); +Eina_Bool viewer_manager_refresh(void); +void viewer_manager_specific_scan_response_hlr(GSList *bss_info_list); ////////////////////////////////////////////////////////////////////////////////// @@ -86,30 +72,15 @@ Eina_Bool viewer_manager_refresh(int is_scan); * * add ap_list including "No AP" */ -Elm_Object_Item* viewer_manager_item_set(void*entry_data, - const char* ssid, - const char* ap_image_path, - VIEWER_ITEM_RADIO_MODES mode, - VIEWER_CALLBACK_TYPES type, - void*callback_data); - - int power_control(); -Elm_Object_Item *viewer_manager_current_selected_item_get(void); -void viewer_manager_current_selected_item_set(Elm_Object_Item *item); - -void viewer_manager_set_enabled_list_click(Eina_Bool enabled); - -int viewer_manager_item_radio_mode_all_reset(void); int viewer_manager_item_radio_mode_set(void* object, Elm_Object_Item* item, VIEWER_ITEM_RADIO_MODES mode); - 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_set_enabled_list_update(Eina_Bool enabled); void viewer_manager_scroll_to_top(void); +Elm_Object_Item *viewer_manager_move_item_to_top(Elm_Object_Item *item); +Elm_Object_Item *viewer_manager_add_new_item(const char *profile_name); #endif diff --git a/sources/ui-gadget/include/wifi-engine-callback.h b/sources/ui-gadget/include/wifi-engine-callback.h index db58092..7aab192 100644 --- a/sources/ui-gadget/include/wifi-engine-callback.h +++ b/sources/ui-gadget/include/wifi-engine-callback.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -25,7 +28,7 @@ extern "C" #endif void wlan_engine_callback(void *user_data, void *wlan_data); -void wlan_engine_refresh_callback(int is_scan); +void wlan_engine_refresh_callback(); #ifdef __cplusplus } diff --git a/sources/ui-gadget/include/wifi-ui-list-callbacks.h b/sources/ui-gadget/include/wifi-ui-list-callbacks.h index 11cffb0..8936c5e 100644 --- a/sources/ui-gadget/include/wifi-ui-list-callbacks.h +++ b/sources/ui-gadget/include/wifi-ui-list-callbacks.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -26,6 +29,7 @@ extern "C" 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 } diff --git a/sources/ui-gadget/include/wifi.h b/sources/ui-gadget/include/wifi.h index 19ab9ca..368880b 100644 --- a/sources/ui-gadget/include/wifi.h +++ b/sources/ui-gadget/include/wifi.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -28,8 +31,13 @@ extern "C" #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 #define PACKAGE "ug-wifi-efl-UG" #define LOCALEDIR "/opt/ug/res/locale" @@ -41,31 +49,38 @@ extern "C" #define WIFI_UG_FAKE_ICON_PATH FACTORYFS"/res/edje/wifi-efl-UG/wifi_ug_edj_etc.edj" +#define UG_CALLER "caller" #define UG_MAIN_MESSAGE_DESTROY 1 typedef enum { - VIEW_MAIN=0, - VIEW_PASSWORD, - VIEW_DETAIL, - VIEW_HIDDEN_AP, - VIEW_STATIC_IP, - VIEW_DHCP_IP -} VIEW_TYPE; + UG_VIEW_DEFAULT = 0, + UG_VIEW_SETUP_WIZARD +} UG_TYPE; - -struct wifi_appdata { +typedef struct { /* ui gadget object */ void* gadget; - struct ui_gadget* ug; - Eina_Bool bundle_back_button_show_force_when_connected; + 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; - VIEW_TYPE current_view; + UG_TYPE ug_type; Eina_Bool bAlive; -}; + + char *lbutton_setup_wizard; + char *rbutton_setup_wizard_next; + char *rbutton_setup_wizard_skip; + char *rbutton_setup_wizard_next_icon; + char *rbutton_setup_wizard_scan_icon; + char *rbutton_setup_wizard_skip_icon; + char *lbutton_setup_wizard_prev_icon; + popup_manager_object_t *popup_manager; + common_eap_connect_data_t *eap_view; +} wifi_appdata ; int wifi_exit(); diff --git a/sources/ui-gadget/include/winset_popup.h b/sources/ui-gadget/include/winset_popup.h new file mode 100644 index 0000000..480b07c --- /dev/null +++ b/sources/ui-gadget/include/winset_popup.h @@ -0,0 +1,46 @@ +/* +* 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 __DEF_POPUP_H_ +#define __DEF_POPUP_H_ + +typedef enum { + POPUP_OPTION_NONE = 0X01, + POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED, + POPUP_OPTION_REGISTER_FAILED_UNKNOWN, + POPUP_OPTION_POWER_ON_FAILED_MOBILE_HOTSPOT, + POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR, + POPUP_OPTION_CONNECTING_FAILED, + POPUP_OPTION_HIDDEN_AP_SSID_LEN_ERROR, + POPUP_OPTION_UNREG_WLAN_EVENT_ERROR, + POPUP_OPTION_WEP_PSWD_LEN_ERROR, + POPUP_OPTION_WPA_PSWD_LEN_ERROR, + 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); +boolean winset_popup_manager_destroy(popup_manager_object_t *manager_object); +boolean winset_popup_hide_popup(popup_manager_object_t *manager_object); + +#endif diff --git a/sources/ui-gadget/motion_control.c b/sources/ui-gadget/motion_control.c new file mode 100644 index 0000000..3044bc0 --- /dev/null +++ b/sources/ui-gadget/motion_control.c @@ -0,0 +1,68 @@ +/* +* 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 "sensor.h" +#include "motion_control.h" +#include "viewer_manager.h" + +static int motion_handle = 0; +static Evas_Object* target = NULL; + +static void __motion_shake_cb(unsigned int event_type, sensor_event_data_t *event_data, void *data) +{ + if (viewer_manager_header_mode_get() == HEADER_MODE_OFF) + power_control(); +} + +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); + 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) + 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/po/POTFILES.in b/sources/ui-gadget/po/POTFILES.in deleted file mode 100644 index 857c2b3..0000000 --- a/sources/ui-gadget/po/POTFILES.in +++ /dev/null @@ -1,97 +0,0 @@ -# List of source files containing translatable strings. - -#ug-wifi-efl -#scripts -logics/wifi-scripts.c -logics/start/start_from_power_on.c -logics/start/start_from_power_off.c -logics/start/start_from_connected.c -logics/request/wlan_request_power_on.c -logics/request/wlan_request_power_off.c -logics/request/wlan_request_connection.c -logics/request/wlan_request_disconnection.c -logics/response/response_wlan_event_connection_ok.c -logics/response/response_wlan_event_connection_fail.c -logics/response/response_wlan_event_connection_fail_ip_assign.c -logics/response/response_wlan_event_connection_fail_security.c -logics/response/response_wlan_event_connection_fail_timeout.c -logics/response/response_wlan_event_connection_ind.c -logics/response/response_wlan_event_connection_cancel_ok.c -logics/response/response_wlan_event_connection_cancel_fail.c -logics/response/response_wlan_event_disconnection_ok.c -logics/response/response_wlan_event_disconnection_fail.c -logics/response/response_wlan_event_disconnection_ind.c -logics/response/response_wlan_event_power_on_ok.c -logics/response/response_wlan_event_power_on_fail.c -logics/response/response_wlan_event_power_on_ind.c -logics/response/response_wlan_event_power_off_ok.c -logics/response/response_wlan_event_power_off_fail.c -logics/response/response_wlan_event_power_off_ind.c -logics/response/response_wlan_event_scan_ok.c -logics/response/response_wlan_event_scan_fail.c -logics/response/response_wlan_event_scan_cancel_ok.c -logics/response/response_wlan_event_scan_cancel_fail.c -logics/response/response_wlan_event_wps_enroll_ok.c -logics/response/response_wlan_event_wps_enroll_fail.c -logics/response/response_wlan_event_cancel_wps_enroll_ok.c -logics/response/response_wlan_event_cancel_wps_enroll_fail.c -logics/response/response_wlan_event_get_wlan_transport_state_ok.c -logics/response/response_wlan_event_get_wlan_transport_state_fail.c -logics/response/response_wlan_event_wps_pin_ind.c -logics/response/response_wlan_event_suspend_ind.c -logics/response/response_wlan_event_ip_changed_ind.c -logics/response/response_wlan_event_add_profile_ind.c -logics/response/response_wlan_event_del_profile_ind.c -logics/response/response_wlan_event_modify_profile_ind.c -#viewers -viewers/view_detail.c -viewers/view_autoip.c -viewers/view_staticip.c -viewers/view_dhcpip.c -viewers/view_ime_password.c -viewers/view_ime_hidden.c -viewers/view_ime_proxy.c -viewers/view_ime_statics.c -viewers/view_others.c -viewers/view_list_with_input_data.c -#view-controllers -controller/view-main-controller.c -#main application -wifi-efl-UG.c -wifi-ui-list-callbacks.c -wifi-wlan-callbacks.c -wifi-ui-normal-callbacks.c - -#library -#UI Manager -../libraries/UIManager/layout-manager/layout_manager.c -../libraries/UIManager/viewer-manager/viewer_manager.c -../libraries/UIManager/viewer-manager/wifi_viewer_dialogue.c -../libraries/UIManager/winset-wrapper/main/window_layout.c -../libraries/UIManager/winset-wrapper/main/header.c -../libraries/UIManager/winset-wrapper/main/bottom_header.c -../libraries/UIManager/winset-wrapper/main/navigator.c -../libraries/UIManager/winset-wrapper/main/check.c -../libraries/UIManager/winset-wrapper/main/scroller.c -../libraries/UIManager/winset-wrapper/main/button.c -../libraries/UIManager/winset-wrapper/main/popup.c -#setting wrapper -../libraries/settingWrapper/wifi-setting.c -#logger wrapper -../libraries/LogManager/logger.c -#i18n manager -../libraries/i18nManager/i18nmanager.c -../libraries/i18nManager/i18n_mode_no_needed.c -#gesture wrapper -../libraries/gestureManager/gesture-manager.c -#appcore wrapper -../libraries/appcoreWrapper/appcoreWrapper.c -#Wlan Manager -../libraries/WlanManager/wlan-manager/wlan_manager.c -#engine wrapper -../libraries/WlanManager/EngineManager/WifidWrapper/wifid-wrapper.c -../libraries/WlanManager/EngineManager/WifidWrapper/profile-manager/profile_manager.c -../libraries/WlanManager/EngineManager/WifidWrapper/Response/wlan_callback.c -../libraries/WlanManager/EngineManager/WifidWrapper/LogManager/wifid-log-manager.c - - diff --git a/sources/ui-gadget/po/de_DE.po b/sources/ui-gadget/po/de_DE.po deleted file mode 100644 index 91964bc..0000000 --- a/sources/ui-gadget/po/de_DE.po +++ /dev/null @@ -1,96 +0,0 @@ -msgid "IDS_ST_BODY_EXCELLENT" -msgstr "Exzellent" - -msgid "IDS_ST_BODY_GOOD_M_STRENGTH" -msgstr "Gut" - -msgid "IDS_ST_BODY_SCAN" -msgstr "Scannen" - -msgid "IDS_WIFI_BODY_CONNECTED" -msgstr "Verbunden" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "Verbindung wird hergestellt..." - -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_BODY_STATIC_IP" -msgstr "Statische IP-Adresse" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "Verborgenes Netz" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "WLAN wird aktiviert..." - -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_SK_FORGET" -msgstr "Entfernen" - -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_IP_ADDRESS" -msgstr "IP-Adresse" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "Subnetzmaske" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "Gateway" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS 1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS 2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "Netzbenachrichtigung" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Netz auswählen" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "Durch Vergessen des Zugangspunkts werden automatische Verbindungen in Zukunft vermieden. Fortfahren?" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "Schwach" - diff --git a/sources/ui-gadget/po/el_GR.po b/sources/ui-gadget/po/el_GR.po deleted file mode 100644 index 62bc11f..0000000 --- a/sources/ui-gadget/po/el_GR.po +++ /dev/null @@ -1,96 +0,0 @@ -msgid "IDS_ST_BODY_EXCELLENT" -msgstr "Τέλεια" - -msgid "IDS_ST_BODY_GOOD_M_STRENGTH" -msgstr "Καλό" - -msgid "IDS_ST_BODY_SCAN" -msgstr "Σάρωση" - -msgid "IDS_WIFI_BODY_CONNECTED" -msgstr "Συνδέθηκε" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "Σύνδεση..." - -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_BODY_STATIC_IP" -msgstr "Στατικό IP" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "Κρυφό δίκτυο" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "Ενεργοποίηση Wi-Fi..." - -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_SK_FORGET" -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_IP_ADDRESS" -msgstr "Διεύθυνση IP" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "Μάσκα υποδικτύου" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "Πύλη" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "Ειδοποίηση δικτύου" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Επιλογή δικτύου" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "Η μη απομνημόνευση του σημείου πρόσβασης θα κάνει αδύνατη την αυτόματη σύνδεση στο μέλλον. Συνέχεια;" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "Ασθενές" - diff --git a/sources/ui-gadget/po/en.po b/sources/ui-gadget/po/en.po deleted file mode 100644 index 299d323..0000000 --- a/sources/ui-gadget/po/en.po +++ /dev/null @@ -1,96 +0,0 @@ -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_WIFI_BODY_CONNECTED" -msgstr "Connected" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "Connecting..." - -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_BODY_STATIC_IP" -msgstr "Static IP" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "Hidden network" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "Activating Wi-Fi..." - -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_SK_FORGET" -msgstr "Forget" - -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_IP_ADDRESS" -msgstr "IP address" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "Subnet mask" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "Gateway" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS 1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS 2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "Network notification" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Select network" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "Forgetting access point will prevent future automatic connection. Continue?" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "Weak" - diff --git a/sources/ui-gadget/po/es_ES.po b/sources/ui-gadget/po/es_ES.po deleted file mode 100644 index a0d096b..0000000 --- a/sources/ui-gadget/po/es_ES.po +++ /dev/null @@ -1,96 +0,0 @@ -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_WIFI_BODY_CONNECTED" -msgstr "Conectado" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "Conectando..." - -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_BODY_STATIC_IP" -msgstr "IP estática" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "Red oculta" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "Activando Wi-Fi..." - -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_SK_FORGET" -msgstr "Cancelar" - -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_IP_ADDRESS" -msgstr "Dirección IP" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "Máscara de subred" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "Puerta de enlace" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS 1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS 2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "Notificación de red" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Seleccionar red" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "Olvidar el punto de acceso impedirá la conexión automática en el futuro. ¿Continuar?" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "Débil" - diff --git a/sources/ui-gadget/po/fr_FR.po b/sources/ui-gadget/po/fr_FR.po deleted file mode 100644 index 07bde18..0000000 --- a/sources/ui-gadget/po/fr_FR.po +++ /dev/null @@ -1,96 +0,0 @@ -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_WIFI_BODY_CONNECTED" -msgstr "Connecté" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "Connexion..." - -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_BODY_STATIC_IP" -msgstr "IP statique" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "Réseau masqué" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "Activation Wi-Fi..." - -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_SK_FORGET" -msgstr "Oublier" - -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_IP_ADDRESS" -msgstr "Adresse IP" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "Masque de sous-réseau" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "Passerelle" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS 1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS 2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "Notification réseau" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Sélectionner un réseau" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "Si vous oubliez le point d'accès, la connexion automatique sera désactivée. Continuer ?" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "Faible" - diff --git a/sources/ui-gadget/po/it_IT.po b/sources/ui-gadget/po/it_IT.po deleted file mode 100644 index 8aebd4b..0000000 --- a/sources/ui-gadget/po/it_IT.po +++ /dev/null @@ -1,96 +0,0 @@ -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_WIFI_BODY_CONNECTED" -msgstr "Connesso" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "Connessione..." - -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_BODY_STATIC_IP" -msgstr "IP statico" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "Rete nascosta" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "Attivazione Wi-Fi in corso" - -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_SK_FORGET" -msgstr "Rimuovi" - -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_IP_ADDRESS" -msgstr "Indirizzo IP" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "Maschera di sottorete" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "Gateway" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS 1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS 2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "Notifica di rete" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Selezione rete" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "Se si dimentica il punto di accesso, non sarà possibile connettersi automaticamente in futuro. Continuare?" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "Debole" - diff --git a/sources/ui-gadget/po/ja_JP.po b/sources/ui-gadget/po/ja_JP.po deleted file mode 100644 index e082614..0000000 --- a/sources/ui-gadget/po/ja_JP.po +++ /dev/null @@ -1,96 +0,0 @@ -msgid "IDS_ST_BODY_EXCELLENT" -msgstr "優秀" - -msgid "IDS_ST_BODY_GOOD_M_STRENGTH" -msgstr "強" - -msgid "IDS_ST_BODY_SCAN" -msgstr "スキャン" - -msgid "IDS_WIFI_BODY_CONNECTED" -msgstr "接続しました。" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "接続中..." - -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_BODY_STATIC_IP" -msgstr "静的​IP" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "非表示​ネットワーク" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "Wi-Fi​を​起動中..." - -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_SK_FORGET" -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_IP_ADDRESS" -msgstr "IP​アドレス" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "サブネット​マスク" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "ゲートウェイ" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS 1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS 2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "ネットワーク​通知" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "ネットワーク​を​選択" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "アクセス​ポイント​の接続情報​を​消去​する​と、​自動​接続​が​できなくなります。​続行​しますか?" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "弱い" - diff --git a/sources/ui-gadget/po/ko_KR.po b/sources/ui-gadget/po/ko_KR.po deleted file mode 100644 index de931f6..0000000 --- a/sources/ui-gadget/po/ko_KR.po +++ /dev/null @@ -1,96 +0,0 @@ -msgid "IDS_ST_BODY_EXCELLENT" -msgstr "매우 좋음" - -msgid "IDS_ST_BODY_GOOD_M_STRENGTH" -msgstr "좋음" - -msgid "IDS_ST_BODY_SCAN" -msgstr "검색" - -msgid "IDS_WIFI_BODY_CONNECTED" -msgstr "연결되었습니다" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "연결 중..." - -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_BODY_STATIC_IP" -msgstr "고정 IP" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "허용되지 않은 네트워크" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "Wi-Fi 실행 중..." - -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_SK_FORGET" -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_IP_ADDRESS" -msgstr "IP 주소" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "서브넷 마스크" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "게이트웨이" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "네트워크 알림" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "네트워크 선택" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "액세스 포인트 정보를 기억하지 않으면 이후 자동 연결을 방지할 수 있습니다. 계속할까요?" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "약함" - diff --git a/sources/ui-gadget/po/nl_NL.po b/sources/ui-gadget/po/nl_NL.po deleted file mode 100644 index 2759b63..0000000 --- a/sources/ui-gadget/po/nl_NL.po +++ /dev/null @@ -1,96 +0,0 @@ -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_WIFI_BODY_CONNECTED" -msgstr "Verbonden" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "Verbinden..." - -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_BODY_STATIC_IP" -msgstr "Vast IP" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "Verborgen netwerk" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "Wi-Fi activeren..." - -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_SK_FORGET" -msgstr "Vergeten" - -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_IP_ADDRESS" -msgstr "IP-adres" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "Subnetmasker" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "Gateway" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS 1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS 2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "Netwerkmelding" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Netwerk kiezen" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "Als u het toegangspunt niet opgeeft, kunt u later niet automatisch verbinden. Doorgaan?" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "Zwak" - diff --git a/sources/ui-gadget/po/pt_PT.po b/sources/ui-gadget/po/pt_PT.po deleted file mode 100644 index dbd9dbd..0000000 --- a/sources/ui-gadget/po/pt_PT.po +++ /dev/null @@ -1,96 +0,0 @@ -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_WIFI_BODY_CONNECTED" -msgstr "Ligado" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "A ligar..." - -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_BODY_STATIC_IP" -msgstr "IP estático" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "Rede oculta" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "A activar Wi-Fi..." - -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_SK_FORGET" -msgstr "Esquecer" - -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_IP_ADDRESS" -msgstr "Endereço IP" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "Máscara de sub-rede" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "Gateway" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS 1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS 2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "Notificação de rede" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Seleccionar rede" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "O esquecimento do ponto de acesso impedirá a ligação automática futura. Continuar?" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "Fraca" - diff --git a/sources/ui-gadget/po/ru_RU.po b/sources/ui-gadget/po/ru_RU.po deleted file mode 100644 index d758fee..0000000 --- a/sources/ui-gadget/po/ru_RU.po +++ /dev/null @@ -1,96 +0,0 @@ -msgid "IDS_ST_BODY_EXCELLENT" -msgstr "Супер" - -msgid "IDS_ST_BODY_GOOD_M_STRENGTH" -msgstr "Хороший" - -msgid "IDS_ST_BODY_SCAN" -msgstr "Поиск" - -msgid "IDS_WIFI_BODY_CONNECTED" -msgstr "Подключено" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "Подключение..." - -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_BODY_STATIC_IP" -msgstr "Статический IP-адрес" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "Скрытая сеть" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "Активация Wi-Fi..." - -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_SK_FORGET" -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_IP_ADDRESS" -msgstr "IP-адрес" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "Маска подсети" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "Шлюз" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS 1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS 2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "Уведомление о сетях" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Выбор сети" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "Удаление данных о точке доступа предотвратит автоматическое подключение в будущем. Продолжить?" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "Слабый" - diff --git a/sources/ui-gadget/po/tr_TR.po b/sources/ui-gadget/po/tr_TR.po deleted file mode 100644 index 28fbf13..0000000 --- a/sources/ui-gadget/po/tr_TR.po +++ /dev/null @@ -1,96 +0,0 @@ -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_WIFI_BODY_CONNECTED" -msgstr "Bağlantı kuruldu" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "Bağlanılıyor..." - -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_BODY_STATIC_IP" -msgstr "Statik IP" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "Gizli ağ" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "Wi-Fi etkinleştiriliyor..." - -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_SK_FORGET" -msgstr "Unut" - -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_IP_ADDRESS" -msgstr "IP adresi" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "Alt ağ maskesi" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "Ağ geçidi" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS 1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS 2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "Ağ bildirimi" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Şebeke seçimi" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "Erişim noktasını unutmak ileride otomatik bağlantıyı engeller. Devam edilsin mi?" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "Zayıf" - diff --git a/sources/ui-gadget/po/update-po.sh b/sources/ui-gadget/po/update-po.sh deleted file mode 100755 index 6441967..0000000 --- a/sources/ui-gadget/po/update-po.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh - -PACKAGE=ug-wifi-efl -SRCROOT=.. -POTFILES=POTFILES.in - -#ALL_LINGUAS= am az be ca cs da de el en_CA en_GB es et fi fr hr hu it ja ko lv mk ml ms nb ne nl pa pl pt pt_BR ru rw sk sl sr sr@Latn sv ta tr uk vi zh_CN zh_TW -ALL_LINGUAS="en_US en_GB ja ko zh_CN" - -XGETTEXT=/usr/bin/xgettext -MSGMERGE=/usr/bin/msgmerge - -echo -n "Make ${PACKAGE}.pot " -if [ ! -e $POTFILES ] ; then - echo "$POTFILES not found" - exit 1 -fi - -$XGETTEXT --default-domain=${PACKAGE} --directory=${SRCROOT} \ - --add-comments --keyword=_ --keyword=N_ --files-from=$POTFILES -if [ $? -ne 0 ]; then - echo "error" - exit 1 -fi - -if [ ! -f ${PACKAGE}.po ]; then - echo "No such file: ${PACKAGE}.po" - exit 1 -fi - -rm -f ${PACKAGE}.pot && mv ${PACKAGE}.po ${PACKAGE}.pot -echo "done" - -for LANG in $ALL_LINGUAS; do - echo "$LANG : " - - if [ ! -e $LANG.po ] ; then - sed 's/CHARSET/UTF-8/g' ${PACKAGE}.pot > ${LANG}.po - echo "${LANG}.po created" - else - if $MSGMERGE ${LANG}.po ${PACKAGE}.pot -o ${LANG}.new.po ; then - if cmp ${LANG}.po ${LANG}.new.po > /dev/null 2>&1; then - rm -f ${LANG}.new.po - else - if mv -f ${LANG}.new.po ${LANG}.po; then - echo "" - else - echo "msgmerge for $LANG.po failed: cannot move $LANG.new.po to $LANG.po" 1>&2 - rm -f ${LANG}.new.po - exit 1 - fi - fi - else - echo "msgmerge for $LANG failed!" - rm -f ${LANG}.new.po - fi - fi - echo "" -done - diff --git a/sources/ui-gadget/po/zh_CN.po b/sources/ui-gadget/po/zh_CN.po deleted file mode 100644 index a5e46eb..0000000 --- a/sources/ui-gadget/po/zh_CN.po +++ /dev/null @@ -1,96 +0,0 @@ -msgid "IDS_ST_BODY_EXCELLENT" -msgstr "棒极了" - -msgid "IDS_ST_BODY_GOOD_M_STRENGTH" -msgstr "好" - -msgid "IDS_ST_BODY_SCAN" -msgstr "扫描" - -msgid "IDS_WIFI_BODY_CONNECTED" -msgstr "已连接" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "连接中..." - -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_BODY_STATIC_IP" -msgstr "静态IP" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "隐藏的网络" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "正在激活WLAN..." - -msgid "IDS_WIFI_POP_DEACTIVATING_WI_FI_ING" -msgstr "正在取消WLAN..." - -msgid "IDS_WIFI_POP_SEARCHING_ING" -msgstr "正在搜索" - -msgid "IDS_WIFI_POP_SELECT_NETWORK" -msgstr "选择网络" - -msgid "IDS_WIFI_SK_FORGET" -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_IP_ADDRESS" -msgstr "IP 地址" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "子网时标" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "网关" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS 1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS 2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "网络通知" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "选择网络" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "忘记接入点将阻止将来自动连接。继续?" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "弱" - diff --git a/sources/ui-gadget/po/zh_HK.po b/sources/ui-gadget/po/zh_HK.po deleted file mode 100644 index 3d9b739..0000000 --- a/sources/ui-gadget/po/zh_HK.po +++ /dev/null @@ -1,96 +0,0 @@ -msgid "IDS_ST_BODY_EXCELLENT" -msgstr "極佳" - -msgid "IDS_ST_BODY_GOOD_M_STRENGTH" -msgstr "良好" - -msgid "IDS_ST_BODY_SCAN" -msgstr "掃描" - -msgid "IDS_WIFI_BODY_CONNECTED" -msgstr "已連接" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "連接中..." - -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_BODY_STATIC_IP" -msgstr "靜態 IP" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "隱藏網絡" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "正在啟動 Wi-Fi..." - -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_SK_FORGET" -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_IP_ADDRESS" -msgstr "IP 位址" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "子網絡範圍" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "網關" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS 1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS 2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "網絡通知" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "選擇網絡" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "忘記接入點將妨礙日後自動連接。是否繼續?" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "弱" - diff --git a/sources/ui-gadget/po/zh_TW.po b/sources/ui-gadget/po/zh_TW.po deleted file mode 100644 index f58e31a..0000000 --- a/sources/ui-gadget/po/zh_TW.po +++ /dev/null @@ -1,96 +0,0 @@ -msgid "IDS_ST_BODY_EXCELLENT" -msgstr "棒極了" - -msgid "IDS_ST_BODY_GOOD_M_STRENGTH" -msgstr "良好" - -msgid "IDS_ST_BODY_SCAN" -msgstr "掃描" - -msgid "IDS_WIFI_BODY_CONNECTED" -msgstr "已連線" - -msgid "IDS_WIFI_BODY_CONNECTING_ING" -msgstr "連線中..." - -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_BODY_STATIC_IP" -msgstr "靜態 IP" - -msgid "IDS_WIFI_HEADER_HIDDEN_NETWORK" -msgstr "隱藏網路" - -msgid "IDS_WIFI_POP_ACTIVATING_WI_FI_ING" -msgstr "正在啟動 Wi-Fi..." - -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_SK_FORGET" -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_IP_ADDRESS" -msgstr "IP 位址" - -msgid "IDS_WIFI_BODY_SUBNET_MASK" -msgstr "子網路遮罩" - -msgid "IDS_WIFI_BODY_GATEWAY" -msgstr "閘道" - -msgid "IDS_WIFI_BODY_DNS_1" -msgstr "DNS 1" - -msgid "IDS_WIFI_BODY_DNS_2" -msgstr "DNS 2" - -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_ST_BODY_NETWORK_NOTIFICATION" -msgstr "網路通知" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "選擇網路" - -msgid "IDS_WIFI_POP_FORGETTING_ACCESS_POINT_WILL_PREVENT_FUTURE_AUTOMATIC_CONNECTION_CONTINUE_Q" -msgstr "不儲存Wi-Fi連接點以防止系統自動連接。要繼續嗎?" - -msgid "IDS_WIFI_BODY_WEAK_M_STRENGTH" -msgstr "弱" - diff --git a/sources/ui-gadget/viewers-layout/include/popup.h b/sources/ui-gadget/viewers-layout/include/popup.h deleted file mode 100644 index 5f7ec05..0000000 --- a/sources/ui-gadget/viewers-layout/include/popup.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * 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 __DEF_POPUP_H_ -#define __DEF_POPUP_H_ - - -typedef enum { - POPUP_MODE_OFF=0X01, - POPUP_MODE_PBC, - POPUP_MODE_PIN, - POPUP_MODE_REGISTER_FAILED, - POPUP_MODE_POWER_ON_FAILED, - POPUP_MODE_CONNECTING_FAILED, - POPUP_MODE_INPUT_FAILED, - POPUP_MODE_ETC, - POPUP_MODE_MAX -} POPUP_MODES; - -typedef enum { - POPUP_OPTION_NONE=0X01, - POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED, - POPUP_OPTION_POWER_ON_FAILED_MOBILE_HOTSPOT, - POPUP_OPTION_CONNECTING_FAILED_TIMEOUT, - POPUP_OPTION_CONNECTING_FAILED_INVALID_OPERATION, - POPUP_OPTION_CONNECTIONG_PASSWORD_WEP_ERROR, - POPUP_OPTION_CONNECTIONG_PASSWORD_WPAPSK_ERROR, - POPUP_OPTION_INPUT_FAILED_PROXY_IP_MISTYPE, - POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR, - POPUP_OPTION_ETC_BACK_ENABLE_WHEN_CONNECTED_ERROR, - POPUP_OPTION_MAX -} POPUP_MODE_OPTIONS; - -typedef struct popup_manager_object { - POPUP_MODES mode; - Evas_Object* content; - Evas_Object* progressbar; - Evas_Object* win; -} popup_manager_object; - - -void* winset_popup_create(Evas_Object* win); -int winset_popup_mode_set(void* object, POPUP_MODES mode, POPUP_MODE_OPTIONS option); -int winset_popup_simple_set(const char* text); -POPUP_MODES winset_popup_mode_get(void* object); -int winset_popup_destroy(void* object); -Evas_Object* winset_popup_content_get(void* object); -int winset_popup_content_set(Evas_Object* object); -int winset_popup_content_clear(); -int winset_popup_stop(void* object); -int winset_popup_timer_remove(void); - -#endif diff --git a/sources/ui-gadget/viewers-layout/include/view_detail.h b/sources/ui-gadget/viewers-layout/include/view_detail.h index dc1fa0e..a1803bb 100644 --- a/sources/ui-gadget/viewers-layout/include/view_detail.h +++ b/sources/ui-gadget/viewers-layout/include/view_detail.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -22,8 +25,6 @@ void view_detail(wifi_device_info_t *device_info); -int view_detail_current_proxy_address_set(const char* proxy_address); -const char* view_detail_current_proxy_address_get(void); int detailview_ip_and_dns_type_set_as_static(); int detailview_modified_ip_address_set(char* data); diff --git a/sources/ui-gadget/viewers-layout/include/view_detail_datamodel.h b/sources/ui-gadget/viewers-layout/include/view_detail_datamodel.h deleted file mode 100644 index 6db140d..0000000 --- a/sources/ui-gadget/viewers-layout/include/view_detail_datamodel.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * 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" - -/////////////////////////////////////////////////////////////// -// managing function -/////////////////////////////////////////////////////////////// -int view_detail_datamodel_create(const char *profile_name); -int view_detail_datamodel_destroy(void); -/////////////////////////////////////////////////////////////// - -/////////////////////////////////////////////////////////////// -// determine it`s changeness -/////////////////////////////////////////////////////////////// -void view_detail_datamodel_determine_modified(const char *profile_name); -int view_detail_datamodel_determine_staticip_modified(void); -/////////////////////////////////////////////////////////////// - -/////////////////////////////////////////////////////////////// -// getter and setter -/////////////////////////////////////////////////////////////// -int view_detail_datamodel_ip_and_dns_type_set(IP_TYPES type); -IP_TYPES view_detail_datamodel_ip_and_dns_type_get(void); - -int view_detail_datamodel_proxy_address_set(const char* proxy); -const char* view_detail_datamodel_proxy_address_get(void); - -int view_detail_datamodel_static_ip_address_set(const char* addr); -int view_detail_datamodel_static_gateway_address_set(const char* addr); -int view_detail_datamodel_static_subnet_mask_set(const char* addr); -int view_detail_datamodel_static_dns1_address_set(const char* addr); -int view_detail_datamodel_static_dns2_address_set(const char* addr); - -char* view_detail_datamodel_static_ip_address_get(void); -char* view_detail_datamodel_static_gateway_address_get(void); -char* view_detail_datamodel_static_subnet_mask_get(void); -char* view_detail_datamodel_static_dns1_address_get(void); -char* view_detail_datamodel_static_dns2_address_get(void); -/////////////////////////////////////////////////////////////// - -#endif diff --git a/sources/ui-gadget/viewers-layout/include/view_dhcpip.h b/sources/ui-gadget/viewers-layout/include/view_dhcpip.h deleted file mode 100644 index d841acd..0000000 --- a/sources/ui-gadget/viewers-layout/include/view_dhcpip.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * 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_DHCPIP_H_ -#define __VIEW_DHCPIP_H_ - - -void view_dhcpip(void); - -#endif diff --git a/sources/ui-gadget/viewers-layout/include/view_eap.h b/sources/ui-gadget/viewers-layout/include/view_eap.h deleted file mode 100644 index 3fbf113..0000000 --- a/sources/ui-gadget/viewers-layout/include/view_eap.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * 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_EAP_H_ -#define __VIEW_EAP_H_ - -typedef enum { - EAP_SEC_TYPE_PEAP = 0, - EAP_SEC_TYPE_TLS, - EAP_SEC_TYPE_TTLS , - EAP_SEC_TYPE_SIM, - EAP_SEC_TYPE_AKA , - EAP_SEC_TYPE_NULL -} eap_type_t; - -void view_eap(wifi_device_info_t *device_info); - -#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 index 8f218ff..c08356b 100644 --- a/sources/ui-gadget/viewers-layout/include/view_ime_hidden.h +++ b/sources/ui-gadget/viewers-layout/include/view_ime_hidden.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -20,14 +23,10 @@ #define __VIEW_IME_HIDDEN_H_ -typedef enum { - HIDDEN_AP_SECURITY_PUBLIC = 0, - HIDDEN_AP_SECURITY_WEP = 1, - HIDDEN_AP_SECURITY_WPAPSK = 2, - HIDDEN_AP_SECURITY_ENTERPRISE = 3, - HIDDEN_AP_SECURITY_DYNAMICWEP = 4 -} hidden_ap_security_type_t; +typedef struct hiddep_ap_popup_data hiddep_ap_popup_data_t; -void view_ime_hidden(void); +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); +const char *view_ime_hidden_popup_get_ssid(hiddep_ap_popup_data_t *popup_data); #endif diff --git a/sources/ui-gadget/viewers-layout/include/view_ime_password.h b/sources/ui-gadget/viewers-layout/include/view_ime_password.h deleted file mode 100644 index 15550bc..0000000 --- a/sources/ui-gadget/viewers-layout/include/view_ime_password.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * 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_PASSWORD_H_ -#define __VIEW_IME_PASSWORD_H_ - -#include "wlan_manager.h" - -void view_ime_password(wifi_device_info_t *device_info); -void view_ime_password_destroy(void); - -#endif diff --git a/sources/ui-gadget/viewers-layout/include/view_staticip.h b/sources/ui-gadget/viewers-layout/include/view_staticip.h deleted file mode 100644 index 2c8bfb6..0000000 --- a/sources/ui-gadget/viewers-layout/include/view_staticip.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * 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_STATICIP_H_ -#define __VIEW_STATICIP_H_ - -void view_staticip(void); - -#endif diff --git a/sources/ui-gadget/viewers-layout/popup.c b/sources/ui-gadget/viewers-layout/popup.c deleted file mode 100644 index 61938f2..0000000 --- a/sources/ui-gadget/viewers-layout/popup.c +++ /dev/null @@ -1,600 +0,0 @@ -/* - * 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 "popup.h" -#include "wlan_manager.h" -#include "i18nmanager.h" -#include "viewer_manager.h" - - -#define POPUP_LAYOUT_TEXT_MAX 100 - -static Ecore_Timer *timer = NULL; -static popup_manager_object* manager_object = NULL; - -static int checker = 0; -static double value = 0.0; - - -static void _timeout_cb(void *data, Evas_Object *obj, void *event_info) -{ - if (obj) - evas_object_del(obj); -} - -void* winset_popup_create(Evas_Object* win) -{ - manager_object = (popup_manager_object *)g_malloc0(sizeof(popup_manager_object)); - manager_object->win = win; - manager_object->mode = POPUP_MODE_OFF; - return NULL; -} - -static void pbc_popup_cb(void *data, Evas_Object *obj, void *event_info) -{ - __COMMON_FUNC_ENTER__; - - if (checker == 0) { - checker = 1; - - if (timer != NULL) { - ecore_timer_del(timer); - timer = NULL; - } - - wlan_manager_request_cancel_wps_connection((char*) data); - winset_popup_mode_set (NULL, POPUP_MODE_OFF, POPUP_OPTION_NONE); - - if (manager_object->content != NULL) { - evas_object_hide(manager_object->content); - evas_object_del(manager_object->content); - manager_object->content = NULL; - } - - checker = 0; - } - - __COMMON_FUNC_EXIT__; -} - -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); - } else { - INFO_LOG(COMMON_NAME_LIB, "TYPE = %d, Result = %d\n", type, result); - if (type == 1 && result == 0) { - INFO_LOG(COMMON_NAME_LIB, "OK\n"); - power_control(); - } - } - - g_pending_call.is_handled = TRUE; - - g_object_unref(proxy); - dbus_g_connection_unref(bus); - - __COMMON_FUNC_EXIT__; -} - -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.mobileap", /* name */ - "/MobileAP", /* obj path */ - "org.tizen.mobileap");/* 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; -} - -void _ok_clicked_cb(void* data, Evas_Object* obj, void* event_info) -{ - if (data) { - evas_object_del(data); - } -} - -void _retry_clicked_cb(void* data, Evas_Object* obj, void* event_info) -{ - __COMMON_FUNC_ENTER__; - - INFO_LOG(UG_NAME_NORMAL, "Response OK"); - - switch (wlan_manager_start()) { - case WLAN_MANAGER_ERR_NONE: - break; - case WLAN_MANAGER_ERR_ALREADY_REGISTERED: - winset_popup_mode_set(NULL, POPUP_MODE_REGISTER_FAILED, POPUP_OPTION_NONE); - return; - case WLAN_MANAGER_ERR_UNKNOWN: - winset_popup_mode_set(NULL, POPUP_MODE_REGISTER_FAILED, POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED); - return; - default: - __COMMON_FUNC_EXIT__; - return; - } - - char profile_name[NET_PROFILE_NAME_LEN_MAX+1] = ""; - switch (wlan_manager_state_get(profile_name)) { - case WLAN_MANAGER_OFF: - ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-off\n"); - viewer_manager_hide(VIEWER_WINSET_SUB_CONTENTS); - break; - case WLAN_MANAGER_UNCONNECTED: - ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-connecting\n"); - case WLAN_MANAGER_CONNECTING: - ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-on\n"); - viewer_manager_hide(VIEWER_WINSET_SEARCHING); - viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS); - break; - case WLAN_MANAGER_CONNECTED: - ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-connected\n"); - viewer_manager_hide(VIEWER_WINSET_SEARCHING); - viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS); - break; - case WLAN_MANAGER_ERROR: - winset_popup_mode_set(NULL, POPUP_MODE_ETC, POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR); - break; - default: - winset_popup_mode_set(NULL, POPUP_MODE_ETC, POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR); - break; - } - - __COMMON_FUNC_EXIT__; -} - -void _back_clicked_cb(void* data, Evas_Object* obj, void* event_info) -{ - INFO_LOG(UG_NAME_NORMAL, "Response CANCEL"); - wifi_exit(); -} - -void _turn_off_mobileap_yes_clicked_cb(void* data, Evas_Object* obj, void* event_info) -{ - __COMMON_FUNC_ENTER__; - - INFO_LOG(UG_NAME_NORMAL, "Response OK"); - if (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__; -} - -void _turn_off_mobileap_no_clicked_cb(void* data, Evas_Object* obj, void* event_info) -{ - __COMMON_FUNC_ENTER__; - - INFO_LOG(UG_NAME_NORMAL, "Response CANCEL"); - viewer_manager_header_mode_set(HEADER_MODE_OFF); - - __COMMON_FUNC_EXIT__; -} - -/* Mobile-AP popup callback */ -void _popup_out_of_wifi_yes_cb(void* data, Evas_Object* obj, void* event_info) -{ - INFO_LOG(UG_NAME_NORMAL, "Response OK"); - wifi_exit(); -} - -void _popup_out_of_wifi_no_cb(void* data, Evas_Object* obj, void* event_info) -{ - INFO_LOG(UG_NAME_NORMAL, "Response CANCEL"); - if (data) { - evas_object_del(data); - } -} - -int winset_popup_timer_remove(void) -{ - if(timer != NULL) { - ecore_timer_del(timer); - timer = NULL; - return TRUE; - } - return FALSE; -} - -int winset_popup_stop(void* object) -{ - __COMMON_FUNC_ENTER__; - value = 1.0; - __COMMON_FUNC_EXIT__; - return TRUE; -} - -static int _fn_pb_timer_bar(void *data) -{ - if (timer == NULL || manager_object->progressbar == NULL) { - return 0; - } - - value = 0.0; - value = elm_progressbar_value_get(manager_object->progressbar); - if (value >= 1) { - if (checker == 0) { - checker = 1; - - __COMMON_FUNC_ENTER__; - - wlan_manager_request_cancel_wps_connection((char*) data); - - char message[128] = "one click connection failed"; - - winset_popup_mode_set (manager_object, POPUP_MODE_OFF, POPUP_OPTION_NONE); - evas_object_hide(manager_object->content); - evas_object_del(manager_object->content); - manager_object->content = NULL; - - checker = 0; - - Evas_Object*instance_popup = elm_popup_add(manager_object->win); - elm_object_text_set(instance_popup, message); - elm_popup_timeout_set(instance_popup, 3.0f); - evas_object_smart_callback_add(instance_popup, "timeout", _timeout_cb, NULL); - evas_object_size_hint_weight_set(instance_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_popup_orient_set(instance_popup, ELM_POPUP_ORIENT_CENTER); - evas_object_show(instance_popup); - INFO_LOG(UG_NAME_NORMAL, "Back button"); - - __COMMON_FUNC_EXIT__; - return 0; - } - } else { - value += 0.001; - } - - elm_progressbar_value_set(manager_object->progressbar, value); - - return 1; -} - -int winset_popup_simple_set(const char* text) -{ - __COMMON_FUNC_ENTER__; - manager_object->content = elm_popup_add(manager_object->win); - evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_text_set(manager_object->content, text); - Evas_Object *btn_ok = elm_button_add(manager_object->content); - elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok)); - elm_object_part_content_set(manager_object->content, "button1", btn_ok); - evas_object_smart_callback_add(btn_ok, "clicked", _ok_clicked_cb, manager_object->content); - evas_object_show(manager_object->content); - - return TRUE; -} - -static POPUP_MODES _popup_mode; -static POPUP_MODE_OPTIONS _popup_option; - -static int _winset_popup_mode_set(void* data) -{ - __COMMON_FUNC_ENTER__; - - POPUP_MODES mode = _popup_mode; - POPUP_MODE_OPTIONS option = _popup_option; - - if(NULL != manager_object->content) { - evas_object_del(manager_object->content); - manager_object->content = NULL; - } - switch (manager_object->mode) { - case POPUP_MODE_OFF: - if (POPUP_MODE_PBC == mode) { - manager_object->content = elm_popup_add(manager_object->win); - evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_text_set(manager_object->content, _("Push the wps button")); - Evas_Object *btn_cancel = elm_button_add(manager_object->content); - elm_object_text_set(btn_cancel, sc(PACKAGE, I18N_TYPE_Cancel)); - elm_object_part_content_set(manager_object->content, "button1", btn_cancel); - evas_object_smart_callback_add(btn_cancel, "clicked", pbc_popup_cb, data); - evas_object_show(manager_object->content); - - manager_object->progressbar = elm_progressbar_add(manager_object->content); - elm_progressbar_horizontal_set(manager_object->progressbar, EINA_TRUE); - - elm_object_style_set(manager_object->progressbar, "list_progress"); - evas_object_size_hint_align_set(manager_object->progressbar, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(manager_object->progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_content_set(manager_object->content, manager_object->progressbar); - elm_progressbar_span_size_set(manager_object->progressbar, 250); - elm_progressbar_value_set(manager_object->progressbar, 0.0); - timer = ecore_timer_add(0.1, (Ecore_Task_Cb) _fn_pb_timer_bar, data); - elm_progressbar_unit_format_set(manager_object->progressbar, NULL); - - } else if (POPUP_MODE_REGISTER_FAILED == mode){ - switch(option) { - case POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED: - manager_object->content = elm_popup_add(manager_object->win); - evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_text_set(manager_object->content, "connman is not working now"); - Evas_Object *btn_retry = elm_button_add(manager_object->content); - elm_object_text_set(btn_retry, "Retry"); - elm_object_part_content_set(manager_object->content, "button1", btn_retry); - evas_object_smart_callback_add(btn_retry, "clicked", _retry_clicked_cb, NULL); - Evas_Object *btn_back = elm_button_add(manager_object->content); - elm_object_text_set(btn_retry, "Back"); - elm_object_part_content_set(manager_object->content, "button2", btn_back); - evas_object_smart_callback_add(btn_retry, "clicked", _back_clicked_cb, NULL); - evas_object_show(manager_object->content); - break; - - default: - manager_object->content = elm_popup_add(manager_object->win); - elm_object_text_set(manager_object->content, _("[ERROR] wlan_client func
wlan_client_register")); - Evas_Object *btn_ok = elm_button_add(manager_object->content); - elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok)); - elm_object_part_content_set(manager_object->content, "button1", btn_ok); - evas_object_smart_callback_add(btn_ok, "clicked", _ok_clicked_cb, manager_object->content); - evas_object_show(manager_object->content); - break; - } - - } else if (POPUP_MODE_POWER_ON_FAILED == mode) { - switch (option) { - case POPUP_OPTION_POWER_ON_FAILED_MOBILE_HOTSPOT: - manager_object->content = elm_popup_add(manager_object->win); - evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_text_set(manager_object->content, "Connecting Wi-Fi will turn off Mobile hotspot. Continue?"); - Evas_Object *btn_yes = elm_button_add(manager_object->content); - elm_object_text_set(btn_yes, sc(PACKAGE, I18N_TYPE_Yes)); - elm_object_part_content_set(manager_object->content, "button1", btn_yes); - evas_object_smart_callback_add(btn_yes, "clicked", _turn_off_mobileap_yes_clicked_cb, NULL); - Evas_Object *btn_no = elm_button_add(manager_object->content); - elm_object_text_set(btn_no, sc(PACKAGE, I18N_TYPE_No)); - elm_object_part_content_set(manager_object->content, "button2", btn_no); - evas_object_smart_callback_add(btn_no, "clicked", _turn_off_mobileap_no_clicked_cb, NULL); - evas_object_show(manager_object->content); - break; - default: - manager_object->content = elm_popup_add(manager_object->win); - evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_text_set(manager_object->content, "wlan_client_power_on fail"); - Evas_Object *btn_ok = elm_button_add(manager_object->content); - elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok)); - elm_object_part_content_set(manager_object->content, "button1", btn_ok); - evas_object_smart_callback_add(btn_ok, "clicked", _ok_clicked_cb, manager_object->content); - break; - } - evas_object_show(manager_object->content); - - } else if (POPUP_MODE_CONNECTING_FAILED == mode) { - manager_object->content = elm_popup_add(manager_object->win); - evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - Evas_Object *btn_ok = elm_button_add(manager_object->content); - elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok)); - elm_object_part_content_set(manager_object->content, "button1", btn_ok); - evas_object_smart_callback_add(btn_ok, "clicked", _ok_clicked_cb, manager_object->content); - - char buffer[POPUP_LAYOUT_TEXT_MAX+1]; -/* - * FIX ME LATER - * It will be fixed to use i18n function when elm_popup bug fixing work done - * ex) str = i18n_manager_get_text(I18N_TYPE_Connection_attempt...); - */ - char* str = NULL; - - switch (option) { - case POPUP_OPTION_CONNECTING_FAILED_TIMEOUT: - str = "No response from
Wi-Fi Access Point"; - break; - case POPUP_OPTION_CONNECTING_FAILED_INVALID_OPERATION: - str = "[ERROR]
wlan_client_open_connection
return INVALID OPERATION"; - break; - case POPUP_OPTION_CONNECTIONG_PASSWORD_WEP_ERROR: - str = "WEP requires 5, 10, 13, 26 letters for a password.
Please, check your input."; - break; - case POPUP_OPTION_CONNECTIONG_PASSWORD_WPAPSK_ERROR: - str = "WPA2 requires 8 - 63 letters for a password.
Please, check your input."; - break; - case POPUP_OPTION_NONE: - str = "NONE"; - break; - default: - str = "Connection attempt failed"; - break; - } - - INFO_LOG(UG_NAME_NORMAL,"popup str [%s] by option [%d]", str, option); - if(NULL != str) { - int len = strlen(str); - if(len+1 <= POPUP_LAYOUT_TEXT_MAX+1) { - snprintf(buffer, len+1, "%s", str); - } - } - - elm_object_text_set(manager_object->content, buffer); - evas_object_show(manager_object->content); - - } else if (POPUP_MODE_INPUT_FAILED == mode) { - char* text = NULL; - switch(option){ - case POPUP_OPTION_INPUT_FAILED_PROXY_IP_MISTYPE : - text = _("Please, input a valid address."); - break; - default: - text = _("Type error"); - break; - } - - manager_object->content = elm_popup_add(manager_object->win); - evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_text_set(manager_object->content, text); - Evas_Object *btn_ok = elm_button_add(manager_object->content); - elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok)); - elm_object_part_content_set(manager_object->content, "button1", btn_ok); - evas_object_smart_callback_add(btn_ok, "clicked", _ok_clicked_cb, manager_object->content); - - evas_object_show(manager_object->content); - - } else if (POPUP_MODE_PIN == mode) { - manager_object->content = elm_popup_add(manager_object->win); - evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_text_set(manager_object->content, _("Enter PIN code")); - Evas_Object *btn_cancel = elm_button_add(manager_object->content); - elm_object_text_set(btn_cancel, sc(PACKAGE, I18N_TYPE_Cancel)); - elm_object_part_content_set(manager_object->content, "button1", btn_cancel); - evas_object_smart_callback_add(btn_cancel, "clicked", _ok_clicked_cb, manager_object->content); - evas_object_show(manager_object->content); - - manager_object->progressbar = elm_progressbar_add(manager_object->content); - elm_object_style_set(manager_object->progressbar, "list_progress"); - evas_object_size_hint_align_set(manager_object->progressbar, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(manager_object->progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_progressbar_unit_format_set(manager_object->progressbar, NULL); - elm_object_content_set(manager_object->content, manager_object->progressbar); - timer = ecore_timer_add(0.1, (Ecore_Task_Cb) _fn_pb_timer_bar, manager_object->progressbar); - - } else if (POPUP_MODE_ETC) { - switch (option) { - case POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR: - manager_object->content = elm_popup_add(manager_object->win); - elm_object_text_set(manager_object->content, _("[ERROR] wlan_client func
wlan_client_get_state")); - Evas_Object *btn_ok = elm_button_add(manager_object->content); - elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok)); - elm_object_part_content_set(manager_object->content, "button1", btn_ok); - evas_object_smart_callback_add(btn_ok, "clicked", _ok_clicked_cb, manager_object->content); - evas_object_show(manager_object->content); - break; - case POPUP_OPTION_ETC_BACK_ENABLE_WHEN_CONNECTED_ERROR: - manager_object->content = elm_popup_add(manager_object->win); - evas_object_size_hint_weight_set(manager_object->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_text_set(manager_object->content, "Wi-Fi is not connected yet
Will you out of Wi-Fi?"); - Evas_Object *btn_yes = elm_button_add(manager_object->content); - elm_object_text_set(btn_yes, sc(PACKAGE, I18N_TYPE_Yes)); - elm_object_part_content_set(manager_object->content, "button1", btn_yes); - evas_object_smart_callback_add(btn_yes, "clicked", _popup_out_of_wifi_yes_cb, manager_object->content); - Evas_Object *btn_no = elm_button_add(manager_object->content); - elm_object_text_set(btn_no, sc(PACKAGE, I18N_TYPE_No)); - elm_object_part_content_set(manager_object->content, "button1", btn_no); - evas_object_smart_callback_add(btn_no, "clicked", _popup_out_of_wifi_no_cb, manager_object->content); - evas_object_show(manager_object->content); - break; - case POPUP_OPTION_NONE: - break; - default: - break; - } - } - break; - default: - if (POPUP_MODE_OFF == mode) { - if (manager_object->content) { - evas_object_hide(manager_object->content); - evas_object_del(manager_object->content); - manager_object->content = NULL; - } - } - break; - } - __COMMON_FUNC_EXIT__; - return FALSE; -} - -/** - * FIX ME LATER - * - * This function had re-factored as elm_popup's bug - * - */ -int winset_popup_mode_set(void* object, POPUP_MODES mode, POPUP_MODE_OPTIONS option) -{ - _popup_mode = mode; - _popup_option = option; - ecore_idler_add( (Ecore_Task_Cb) _winset_popup_mode_set, object); - return TRUE; -} - -POPUP_MODES winset_popup_mode_get(void* object) -{ - return manager_object->mode; -} - -int winset_popup_destroy(void* object) -{ - if (timer != NULL) { - ecore_timer_del(timer); - timer = NULL; - } - - if (NULL != manager_object->content) { - evas_object_del(manager_object->content); - manager_object->content = NULL; - } - - g_free(manager_object); - return TRUE; -} - -Evas_Object* winset_popup_content_get(void* object) -{ - return manager_object->content; -} - -int winset_popup_content_set(Evas_Object* object) -{ - manager_object->content = object; - return TRUE; -} - -int winset_popup_content_clear() -{ - evas_object_hide(manager_object->content); - evas_object_del(manager_object->content); - manager_object->content = NULL; - return TRUE; -} diff --git a/sources/ui-gadget/viewers-layout/view_detail.c b/sources/ui-gadget/viewers-layout/view_detail.c index c41bd12..023b001 100644 --- a/sources/ui-gadget/viewers-layout/view_detail.c +++ b/sources/ui-gadget/viewers-layout/view_detail.c @@ -1,752 +1,210 @@ /* - * 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. - */ +* 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 "view_detail.h" -#include "view_detail_datamodel.h" -#include "view_staticip.h" -#include "view_dhcpip.h" #include "i18nmanager.h" #include "viewer_manager.h" #include "connman-profile-manager.h" -#include "popup.h" - - -static Elm_Genlist_Item_Class grouptitle_itc ; -static Elm_Genlist_Item_Class staticip_itc ; -static Elm_Genlist_Item_Class dhcpip_itc ; -static Elm_Genlist_Item_Class seperator_itc ; -static Elm_Genlist_Item_Class description_itc ; -static Elm_Genlist_Item_Class proxy_itc ; +#include "winset_popup.h" +#include "common_utils.h" +#include "common_ip_info.h" +#include "common_eap_connect.h" +#include "common_datamodel.h" typedef struct _view_detail_data { - char *profile_name; - char *ssid; - int rssi; - int security_mode; + Evas_Object *layout; + char *ap_image_path; + view_datamodel_basic_info_t *data_object; + 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; -view_detail_data *_detail_data = NULL; - -typedef struct _view_detail_description_data { - char* title; - char* description; -} _view_detail_description_data; - - -static Evas_Object* _list = NULL; -static Elm_Object_Item* _button_forget_item = NULL; -static Elm_Object_Item* dhcpip_item = NULL; -static Elm_Object_Item* staticip_item = NULL; 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); -static void resource_remove_and_pop(void); -static void _detailview_staticip_button_cb(void* data, Evas_Object* obj, void* event_info); -static void _detailview_dhcpip_button_cb(void* data, Evas_Object* obj, void* event_info); - /////////////////////////////////////////////////////////////// // implementation /////////////////////////////////////////////////////////////// -int view_detail_current_proxy_address_set(const char* proxy_address) -{ - return view_detail_datamodel_proxy_address_set(proxy_address); -} - -const char* view_detail_current_proxy_address_get(void){ - return view_detail_datamodel_proxy_address_get(); -} - -static void _remove_all(void) -{ - __COMMON_FUNC_ENTER__; - - if(_list) { - evas_object_del(_list); - } - - if (_detail_data) { - g_free(_detail_data); - _detail_data = NULL; - } - - view_detail_datamodel_destroy(); - - __COMMON_FUNC_EXIT__; -} - -int detailview_ip_and_dns_type_set_as_static() -{ - view_detail_datamodel_ip_and_dns_type_set(IP_TYPE_STATIC_IP); - - if(NULL != dhcpip_item) { - elm_genlist_item_update(dhcpip_item); - } - if(NULL != staticip_item) { - elm_genlist_item_update(staticip_item); - } - - return TRUE; -} - -int detailview_modified_ip_address_set(char* data){ - /* data can be NULL */ - view_detail_datamodel_static_ip_address_set((const char*) data); - return TRUE; -} -int detailview_modified_gateway_address_set(char* data){ - /* data can be NULL */ - view_detail_datamodel_static_gateway_address_set((const char*) data); - return TRUE; -} -int detailview_modified_subnet_mask_set(char* data){ - /* data can be NULL */ - view_detail_datamodel_static_subnet_mask_set((const char*) data); - return TRUE; -} -int detailview_modified_dns1_address_set(char* data){ - /* data can be NULL */ - view_detail_datamodel_static_dns1_address_set((const char*) data); - return TRUE; -} -int detailview_modified_dns2_address_set(char* data){ - /* data can be NULL */ - view_detail_datamodel_static_dns2_address_set((const char*) data); - return TRUE; -} -const char* detailview_modified_ip_address_get(){ - return view_detail_datamodel_static_ip_address_get(); -} -const char* detailview_modified_gateway_address_get(){ - return view_detail_datamodel_static_gateway_address_get(); -} -const char* detailview_modified_subnet_mask_get(){ - return view_detail_datamodel_static_subnet_mask_get(); -} -const char* detailview_modified_dns1_address_get(){ - return view_detail_datamodel_static_dns1_address_get(); -} -const char* detailview_modified_dns2_address_get(){ - return view_detail_datamodel_static_dns2_address_get(); -} - -static void yes_cb(void *data, Evas_Object *obj, void *event_info) -{ - __COMMON_FUNC_ENTER__; - - if(view_detail_end == TRUE) { - return; - } - view_detail_end = TRUE; - - wlan_manager_forget(_detail_data->profile_name); - elm_naviframe_item_pop(viewer_manager_get_naviframe()); - resource_remove_and_pop(); - - __COMMON_FUNC_EXIT__; - return; -} - -static void no_cb(void *data, Evas_Object *obj, void *event_info) -{ - __COMMON_FUNC_ENTER__; - if (data) { - evas_object_del(data); - } - __COMMON_FUNC_EXIT__; -} - -static void forget_sk_cb(void *data, Evas_Object *obj, void *event_info) -{ - __COMMON_FUNC_ENTER__; - - Evas_Object* popup = elm_popup_add((Evas_Object *)data); - evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - char buffer[200]; - snprintf(buffer, sizeof(buffer), sc(PACKAGE, I18N_TYPE_Autonomous_connection_to_s_will_be_turned_off_Continue), _detail_data->ssid); - elm_object_text_set(popup, buffer); - Evas_Object *btn_yes = elm_button_add(popup); - elm_object_text_set(btn_yes, sc(PACKAGE, I18N_TYPE_Yes)); - elm_object_part_content_set(popup, "button1", btn_yes); - evas_object_smart_callback_add(btn_yes, "clicked", yes_cb, NULL); - Evas_Object *btn_no = elm_button_add(popup); - elm_object_text_set(btn_no, sc(PACKAGE, I18N_TYPE_No)); - elm_object_part_content_set(popup, "button2", btn_no); - evas_object_smart_callback_add(btn_no, "clicked", no_cb, popup); - winset_popup_content_set(popup); - - evas_object_show(popup); - - __COMMON_FUNC_EXIT__; -} - -static void resource_remove_and_pop() -{ - _remove_all(); -} - -static void detailview_sk_cb(void *data, Evas_Object *obj, void *event_info) -{ - __COMMON_FUNC_ENTER__; - - assertm_if(NULL == data, "NULL!!"); - - if (view_detail_end == TRUE) - return; - - view_detail_end = TRUE; - - view_detail_datamodel_determine_modified(_detail_data->profile_name); - - resource_remove_and_pop(); - - __COMMON_FUNC_EXIT__; -} static char* _view_detail_grouptitle_text_get(void *data, Evas_Object *obj, const char *part) { __COMMON_FUNC_ENTER__; - - assertm_if(NULL == obj, "NULL!!"); - assertm_if(NULL == part, "NULL!!"); - - if (part != NULL) { - if (!strncmp(part, "elm.text", strlen(part))) { - __COMMON_FUNC_EXIT__; - return (char*) strdup(sc(PACKAGE, I18N_TYPE_IP_address)); - } - } - - __COMMON_FUNC_EXIT__; - return NULL; -} - -static char* _view_detail_staticip_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!!"); - if (part != NULL) { - if (!strncmp(part, "elm.text", strlen(part))) { - __COMMON_FUNC_EXIT__; - return (char*) strdup(sc(PACKAGE, I18N_TYPE_Static_IP)); - } + 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))) { + ret = view_detail_datamodel_ap_name_get(detail_data->data_object); } __COMMON_FUNC_EXIT__; - return NULL; + return ret; } -static char* _view_detail_dhcpip_text_get(void *data, Evas_Object *obj, const char *part) +static Evas_Object *_view_detail_grouptitle_content_get(void *data, Evas_Object *obj, const char *part) { - __COMMON_FUNC_ENTER__; - + 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 (part != NULL) { - if (!strncmp(part, "elm.text", strlen(part))) { - __COMMON_FUNC_EXIT__; - return (char*) strdup(sc(PACKAGE, I18N_TYPE_Dynamic_IP)); - } - } - - __COMMON_FUNC_EXIT__; - return NULL; -} - -static Evas_Object *_view_detail_staticip_content_get(void *data, Evas_Object *obj, const char *part) -{ - __COMMON_FUNC_ENTER__; - if (obj == NULL || part == NULL) { - return NULL; - } - - int current_value = view_detail_datamodel_ip_and_dns_type_get(); - Evas_Object* icon = NULL; - if (!strncmp(part, "elm.icon.1", strlen(part))) { - icon = elm_radio_add(obj); - DEBUG_LOG(UG_NAME_NORMAL, "current_value [%d]", current_value); - - if (current_value == IP_TYPE_STATIC_IP) { - elm_radio_state_value_set(icon, FALSE); /* ON */ - } else { - elm_radio_state_value_set(icon, TRUE); /* OFF */ - } - } else if (!strncmp(part, "elm.icon.2", strlen(part))) { - if (current_value == IP_TYPE_STATIC_IP) { - 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)_detailview_staticip_button_cb, NULL); - evas_object_propagate_events_set(icon, EINA_FALSE); - } - return icon; + 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_icon_add(obj); + assertm_if(NULL == icon, "NULL!!"); + elm_icon_file_set(icon, detail_data->ap_image_path, NULL); + } else { + DEBUG_LOG(UG_NAME_NORMAL, "Invalid part name [%s]", part); } - __COMMON_FUNC_EXIT__; return icon; } -static Evas_Object *_view_detail_dhcpip_content_get(void *data, Evas_Object *obj, const char *part) +static void _remove_all(view_detail_data *_detail_data) { __COMMON_FUNC_ENTER__; - - if (obj == NULL || part == NULL) { - return NULL; - } - - int current_value = view_detail_datamodel_ip_and_dns_type_get(); - Evas_Object* icon = NULL; - if (!strncmp(part, "elm.icon.1", strlen(part))) { - icon = elm_radio_add(obj); - DEBUG_LOG(UG_NAME_NORMAL, "current_value [%d]", current_value); - - if (current_value == IP_TYPE_DHCP_IP) { - elm_radio_state_value_set(icon, FALSE); /* ON */ - } else { - elm_radio_state_value_set(icon, TRUE); /* OFF */ + if(_detail_data) { + evas_object_del(_detail_data->view_detail_list); + _detail_data->view_detail_list = NULL; + if (_detail_data->eap_info_list) { + eap_info_remove(_detail_data->eap_info_list); + _detail_data->eap_info_list = NULL; } - } else if (!strncmp(part, "elm.icon.2", strlen(part))) { - if (current_value == IP_TYPE_DHCP_IP) { - 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)_detailview_dhcpip_button_cb, NULL); - evas_object_propagate_events_set(icon, EINA_FALSE); - } - return icon; + + ip_info_remove(_detail_data->ip_info_list); + _detail_data->ip_info_list = NULL; + view_basic_detail_datamodel_destroy(_detail_data->data_object); + _detail_data->data_object = NULL; + g_free(_detail_data->ap_image_path); + g_free(_detail_data); + _detail_data = NULL; } __COMMON_FUNC_EXIT__; - return icon; } -static char *_view_detail_description_text_get(void *data, Evas_Object *obj, const char *part) +static void ok_cb(void *data, Evas_Object *obj, void *event_info) { __COMMON_FUNC_ENTER__; - - _view_detail_description_data* det = (_view_detail_description_data*) 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))) { - __COMMON_FUNC_EXIT__; - return strdup(det->title); - } else if(0 == strncmp("elm.text.2", part, strlen(part))) { - __COMMON_FUNC_EXIT__; - return strdup(det->description); - } else { - __COMMON_FUNC_EXIT__; - return NULL; - } -} - -static void _entry_changed_cb(void* data, Evas_Object* obj, void* event_info) -{ - if (obj == NULL) + if(view_detail_end == TRUE) { 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"); - } - - const char* txt = elm_entry_markup_to_utf8(elm_entry_entry_get(obj)); - assertm_if(NULL == txt, "NULL!!"); - - DEBUG_LOG( UG_NAME_NORMAL, "text [%s]", txt); - view_detail_current_proxy_address_set(txt); -} - -static void _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 _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 _eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) -{ - elm_entry_entry_set(data, ""); -} - -static Evas_Object *_view_detail_proxy_content_get(void *data, Evas_Object *obj, const char *part) -{ - __COMMON_FUNC_ENTER__; - - if(!strncmp(part, "elm.icon", strlen(part))) { - Evas_Object* layout = NULL; - - _view_detail_description_data* det = (_view_detail_description_data*) data; - assertm_if(NULL == det, "NULL!!"); - assertm_if(NULL == det->title, "NULL!!"); - assertm_if(NULL == obj, "NULL!!"); - - const char* proxy_addr = view_detail_current_proxy_address_get(); - assertm_if(NULL == proxy_addr, "NULL!!"); - - DEBUG_LOG(UG_NAME_NORMAL, "title [%s]", det->title); - DEBUG_LOG(UG_NAME_NORMAL, "description [%s]", proxy_addr); - - layout = elm_layout_add(obj); - if (layout) { - elm_layout_theme_set(layout, "layout", "editfield", "title"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_text_set(layout, "elm.text", det->title); - Evas_Object *entry = elm_entry_add(obj); - elm_object_part_content_set(layout, "elm.swallow.content", entry); - elm_entry_entry_set(entry, proxy_addr); - - elm_entry_single_line_set(entry, EINA_TRUE); - elm_entry_scrollable_set(entry, EINA_TRUE); - elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_NO_IMAGE); - elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_URL); - - evas_object_smart_callback_add(entry, "changed", _entry_changed_cb, layout); - evas_object_smart_callback_add(entry, "focused", _entry_focused_cb, layout); - evas_object_smart_callback_add(entry, "unfocused", _entry_unfocused_cb, layout); - elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, entry); - - __COMMON_FUNC_EXIT__; - return layout; - } } + 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; + char *temp_str = view_detail_datamodel_basic_info_profile_name_get(_detail_data->data_object); + wlan_manager_forget(temp_str); + g_free(temp_str); + _remove_all(_detail_data); + elm_naviframe_item_pop(viewer_manager_get_naviframe()); __COMMON_FUNC_EXIT__; - return NULL; - -} - -static int _genlist_item_disable_later(void* data) -{ - if(NULL != data){ - elm_genlist_item_selected_set((Elm_Object_Item*) data, FALSE); - } - return FALSE; -} -static void _detailview_description_callback(void* data, Evas_Object* obj, void* event_info) -{ - ecore_idler_add( (Ecore_Task_Cb) _genlist_item_disable_later, event_info); + return; } -static void _detailview_staticip_button_cb(void* data, Evas_Object* obj, void* event_info) +static void cancel_cb(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!!"); - - view_staticip(); - - if (dhcpip_item != NULL) { - elm_genlist_item_update(dhcpip_item); - } - if (staticip_item != NULL) { - elm_genlist_item_update(staticip_item); - } - - ecore_idler_add((Ecore_Task_Cb)_genlist_item_disable_later, event_info); + 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 _detailview_dhcpip_button_cb(void* data, Evas_Object* obj, void* event_info) +static void forget_sk_cb(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!!"); - - view_dhcpip(); - - if (dhcpip_item != NULL) { - elm_genlist_item_update(dhcpip_item); - } - if (staticip_item != NULL) { - elm_genlist_item_update(staticip_item); + view_detail_data *_detail_data = (view_detail_data *)data; + assertm_if(NULL == _detail_data, "NULL!!"); + if (!_detail_data->forget_confirm_popup) { + Evas_Object* popup = elm_popup_add(_detail_data->layout); + evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + char *temp_str = view_detail_datamodel_ap_name_get(_detail_data->data_object); + char *buffer = g_strdup_printf(sc(PACKAGE, I18N_TYPE_Autonomous_connection_to_s_will_be_turned_off_Continue), temp_str); + elm_object_text_set(popup, buffer); + g_free(buffer); + Evas_Object *btn_ok = elm_button_add(popup); + elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok)); + elm_object_part_content_set(popup, "button1", btn_ok); + evas_object_smart_callback_add(btn_ok, "clicked", ok_cb, _detail_data); + Evas_Object *btn_cancel = elm_button_add(popup); + elm_object_text_set(btn_cancel, sc(PACKAGE, I18N_TYPE_Cancel)); + elm_object_part_content_set(popup, "button2", btn_cancel); + evas_object_smart_callback_add(btn_cancel, "clicked", cancel_cb, _detail_data); + evas_object_show(popup); + _detail_data->forget_confirm_popup = popup; } - ecore_idler_add((Ecore_Task_Cb)_genlist_item_disable_later, event_info); __COMMON_FUNC_EXIT__; } -void _detailview_staticip_item_click_cb(void *data, Evas_Object *obj, void *event_info) +static void detailview_sk_cb(void *data, Evas_Object *obj, void *event_info) { __COMMON_FUNC_ENTER__; - view_detail_datamodel_ip_and_dns_type_set(IP_TYPE_STATIC_IP); - - if (dhcpip_item != NULL) { - elm_genlist_item_update(dhcpip_item); - } - if (staticip_item != NULL) { - elm_genlist_item_update(staticip_item); - } - - ecore_idler_add((Ecore_Task_Cb)_genlist_item_disable_later, event_info); - __COMMON_FUNC_EXIT__; -} + if (view_detail_end == TRUE) + return; + view_detail_end = TRUE; -void _detailview_dhcpip_item_click_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!!"); - view_detail_datamodel_ip_and_dns_type_set(IP_TYPE_DHCP_IP); + if (_detail_data->eap_info_list) + eap_info_save_data(_detail_data->eap_info_list); - if (dhcpip_item != NULL) { - elm_genlist_item_update(dhcpip_item); - } - if (staticip_item != NULL) { - elm_genlist_item_update(staticip_item); - } + ip_info_save_data(_detail_data->ip_info_list, TRUE); + _remove_all(_detail_data); - ecore_idler_add((Ecore_Task_Cb)_genlist_item_disable_later, event_info); __COMMON_FUNC_EXIT__; } -static int _add_seperator(Evas_Object* genlist) -{ - assertm_if(NULL == genlist, "NULL!!"); - - Elm_Object_Item* sep2 = elm_genlist_item_append( - genlist, - &seperator_itc, - NULL, - NULL, - ELM_GENLIST_ITEM_GROUP, - NULL, - NULL); - - assertm_if(NULL == sep2, "NULL!!"); - - elm_genlist_item_select_mode_set(sep2, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - return TRUE; -} - -static int _add_description(Evas_Object* genlist, char* title, char* description) -{ - assertm_if(NULL == genlist, "NULL!!"); - assertm_if(NULL == title, "NULL!!"); - assertm_if(NULL == description, "NULL!!"); - - _view_detail_description_data* description_data = (_view_detail_description_data*) malloc (sizeof( _view_detail_description_data)); - assertm_if(NULL == description_data, "NULL!!"); - memset(description_data, 0, sizeof(_view_detail_description_data)); - - description_data->title = strdup(title); - description_data->description = strdup(description); - - Elm_Object_Item* det = NULL; - det = elm_genlist_item_append( - genlist, - &description_itc, - description_data, - NULL, - ELM_GENLIST_ITEM_NONE, - _detailview_description_callback, - NULL); - assertm_if(NULL == det, "NULL!!"); - - elm_genlist_item_select_mode_set(det, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - return TRUE; -} - -static int _add_proxy(Evas_Object* genlist, char* title) -{ - assertm_if(NULL == genlist, "NULL!!"); - assertm_if(NULL == title, "NULL!!"); - - _view_detail_description_data* description_data = - (_view_detail_description_data*) malloc (sizeof( _view_detail_description_data)); - assertm_if(NULL == description_data, "NULL!!"); - memset(description_data, 0, sizeof(_view_detail_description_data)); - - description_data->title = strdup(title); - - Elm_Object_Item* det = NULL; - det = elm_genlist_item_append( - genlist, - &proxy_itc, - description_data, - NULL, - ELM_GENLIST_ITEM_NONE, - NULL, - NULL); - assertm_if(NULL == det, "NULL!!"); - - elm_genlist_item_select_mode_set(det, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - return TRUE; -} - -static Evas_Object* _create_list(Evas_Object* parent) -{ - assertm_if(NULL == parent, "NULL!!"); - - _list = elm_genlist_add(parent); - assertm_if(NULL == _list, "NULL!!"); - - grouptitle_itc.item_style = "grouptitle.dialogue"; - grouptitle_itc.func.text_get = _view_detail_grouptitle_text_get; - grouptitle_itc.func.content_get = NULL; - grouptitle_itc.func.state_get = NULL; - grouptitle_itc.func.del = NULL;//_view_detail_grouptitle_del; - - staticip_itc.item_style = "dialogue/1text.2icon.2"; - staticip_itc.func.text_get = _view_detail_staticip_text_get; - staticip_itc.func.content_get = _view_detail_staticip_content_get; - staticip_itc.func.state_get = NULL; - staticip_itc.func.del = NULL; - - dhcpip_itc.item_style = "dialogue/1text.2icon.2"; - dhcpip_itc.func.text_get = _view_detail_dhcpip_text_get; - dhcpip_itc.func.content_get = _view_detail_dhcpip_content_get; - dhcpip_itc.func.state_get = NULL; - dhcpip_itc.func.del = NULL; - - seperator_itc.item_style = "dialogue/seperator"; - seperator_itc.func.text_get = NULL; - seperator_itc.func.content_get = NULL; - seperator_itc.func.state_get = NULL; - seperator_itc.func.del = NULL; - - description_itc.item_style = "dialogue/2text.3"; - description_itc.func.text_get = _view_detail_description_text_get; - description_itc.func.content_get = NULL; - description_itc.func.state_get = NULL; - description_itc.func.del = NULL; - - proxy_itc.item_style = "dialogue/1icon"; - proxy_itc.func.text_get = NULL; - proxy_itc.func.content_get = _view_detail_proxy_content_get; - proxy_itc.func.state_get = NULL; - proxy_itc.func.del = NULL; - - Elm_Object_Item* sep = elm_genlist_item_append(_list, &grouptitle_itc, NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL); - elm_genlist_item_select_mode_set(sep, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - staticip_item = elm_genlist_item_append(_list, &staticip_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, _detailview_staticip_item_click_cb, NULL); - dhcpip_item = elm_genlist_item_append(_list, &dhcpip_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, _detailview_dhcpip_item_click_cb, NULL); - - _add_seperator(_list); - _add_description(_list, sc(PACKAGE, I18N_TYPE_Name), _detail_data->ssid); - - int signal_strength = wlan_manager_get_signal_strength(_detail_data->rssi); - switch (signal_strength) { - case SIGNAL_STRENGTH_TYPE_EXCELLENT: - _add_description(_list, sc(PACKAGE, I18N_TYPE_Signal_strength), sc(PACKAGE, I18N_TYPE_Excellent)); - break; - case SIGNAL_STRENGTH_TYPE_GOOD: - _add_description(_list, sc(PACKAGE, I18N_TYPE_Signal_strength), sc(PACKAGE, I18N_TYPE_Good)); - break; - case SIGNAL_STRENGTH_TYPE_WEAK: - _add_description(_list, sc(PACKAGE, I18N_TYPE_Signal_strength), sc(PACKAGE, I18N_TYPE_Week)); - break; - default: - _add_description(_list, sc(PACKAGE, I18N_TYPE_Signal_strength), "Unknown"); - break; - } - - /* Security type */ - switch (_detail_data->security_mode) { - case WLAN_SEC_MODE_NONE: - _add_description(_list, sc(PACKAGE, I18N_TYPE_Security_type), sc(PACKAGE, I18N_TYPE_No_security)); - break; - case WLAN_SEC_MODE_WEP: - _add_description(_list, sc(PACKAGE, I18N_TYPE_Security_type), sc(PACKAGE, I18N_TYPE_WEP)); - break; - case WLAN_SEC_MODE_WPA_PSK: - _add_description(_list, sc(PACKAGE, I18N_TYPE_Security_type), sc(PACKAGE, I18N_TYPE_WPA_PSK)); - break; - case WLAN_SEC_MODE_WPA2_PSK: - _add_description(_list, sc(PACKAGE, I18N_TYPE_Security_type), sc(PACKAGE, I18N_TYPE_WPA2_PSK)); - break; - case WLAN_SEC_MODE_IEEE8021X: - _add_description(_list, sc(PACKAGE, I18N_TYPE_Security_type), sc(PACKAGE, I18N_TYPE_WPA_EAP)); - break; - default: - _add_description(_list, sc(PACKAGE, I18N_TYPE_Security_type), "Unknown"); - break; - } - - /* Proxy Address */ - _add_proxy(_list, sc(PACKAGE, I18N_TYPE_Proxy_address)); - - return _list; -} - -static Evas_Object* _create_conformant(Evas_Object* parent) -{ - assertm_if(NULL == parent, "NULL!!"); - - Evas_Object* conform = NULL; - elm_win_conformant_set(parent, TRUE); - conform = elm_conformant_add(parent); - assertm_if(NULL == conform, "NULL!!"); - - elm_object_style_set(conform, "internal_layout"); - - evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(conform, EVAS_HINT_FILL, EVAS_HINT_FILL); - - evas_object_show(conform); - - return conform; -} - void view_detail(wifi_device_info_t *device_info) { __COMMON_FUNC_ENTER__; + int favourite = 0; + view_datamodel_basic_info_t *data_object = NULL; + static Elm_Genlist_Item_Class grouptitle_itc; if (device_info == NULL) { ERROR_LOG(UG_NAME_NORMAL, "Failed : device_info is NULL"); return; } - - int favourite = 0; - int ret = connman_profile_manager_check_favourite(device_info->profile_name, &favourite); - if (ret != WLAN_MANAGER_ERR_NONE) { - ERROR_LOG(UG_NAME_NORMAL, "Failed : check favourite"); - return; - } - - if (view_detail_datamodel_create(device_info->profile_name) == 0) { - ERROR_LOG(UG_NAME_NORMAL, "Failed : data model created"); - 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"); @@ -755,55 +213,67 @@ void view_detail(wifi_device_info_t *device_info) view_detail_end = FALSE; - _detail_data = (view_detail_data *) malloc(sizeof(view_detail_data)); - if (_detail_data == NULL) - return; + view_detail_data *_detail_data = (view_detail_data *)g_malloc0(sizeof(view_detail_data)); + assertm_if(NULL == _detail_data, "NULL!!"); - memset(_detail_data, 0, sizeof(view_detail_data)); - _detail_data->profile_name = strdup(device_info->profile_name); - _detail_data->ssid = strdup(device_info->ssid); - _detail_data->rssi = device_info->rssi; - _detail_data->security_mode = device_info->security_mode; + _detail_data->ap_image_path = g_strdup(device_info->ap_image_path); + _detail_data->data_object = data_object = view_basic_detail_datamodel_create(device_info->profile_name); - Evas_Object* 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); + favourite = view_detail_datamodel_is_favourite_get(data_object); - 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); + _detail_data->layout = layout = common_utils_create_conformant_layout(navi_frame); + evas_object_show(layout); + Evas_Object *conform = elm_object_part_content_get(layout, "elm.swallow.content"); + Evas_Object* detailview_list = elm_genlist_add(conform); + elm_object_style_set(detailview_list, "dialogue"); + assertm_if(NULL == detailview_list, "NULL!!"); + _detail_data->view_detail_list = detailview_list; - Evas_Object* conform = _create_conformant(layout); - assertm_if(NULL == conform, "NULL!!"); - elm_object_part_content_set(layout, "elm.swallow.content", conform); + 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; - evas_object_show(layout); + common_utils_add_dialogue_separator(detailview_list, "dialogue/separator"); - Evas_Object* detailview_list = _create_list(conform); - assertm_if(NULL == detailview_list, "NULL!!"); + /* 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); + + if (WLAN_SEC_MODE_IEEE8021X == view_detail_datamodel_sec_mode_get(data_object)) { + if (view_detail_datamodel_is_favourite_get(data_object) || + !g_strcmp0(wlan_manager_get_connected_ssid(), view_detail_datamodel_ap_name_get(data_object))) { + _detail_data->eap_info_list = eap_info_append_items(device_info->profile_name, detailview_list, PACKAGE); + } + } + + /* Append ip info list */ + _detail_data->ip_info_list = ip_info_append_items(device_info->profile_name, PACKAGE, detailview_list); + + common_utils_add_dialogue_separator(detailview_list, "dialogue/separator/end"); elm_object_content_set(conform, detailview_list); - Elm_Object_Item* navi_it = elm_naviframe_item_push(navi_frame, _detail_data->ssid, NULL, NULL, layout, NULL); + 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); - _button_forget_item = NULL; if (favourite) { Evas_Object* toolbar = elm_toolbar_add(navi_frame); elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); - _button_forget_item = elm_toolbar_item_append(toolbar, - NULL, - sc(PACKAGE, I18N_TYPE_Forget), - (Evas_Smart_Cb) forget_sk_cb, - layout); + elm_toolbar_item_append(toolbar, + NULL, + sc(PACKAGE, I18N_TYPE_Forget), + forget_sk_cb, + _detail_data); elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL), EINA_TRUE); elm_object_item_part_content_set(navi_it, "controlbar", toolbar); } Evas_Object* button_back = elm_object_item_part_content_get(navi_it, "prev_btn"); elm_object_focus_allow_set(button_back, EINA_TRUE); - evas_object_smart_callback_add(button_back, "clicked", (Evas_Smart_Cb)detailview_sk_cb, NULL); + evas_object_smart_callback_add(button_back, "clicked", detailview_sk_cb, _detail_data); __COMMON_FUNC_EXIT__; } diff --git a/sources/ui-gadget/viewers-layout/view_detail_datamodel.c b/sources/ui-gadget/viewers-layout/view_detail_datamodel.c deleted file mode 100644 index 2337f19..0000000 --- a/sources/ui-gadget/viewers-layout/view_detail_datamodel.c +++ /dev/null @@ -1,340 +0,0 @@ -/* - * 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_detail_datamodel.h" - - -struct view_detail_datamodel { - net_ip_config_type_t ip_and_dns_type_initial; - char* proxy_addr_initial; - char* ip_initial; - char* subnet_initial; - char* gateway_initial; - char* dns1_initial; - char* dns2_initial; - - net_ip_config_type_t ip_and_dns_type_current; - char* proxy_addr_current; - char* ip_current; - char* subnet_current; - char* gateway_current; - char* dns1_current; - char* dns2_current; -}; - -static struct view_detail_datamodel *manager_object = NULL; - -int view_detail_datamodel_create(const char *profile_name) -{ - __COMMON_FUNC_ENTER__; - - manager_object = g_malloc0(sizeof(struct view_detail_datamodel)); - assertm_if(NULL == manager_object, "NULL!!"); - - net_profile_info_t profile_info; - int ret = connman_profile_manager_profile_info_get(profile_name, &profile_info); - if (ret == 0) - return 0; - - manager_object->ip_and_dns_type_initial = profile_info.ProfileInfo.Wlan.net_info.IpConfigType; - manager_object->ip_and_dns_type_current = profile_info.ProfileInfo.Wlan.net_info.IpConfigType; - if (strlen(profile_info.ProfileInfo.Wlan.net_info.ProxyAddr) < 1) { - manager_object->proxy_addr_initial = strdup("0.0.0.0:80"); - manager_object->proxy_addr_current = strdup("0.0.0.0:80"); - } else { - manager_object->proxy_addr_initial = strdup(profile_info.ProfileInfo.Wlan.net_info.ProxyAddr); - manager_object->proxy_addr_current = strdup(profile_info.ProfileInfo.Wlan.net_info.ProxyAddr); - } - - manager_object->ip_initial = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4)); - manager_object->ip_current = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4)); - manager_object->subnet_initial = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4)); - manager_object->subnet_current = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4)); - manager_object->gateway_initial = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4)); - manager_object->gateway_current = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4)); - manager_object->dns1_initial = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4)); - manager_object->dns1_current = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4)); - manager_object->dns2_initial = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4)); - manager_object->dns2_current = strdup(inet_ntoa(profile_info.ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4)); - - INFO_LOG(UG_NAME_NORMAL, "ip : %s", manager_object->ip_current); - INFO_LOG(UG_NAME_NORMAL, "subnet : %s", manager_object->subnet_current); - INFO_LOG(UG_NAME_NORMAL, "gateway : %s", manager_object->gateway_current); - INFO_LOG(UG_NAME_NORMAL, "dns1 : %s", manager_object->dns1_current); - INFO_LOG(UG_NAME_NORMAL, "dns2 : %s", manager_object->dns2_current); - - __COMMON_FUNC_EXIT__; - - return 1; -} - -int view_detail_datamodel_destroy(void) -{ - __COMMON_FUNC_ENTER__; - - assertm_if(NULL == manager_object, "NULL!!"); - - g_free(manager_object->proxy_addr_initial); - g_free(manager_object->proxy_addr_current); - g_free(manager_object->ip_initial); - g_free(manager_object->ip_current); - g_free(manager_object->subnet_initial); - g_free(manager_object->subnet_current); - g_free(manager_object->gateway_initial); - g_free(manager_object->gateway_current); - g_free(manager_object->dns1_initial); - g_free(manager_object->dns1_current); - g_free(manager_object->dns2_initial); - g_free(manager_object->dns2_current); - g_free(manager_object); - - manager_object = NULL; - - __COMMON_FUNC_EXIT__; - - return 1; -} - -static int _zstrcmp(char* s, char* t) -{ - if(NULL == s && NULL == t){ - return 0; - } - if(NULL != s && NULL == t){ - return -1; - } - if(NULL == s && NULL != t){ - return 1; - } - return strcmp(s, t); -} - -int view_detail_datamodel_determine_staticip_modified(void) -{ - if(0 != _zstrcmp(manager_object->ip_initial, - manager_object->ip_current)){ - return TRUE; - } - - if(0 != _zstrcmp(manager_object->subnet_initial, - manager_object->subnet_current)){ - return TRUE; - } - - if(0 != _zstrcmp(manager_object->gateway_initial, - manager_object->gateway_current)){ - return TRUE; - } - - if(0 != _zstrcmp(manager_object->dns1_initial, - manager_object->dns1_current)){ - return TRUE; - } - - if(0 != _zstrcmp(manager_object->dns2_initial, - manager_object->dns2_current)){ - return TRUE; - } - return FALSE; -} - -void view_detail_datamodel_determine_modified(const char *profile_name) -{ - assertm_if(NULL == manager_object, "NULL!!"); - - Eina_Bool changed = EINA_FALSE; - net_profile_info_t profile; - memset(&profile, 0, sizeof(net_profile_info_t)); - - if (manager_object->ip_and_dns_type_initial != manager_object->ip_and_dns_type_current) { - profile.ProfileInfo.Wlan.net_info.IpConfigType = manager_object->ip_and_dns_type_current; - changed = EINA_TRUE; - } - - if (_zstrcmp(manager_object->proxy_addr_initial, manager_object->proxy_addr_current) != 0) { - strncpy(profile.ProfileInfo.Wlan.net_info.ProxyAddr, manager_object->proxy_addr_current, WLAN_PROXY_LEN_MAX); - changed = EINA_TRUE; - } - - if (manager_object->ip_and_dns_type_current == NET_IP_CONFIG_TYPE_STATIC) { - if (_zstrcmp(manager_object->ip_initial, manager_object->ip_current) != 0) { - inet_aton(manager_object->ip_current, &(profile.ProfileInfo.Wlan.net_info.IpAddr.Data.Ipv4)); - changed = EINA_TRUE; - } - - if (_zstrcmp(manager_object->subnet_initial, manager_object->subnet_current) != 0) { - inet_aton(manager_object->subnet_current, &(profile.ProfileInfo.Wlan.net_info.SubnetMask.Data.Ipv4)); - changed = EINA_TRUE; - } - - if (_zstrcmp(manager_object->gateway_initial, manager_object->gateway_current) != 0) { - inet_aton(manager_object->subnet_current, &(profile.ProfileInfo.Wlan.net_info.GatewayAddr.Data.Ipv4)); - changed = EINA_TRUE; - } - - if (_zstrcmp(manager_object->dns1_initial, manager_object->dns1_current) != 0) { - inet_aton(manager_object->subnet_current, &(profile.ProfileInfo.Wlan.net_info.DnsAddr[0].Data.Ipv4)); - changed = EINA_TRUE; - } - - if (_zstrcmp(manager_object->dns2_initial, manager_object->dns2_current) != 0) { - inet_aton(manager_object->subnet_current, &(profile.ProfileInfo.Wlan.net_info.DnsAddr[1].Data.Ipv4)); - changed = EINA_TRUE; - } - } - - if (changed) { - profile.ProfileInfo.Wlan.net_info.IpConfigType = manager_object->ip_and_dns_type_current; - strncpy(profile.ProfileName, profile_name, NET_PROFILE_NAME_LEN_MAX); - wlan_manager_profile_modify_by_device_info(profile); - } -} - -int view_detail_datamodel_ip_and_dns_type_set(IP_TYPES type) -{ - assertm_if(NULL == manager_object, "NULL!!"); - manager_object->ip_and_dns_type_current = type; - return TRUE; -} - -IP_TYPES view_detail_datamodel_ip_and_dns_type_get(void) -{ - assertm_if(NULL == manager_object, "NULL!!"); - return manager_object->ip_and_dns_type_current; -} - -int view_detail_datamodel_proxy_address_set(const char* proxy) -{ - assertm_if(NULL == manager_object, "NULL!!"); - g_free(manager_object->proxy_addr_current); - if(NULL != proxy) { - manager_object->proxy_addr_current = strdup(proxy); - } - return TRUE; -} - -const char* view_detail_datamodel_proxy_address_get(void) -{ - assertm_if(NULL == manager_object, "NULL!!"); - const char* ret = strdup(manager_object->proxy_addr_current); - return ret; -} - -int view_detail_datamodel_static_ip_address_set(const char* addr) -{ - assertm_if(NULL == manager_object, "NULL!!"); - g_free(manager_object->ip_current); - manager_object->ip_current=NULL; - if(NULL != addr) { - DEBUG_LOG(UG_NAME_NORMAL, "* set as [%s]", addr); - manager_object->ip_current = strdup(addr); - } - return TRUE; -} - -int view_detail_datamodel_static_gateway_address_set(const char* addr) -{ - assertm_if(NULL == manager_object, "NULL!!"); - g_free(manager_object->gateway_current); - manager_object->gateway_current = NULL; - if(NULL != addr) { - manager_object->gateway_current = strdup(addr); - } - return TRUE; -} - -int view_detail_datamodel_static_subnet_mask_set(const char* addr) -{ - assertm_if(NULL == manager_object, "NULL!!"); - g_free(manager_object->subnet_current); - manager_object->subnet_current = NULL; - if(NULL != addr) { - manager_object->subnet_current = strdup(addr); - } - return TRUE; -} - -int view_detail_datamodel_static_dns1_address_set(const char* addr) -{ - assertm_if(NULL == manager_object, "NULL!!"); - g_free(manager_object->dns1_current); - manager_object->dns1_current = NULL; - if(NULL != addr) { - manager_object->dns1_current = strdup(addr); - } - return TRUE; -} - -int view_detail_datamodel_static_dns2_address_set(const char* addr) -{ - assertm_if(NULL == manager_object, "NULL!!"); - g_free(manager_object->dns2_current); - manager_object->dns2_current = NULL; - if (NULL != addr) { - manager_object->dns2_current = strdup(addr); - } - return TRUE; -} - -char *view_detail_datamodel_static_ip_address_get(void) -{ - assertm_if(NULL == manager_object, "NULL!!"); - - return strdup(manager_object->ip_current); -} - -char *view_detail_datamodel_static_gateway_address_get(void) -{ - assertm_if(NULL == manager_object, "NULL!!"); - if (NULL == manager_object->gateway_current) { - return NULL; - } else { - return strdup(manager_object->gateway_current); - } -} - -char *view_detail_datamodel_static_subnet_mask_get(void) -{ - assertm_if(NULL == manager_object, "NULL!!"); - if (NULL == manager_object->subnet_current) { - return NULL; - } else { - return strdup(manager_object->subnet_current); - } -} - -char *view_detail_datamodel_static_dns1_address_get(void) -{ - assertm_if(NULL == manager_object, "NULL!!"); - if (NULL == manager_object->dns1_current) { - return NULL; - } else { - return strdup(manager_object->dns1_current); - } -} - -char *view_detail_datamodel_static_dns2_address_get(void) -{ - assertm_if(NULL == manager_object, "NULL!!"); - if (NULL == manager_object->dns2_current) { - return NULL; - } else { - return strdup(manager_object->dns2_current); - } -} diff --git a/sources/ui-gadget/viewers-layout/view_dhcpip.c b/sources/ui-gadget/viewers-layout/view_dhcpip.c deleted file mode 100644 index bc051c1..0000000 --- a/sources/ui-gadget/viewers-layout/view_dhcpip.c +++ /dev/null @@ -1,184 +0,0 @@ -/* - * 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 "view_dhcpip.h" -#include "i18nmanager.h" -#include "view_detail_datamodel.h" -#include "viewer_manager.h" - - -typedef struct _view_dhcpip_data{ - char* title; - char* description; -} _view_dhcpip_data; - -static Elm_Genlist_Item_Class sep_itc; -static Elm_Genlist_Item_Class itc; - -static char* _gl_listview_text_get(void *data, Evas_Object *obj, const char *part) -{ - assertm_if(NULL == data, "NULL!!"); - assertm_if(NULL == obj, "NULL!!"); - assertm_if(NULL == part, "NULL!!"); - - _view_dhcpip_data* det = (_view_dhcpip_data*) data; - - DEBUG_LOG(UG_NAME_NORMAL, "part: %s", part); - - if (0 == strncmp("elm.text.1", part, strlen(part))) { - DEBUG_LOG(UG_NAME_NORMAL, "%s", det->description); - return strdup(det->description); - } else if(0 == strncmp("elm.text.2", part, strlen(part))) { - DEBUG_LOG(UG_NAME_NORMAL, "%s", det->title); - return strdup(det->title); - } else { - return NULL; - } -} - -static void _gl_listview_del(void *data, Evas_Object *obj) -{ - __COMMON_FUNC_ENTER__; - - if (data == NULL) - return; - - _view_dhcpip_data* det = (_view_dhcpip_data*) data; - - if (det->description) - g_free(det->description); - - g_free(data); - - __COMMON_FUNC_EXIT__; -} - -static int _add_list_item(Evas_Object* view_list, char* title, char* description) -{ - assertm_if(NULL == view_list, "NULL!!"); - - _view_dhcpip_data* target = NULL; - target = (_view_dhcpip_data*) malloc(sizeof(_view_dhcpip_data)); - assertm_if(NULL == target, "NULL!!"); - memset(target, 0, sizeof(_view_dhcpip_data)); - - target->title = title; - target->description = description; - - Elm_Object_Item *it = elm_genlist_item_append( - view_list, - &itc, - target, - NULL, - ELM_GENLIST_ITEM_NONE, - NULL, - NULL); - elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - return TRUE; -} - -static Evas_Object* _create_list(Evas_Object* parent) -{ - __COMMON_FUNC_ENTER__; - - assertm_if(NULL == parent, "NULL!!"); - - Evas_Object* view_list = NULL; - view_list = elm_genlist_add(parent); - assertm_if(NULL == view_list, "NULL!!"); - - elm_genlist_mode_set(view_list, - ELM_LIST_LIMIT); - 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); - - sep_itc.item_style = "dialogue/seperator"; - sep_itc.func.text_get = NULL; - sep_itc.func.content_get = NULL; - sep_itc.func.state_get = NULL; - sep_itc.func.del = NULL; - - Elm_Object_Item* sep = NULL; - sep = elm_genlist_item_append( - view_list, - &sep_itc, - NULL, - 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); - - itc.item_style = "2text.3"; - itc.func.text_get = _gl_listview_text_get; - itc.func.content_get = NULL; - itc.func.state_get = NULL; - itc.func.del = _gl_listview_del; - - char *ip_addr = view_detail_datamodel_static_ip_address_get(); - char *subnet_addr = view_detail_datamodel_static_subnet_mask_get(); - char *gw_addr = view_detail_datamodel_static_gateway_address_get(); - char *dns1_addr = view_detail_datamodel_static_dns1_address_get(); - char *dns2_addr = view_detail_datamodel_static_dns2_address_get(); - - _add_list_item(view_list, sc(PACKAGE, I18N_TYPE_IP_address), ip_addr); - _add_list_item(view_list, sc(PACKAGE, I18N_TYPE_Subnet_mask), subnet_addr); - _add_list_item(view_list, sc(PACKAGE, I18N_TYPE_Gateway), gw_addr); - _add_list_item(view_list, sc(PACKAGE, I18N_TYPE_DNS_1), dns1_addr); - _add_list_item(view_list, sc(PACKAGE, I18N_TYPE_DNS_2), dns2_addr); - - __COMMON_FUNC_EXIT__; - - return view_list; -} - -void view_dhcpip() -{ - __COMMON_FUNC_ENTER__; - - Evas_Object* navi_frame = viewer_manager_get_naviframe(); - assertm_if(NULL == navi_frame, "NULL!!"); - - Evas_Object *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* list = _create_list(layout); - elm_object_part_content_set(layout, "elm.swallow.content", list); - evas_object_show(layout); - - Elm_Object_Item *navi_it = elm_naviframe_item_push(navi_frame, sc(PACKAGE, I18N_TYPE_Dynamic_IP), NULL, NULL, layout, NULL); - - Evas_Object* back_btn = elm_object_item_part_content_get(navi_it, "prev_btn"); - elm_object_focus_allow_set(back_btn, EINA_TRUE); - - __COMMON_FUNC_EXIT__; -} diff --git a/sources/ui-gadget/viewers-layout/view_eap.c b/sources/ui-gadget/viewers-layout/view_eap.c deleted file mode 100644 index 44d8095..0000000 --- a/sources/ui-gadget/viewers-layout/view_eap.c +++ /dev/null @@ -1,614 +0,0 @@ -/* - * 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 "view_eap.h" -#include "i18nmanager.h" -#include "wlan_manager.h" -#include "viewer_manager.h" -#include "popup.h" - - -static Elm_Genlist_Item_Class seperator_itc; -static Elm_Genlist_Item_Class eap_type_itc; -static Elm_Genlist_Item_Class eap_type_sub_itc; -static Elm_Genlist_Item_Class eap_auth_itc; -static Elm_Genlist_Item_Class eap_auth_sub_itc; -static Elm_Genlist_Item_Class eap_id_itc; -static Elm_Genlist_Item_Class eap_anonyid_itc; -static Elm_Genlist_Item_Class eap_pw_itc; - - -static int view_eap_end = TRUE; -static Elm_Object_Item *_button_done_item = NULL; -static Evas_Object *_entry[3]; -struct _Expand_List { - char depth; - char *name; - Elm_Genlist_Item_Type flags; -}; - -static struct _Expand_List list_eap_type[] = { - {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}, - {1, NULL, ELM_GENLIST_ITEM_NONE} -}; - -static struct _Expand_List 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, NULL, ELM_GENLIST_ITEM_NONE} -}; - -typedef struct _view_eap_data { - char *profile_name; - char *ssid; - int rssi; - int security_mode; -} view_eap_data; - -static int expandable_list_index = 0; -static Elm_Object_Item *eap_type_item = NULL; -static Elm_Object_Item *eap_auth_item = NULL; -static Elm_Object_Item *eap_id_item = NULL; -static Elm_Object_Item *eap_anonyid_item = NULL; -static Elm_Object_Item *eap_pw_item = NULL; - -static void _gl_eap_auth_sel(void *data, Evas_Object *obj, void *event_info); -static void view_eap_destroy(void *data); - -static Evas_Object* _create_layout(Evas_Object *parent) -{ - assertm_if(NULL == parent, "NULL!!"); - - Evas_Object *layout=NULL; - layout = elm_layout_add(parent); - assertm_if(NULL == layout, "NULL!!"); - - elm_layout_theme_set(layout, "standard", "window", "integration"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - 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"); - - return layout; -} - -static void _set_list(Evas_Object *obj, eap_type_t pre_type, eap_type_t new_type) -{ - switch (new_type) { - case EAP_SEC_TYPE_PEAP: - case EAP_SEC_TYPE_TLS: - case EAP_SEC_TYPE_TTLS: - if (pre_type > EAP_SEC_TYPE_TTLS) { - eap_auth_item = elm_genlist_item_append(obj, &eap_auth_itc, NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_auth_sel, NULL); - eap_id_item = elm_genlist_item_append(obj, &eap_id_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - eap_anonyid_item = elm_genlist_item_append(obj, &eap_anonyid_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - eap_pw_item = elm_genlist_item_append(obj, &eap_pw_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - } - break; - case EAP_SEC_TYPE_SIM: - case EAP_SEC_TYPE_AKA: - if (pre_type < EAP_SEC_TYPE_SIM) { - elm_object_item_del(eap_auth_item); - elm_object_item_del(eap_id_item); - elm_object_item_del(eap_anonyid_item); - elm_object_item_del(eap_pw_item); - } - break; - default: - break; - } -} - -static void _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 _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 _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 _eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) -{ - elm_entry_entry_set(data, ""); -} - -static void _gl_eap_type_sel(void *data, Evas_Object *obj, void *event_info) -{ - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - Eina_Bool expanded = EINA_FALSE; - if (item) - elm_genlist_item_selected_set(item, EINA_FALSE); - - expandable_list_index = 0; - - expanded = elm_genlist_item_expanded_get(item); - elm_genlist_item_expanded_set(item, !expanded); -} - -static void _gl_eap_type_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); - - int pre_index = (int)elm_object_item_data_get(parent_item); - int new_index = (int)data; - - elm_object_item_data_set(parent_item, data); - - Eina_Bool expanded = EINA_FALSE; - expanded = elm_genlist_item_expanded_get(parent_item); - elm_genlist_item_expanded_set(parent_item, !expanded); - - if (pre_index != new_index) { - _set_list(obj, pre_index, new_index); - elm_genlist_item_update(parent_item); - } -} - -static void _gl_eap_auth_sel(void *data, Evas_Object *obj, void *event_info) -{ - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - Eina_Bool expanded = EINA_FALSE; - if (item) - elm_genlist_item_selected_set(item, EINA_FALSE); - - expandable_list_index = 1; - - expanded = elm_genlist_item_expanded_get(item); - elm_genlist_item_expanded_set(item, !expanded); -} - -static void _gl_eap_auth_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); - - elm_object_item_data_set(parent_item, data); - - Eina_Bool expanded = EINA_FALSE; - expanded = elm_genlist_item_expanded_get(parent_item); - elm_genlist_item_expanded_set(parent_item, !expanded); -} - -static Evas_Object *_gl_eap_id_content_get(void *data, Evas_Object *obj, const char *part) -{ - Evas_Object* layout = NULL; - if (!strncmp(part, "elm.icon", strlen(part))) { - layout = elm_layout_add(obj); - if (layout) { - elm_layout_theme_set(layout, "layout", "editfield", "title"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_text_set(layout, "elm.text", _("ID")); - - _entry[0] = elm_entry_add(obj); - elm_object_part_content_set(layout, "elm.swallow.content", _entry[0]); - elm_entry_single_line_set(_entry[0], EINA_TRUE); - elm_entry_scrollable_set(_entry[0], EINA_TRUE); - elm_entry_entry_set(_entry[0], ""); - - evas_object_smart_callback_add(_entry[0], "changed", _entry_changed_cb, layout); - evas_object_smart_callback_add(_entry[0], "focused", _entry_focused_cb, layout); - evas_object_smart_callback_add(_entry[0], "unfocused", _entry_unfocused_cb, layout); - elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[0]); - } - } - - return layout; -} - -static Evas_Object *_gl_eap_anonyid_content_get(void *data, Evas_Object *obj, const char *part) -{ - Evas_Object* layout = NULL; - if (!strncmp(part, "elm.icon", strlen(part))) { - layout = elm_layout_add(obj); - if (layout) { - elm_layout_theme_set(layout, "layout", "editfield", "title"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_text_set(layout, "elm.text", _("Anonymous ID")); - - _entry[1] = elm_entry_add(obj); - elm_object_part_content_set(layout, "elm.swallow.content", _entry[1]); - elm_entry_single_line_set(_entry[1], EINA_TRUE); - elm_entry_scrollable_set(_entry[1], EINA_TRUE); - elm_entry_entry_set(_entry[1], ""); - - evas_object_smart_callback_add(_entry[1], "changed", _entry_changed_cb, layout); - evas_object_smart_callback_add(_entry[1], "focused", _entry_focused_cb, layout); - evas_object_smart_callback_add(_entry[1], "unfocused", _entry_unfocused_cb, layout); - elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[1]); - } - } - - return layout; -} - -static Evas_Object *_gl_eap_pw_content_get(void *data, Evas_Object *obj, const char *part) -{ - Evas_Object* layout = NULL; - if (!strncmp(part, "elm.icon", strlen(part))) { - layout = elm_layout_add(obj); - if (layout) { - elm_layout_theme_set(layout, "layout", "editfield", "title"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_text_set(layout, "elm.text", _("Password")); - - _entry[2] = elm_entry_add(obj); - elm_object_part_content_set(layout, "elm.swallow.content", _entry[2]); - elm_entry_single_line_set(_entry[2], EINA_TRUE); - elm_entry_scrollable_set(_entry[2], EINA_TRUE); - elm_entry_entry_set(_entry[2], ""); - - evas_object_smart_callback_add(_entry[2], "changed", _entry_changed_cb, layout); - evas_object_smart_callback_add(_entry[2], "focused", _entry_focused_cb, layout); - evas_object_smart_callback_add(_entry[2], "unfocused", _entry_unfocused_cb, layout); - elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[2]); - } - } - - return layout; -} - - -static char *_gl_eap_type_text_get(void *data, Evas_Object *obj, const char *part) -{ - if (!strcmp(part, "elm.text.1")) { - return strdup(list_eap_type[(int)data].name); - } else if (!strcmp(part, "elm.text.2")) { - return strdup("EAP Type"); - } - - return NULL; -} - -static char *_gl_eap_subtext_get(void *data, Evas_Object *obj, const char *part) -{ - if (!strcmp(part, "elm.text")) { - return strdup(list_eap_type[(int)data].name); - } - - return NULL; -} - -static char *_gl_eap_auth_text_get(void *data, Evas_Object *obj, const char *part) -{ - if (!strcmp(part, "elm.text.1")) { - return strdup(list_eap_auth[(int)data].name); - } else if (!strcmp(part, "elm.text.2")) { - return strdup("Authentication Type"); - } - - return NULL; -} - -static char *_gl_eap_auth_subtext_get(void *data, Evas_Object *obj, const char *part) -{ - if (!strcmp(part, "elm.text")) { - return strdup(list_eap_auth[(int)data].name); - } - - return NULL; -} - -static void _gl_exp(void *data, Evas_Object *obj, void *event_info) -{ - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - 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; - INFO_LOG(UG_NAME_RESP, "depth = %d", expandable_list_index); - switch (expandable_list_index) { - case 0: - while(list_eap_type[i].name != NULL) { - elm_genlist_item_append(gl, &eap_type_sub_itc, (void*)i, item, list_eap_type[i].flags, _gl_eap_type_sub_sel, (void*)i); - i++; - } - break; - case 1: - while(list_eap_auth[i].name != NULL) { - elm_genlist_item_append(gl, &eap_auth_sub_itc, (void*)i, item, list_eap_auth[i].flags, _gl_eap_auth_sub_sel, (void*)i); - 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 Evas_Object* _create_list(Evas_Object* parent) -{ - assertm_if(NULL == parent, "NULL!!"); - - Evas_Object* view_list = elm_genlist_add(parent); - assertm_if(NULL == view_list, "NULL!!"); - - seperator_itc.item_style = "dialogue/seperator"; - seperator_itc.func.text_get = NULL; - seperator_itc.func.content_get = NULL; - seperator_itc.func.state_get = NULL; - seperator_itc.func.del = NULL; - Elm_Object_Item* sep = elm_genlist_item_append(view_list, &seperator_itc, - NULL, 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); - - eap_type_itc.item_style = "dialogue/2text.2/expandable"; - eap_type_itc.func.text_get = _gl_eap_type_text_get; - eap_type_itc.func.content_get = NULL; - eap_type_itc.func.state_get = NULL; - eap_type_itc.func.del = NULL; - eap_type_item = elm_genlist_item_append(view_list, &eap_type_itc, - NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_type_sel, NULL); - - elm_object_item_data_set(eap_type_item, (void*)0); - - eap_type_sub_itc.item_style = "dialogue/1text/expandable2"; - eap_type_sub_itc.func.text_get = _gl_eap_subtext_get; - eap_type_sub_itc.func.content_get = NULL; - eap_type_sub_itc.func.state_get = NULL; - eap_type_sub_itc.func.del = NULL; - - eap_auth_itc.item_style = "dialogue/2text.2/expandable"; - eap_auth_itc.func.text_get = _gl_eap_auth_text_get; - eap_auth_itc.func.content_get = NULL; - eap_auth_itc.func.state_get = NULL; - eap_auth_itc.func.del = NULL; - eap_auth_item = elm_genlist_item_append(view_list, &eap_auth_itc, - NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_auth_sel, NULL); - - eap_auth_sub_itc.item_style = "dialogue/1text/expandable2"; - eap_auth_sub_itc.func.text_get = _gl_eap_auth_subtext_get; - eap_auth_sub_itc.func.content_get = NULL; - eap_auth_sub_itc.func.state_get = NULL; - eap_auth_sub_itc.func.del = NULL; - - eap_id_itc.item_style = "dialogue/1icon"; - eap_id_itc.func.text_get = NULL; - eap_id_itc.func.content_get = _gl_eap_id_content_get; - eap_id_itc.func.state_get = NULL; - eap_id_itc.func.del = NULL; - eap_id_item = elm_genlist_item_append(view_list, &eap_id_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - - eap_anonyid_itc.item_style = "dialogue/1icon"; - eap_anonyid_itc.func.text_get = NULL; - eap_anonyid_itc.func.content_get = _gl_eap_anonyid_content_get; - eap_anonyid_itc.func.state_get = NULL; - eap_anonyid_itc.func.del = NULL; - eap_anonyid_item = elm_genlist_item_append(view_list, &eap_anonyid_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - - eap_pw_itc.item_style = "dialogue/1icon"; - eap_pw_itc.func.text_get = NULL; - eap_pw_itc.func.content_get = _gl_eap_pw_content_get; - eap_pw_itc.func.state_get = NULL; - eap_pw_itc.func.del = NULL; - eap_pw_item = elm_genlist_item_append(view_list, &eap_pw_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - - evas_object_smart_callback_add(view_list, "expanded", _gl_exp, view_list); - evas_object_smart_callback_add(view_list, "contracted", _gl_con, view_list); - - return view_list; -} - -void view_eap_back(void *data, Evas_Object *obj, void *event_info) -{ - __COMMON_FUNC_ENTER__; - - if(view_eap_end == TRUE) { - return; - } - view_eap_end = TRUE; - - view_eap_destroy(data); - - viewer_manager_set_enabled_list_click(EINA_TRUE); - - __COMMON_FUNC_EXIT__; -} - -void view_eap_done(void *data, Evas_Object *obj, void *event_info) -{ - __COMMON_FUNC_ENTER__; - - if(view_eap_end == TRUE) { - return; - } - view_eap_end = TRUE; - - char* str_id = NULL; - char* str_anonyid = NULL; - char* str_pw = NULL; - - net_wifi_connection_info_t conn_info; - int sel_index = (int)elm_object_item_data_get(eap_type_item); - switch (sel_index) { - case EAP_SEC_TYPE_PEAP: - conn_info.security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X; - //conn_info.security_info.authentication.eap.eap_type = WLAN_SEC_EAP_TYPE_PEAP; - - connman_request_connection_open_hidden_ap(&conn_info); - break; - case EAP_SEC_TYPE_TLS: - conn_info.security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X; - //conn_info.security_info.authentication.eap.eap_type = WLAN_SEC_EAP_TYPE_TLS; - - str_id = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[0])); - str_anonyid = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[1])); - str_pw = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[2])); - - connman_request_connection_open_hidden_ap(&conn_info); - break; - case EAP_SEC_TYPE_TTLS: - conn_info.security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X; - //conn_info.security_info.authentication.eap.eap_type = WLAN_SEC_EAP_TYPE_TTLS; - - str_id = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[0])); - str_anonyid = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[1])); - str_pw = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[2])); - - connman_request_connection_open_hidden_ap(&conn_info); - break; - case EAP_SEC_TYPE_SIM: - conn_info.security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X; - //conn_info.security_info.authentication.eap.eap_type = WLAN_SEC_EAP_TYPE_SIM; - - connman_request_connection_open_hidden_ap(&conn_info); - break; - case EAP_SEC_TYPE_AKA: - conn_info.security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X; - //conn_info.security_info.authentication.eap.eap_type = WLAN_SEC_EAP_TYPE_AKA; - - connman_request_connection_open_hidden_ap(&conn_info); - break; - - default: - break; - } - - view_eap_destroy(data); - - elm_naviframe_item_pop(viewer_manager_get_naviframe()); - - __COMMON_FUNC_EXIT__; -} - -void view_eap(wifi_device_info_t *device_info) -{ - __COMMON_FUNC_ENTER__; - - if (device_info == NULL) { - ERROR_LOG(UG_NAME_NORMAL, "Failed : device_info is NULL"); - return; - } - - Evas_Object* navi_frame = viewer_manager_get_naviframe(); - if (navi_frame == NULL) { - ERROR_LOG(UG_NAME_NORMAL, "Failed : get naviframe"); - return; - } - - view_eap_end = FALSE; - - view_eap_data * eap_data = (view_eap_data *) malloc(sizeof(view_eap_data)); - memset(eap_data, 0, sizeof(view_eap_data)); - eap_data->profile_name = strdup(device_info->profile_name); - eap_data->security_mode = device_info->security_mode; - - Evas_Object *layout =_create_layout(navi_frame); - if (layout == NULL) - return; - - Evas_Object* conform = elm_conformant_add(navi_frame); - elm_object_style_set(conform, "internal_layout"); - elm_object_part_content_set(layout, "elm.swallow.content", conform); - evas_object_show(conform); - - Evas_Object* list = _create_list(navi_frame); - assertm_if(NULL == list, "NULL!!"); - - elm_object_content_set(conform, list); - - Elm_Object_Item *navi_it = elm_naviframe_item_push(navi_frame, device_info->ssid, NULL, NULL, layout, NULL); - - Evas_Object *toolbar = elm_toolbar_add(navi_frame); - elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); - - _button_done_item = elm_toolbar_item_append(toolbar, - NULL, - sc(PACKAGE, I18N_TYPE_Done), - (Evas_Smart_Cb) view_eap_done, - eap_data); - elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL), EINA_TRUE); - elm_object_item_part_content_set(navi_it, "controlbar", toolbar); - - Evas_Object* button_back = elm_object_item_part_content_get(navi_it, "prev_btn"); - elm_object_focus_allow_set(button_back, EINA_TRUE); - evas_object_smart_callback_add(button_back, "clicked", (Evas_Smart_Cb)view_eap_back, eap_data); - - evas_object_show(layout); - __COMMON_FUNC_EXIT__; -} - -static void view_eap_destroy(void *data) -{ - if (_entry[0]) { - evas_object_smart_callback_del(_entry[0], "changed", _entry_changed_cb); - evas_object_smart_callback_del(_entry[0], "focused", _entry_focused_cb); - evas_object_smart_callback_del(_entry[0], "unfocused", _entry_unfocused_cb); - _entry[0] = NULL; - } - - if (_entry[1]) { - evas_object_smart_callback_del(_entry[1], "changed", _entry_changed_cb); - evas_object_smart_callback_del(_entry[1], "focused", _entry_focused_cb); - evas_object_smart_callback_del(_entry[1], "unfocused", _entry_unfocused_cb); - _entry[1] = NULL; - } - - if (_entry[2]) { - evas_object_smart_callback_del(_entry[2], "changed", _entry_changed_cb); - evas_object_smart_callback_del(_entry[2], "focused", _entry_focused_cb); - evas_object_smart_callback_del(_entry[2], "unfocused", _entry_unfocused_cb); - _entry[2] = NULL; - } - - if (data != NULL) { - g_free(data); - } -} diff --git a/sources/ui-gadget/viewers-layout/view_ime_hidden.c b/sources/ui-gadget/viewers-layout/view_ime_hidden.c index 8eba0ad..235c9d4 100644 --- a/sources/ui-gadget/viewers-layout/view_ime_hidden.c +++ b/sources/ui-gadget/viewers-layout/view_ime_hidden.c @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -21,842 +24,153 @@ #include "i18nmanager.h" #include "wlan_manager.h" #include "viewer_manager.h" -#include "popup.h" - - -static Elm_Genlist_Item_Class seperator_itc; -static Elm_Genlist_Item_Class itc; -static Elm_Genlist_Item_Class type_sel_itc; -static Elm_Genlist_Item_Class type_itc; -static Elm_Genlist_Item_Class password_itc; -static Elm_Genlist_Item_Class eap_itc, eap_auth_itc, eap_id_itc, eap_anonyid_itc, eap_pw_itc; -static Elm_Genlist_Item_Class eap_sub_itc, eap_auth_sub_itc; - -static int view_ime_hidden_end = TRUE; -static Evas_Object *_button_save = NULL; -static Evas_Object *_entry[4]; -struct _Expand_List { - char depth; - char *name; - Elm_Genlist_Item_Type flags; -}; - -static struct _Expand_List list_sec_type[] = { - {1, "Public", ELM_GENLIST_ITEM_NONE}, - {1, "WEP", ELM_GENLIST_ITEM_NONE}, - {1, "WPA/WPA2 PSK", ELM_GENLIST_ITEM_NONE}, - {1, "802.1x Enterprise", ELM_GENLIST_ITEM_NONE}, - {1, "802.1x Dynamic WEP", ELM_GENLIST_ITEM_NONE}, - {1, NULL, ELM_GENLIST_ITEM_NONE} +#include "common_utils.h" + +struct hiddep_ap_popup_data { + Evas_Object *win; + const char *str_pkg_name; + char *ssid; + Evas_Object *popup_conformant; + Evas_Object *popup_entry_lyt; + Evas_Object *progress_popup; }; -static struct _Expand_List list_eap_type[] = { - {1, "PEAP", ELM_GENLIST_ITEM_NONE}, - {1, "TLS", ELM_GENLIST_ITEM_NONE}, - {1, "TTLS", ELM_GENLIST_ITEM_NONE}, - {1, "AKA", ELM_GENLIST_ITEM_NONE}, - {1, NULL, ELM_GENLIST_ITEM_NONE} -}; - -static struct _Expand_List 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, NULL, ELM_GENLIST_ITEM_NONE} -}; - -static int expandable_list_index = 0; -static Elm_Object_Item* security_type_item = NULL; -static Elm_Object_Item* eap_items[5+1] = {NULL, }; - -/* static */ -static void _gl_sel(void *data, Evas_Object *obj, void *event_info); -static void view_ime_hidden_destroy(); +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); - - -/* implementation */ -static Evas_Object* _create_layout(Evas_Object *parent) -{ - assertm_if(NULL == parent, "NULL!!"); - - Evas_Object *layout=NULL; - layout = elm_layout_add(parent); - assertm_if(NULL == layout, "NULL!!"); - - elm_layout_theme_set(layout, "standard", "window", "integration"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - 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"); - - return layout; -} - -static void _network_name_entry_changed_cb(void* data, Evas_Object* obj, void* event_info) +hiddep_ap_popup_data_t *view_hidden_ap_popup_create(Evas_Object *win_main, const char *str_pkg_name) { __COMMON_FUNC_ENTER__; - 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"); - } - - const char* txt = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[0])); - int len = 0; - - if(txt) { - len = strlen(txt); - if(len > 0) { - elm_object_disabled_set(_button_save, EINA_FALSE); - } else { - elm_object_disabled_set(_button_save, EINA_TRUE); - } - } else { - ERROR_LOG(UG_NAME_NORMAL, "Err!"); - } + 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 = (hiddep_ap_popup_data_t *)g_malloc0(sizeof(hiddep_ap_popup_data_t)); + popup_btn_info_t popup_btn_data; + common_utils_entry_info_t entry_info; + Evas_Object *conformant = NULL; + conformant = elm_conformant_add(win_main); + elm_win_conformant_set(win_main, EINA_TRUE); + elm_win_resize_object_add(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); + + Evas_Object *content = elm_layout_add(conformant); + elm_object_content_set(conformant, content); + + 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(content, &popup_btn_data); + + elm_object_content_set(content, passpopup); + + 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); + + common_utils_set_entry_info(&entry_info, sc(str_pkg_name,I18N_TYPE_Enter_Ssid) , "", sc(str_pkg_name, I18N_TYPE_Ssid), ELM_INPUT_PANEL_LAYOUT_URL); + Evas_Object *ly_editfield = common_utils_add_edit_box(box, &entry_info); + evas_object_show(ly_editfield); + + elm_box_pack_end(box, ly_editfield); + + 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_conformant = conformant; + hidden_ap_popup_data->popup_entry_lyt = ly_editfield; + Evas_Object *popup_entry = common_utils_entry_layout_get_entry(ly_editfield); + elm_object_focus_set(popup_entry, EINA_TRUE); __COMMON_FUNC_EXIT__; -} - -static void _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 _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 _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 _eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) -{ - elm_entry_entry_set(data, ""); -} -static void _gl_eap_sel(void *data, Evas_Object *obj, void *event_info) -{ - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - Eina_Bool expanded = EINA_FALSE; - if (item) - elm_genlist_item_selected_set(item, EINA_FALSE); - - expandable_list_index = 1; - - expanded = elm_genlist_item_expanded_get(item); - elm_genlist_item_expanded_set(item, !expanded); + return hidden_ap_popup_data; } -static void _gl_eap_type_sel(void *data, Evas_Object *obj, void *event_info) +void view_hidden_ap_popup_destroy(hiddep_ap_popup_data_t *popup_data) { - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - Elm_Object_Item *parent_item = elm_genlist_item_parent_get(item); - - elm_object_item_data_set(parent_item, data); - - Eina_Bool expanded = EINA_FALSE; - expanded = elm_genlist_item_expanded_get(parent_item); - elm_genlist_item_expanded_set(parent_item, !expanded); -} - -static void _gl_eap_auth_sel(void *data, Evas_Object *obj, void *event_info) -{ - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - Eina_Bool expanded = EINA_FALSE; - if (item) - elm_genlist_item_selected_set(item, EINA_FALSE); - - expandable_list_index = 2; - - expanded = elm_genlist_item_expanded_get(item); - elm_genlist_item_expanded_set(item, !expanded); -} - -static void _gl_eap_auth_type_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); - - elm_object_item_data_set(parent_item, data); - - Eina_Bool expanded = EINA_FALSE; - expanded = elm_genlist_item_expanded_get(parent_item); - elm_genlist_item_expanded_set(parent_item, !expanded); -} - -static void _set_list(Evas_Object *obj, hidden_ap_security_type_t prev_type, hidden_ap_security_type_t new_type) -{ - switch (new_type) { - case HIDDEN_AP_SECURITY_PUBLIC: - if (prev_type < HIDDEN_AP_SECURITY_ENTERPRISE) { - elm_object_item_del(elm_genlist_last_item_get(obj)); - } else { - int i = 0; - while (eap_items[i]) { - elm_object_item_del(eap_items[i]); - i++; - } - } - break; - case HIDDEN_AP_SECURITY_WEP: - if (prev_type == HIDDEN_AP_SECURITY_PUBLIC) { - elm_genlist_item_append(obj, &password_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - } else if (prev_type == HIDDEN_AP_SECURITY_WPAPSK) { - } else { - int i = 0; - while (eap_items[i]) { - elm_object_item_del(eap_items[i]); - i++; - } - - elm_genlist_item_append(obj, &password_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - } - break; - case HIDDEN_AP_SECURITY_WPAPSK: - if (prev_type == HIDDEN_AP_SECURITY_PUBLIC) { - elm_genlist_item_append(obj, &password_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - } else if (prev_type == HIDDEN_AP_SECURITY_WEP) { - } else { - int i = 0; - while (eap_items[i]) { - elm_object_item_del(eap_items[i]); - i++; - } - - elm_genlist_item_append(obj, &password_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - } - break; - case HIDDEN_AP_SECURITY_ENTERPRISE: - if (prev_type == HIDDEN_AP_SECURITY_PUBLIC) { - eap_items[0] = elm_genlist_item_append(obj, &eap_itc, - NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_sel, NULL); - eap_items[1] = elm_genlist_item_append(obj, &eap_auth_itc, - NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_auth_sel, NULL); - eap_items[2] = elm_genlist_item_append(obj, &eap_id_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - eap_items[3] = elm_genlist_item_append(obj, &eap_anonyid_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - eap_items[4] = elm_genlist_item_append(obj, &eap_pw_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - } else if (prev_type == HIDDEN_AP_SECURITY_DYNAMICWEP) { - } else { - elm_object_item_del(elm_genlist_last_item_get(obj)); - - eap_items[0] = elm_genlist_item_append(obj, &eap_itc, - NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_sel, NULL); - eap_items[1] = elm_genlist_item_append(obj, &eap_auth_itc, - NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_auth_sel, NULL); - eap_items[2] = elm_genlist_item_append(obj, &eap_id_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - eap_items[3] = elm_genlist_item_append(obj, &eap_anonyid_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - eap_items[4] = elm_genlist_item_append(obj, &eap_pw_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - } - break; - case HIDDEN_AP_SECURITY_DYNAMICWEP: - if (prev_type == HIDDEN_AP_SECURITY_PUBLIC) { - eap_items[0] = elm_genlist_item_append(obj, &eap_itc, - NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_sel, NULL); - eap_items[1] = elm_genlist_item_append(obj, &eap_auth_itc, - NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_auth_sel, NULL); - eap_items[2] = elm_genlist_item_append(obj, &eap_id_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - eap_items[3] = elm_genlist_item_append(obj, &eap_anonyid_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - eap_items[4] = elm_genlist_item_append(obj, &eap_pw_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - } else if (prev_type == HIDDEN_AP_SECURITY_ENTERPRISE) { - } else { - elm_object_item_del(elm_genlist_last_item_get(obj)); - - eap_items[0] = elm_genlist_item_append(obj, &eap_itc, - NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_sel, NULL); - eap_items[1] = elm_genlist_item_append(obj, &eap_auth_itc, - NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_eap_auth_sel, NULL); - eap_items[2] = elm_genlist_item_append(obj, &eap_id_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - eap_items[3] = elm_genlist_item_append(obj, &eap_anonyid_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - eap_items[4] = elm_genlist_item_append(obj, &eap_pw_itc, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - } - break; - default: - break; - } -} - -static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part) -{ - assertm_if(NULL == data, "NULL!!"); - assertm_if(NULL == obj, "NULL!!"); - assertm_if(NULL == part, "NULL!!"); - - Evas_Object* layout = NULL; - - DEBUG_LOG(UG_NAME_NORMAL, "part [%s]", part); - - if (!strncmp(part, "elm.icon", strlen(part))) { - layout = elm_layout_add(obj); - if (layout) { - elm_layout_theme_set(layout, "layout", "editfield", "title"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_text_set(layout, "elm.text", _("Network name")); - - _entry[0] = elm_entry_add(obj); - elm_object_part_content_set(layout, "elm.swallow.content", _entry[0]); - elm_entry_single_line_set(_entry[0], EINA_TRUE); - elm_entry_scrollable_set(_entry[0], EINA_TRUE); - - evas_object_smart_callback_add(_entry[0], "changed", _network_name_entry_changed_cb, layout); - evas_object_smart_callback_add(_entry[0], "focused", _entry_focused_cb, layout); - evas_object_smart_callback_add(_entry[0], "unfocused", _entry_unfocused_cb, layout); - elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[0]); - } - } - - return layout; -} - -static Evas_Object *_gl_pw_content_get(void *data, Evas_Object *obj, const char *part) -{ - Evas_Object* layout = NULL; - if (!strncmp(part, "elm.icon", strlen(part))) { - layout = elm_layout_add(obj); - if (layout) { - elm_layout_theme_set(layout, "layout", "editfield", "title"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_text_set(layout, "elm.text", _("Password")); - - _entry[1] = elm_entry_add(obj); - elm_object_part_content_set(layout, "elm.swallow.content", _entry[1]); - elm_entry_single_line_set(_entry[1], EINA_TRUE); - elm_entry_scrollable_set(_entry[1], EINA_TRUE); - elm_entry_entry_set(_entry[1], ""); - - evas_object_smart_callback_add(_entry[1], "changed", _entry_changed_cb, layout); - evas_object_smart_callback_add(_entry[1], "focused", _entry_focused_cb, layout); - evas_object_smart_callback_add(_entry[1], "unfocused", _entry_unfocused_cb, layout); - elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[1]); - } - } - - return layout; -} - -static Evas_Object *_gl_eap_id_content_get(void *data, Evas_Object *obj, const char *part) -{ - Evas_Object* layout = NULL; - if (!strncmp(part, "elm.icon", strlen(part))) { - layout = elm_layout_add(obj); - if (layout) { - elm_layout_theme_set(layout, "layout", "editfield", "title"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_text_set(layout, "elm.text", _("ID")); - - _entry[1] = elm_entry_add(obj); - elm_object_part_content_set(layout, "elm.swallow.content", _entry[1]); - elm_entry_single_line_set(_entry[1], EINA_TRUE); - elm_entry_scrollable_set(_entry[1], EINA_TRUE); - elm_entry_entry_set(_entry[1], ""); - - evas_object_smart_callback_add(_entry[1], "changed", _entry_changed_cb, layout); - evas_object_smart_callback_add(_entry[1], "focused", _entry_focused_cb, layout); - evas_object_smart_callback_add(_entry[1], "unfocused", _entry_unfocused_cb, layout); - elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[1]); - } - } - - return layout; -} - -static Evas_Object *_gl_eap_anonyid_content_get(void *data, Evas_Object *obj, const char *part) -{ - Evas_Object* layout = NULL; - if (!strncmp(part, "elm.icon", strlen(part))) { - layout = elm_layout_add(obj); - if (layout) { - elm_layout_theme_set(layout, "layout", "editfield", "title"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_text_set(layout, "elm.text", _("Anonymous ID")); - - _entry[2] = elm_entry_add(obj); - elm_object_part_content_set(layout, "elm.swallow.content", _entry[2]); - elm_entry_single_line_set(_entry[2], EINA_TRUE); - elm_entry_scrollable_set(_entry[2], EINA_TRUE); - elm_entry_entry_set(_entry[2], ""); - - evas_object_smart_callback_add(_entry[2], "changed", _entry_changed_cb, layout); - evas_object_smart_callback_add(_entry[2], "focused", _entry_focused_cb, layout); - evas_object_smart_callback_add(_entry[2], "unfocused", _entry_unfocused_cb, layout); - elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[2]); - } - } - - return layout; -} - -static Evas_Object *_gl_eap_pw_content_get(void *data, Evas_Object *obj, const char *part) -{ - Evas_Object* layout = NULL; - if (!strncmp(part, "elm.icon", strlen(part))) { - layout = elm_layout_add(obj); - if (layout) { - elm_layout_theme_set(layout, "layout", "editfield", "title"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_text_set(layout, "elm.text", _("Password")); - - _entry[3] = elm_entry_add(obj); - elm_object_part_content_set(layout, "elm.swallow.content", _entry[3]); - elm_entry_single_line_set(_entry[3], EINA_TRUE); - elm_entry_scrollable_set(_entry[3], EINA_TRUE); - elm_entry_entry_set(_entry[3], ""); - - evas_object_smart_callback_add(_entry[3], "changed", _entry_changed_cb, layout); - evas_object_smart_callback_add(_entry[3], "focused", _entry_focused_cb, layout); - evas_object_smart_callback_add(_entry[3], "unfocused", _entry_unfocused_cb, layout); - elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry[3]); - } - } - - return layout; -} - -static char *_gl_text_get(void *data, Evas_Object *obj, const char *part) -{ - if (!strcmp(part, "elm.text.1")) { - return strdup(list_sec_type[(int)data].name); - } else if (!strcmp(part, "elm.text.2")) { - return strdup("Security"); - } - - return NULL; -} - -static char *_gl_subtext_get(void *data, Evas_Object *obj, const char *part) -{ - if (!strcmp(part, "elm.text")) { - return strdup(list_sec_type[(int)data].name); - } - - return NULL; -} - -static char *_gl_eap_text_get(void *data, Evas_Object *obj, const char *part) -{ - if (!strcmp(part, "elm.text.1")) { - return strdup(list_eap_type[(int)data].name); - } else if (!strcmp(part, "elm.text.2")) { - return strdup("EAP Type"); - } - - return NULL; -} - -static char *_gl_eap_subtext_get(void *data, Evas_Object *obj, const char *part) -{ - if (!strcmp(part, "elm.text")) { - return strdup(list_eap_type[(int)data].name); - } - - return NULL; -} - -static char *_gl_eap_auth_text_get(void *data, Evas_Object *obj, const char *part) -{ - if (!strcmp(part, "elm.text.1")) { - return strdup(list_eap_auth[(int)data].name); - } else if (!strcmp(part, "elm.text.2")) { - return strdup("Authentication Type"); - } - - return NULL; -} - -static char *_gl_eap_auth_subtext_get(void *data, Evas_Object *obj, const char *part) -{ - if (!strcmp(part, "elm.text")) { - return strdup(list_eap_auth[(int)data].name); - } - - return NULL; -} - -static void _gl_type_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); - - int prev_index = (int)elm_object_item_data_get(parent_item); - int new_index = (int)data; - - INFO_LOG(UG_NAME_RESP, "prev index[%d], new index[%d]", prev_index, new_index); - - elm_object_item_data_set(parent_item, data); - - Eina_Bool expanded = EINA_FALSE; - expanded = elm_genlist_item_expanded_get(parent_item); - elm_genlist_item_expanded_set(parent_item, !expanded); - - if (prev_index != new_index) { - _set_list(obj, prev_index, new_index); - elm_genlist_item_update(parent_item); + if (!popup_data) { + INFO_LOG(UG_NAME_ERR, "Invalid argument passed."); + return; } -} -static void _gl_sel(void *data, Evas_Object *obj, void *event_info) -{ - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - Eina_Bool expanded = EINA_FALSE; - if (item) - elm_genlist_item_selected_set(item, EINA_FALSE); - - expandable_list_index = 0; - - expanded = elm_genlist_item_expanded_get(item); - elm_genlist_item_expanded_set(item, !expanded); -} + evas_object_del(popup_data->popup_conformant); + popup_data->popup_conformant = NULL; -static void _gl_exp(void *data, Evas_Object *obj, void *event_info) -{ - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - Evas_Object *gl = elm_object_item_widget_get(item); - if (gl == NULL) { - ERROR_LOG(UG_NAME_NORMAL, "gl is NULL"); - return; - } + evas_object_del(popup_data->progress_popup); + popup_data->progress_popup = NULL; - evas_object_focus_set(gl, EINA_TRUE); - - int i = 0; - INFO_LOG(UG_NAME_RESP, "depth = %d", expandable_list_index); - switch (expandable_list_index) { - case 0: - while(list_sec_type[i].name != NULL) { - elm_genlist_item_append(gl, &type_itc, (void*)i, item, list_sec_type[i].flags, _gl_type_sel, (void*)i); - i++; - } - break; - case 1: - while(list_eap_type[i].name != NULL) { - elm_genlist_item_append(gl, &eap_sub_itc, (void*)i, item, list_eap_type[i].flags, _gl_eap_type_sel, (void*)i); - i++; - } - break; - case 2: - while(list_eap_auth[i].name != NULL) { - elm_genlist_item_append(gl, &eap_auth_sub_itc, (void*)i, item, list_eap_auth[i].flags, _gl_eap_auth_type_sel, (void*)i); - i++; - } - break; - } -} + g_free(popup_data->ssid); + g_free(popup_data); -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); -} + /* A delay is needed to get the smooth Input panel closing animation effect */ + ecore_timer_add(0.1, _enable_scan_updates_cb, NULL); -static Evas_Object* _create_list(Evas_Object* parent) -{ - assertm_if(NULL == parent, "NULL!!"); - - Evas_Object* view_list = elm_genlist_add(parent); - assertm_if(NULL == view_list, "NULL!!"); - - //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); - - seperator_itc.item_style = "dialogue/seperator"; - seperator_itc.func.text_get = NULL; - seperator_itc.func.content_get = NULL; - seperator_itc.func.state_get = NULL; - seperator_itc.func.del = NULL; - Elm_Object_Item* sep = elm_genlist_item_append(view_list, &seperator_itc, - NULL, 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); - - itc.item_style = "1icon"; - itc.func.text_get = NULL; - itc.func.content_get = _gl_content_get; - itc.func.state_get = NULL; - itc.func.del = NULL; - elm_genlist_item_append(view_list, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - - type_sel_itc.item_style = "dialogue/2text.2/expandable"; - type_sel_itc.func.text_get = _gl_text_get; - type_sel_itc.func.content_get = NULL; - type_sel_itc.func.state_get = NULL; - type_sel_itc.func.del = NULL; - security_type_item = elm_genlist_item_append(view_list, &type_sel_itc, - NULL, NULL, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL); - - elm_object_item_data_set(security_type_item, (void*)0); - - type_itc.item_style = "dialogue/1text/expandable2"; - type_itc.func.text_get = _gl_subtext_get; - type_itc.func.content_get = NULL; - type_itc.func.state_get = NULL; - type_itc.func.del = NULL; - - /* Set Password Item Class for WEP, WPA/PSK */ - password_itc.item_style = "dialogue/1icon"; - password_itc.func.text_get = NULL; - password_itc.func.content_get = _gl_pw_content_get; - password_itc.func.state_get = NULL; - password_itc.func.del = NULL; - - /* Set EAP Item Class for 802.1x Enterprise, Dynamic WEP */ - eap_itc.item_style = "dialogue/2text.2/expandable"; - eap_itc.func.text_get = _gl_eap_text_get; - eap_itc.func.content_get = NULL; - eap_itc.func.state_get = NULL; - eap_itc.func.del = NULL; - eap_sub_itc.item_style = "dialogue/1text/expandable2"; - eap_sub_itc.func.text_get = _gl_eap_subtext_get; - eap_sub_itc.func.content_get = NULL; - eap_sub_itc.func.state_get = NULL; - eap_sub_itc.func.del = NULL; - - eap_auth_itc.item_style = "dialogue/2text.2/expandable"; - eap_auth_itc.func.text_get = _gl_eap_auth_text_get; - eap_auth_itc.func.content_get = NULL; - eap_auth_itc.func.state_get = NULL; - eap_auth_itc.func.del = NULL; - eap_auth_sub_itc.item_style = "dialogue/1text/expandable2"; - eap_auth_sub_itc.func.text_get = _gl_eap_auth_subtext_get; - eap_auth_sub_itc.func.content_get = NULL; - eap_auth_sub_itc.func.state_get = NULL; - eap_auth_sub_itc.func.del = NULL; - - eap_id_itc.item_style = "dialogue/1icon"; - eap_id_itc.func.text_get = NULL; - eap_id_itc.func.content_get = _gl_eap_id_content_get; - eap_id_itc.func.state_get = NULL; - eap_id_itc.func.del = NULL; - - eap_anonyid_itc.item_style = "dialogue/1icon"; - eap_anonyid_itc.func.text_get = NULL; - eap_anonyid_itc.func.content_get = _gl_eap_anonyid_content_get; - eap_anonyid_itc.func.state_get = NULL; - eap_anonyid_itc.func.del = NULL; - - eap_pw_itc.item_style = "dialogue/1icon"; - eap_pw_itc.func.text_get = NULL; - eap_pw_itc.func.content_get = _gl_eap_pw_content_get; - eap_pw_itc.func.state_get = NULL; - eap_pw_itc.func.del = NULL; - - evas_object_smart_callback_add(view_list, "expanded", _gl_exp, view_list); - evas_object_smart_callback_add(view_list, "contracted", _gl_con, view_list); - - return view_list; + return; } -void view_ime_back(void *data, Evas_Object *obj, void *event_info) +const char *view_ime_hidden_popup_get_ssid(hiddep_ap_popup_data_t *popup_data) { - __COMMON_FUNC_ENTER__; - - if(view_ime_hidden_end == TRUE) { - return; + if (!popup_data) { + INFO_LOG(UG_NAME_ERR, "Invalid argument passed."); + return NULL; } - view_ime_hidden_end = TRUE; - - - view_ime_hidden_destroy(); - - viewer_manager_set_enabled_list_click(EINA_TRUE); - viewer_manager_set_enabled_list_update(EINA_TRUE); - elm_naviframe_item_pop(viewer_manager_get_naviframe()); - - __COMMON_FUNC_EXIT__; + return popup_data->ssid; } -void view_ime_done(void *data, Evas_Object *obj, void *event_info) +static void view_hidden_ap_popup_ok_cb(void *data, Evas_Object *obj, void *event_info) { - __COMMON_FUNC_ENTER__; - - if(view_ime_hidden_end == TRUE) { - return; - } - view_ime_hidden_end = TRUE; + 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 != connman_request_specific_scan(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 { + popup_data->ssid = entry_txt; - if(NULL == elm_entry_entry_get(_entry[0])) { - view_ime_hidden_end = FALSE; - return; - } + /* Show progress idication popup */ + popup_data->progress_popup = common_utils_show_info_ok_popup(popup_data->win, popup_data->str_pkg_name, "Please Wait..."); - char* str_ssid = NULL; - char* str_id = NULL; - char* str_anonyid = NULL; - char* str_pw = NULL; + evas_object_del(popup_data->popup_conformant); + popup_data->popup_conformant = NULL; - str_ssid = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[0])); - int ssid_len = strlen(str_ssid); - if (ssid_len == 0 || ssid_len > 32) { - winset_popup_simple_set("SSID can be up to 32 letters.
Check your input."); - view_ime_hidden_end = FALSE; - return; + /* A delay is needed to get the smooth Input panel closing animation effect */ + ecore_timer_add(0.1, _enable_scan_updates_cb, NULL); } - net_wifi_connection_info_t conn_info; - strncpy(conn_info.essid, str_ssid, NET_WLAN_ESSID_LEN); - INFO_LOG(UG_NAME_REQ, "ssid = %s", conn_info.essid); - - int sel_index = (int)elm_object_item_data_get(security_type_item); - switch (sel_index) { - case HIDDEN_AP_SECURITY_PUBLIC: - conn_info.security_info.sec_mode = WLAN_SEC_MODE_NONE; - - connman_request_connection_open_hidden_ap(&conn_info); - break; - case HIDDEN_AP_SECURITY_WEP: - conn_info.security_info.sec_mode = WLAN_SEC_MODE_WEP; - str_pw = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[1])); - strncpy(conn_info.security_info.authentication.wep.wepKey, str_pw, NETPM_WLAN_MAX_WEP_KEY_LEN); - conn_info.security_info.authentication.wep.wepKey[NETPM_WLAN_MAX_WEP_KEY_LEN] = '\0'; - INFO_LOG(UG_NAME_REQ, "pw = %s", conn_info.security_info.authentication.wep.wepKey); - - connman_request_connection_open_hidden_ap(&conn_info); - break; - case HIDDEN_AP_SECURITY_WPAPSK: - conn_info.security_info.sec_mode = WLAN_SEC_MODE_WPA_PSK; //WLAN_SEC_MODE_WPA2_PSK - str_pw = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[1])); - strncpy(conn_info.security_info.authentication.psk.pskKey, str_pw, NETPM_WLAN_MAX_PSK_PASSPHRASE_LEN); - conn_info.security_info.authentication.psk.pskKey[NETPM_WLAN_MAX_PSK_PASSPHRASE_LEN] = '\0'; - INFO_LOG(UG_NAME_REQ, "pw = %s", conn_info.security_info.authentication.psk.pskKey); - - connman_request_connection_open_hidden_ap(&conn_info); - break; - - /* TODO : EAP authentication. */ - case HIDDEN_AP_SECURITY_ENTERPRISE: - case HIDDEN_AP_SECURITY_DYNAMICWEP: - conn_info.security_info.sec_mode = WLAN_SEC_MODE_IEEE8021X; - str_id = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[1])); - str_anonyid = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[2])); - str_pw = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry[3])); - INFO_LOG(UG_NAME_REQ, "id = %s", str_id); - INFO_LOG(UG_NAME_REQ, "anonyid = %s", str_anonyid); - INFO_LOG(UG_NAME_REQ, "pw = %s", str_pw); - break; - - default: - break; - } - - view_ime_hidden_destroy(); - - viewer_manager_set_enabled_list_click(EINA_TRUE); - viewer_manager_set_enabled_list_update(EINA_TRUE); - - elm_naviframe_item_pop(viewer_manager_get_naviframe()); - - __COMMON_FUNC_EXIT__; + return; } -void view_ime_hidden() +static void view_hidden_ap_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info) { - __COMMON_FUNC_ENTER__; - - view_ime_hidden_end = FALSE; - - Evas_Object* navi_frame = viewer_manager_get_naviframe(); - assertm_if(NULL == navi_frame, "NULL!!"); - - Evas_Object *layout =_create_layout(navi_frame); - if (layout == NULL) - return; - - /* Add Conformant */ - Evas_Object* conform = elm_conformant_add(navi_frame); - elm_object_style_set(conform, "internal_layout"); - elm_object_part_content_set(layout, "elm.swallow.content", conform); - evas_object_show(conform); - - Evas_Object* list = _create_list(navi_frame); - assertm_if(NULL == list, "NULL!!"); - - elm_object_content_set(conform, list); - - Elm_Object_Item *navi_it = elm_naviframe_item_push(navi_frame, sc(PACKAGE, I18N_TYPE_Hidden_AP), NULL, NULL, layout, NULL); - - _button_save = elm_button_add(navi_frame); - elm_object_style_set(_button_save, "naviframe/title/default"); - elm_object_text_set(_button_save, sc(PACKAGE, I18N_TYPE_Save)); - evas_object_smart_callback_add(_button_save, "clicked", (Evas_Smart_Cb) view_ime_done, NULL); - elm_object_item_part_content_set(navi_it, "title_left_btn", _button_save); - elm_object_disabled_set(_button_save, EINA_TRUE); - - Evas_Object *button_cancel = elm_button_add(navi_frame); - elm_object_style_set(button_cancel, "naviframe/title/default"); - elm_object_text_set(button_cancel, sc(PACKAGE, I18N_TYPE_Cancel)); - evas_object_smart_callback_add(button_cancel, "clicked", (Evas_Smart_Cb) view_ime_back, NULL); - elm_object_item_part_content_set(navi_it, "title_right_btn", button_cancel); - - evas_object_show(layout); - __COMMON_FUNC_EXIT__; + 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 void view_ime_hidden_destroy() +static Eina_Bool _enable_scan_updates_cb(void *data) { - if (_entry[0]) { - evas_object_smart_callback_del(_entry[0], "changed", _network_name_entry_changed_cb); - evas_object_smart_callback_del(_entry[0], "focused", _entry_focused_cb); - evas_object_smart_callback_del(_entry[0], "unfocused", _entry_unfocused_cb); - _entry[0] = NULL; - } + /* Lets enable the scan updates */ + wlan_manager_enable_scan_result_update(); - if (_entry[1]) { - evas_object_smart_callback_del(_entry[1], "changed", _entry_changed_cb); - evas_object_smart_callback_del(_entry[1], "focused", _entry_focused_cb); - evas_object_smart_callback_del(_entry[1], "unfocused", _entry_unfocused_cb); - _entry[1] = NULL; - } - - if (_entry[2]) { - evas_object_smart_callback_del(_entry[2], "changed", _entry_changed_cb); - evas_object_smart_callback_del(_entry[2], "focused", _entry_focused_cb); - evas_object_smart_callback_del(_entry[2], "unfocused", _entry_unfocused_cb); - _entry[2] = NULL; - } - - if (_entry[3]) { - evas_object_smart_callback_del(_entry[3], "changed", _entry_changed_cb); - evas_object_smart_callback_del(_entry[3], "focused", _entry_focused_cb); - evas_object_smart_callback_del(_entry[3], "unfocused", _entry_unfocused_cb); - _entry[3] = NULL; - } + return ECORE_CALLBACK_CANCEL; } diff --git a/sources/ui-gadget/viewers-layout/view_ime_password.c b/sources/ui-gadget/viewers-layout/view_ime_password.c deleted file mode 100644 index 632d00f..0000000 --- a/sources/ui-gadget/viewers-layout/view_ime_password.c +++ /dev/null @@ -1,430 +0,0 @@ -/* - * 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 "view_ime_password.h" -#include "i18nmanager.h" -#include "wlan_manager.h" -#include "viewer_manager.h" -#include "popup.h" - - -static Elm_Genlist_Item_Class itc; -static Elm_Genlist_Item_Class show_pw_itc; -static Elm_Genlist_Item_Class wps_itc; -static Elm_Genlist_Item_Class wps_sep_itc; - -static Evas_Object* button_done = NULL; -static Evas_Object* _entry = NULL; -static int view_ime_password_end = TRUE; - -typedef struct _view_ime_password_data { - char *profile_name; - int security_mode; - int wps_mode; -} view_ime_password_data; -view_ime_password_data *_password_data = NULL; - - -static void _entry_changed_cb(void* data, Evas_Object* obj, void* event_info) -{ - __COMMON_FUNC_ENTER__; - - 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"); - } - - const char* txt = elm_entry_markup_to_utf8(elm_entry_entry_get(obj)); - int len = 0; - - if (txt != NULL) { - INFO_LOG(UG_NAME_NORMAL, "* text [%s]", txt); - len = strlen(txt); - - if (_password_data->security_mode == WLAN_SEC_MODE_WEP) { - if (len > 0) { - elm_object_disabled_set(button_done, EINA_FALSE); - } else { - elm_object_disabled_set(button_done, EINA_TRUE); - } - } else { - if (len > 7 && len < 64) { - elm_object_disabled_set(button_done, EINA_FALSE); - } else { - elm_object_disabled_set(button_done, EINA_TRUE); - } - } - } else { - ERROR_LOG(UG_NAME_NORMAL, "Err!"); - } - - __COMMON_FUNC_EXIT__; -} - -static void _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 _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 _eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) -{ - elm_entry_entry_set(data, ""); -} - -static int _genlist_item_disable_later(void* data) -{ - if(NULL != data) { - elm_genlist_item_selected_set((Elm_Object_Item*) data, FALSE); - } - return FALSE; -} - -static void _wps_btn_cb(void* data, Evas_Object* obj, void* event_info) -{ - __COMMON_FUNC_ENTER__; - - if (_password_data == NULL) - return; - - int ret = wlan_manager_request_wps_connection(_password_data->profile_name); - if (ret == WLAN_MANAGER_ERR_NONE) { - viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); - viewer_manager_item_radio_mode_set(NULL, viewer_manager_current_selected_item_get(), VIEWER_ITEM_RADIO_MODE_WPS_CONNECTING); - winset_popup_mode_set((void *)_password_data->profile_name, POPUP_MODE_PBC, POPUP_OPTION_NONE); - __COMMON_FUNC_EXIT__; - } - - ecore_idler_add( (Ecore_Task_Cb) _genlist_item_disable_later, event_info); - - __COMMON_FUNC_EXIT__; -} - -static void _show_pw_changed_cb(void *data, Evas_Object *obj, void *event_info) -{ - if (obj == NULL) - return; - - Eina_Bool state = elm_check_state_get(obj); - elm_entry_password_set(_entry, !state); -} - -static Evas_Object *_content_get(void *data, Evas_Object *obj, const char *part) -{ - Evas_Object *layout = NULL; - assertm_if(NULL == part, "NULL!!"); - - DEBUG_LOG(UG_NAME_NORMAL, "part [%s]", part); - - if (!strncmp(part, "elm.icon", strlen(part))) { - layout = elm_layout_add(obj); - if (layout) { - elm_layout_theme_set(layout, "layout", "editfield", "title"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - _entry = elm_entry_add(obj); - elm_object_part_content_set(layout, "elm.swallow.content", _entry); - elm_object_part_text_set(layout, "elm.text", sc(PACKAGE, I18N_TYPE_Input_password)); - elm_entry_entry_set(_entry, ""); - - evas_object_smart_callback_add(_entry, "changed", _entry_changed_cb, layout); - evas_object_smart_callback_add(_entry, "focused", _entry_focused_cb, layout); - evas_object_smart_callback_add(_entry, "unfocused", _entry_unfocused_cb, layout); - elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry); - - elm_entry_password_set(_entry, TRUE); - elm_entry_input_panel_layout_set(_entry, ELM_INPUT_PANEL_LAYOUT_URL); - evas_object_show(_entry); - evas_object_show(layout); - elm_object_focus_set(layout, EINA_TRUE); - } - } - - return layout; -} - -static Evas_Object *_show_pw_content_get(void *data, Evas_Object *obj, const char *part) -{ - Evas_Object *check = NULL; - - if (!strncmp(part, "elm.icon", strlen(part))) { - check = elm_check_add(obj); - elm_object_text_set(check, sc(PACKAGE, 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", _show_pw_changed_cb, obj); - } - - return check; -} - -static Evas_Object *_wps_content_get(void *data, Evas_Object *obj, const char *part) -{ - if (obj == NULL) - return NULL; - - Evas_Object* btn = NULL; - - if(!strncmp(part, "elm.icon", strlen(part))) { - btn = elm_button_add(obj); - elm_object_text_set(btn, "WPS connection"); - } - - return btn; -} - -static Evas_Object* _create_list(Evas_Object* parent) -{ - assertm_if(NULL == parent, "NULL!!"); - - Evas_Object *list = elm_genlist_add(parent); - elm_genlist_mode_set(list, ELM_LIST_LIMIT); - 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); - - itc.item_style = "1icon"; - itc.func.text_get = NULL; - itc.func.content_get = _content_get; - itc.func.state_get = NULL; - itc.func.del = NULL; - - WLAN_MANAGER_EAP_TYPES det = WLAN_MANAGER_EAP_TYPE_NONE; - - INFO_LOG(UG_NAME_SCAN, "WlanSecMode %d", _password_data->security_mode); - if (_password_data->security_mode == WLAN_SEC_MODE_IEEE8021X) { - det =WLAN_MANAGER_EAP_TYPE_ERROR; - } else { - det = WLAN_MANAGER_EAP_TYPE_NONE; - } - - INFO_LOG(UG_NAME_SCAN, "EAP Type %d", det); - switch (det) { - case WLAN_MANAGER_EAP_TYPE_NONE: - elm_genlist_item_append(list, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - break; - case WLAN_MANAGER_EAP_TYPE_ERROR: - break; - default: - INFO_LOG(UG_NAME_SCAN, "EAP Type error"); - break; - } - - show_pw_itc.item_style = "1text.1icon.2"; - show_pw_itc.func.text_get = NULL; - show_pw_itc.func.content_get = _show_pw_content_get; - show_pw_itc.func.state_get = NULL; - show_pw_itc.func.del = NULL; - Elm_Object_Item *item = elm_genlist_item_append(list, &show_pw_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - if (_password_data->wps_mode) { - wps_sep_itc.item_style = "dialogue/separator/20"; - wps_sep_itc.func.text_get = NULL; - wps_sep_itc.func.content_get = NULL; - wps_sep_itc.func.state_get = NULL; - wps_sep_itc.func.del = NULL; - elm_genlist_item_append(list, &wps_sep_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - - wps_itc.item_style = "dialogue/bg/1icon"; - wps_itc.func.text_get = NULL; - wps_itc.func.content_get = _wps_content_get; - wps_itc.func.state_get = NULL; - wps_itc.func.del = NULL; - elm_genlist_item_append(list, &wps_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, _wps_btn_cb, NULL); - } - - return list; -} - -static void view_ime_password_back(void *data, Evas_Object *obj, void *event_info) -{ - __COMMON_FUNC_ENTER__; - - if(view_ime_password_end == TRUE) - return; - - view_ime_password_end = TRUE; - - viewer_manager_set_enabled_list_click(EINA_TRUE); - viewer_manager_set_enabled_list_update(EINA_TRUE); - - view_ime_password_destroy(); - - __COMMON_FUNC_EXIT__; -} - -static void view_ime_password_done(void *data, Evas_Object *obj, void *event_info) -{ - __COMMON_FUNC_ENTER__; - - if(view_ime_password_end == TRUE) { - return; - } - view_ime_password_end = TRUE; - - int ret = WLAN_MANAGER_ERR_UNKNOWN; - wlan_manager_password_data* param = (wlan_manager_password_data*) g_malloc0(sizeof(wlan_manager_password_data)); - param->wlan_eap_type = _password_data->security_mode; - - int nLen = 0; - const char* szPassword = NULL; - switch (param->wlan_eap_type) { - case WLAN_SEC_MODE_WEP: - szPassword = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry)); - nLen = strlen(szPassword); - - if (nLen == 5 || nLen == 13 || nLen == 26 || nLen == 10) { - INFO_LOG(UG_NAME_NORMAL, "password = [%s]", szPassword); - } else { - winset_popup_mode_set(NULL, POPUP_MODE_CONNECTING_FAILED, POPUP_OPTION_CONNECTIONG_PASSWORD_WEP_ERROR); - view_ime_password_end = FALSE; - return; - } - - param->password = strdup(szPassword); - viewer_manager_item_radio_mode_all_reset(); - viewer_manager_item_radio_mode_set(NULL, viewer_manager_current_selected_item_get(), VIEWER_ITEM_RADIO_MODE_CONNECTING); - viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); - - ret = wlan_manager_connect_with_password(_password_data->profile_name, _password_data->security_mode, param); - break; - case WLAN_SEC_MODE_WPA_PSK: - case WLAN_SEC_MODE_WPA2_PSK: - szPassword = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry)); - nLen = strlen(szPassword); - - if (nLen < 8 || nLen > 63) { - winset_popup_mode_set(NULL, POPUP_MODE_CONNECTING_FAILED, POPUP_OPTION_CONNECTIONG_PASSWORD_WPAPSK_ERROR); - view_ime_password_end = FALSE; - return; - } else { - INFO_LOG(UG_NAME_NORMAL, "password = [%s]", szPassword); - } - - param->password = strdup(szPassword); - viewer_manager_item_radio_mode_all_reset(); - viewer_manager_item_radio_mode_set(NULL, viewer_manager_current_selected_item_get(), VIEWER_ITEM_RADIO_MODE_CONNECTING); - viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); - - ret = wlan_manager_connect_with_password(_password_data->profile_name, _password_data->security_mode, param); - break; - default: - break; - } - - switch (ret) { - case WLAN_MANAGER_ERR_NONE: - INFO_LOG(UG_NAME_SCAN, "connect with password comp"); - break; - default: - ERROR_LOG(UG_NAME_SCAN, "wlan error %d", ret); - viewer_manager_refresh(TRUE); - break; - } - - view_ime_password_destroy(); - - __COMMON_FUNC_EXIT__; -} - -void view_ime_password(wifi_device_info_t *device_info) -{ - __COMMON_FUNC_ENTER__; - view_ime_password_end = FALSE; - - Evas_Object *navi_frame = viewer_manager_get_naviframe(); - if (navi_frame == NULL) - return; - - _password_data = (view_ime_password_data *) malloc(sizeof(view_ime_password_data)); - if (_password_data == NULL) - return; - - memset(_password_data, 0, sizeof(view_ime_password_data)); - _password_data->profile_name = strdup(device_info->profile_name); - _password_data->security_mode = device_info->security_mode; - _password_data->wps_mode = device_info->wps_mode; - - Evas_Object* layout = elm_layout_add(navi_frame); - elm_layout_theme_set(layout, "standard", "window", "integration"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - 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"); - - Evas_Object* conform = elm_conformant_add(navi_frame); - elm_object_style_set(conform, "internal_layout"); - elm_object_part_content_set(layout, "elm.swallow.content", conform); - - Evas_Object* list = _create_list(navi_frame); - elm_object_content_set(conform, list); - - elm_naviframe_prev_btn_auto_pushed_set(navi_frame, EINA_FALSE); - Elm_Object_Item *navi_it = elm_naviframe_item_push(navi_frame, sc(PACKAGE, I18N_TYPE_Password), NULL, NULL, layout, NULL); - elm_naviframe_prev_btn_auto_pushed_set(navi_frame, EINA_TRUE); - - Evas_Object* button_back = elm_button_add(navi_frame); - elm_object_style_set(button_back, "naviframe/title/default"); - elm_object_text_set(button_back, sc(PACKAGE, I18N_TYPE_Back)); - evas_object_smart_callback_add(button_back, "clicked", view_ime_password_back, NULL); - elm_object_item_part_content_set(navi_it, "title_left_btn", button_back); - - button_done = elm_button_add(navi_frame); - elm_object_style_set(button_done, "naviframe/title/default"); - elm_object_text_set(button_done, sc(PACKAGE, I18N_TYPE_Done)); - evas_object_smart_callback_add(button_done, "clicked", (Evas_Smart_Cb) view_ime_password_done, NULL); - elm_object_item_part_content_set(navi_it, "title_right_btn", button_done); - - evas_object_show(layout); - - __COMMON_FUNC_EXIT__; -} - -void view_ime_password_destroy() -{ - if (_entry) { - evas_object_smart_callback_del(_entry, "changed", _entry_changed_cb); - evas_object_smart_callback_del(_entry, "focused", _entry_focused_cb); - evas_object_smart_callback_del(_entry, "unfocused", _entry_unfocused_cb); - _entry = NULL; - } - - if (_password_data) { - g_free(_password_data); - _password_data = NULL; - } - - elm_naviframe_item_pop(viewer_manager_get_naviframe()); -} diff --git a/sources/ui-gadget/viewers-layout/view_staticip.c b/sources/ui-gadget/viewers-layout/view_staticip.c deleted file mode 100644 index 36fd679..0000000 --- a/sources/ui-gadget/viewers-layout/view_staticip.c +++ /dev/null @@ -1,513 +0,0 @@ -/* - * 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 "view_staticip.h" -#include "view_detail.h" -#include "i18nmanager.h" -#include "view_detail_datamodel.h" -#include "popup.h" - - -static char* guide_text_ip = NULL; -static char* guide_text_subnet = NULL; -static char* guide_text_gateway = NULL; -static char* guide_text_dns1 = NULL; -static char* guide_text_dns2 = NULL; - -static int view_staticip_end = TRUE; - -static Elm_Genlist_Item_Class ip_itc; -static Elm_Genlist_Item_Class sep_itc; - -typedef enum VIEW_STATICIP_TYPES -{ - VIEW_STATICIP_TYPE_IP, - VIEW_STATICIP_TYPE_SUBNET, - VIEW_STATICIP_TYPE_GATEWAY, - VIEW_STATICIP_TYPE_DNS1, - VIEW_STATICIP_TYPE_DNS2, - -} VIEW_STATICIP_TYPES; - -typedef struct _view_staticip_description_data -{ - char* title; - int tag; -} _view_staticip_description_data; -///////////////////////////////////////////////////////////////// - -///////////////////////////////////////////////////////////////// -// implementations -///////////////////////////////////////////////////////////////// -static Elm_Object_Item* _add_list_item(Evas_Object* list, - VIEW_STATICIP_TYPES tag, - char* title) -{ - _view_staticip_description_data* data = NULL; - - data = (_view_staticip_description_data*) malloc ( - sizeof( _view_staticip_description_data)); - assertm_if(NULL == data, "NULL!!"); - memset(data, 0, sizeof(_view_staticip_description_data)); - - data->title = strdup(title); - data->tag = tag; - - Elm_Object_Item* det = NULL; - det = elm_genlist_item_append( - list, - &ip_itc, - data, - NULL, - ELM_GENLIST_ITEM_NONE, - NULL, - NULL); - assertm_if(NULL == det, "NULL!!"); - if (det == NULL) { - g_free(data->title); - g_free(data); - } - - return det; -} - -static void _entry_changed_cb(void* data, Evas_Object* obj, void* event_info) -{ - if (obj == NULL || view_staticip_end == TRUE) - 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"); - } - - const char* txt = elm_entry_markup_to_utf8(elm_entry_entry_get(obj)); - assertm_if(NULL == txt, "NULL!!"); - DEBUG_LOG( UG_NAME_NORMAL, "text [%s]", txt); - - _view_staticip_description_data* det = - (_view_staticip_description_data*) data; - - switch(det->tag) { - case VIEW_STATICIP_TYPE_IP: - view_detail_datamodel_static_ip_address_set(txt); - break; - case VIEW_STATICIP_TYPE_SUBNET: - view_detail_datamodel_static_subnet_mask_set(txt); - break; - case VIEW_STATICIP_TYPE_GATEWAY: - view_detail_datamodel_static_gateway_address_set(txt); - break; - case VIEW_STATICIP_TYPE_DNS1: - view_detail_datamodel_static_dns1_address_set(txt); - break; - case VIEW_STATICIP_TYPE_DNS2: - view_detail_datamodel_static_dns2_address_set(txt); - break; - } -} - -static void _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 _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 _eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) -{ - elm_entry_entry_set(data, ""); -} - -static Evas_Object *_view_staticip_content_get(void *data, Evas_Object *obj, const char *part) -{ - __COMMON_FUNC_ENTER__; - - Evas_Object* layout = NULL; - - assertm_if(NULL == part, "NULL!!"); - DEBUG_LOG(UG_NAME_NORMAL, "part [%s]", part); - - if(!strncmp(part, "elm.icon", strlen(part))) { - _view_staticip_description_data* det = - (_view_staticip_description_data*) data; - - layout = elm_layout_add(obj); - if (layout) { - elm_layout_theme_set(layout, "layout", "editfield", "title"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - Evas_Object *entry = elm_entry_add(obj); - elm_object_part_content_set(layout, "elm.swallow.content", entry); - elm_object_part_text_set(layout, "elm.text", det->title); - elm_entry_single_line_set(entry, EINA_TRUE); - elm_entry_scrollable_set(entry, EINA_TRUE); - - const char* txt = NULL; - switch(det->tag) { - case VIEW_STATICIP_TYPE_IP: - txt = view_detail_datamodel_static_ip_address_get(); - DEBUG_LOG(UG_NAME_NORMAL, "* IP [%s]", txt); - g_free(guide_text_ip); - guide_text_ip = g_strdup(txt); - break; - case VIEW_STATICIP_TYPE_SUBNET: - txt = view_detail_datamodel_static_subnet_mask_get(); - DEBUG_LOG(UG_NAME_NORMAL, "* SUBNET [%s]", txt); - g_free(guide_text_subnet); - guide_text_subnet = g_strdup(txt); - break; - case VIEW_STATICIP_TYPE_GATEWAY: - txt = view_detail_datamodel_static_gateway_address_get(); - DEBUG_LOG(UG_NAME_NORMAL, "* GATEWAY [%s]", txt); - g_free(guide_text_gateway); - guide_text_gateway = g_strdup(txt); - break; - case VIEW_STATICIP_TYPE_DNS1: - txt = view_detail_datamodel_static_dns1_address_get(); - DEBUG_LOG(UG_NAME_NORMAL, "* DNS1 [%s]", txt); - g_free(guide_text_dns1); - guide_text_dns1 = g_strdup(txt); - break; - case VIEW_STATICIP_TYPE_DNS2: - txt = view_detail_datamodel_static_dns2_address_get(); - DEBUG_LOG(UG_NAME_NORMAL, "* DNS2 [%s]", txt); - g_free(guide_text_dns2); - guide_text_dns2 = g_strdup(txt); - break; - } - - elm_object_part_text_set(layout, "elm.guidetext", txt); - elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_IP); - elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_NO_IMAGE); - - evas_object_smart_callback_add(entry, "changed", _entry_changed_cb, layout); - evas_object_smart_callback_add(entry, "focused", _entry_focused_cb, layout); - evas_object_smart_callback_add(entry, "unfocused", _entry_unfocused_cb, layout); - elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, entry); - - evas_object_show(entry); - } - - } - - __COMMON_FUNC_EXIT__; - return layout; -} - -static void _view_staticip_list_del(void *data, Evas_Object *obj) -{ - __COMMON_FUNC_ENTER__; - - if (data == NULL) - return; - - _view_staticip_description_data* det = (_view_staticip_description_data *) data; - - if (det->title) - g_free(det->title); - - g_free(data); - - __COMMON_FUNC_EXIT__; -} - -static Evas_Object* _create_list(Evas_Object* parent) -{ - __COMMON_FUNC_ENTER__; - - ip_itc.item_style = "1icon"; - ip_itc.func.text_get = NULL; - ip_itc.func.content_get = _view_staticip_content_get; - ip_itc.func.state_get = NULL; - ip_itc.func.del = _view_staticip_list_del; - - Evas_Object *list = elm_genlist_add(parent); - elm_genlist_mode_set(list, ELM_LIST_LIMIT); - 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); - evas_object_show(list); - - sep_itc.item_style = "dialogue/seperator"; - sep_itc.func.text_get = NULL; - sep_itc.func.content_get = NULL; - sep_itc.func.state_get = NULL; - sep_itc.func.del = NULL; - - Elm_Object_Item *sep = NULL; - sep = elm_genlist_item_append(list, &sep_itc, NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL); - elm_genlist_item_select_mode_set(sep, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - /* add list */ - _add_list_item(list, VIEW_STATICIP_TYPE_IP, sc(PACKAGE, I18N_TYPE_IP_address)); - _add_list_item(list, VIEW_STATICIP_TYPE_SUBNET, sc(PACKAGE, I18N_TYPE_Subnet_mask)); - _add_list_item(list, VIEW_STATICIP_TYPE_GATEWAY, sc(PACKAGE, I18N_TYPE_Gateway)); - _add_list_item(list, VIEW_STATICIP_TYPE_DNS1, sc(PACKAGE, I18N_TYPE_DNS_1)); - _add_list_item(list, VIEW_STATICIP_TYPE_DNS2, sc(PACKAGE, I18N_TYPE_DNS_2)); - - __COMMON_FUNC_EXIT__; - - return list; -} - -static boolean isValidIP(const char *szIP) -{ - __COMMON_FUNC_ENTER__; - - unsigned int n1,n2,n3,n4; - if (NULL == szIP) { - __COMMON_FUNC_EXIT__; - return FALSE; - } - - INFO_LOG(UG_NAME_NORMAL, "* str [%s]", szIP); - - int i; - int nDotCnt = 0; - for(i=0; i 3){ - __COMMON_FUNC_EXIT__; - return FALSE; - } - - /* check dotted decial addressing format */ - if(sscanf(szIP, "%u.%u.%u.%u", &n1, &n2, &n3, &n4) != 4) { - __COMMON_FUNC_EXIT__; - return FALSE; - } - - /* check IPv4 address class invariants */ - //if(!n1) return FALSE; - - /* check address range */ - if ((n1 < 0x100) && - (n2 < 0x100) && - (n3 < 0x100) && - (n4 < 0x100)){ - __COMMON_FUNC_EXIT__; - return TRUE; - } else { - __COMMON_FUNC_EXIT__; - return FALSE; - } -} - -static boolean _staticip_check(void) -{ - __COMMON_FUNC_ENTER__; - - boolean ret = FALSE; - - /** current addresses get */ - char* str1= view_detail_datamodel_static_ip_address_get(); - char* str2= view_detail_datamodel_static_subnet_mask_get(); - char* str3= view_detail_datamodel_static_gateway_address_get(); - char* str4= view_detail_datamodel_static_dns1_address_get(); - char* str5= view_detail_datamodel_static_dns2_address_get(); - - assertm_if(NULL == str1, "NULL!!"); - assertm_if(NULL == str2, "NULL!!"); - assertm_if(NULL == str3, "NULL!!"); - assertm_if(NULL == str4, "NULL!!"); - assertm_if(NULL == str5, "NULL!!"); - - /** reset target value from "" to guide-text when user input is zero */ - if(0 == strlen(str1)) { - g_free(str1); - DEBUG_LOG(UG_NAME_NORMAL, "reset address to guide text [%s]", guide_text_ip); - view_detail_datamodel_static_ip_address_set(guide_text_ip); - str1 = view_detail_datamodel_static_ip_address_get(); - } - if(0 == strlen(str2)) { - g_free(str2); - DEBUG_LOG(UG_NAME_NORMAL, "reset address to guide text [%s]", guide_text_subnet); - view_detail_datamodel_static_subnet_mask_set(guide_text_subnet); - str2 = view_detail_datamodel_static_subnet_mask_get(); - } - if(0 == strlen(str3)) { - g_free(str3); - DEBUG_LOG(UG_NAME_NORMAL, "reset address to guide text [%s]", guide_text_gateway); - view_detail_datamodel_static_gateway_address_set(guide_text_gateway); - str3 = view_detail_datamodel_static_gateway_address_get(); - } - if(0 == strlen(str4)) { - g_free(str4); - DEBUG_LOG(UG_NAME_NORMAL, "reset address to guide text [%s]", guide_text_dns1); - view_detail_datamodel_static_dns1_address_set(guide_text_dns1); - str4 = view_detail_datamodel_static_dns1_address_get(); - } - if(0 == strlen(str5)) { - g_free(str5); - DEBUG_LOG(UG_NAME_NORMAL, "reset address to guide text [%s]", guide_text_dns2); - view_detail_datamodel_static_dns2_address_set(guide_text_dns2); - str5 = view_detail_datamodel_static_dns2_address_get(); - } - - /** Judge valid or not */ - if(isValidIP(str1) == TRUE && - isValidIP(str2) == TRUE && - isValidIP(str3) == TRUE && - isValidIP(str4) == TRUE && - isValidIP(str5) == TRUE) { - - ret = TRUE; - } else { - ret = FALSE; - } - - g_free(str1); - g_free(str2); - g_free(str3); - g_free(str4); - g_free(str5); - - __COMMON_FUNC_EXIT__; - return ret; -} - -static void static_done_cb(void *data, Evas_Object *obj, void *event_info) -{ - __COMMON_FUNC_ENTER__; - - if(view_staticip_end == TRUE) { - __COMMON_FUNC_EXIT__; - return; - } - view_staticip_end = TRUE; - - boolean det = _staticip_check(); - if (det) { - detailview_ip_and_dns_type_set_as_static(); - elm_naviframe_item_pop(viewer_manager_get_naviframe()); - - g_free((gpointer) guide_text_ip); - g_free((gpointer) guide_text_subnet); - g_free((gpointer) guide_text_gateway); - g_free((gpointer) guide_text_dns1); - g_free((gpointer) guide_text_dns2); - - guide_text_ip = NULL; - guide_text_subnet = NULL; - guide_text_gateway = NULL; - guide_text_dns1 = NULL; - guide_text_dns2 = NULL; - } else { - winset_popup_mode_set(NULL, POPUP_MODE_INPUT_FAILED, - POPUP_OPTION_INPUT_FAILED_PROXY_IP_MISTYPE); - view_staticip_end = FALSE; - } - - __COMMON_FUNC_EXIT__; -} - -static void static_back_cb(void *data, Evas_Object *obj, void *event_info) -{ - __COMMON_FUNC_ENTER__; - - if(view_staticip_end == TRUE) { - __COMMON_FUNC_EXIT__; - return; - } - view_staticip_end = TRUE; - - __COMMON_FUNC_EXIT__; -} - -static Evas_Object* _create_conformant(Evas_Object* parent) -{ - assertm_if(NULL == parent, "NULL!!"); - - Evas_Object* conform = NULL; - elm_win_conformant_set(parent, TRUE); - conform = elm_conformant_add(parent); - assertm_if(NULL == conform, "NULL!!"); - - elm_object_style_set(conform, "internal_layout"); - evas_object_show(conform); - - return conform; -} - -void view_staticip() -{ - __COMMON_FUNC_ENTER__; - - view_staticip_end = FALSE; - - Evas_Object* navi_frame = NULL; - navi_frame = viewer_manager_get_naviframe(); - assertm_if(NULL == navi_frame, "NULL!!"); - - Evas_Object *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* conform = NULL; - conform = _create_conformant(layout); - assertm_if(NULL == conform, "NULL!!"); - elm_object_part_content_set(layout, "elm.swallow.content", conform); - - Evas_Object* bx = NULL; - bx = _create_list(conform); - assertm_if(NULL == bx, "NULL!!"); - - evas_object_show(layout); - elm_object_content_set(conform, bx); - - Elm_Object_Item *navi_it = elm_naviframe_item_push(navi_frame, sc(PACKAGE, I18N_TYPE_Static_IP), NULL, NULL, layout, NULL); - - Evas_Object *button_done = elm_button_add(navi_frame); - elm_object_style_set(button_done, "naviframe/title/default"); - elm_object_text_set(button_done, sc(PACKAGE, I18N_TYPE_Done)); - evas_object_smart_callback_add(button_done, "clicked", (Evas_Smart_Cb) static_done_cb, NULL); - elm_object_item_part_content_set(navi_it, "title_right_btn", button_done); - - Evas_Object* button_back = elm_object_item_part_content_get(navi_it, "prev_btn"); - elm_object_focus_allow_set(button_back, EINA_TRUE); - evas_object_smart_callback_add(button_back, "clicked", (Evas_Smart_Cb)static_back_cb, NULL); - - __COMMON_FUNC_EXIT__; -} diff --git a/sources/ui-gadget/viewers-layout/viewer_manager.c b/sources/ui-gadget/viewers-layout/viewer_manager.c index 7463e0a..ed94075 100644 --- a/sources/ui-gadget/viewers-layout/viewer_manager.c +++ b/sources/ui-gadget/viewers-layout/viewer_manager.c @@ -1,20 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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 "viewer_manager.h" @@ -24,38 +25,48 @@ #include "view_ime_hidden.h" #include "wlan_manager.h" #include "wifi-ui-list-callbacks.h" -#include "popup.h" +#include "winset_popup.h" +#include "common_utils.h" +#include "common_datamodel.h" + +#define LIST_ITEM_CONNECTED_AP_FONT_SIZE 28 +#define LIST_ITEM_CONNECTED_AP_FONT_COLOR "#00FFFF" +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; - Elm_Object_Item* scan_button; + Evas_Object* scan_button; + Evas_Object* next_button; + Evas_Object* prev_button; Evas_Object* list; - Elm_Object_Item *current_selected_item; Elm_Object_Item *item_hidden_btn; Elm_Object_Item *item_sep_above_hidden_button; Elm_Object_Item *item_sep_below_hidden_button; - Eina_Bool click_enabled; - Eina_Bool update_enabled; - char* header_text; HEADER_MODES header_mode; Elm_Object_Item* item_header; Elm_Object_Item* item_bottom; + Elm_Object_Item* item_bottom_helper_txt; } viewer_manager_object; static viewer_manager_object* manager_object = NULL; -extern struct wifi_appdata *app_state; +extern wifi_appdata *ug_app_state; -static Elm_Genlist_Item_Class header_itc; static Elm_Genlist_Item_Class header_itc_text; static Elm_Genlist_Item_Class bottom_itc; static Elm_Genlist_Item_Class bottom_itc_text; -static Elm_Genlist_Item_Class hidden_button_seperator_itc; +static Elm_Genlist_Item_Class bottom_itc_helper_text; static Elm_Genlist_Item_Class hidden_button_itc; +static char *viewer_manager_get_device_status_txt(wifi_device_info_t *wifi_device, VIEWER_ITEM_RADIO_MODES mode); + int power_control() { __COMMON_FUNC_ENTER__; @@ -70,91 +81,141 @@ int power_control() 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: - INFO_LOG(UG_NAME_NORMAL, "wifi state power on/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_hide(VIEWER_WINSET_SEARCHING); 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 on or scanning state, header is not working %d\n", cur_state); + INFO_LOG(UG_NAME_NORMAL, "Powering off in progress. Let it complete. \n"); break; } - switch (ret) { - case WLAN_MANAGER_ERR_NONE: - break; - case WLAN_MANAGER_ERR_MOBILE_HOTSPOT_OCCUPIED: - winset_popup_mode_set(NULL, POPUP_MODE_POWER_ON_FAILED, POPUP_OPTION_POWER_ON_FAILED_MOBILE_HOTSPOT); + __COMMON_FUNC_EXIT__; + return TRUE; +} + +static void _hide_finished_cb(void *data, Evas_Object *obj, void *event_info) +{ + 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: + /* 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 un-necessarily */ + wlan_manager_disable_scan_result_update(); break; } +} - __COMMON_FUNC_EXIT__; - return TRUE; +void _lbutton_click_cb(void *data, Evas_Object *obj, void *event_info) +{ + 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); + + wifi_exit(); } -static void _hide_finished_cb(void *data, Evas_Object *obj, void *event_info) +void _rbutton_click_cb(void *data, Evas_Object *obj, void *event_info) { - Elm_Object_Item* top_it = elm_naviframe_top_item_get(obj); + service_h service; + int ret; - const char* title = elm_object_item_text_get((Elm_Object_Item*)data); - const char* title_top = elm_object_item_text_get(top_it); - - if(title == title_top) { - app_state->current_view = VIEW_MAIN; - }else if(!strcmp(title_top, "Password")) { - app_state->current_view = VIEW_PASSWORD; - }else if(!strcmp(title_top, sc(PACKAGE, I18N_TYPE_Hidden_AP))) { - app_state->current_view = VIEW_HIDDEN_AP; - }else if(!strcmp(title_top, sc(PACKAGE, I18N_TYPE_Static_IP))) { - app_state->current_view = VIEW_STATIC_IP; - }else if(!strcmp(title_top, sc(PACKAGE, I18N_TYPE_Dynamic_IP))) { - app_state->current_view = VIEW_DHCP_IP; - }else { - app_state->current_view = VIEW_DETAIL; + 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); + + wifi_exit(); } void _back_sk_cb(void *data, Evas_Object *obj, void *event_info) { __COMMON_FUNC_ENTER__; - if (app_state->bAlive == EINA_FALSE) + if (ug_app_state->bAlive == EINA_FALSE) return; int cur_state = -1; cur_state = viewer_manager_header_mode_get(); - if (app_state->bundle_back_button_show_force_when_connected == EINA_TRUE && - cur_state != HEADER_MODE_CONNECTED){ - winset_popup_mode_set(NULL, POPUP_MODE_ETC, POPUP_OPTION_ETC_BACK_ENABLE_WHEN_CONNECTED_ERROR); - } else { - wifi_exit(); - } + wifi_exit(); } void _refresh_sk_cb(void *data, Evas_Object *obj, void *event_info) @@ -165,109 +226,153 @@ void _refresh_sk_cb(void *data, Evas_Object *obj, void *event_info) int ret = WLAN_MANAGER_ERR_NONE; 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: ret = wlan_manager_request_scan(); if(WLAN_MANAGER_ERR_NONE == ret) { 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); } break; - + default: + INFO_LOG(UG_NAME_NORMAL, "Manual scan requested in wrong state: %d", cur_state); + break; } } -static void _header_onoff_cb(void *data, Evas_Object *obj, void *event_info) +static int _genlist_item_disable_later(void* data) { - __COMMON_FUNC_ENTER__; - power_control(); - __COMMON_FUNC_EXIT__; - return; + if(NULL != data) { + elm_genlist_item_selected_set((Elm_Object_Item*) data, FALSE); + } + return FALSE; } static char *_gl_header_text_get(void *data, Evas_Object *obj, const char *part) { - assertm_if(NULL == part, "NULL!!"); - - if (part != NULL) { - if (!strncmp(part, "elm.text", strlen(part))) { - char* det = NULL; - det = strdup(manager_object->header_text); - assertm_if(NULL == det, "NULL!!"); - __COMMON_FUNC_EXIT__; - return det; - } + 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!!"); } - return 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(); + + ecore_idler_add( (Ecore_Task_Cb) _genlist_item_disable_later, manager_object->item_header); + + elm_genlist_item_update(manager_object->item_header); + + __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* ret = NULL; - assertm_if(NULL == part, "NULL!!"); - assertm_if(NULL == obj, "NULL!!"); - assertm_if(NULL == manager_object, "NULL!!"); + Evas_Object *toggle_btn = (Evas_Object *)data; + Evas_Object *icon = NULL; + + __COMMON_FUNC_ENTER__; + + assertm_if(NULL == toggle_btn, "NULL!!"); - Evas_Object *header_onoff = NULL; if (!strncmp(part, "elm.icon", strlen(part))) { switch (manager_object->header_mode) { case HEADER_MODE_OFF: - header_onoff = elm_check_add(obj); - assertm_if(NULL == header_onoff, "NULL!!"); - - evas_object_propagate_events_set(header_onoff, EINA_FALSE); - elm_object_style_set(header_onoff, "on&off"); - elm_check_state_set(header_onoff, EINA_FALSE); - evas_object_show(header_onoff); - evas_object_smart_callback_add(header_onoff, "changed", (Evas_Smart_Cb)_header_onoff_cb, NULL); - ret = header_onoff; + /* Show WiFi off indication button */ + elm_check_state_set(toggle_btn, EINA_FALSE); + ret = toggle_btn; break; - case HEADER_MODE_ON: - case HEADER_MODE_CONNECTED: - header_onoff = elm_check_add(obj); - assertm_if(NULL == header_onoff, "NULL!!"); - - evas_object_propagate_events_set(header_onoff, EINA_FALSE); - elm_object_style_set(header_onoff, "on&off"); - elm_check_state_set(header_onoff, EINA_TRUE); - evas_object_show(header_onoff); - evas_object_smart_callback_add(header_onoff, "changed", (Evas_Smart_Cb)_header_onoff_cb, NULL); - ret = header_onoff; + + 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); + ret = icon; break; - default: + + default: /* Show WiFi on indication button */ + elm_check_state_set(toggle_btn, EINA_TRUE); + ret = toggle_btn; break; } } - assertm_if(NULL == ret, "NULL!!"); + __COMMON_FUNC_EXIT__; return ret; } +static void _gl_header_del(void* data, Evas_Object* obj) +{ + if (data == NULL) + return; + + __COMMON_FUNC_ENTER__; + evas_object_unref(data); + __COMMON_FUNC_EXIT__; + + return; +} + static char *_gl_bottom_text_get(void *data, Evas_Object *obj, const char *part) { - assertm_if(NULL == part, "NULL!!"); - - if (part != NULL) { - if (!strncmp(part, "elm.text", strlen(part))) { - char* det = NULL; - det = strdup(sc(PACKAGE, I18N_TYPE_Network_notification)); - assertm_if(NULL == det, "NULL!!"); - __COMMON_FUNC_EXIT__; - return det; - } + 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!!"); } - return NULL; + __COMMON_FUNC_EXIT__; + return det; } -static void _bottom_header_callback(void *data, Evas_Object *obj, void *event_info) +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); @@ -290,6 +395,9 @@ static void _bottom_header_callback(void *data, Evas_Object *obj, void *event_in break; } + ecore_idler_add( (Ecore_Task_Cb)_genlist_item_disable_later, manager_object->item_bottom); + elm_genlist_item_update(manager_object->item_bottom); + __COMMON_FUNC_EXIT__; } @@ -297,134 +405,82 @@ static Evas_Object *_gl_bottom_content_get(void *data, Evas_Object *obj, const c { __COMMON_FUNC_ENTER__; - assertm_if(NULL == obj, "NULL!!"); + if (manager_object == NULL || obj == NULL) + return NULL; int ret = -1; - Evas_Object* onoff = elm_check_add(obj); - elm_object_style_set(onoff, "on&off"); - - assertm_if(NULL == onoff, "NULL!!"); - + 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 = wifi_setting_value_get(VCONFKEY_WIFI_ENABLE_QS); switch (ret) { case 1: - elm_check_state_set(onoff, EINA_TRUE); + elm_check_state_set(toggle_btn, EINA_TRUE); break; case 0: - elm_check_state_set(onoff, EINA_FALSE); + elm_check_state_set(toggle_btn, EINA_FALSE); break; default: assertm_if(TRUE, "Setting fail!!"); break; } - evas_object_smart_callback_add(onoff, "changed", (Evas_Smart_Cb)_bottom_header_callback, NULL); - __COMMON_FUNC_EXIT__; - return onoff; -} - -static int _genlist_item_disable_later(void* data) -{ - if(NULL != data) { - elm_genlist_item_selected_set((Elm_Object_Item*) data, FALSE); - } - return FALSE; -} - -static void _gl_header_sel_cb(void *data, Evas_Object *obj, void *event_info) -{ - __COMMON_FUNC_ENTER__; - power_control(); - ecore_idler_add( (Ecore_Task_Cb) _genlist_item_disable_later, manager_object->item_header); - __COMMON_FUNC_EXIT__; - return; -} - -static void _gl_bottom_sel_cb(void *data, Evas_Object *obj, void *event_info) -{ - __COMMON_FUNC_ENTER__; - _bottom_header_callback(data, obj, event_info); - ecore_idler_add( (Ecore_Task_Cb) _genlist_item_disable_later, manager_object->item_bottom); - elm_genlist_item_item_class_update((Elm_Object_Item*)event_info, &bottom_itc_text); - __COMMON_FUNC_EXIT__; - return; + return toggle_btn; } static Evas_Object *_gl_hidden_btn_content_get(void *data, Evas_Object *obj, const char *part) { - __COMMON_FUNC_ENTER__; - - Evas_Object* ret = NULL; - assertm_if(NULL == part, "NULL!!"); - assertm_if(NULL == obj, "NULL!!"); - - DEBUG_LOG(UG_NAME_NORMAL, "part [%s]", part); + Evas_Object *find_hidden_ap_btn = elm_button_add(obj); + elm_object_text_set(find_hidden_ap_btn, sc(PACKAGE, I18N_TYPE_Find_Hidden_Network)); - if (!strncmp(part, "elm.icon", strlen(part))) { - ret = elm_button_add(obj); - assertm_if(NULL == ret, "NULL!!"); - - elm_object_text_set(ret, sc(PACKAGE, I18N_TYPE_Hidden_AP)); - } - - if (manager_object->item_hidden_btn != NULL) { - int state = elm_object_item_disabled_get(manager_object->item_hidden_btn); - elm_object_disabled_set(ret, state); - } - - __COMMON_FUNC_EXIT__; - return ret; + return find_hidden_ap_btn; } -static void _hiddne_button_callback(void* data, Evas_Object* obj, void* event_info) +static void _hidden_button_callback(void* data, Evas_Object* obj, void* event_info) { __COMMON_FUNC_ENTER__; - viewer_manager_set_enabled_list_click(EINA_FALSE); - viewer_manager_set_enabled_list_update(EINA_FALSE); - view_ime_hidden(); + ug_app_state->hidden_ap_popup = view_hidden_ap_popup_create(ug_app_state->win_main, PACKAGE); ecore_idler_add((Ecore_Task_Cb)_genlist_item_disable_later, event_info); __COMMON_FUNC_EXIT__; } -int viewer_manager_header_create(Evas_Object* genlist) +static int viewer_manager_header_create(Evas_Object* genlist) { __COMMON_FUNC_ENTER__; - - manager_object->header_text = NULL; - manager_object->header_text = strdup("Wi-Fi"); - assertm_if(NULL == manager_object->header_text, "NULL!!"); - - header_itc.item_style = "dialogue/seperator"; - header_itc.func.text_get = NULL; - header_itc.func.content_get = NULL; - header_itc.func.state_get = NULL; - header_itc.func.del = NULL; + Evas_Object *toggle_btn = NULL; + 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; + header_itc_text.func.del = _gl_header_del; - Elm_Object_Item* dialoguegroup = elm_genlist_item_append(genlist, &header_itc, NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL); - assertm_if(NULL == dialoguegroup, "NULL!!"); - elm_genlist_item_select_mode_set(dialoguegroup, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + common_utils_add_dialogue_separator(genlist, "dialogue/separator"); + + toggle_btn = elm_check_add(genlist); + elm_object_style_set(toggle_btn, "on&off"); + evas_object_propagate_events_set(toggle_btn, EINA_TRUE); + elm_check_state_set(toggle_btn, EINA_FALSE); + evas_object_show(toggle_btn); + evas_object_ref(toggle_btn); 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); + manager_object->item_header = elm_genlist_item_append(genlist, &header_itc_text, toggle_btn, NULL, ELM_GENLIST_ITEM_NONE, _gl_header_sel_cb, NULL); assertm_if(NULL == manager_object->item_header, "NULL!!"); __COMMON_FUNC_EXIT__; return TRUE; } -int viewer_manager_bottom_create(Evas_Object* genlist) +static int viewer_manager_bottom_create(Evas_Object* genlist) { __COMMON_FUNC_ENTER__; assertm_if(NULL == genlist, "NULL!!"); @@ -441,6 +497,12 @@ int viewer_manager_bottom_create(Evas_Object* genlist) 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_Object_Item* dialoguegroup = elm_genlist_item_append(genlist, &bottom_itc, NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL); assertm_if(NULL == dialoguegroup, "NULL!!"); elm_genlist_item_select_mode_set(dialoguegroup, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); @@ -448,12 +510,16 @@ int viewer_manager_bottom_create(Evas_Object* genlist) manager_object->item_bottom = elm_genlist_item_append(genlist, &bottom_itc_text, NULL, NULL, ELM_GENLIST_ITEM_NONE, _gl_bottom_sel_cb, NULL); assertm_if(NULL == manager_object->item_bottom, "NULL!!"); + elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); + manager_object->item_bottom_helper_txt = elm_genlist_item_append(genlist, &bottom_itc_helper_text, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + elm_genlist_item_select_mode_set(manager_object->item_bottom_helper_txt, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + __COMMON_FUNC_EXIT__; return TRUE; } -int viewer_manager_hidden_button_create(Evas_Object* genlist) +static int viewer_manager_hidden_button_create(Evas_Object* genlist) { __COMMON_FUNC_ENTER__; @@ -467,34 +533,24 @@ int viewer_manager_hidden_button_create(Evas_Object* genlist) assertm_if(NULL == genlist, "NULL!!"); - hidden_button_seperator_itc.item_style = "dialogue/seperator"; - hidden_button_seperator_itc.func.text_get = NULL; - hidden_button_seperator_itc.func.content_get = NULL; - hidden_button_seperator_itc.func.state_get = NULL; - hidden_button_seperator_itc.func.del = NULL; - hidden_button_itc.item_style = "dialogue/bg/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 = elm_genlist_item_append(genlist, &hidden_button_seperator_itc, NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL); - assertm_if(NULL == manager_object->item_sep_above_hidden_button, "NULL!!"); - elm_genlist_item_select_mode_set(manager_object->item_sep_above_hidden_button, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - manager_object->item_hidden_btn = elm_genlist_item_append(genlist, &hidden_button_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, _hiddne_button_callback, NULL); + manager_object->item_sep_above_hidden_button = common_utils_add_dialogue_separator(genlist, "dialogue/separator/20"); + + manager_object->item_hidden_btn = elm_genlist_item_append(genlist, &hidden_button_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, _hidden_button_callback, NULL); assertm_if(NULL == manager_object->item_hidden_btn, "NULL!!"); - manager_object->item_sep_below_hidden_button = elm_genlist_item_append(genlist, &hidden_button_seperator_itc, NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL); - assertm_if(NULL == manager_object->item_sep_below_hidden_button, "NULL!!"); - elm_genlist_item_select_mode_set(manager_object->item_sep_below_hidden_button, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + common_utils_add_dialogue_separator(genlist, "dialogue/separator/end"); __COMMON_FUNC_EXIT__; return TRUE; } -Eina_Bool viewer_manager_scan_button_set(Eina_Bool show_state) +static Eina_Bool viewer_manager_scan_button_set(Eina_Bool show_state) { __COMMON_FUNC_ENTER__; @@ -502,16 +558,18 @@ Eina_Bool viewer_manager_scan_button_set(Eina_Bool show_state) __COMMON_FUNC_EXIT__; return EINA_FALSE; } - + if(show_state == EINA_TRUE) { - if(app_state->current_view == VIEW_MAIN) { + 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(manager_object->scan_button, EINA_FALSE); + 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(manager_object->scan_button, EINA_TRUE); + elm_object_item_disabled_set((Elm_Object_Item *)manager_object->scan_button, EINA_TRUE); } __COMMON_FUNC_EXIT__; @@ -532,9 +590,6 @@ Evas_Object* viewer_manager_create(Evas_Object* _parent) memset(manager_object, 0, sizeof(viewer_manager_object)); manager_object->list = NULL; - manager_object->current_selected_item = NULL; - manager_object->click_enabled = EINA_TRUE; - manager_object->update_enabled = EINA_TRUE; manager_object->item_hidden_btn = NULL; manager_object->item_sep_above_hidden_button = NULL; manager_object->item_sep_below_hidden_button = NULL; @@ -577,20 +632,42 @@ Evas_Object* viewer_manager_create(Evas_Object* _parent) elm_object_content_set(conform, manager_object->list); - /* Push in Navigationbar */ - Elm_Object_Item* navi_it = elm_naviframe_item_push(manager_object->nav, sc(PACKAGE, I18N_TYPE_Wi_Fi), button_back, NULL, view_content, NULL); - evas_object_smart_callback_add(manager_object->nav, "transition,finished", (Evas_Smart_Cb)_hide_finished_cb, navi_it); + 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); - /* Add Toolbar */ - Evas_Object *toolbar = elm_toolbar_add(manager_object->nav); - elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); + Evas_Object *toolbar = elm_toolbar_add(manager_object->nav); + elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); - manager_object->scan_button = elm_toolbar_item_append(toolbar, NULL, sc(PACKAGE, I18N_TYPE_Scan), _refresh_sk_cb, NULL); - elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, "", NULL, NULL), EINA_TRUE); - elm_object_item_part_content_set(navi_it, "controlbar", toolbar); + if(ug_app_state->lbutton_setup_wizard_prev_icon != NULL && ug_app_state->lbutton_setup_wizard != NULL) { + manager_object->prev_button = (Evas_Object *)elm_toolbar_item_append(toolbar, ug_app_state->lbutton_setup_wizard_prev_icon, ug_app_state->lbutton_setup_wizard, _lbutton_click_cb, NULL); + elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, "", NULL, NULL), EINA_TRUE); + } + if(ug_app_state->rbutton_setup_wizard_scan_icon != NULL) { + manager_object->scan_button = (Evas_Object *)elm_toolbar_item_append(toolbar, ug_app_state->rbutton_setup_wizard_scan_icon, sc(PACKAGE, I18N_TYPE_Scan), _refresh_sk_cb, NULL); + elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, "", NULL, NULL), EINA_TRUE); + } + if(ug_app_state->rbutton_setup_wizard_skip_icon != NULL && ug_app_state->rbutton_setup_wizard_skip != NULL) { + manager_object->next_button = (Evas_Object *)elm_toolbar_item_append(toolbar, ug_app_state->rbutton_setup_wizard_skip_icon, ug_app_state->rbutton_setup_wizard_skip, _rbutton_click_cb, NULL); + } + elm_object_item_part_content_set(navi_it, "controlbar", toolbar); - elm_object_style_set(button_back, "naviframe/back_btn/default"); - evas_object_smart_callback_add(button_back, "clicked", (Evas_Smart_Cb)_back_sk_cb, NULL); + } else { + Elm_Object_Item* navi_it = elm_naviframe_item_push(manager_object->nav, sc(PACKAGE, I18N_TYPE_Wi_Fi), button_back, 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); + + Evas_Object *toolbar = elm_toolbar_add(manager_object->nav); + elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); + + manager_object->scan_button = (Evas_Object *)elm_toolbar_item_append(toolbar, NULL, sc(PACKAGE, I18N_TYPE_Scan), _refresh_sk_cb, NULL); + elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, "", NULL, NULL), EINA_TRUE); + elm_object_item_part_content_set(navi_it, "controlbar", toolbar); + + elm_object_style_set(button_back, "naviframe/back_btn/default"); + evas_object_smart_callback_add(button_back, "clicked", _back_sk_cb, NULL); + } evas_object_show(layout); @@ -604,6 +681,10 @@ Eina_Bool viewer_manager_destroy() viewer_list_destroy(); + if (manager_object->header_text) { + g_free(manager_object->header_text); + manager_object->header_text = NULL; + } if (manager_object != NULL) { g_free(manager_object); manager_object = NULL; @@ -626,7 +707,7 @@ Eina_Bool viewer_manager_show(VIEWER_WINSETS winset) break; case VIEWER_WINSET_SUB_CONTENTS: assertm_if(NULL == manager_object->list, "NULL!!"); - viewer_list_title_item_set(manager_object->item_bottom); + viewer_list_title_item_set(manager_object->item_bottom_helper_txt); viewer_manager_hidden_button_create(manager_object->list); break; } @@ -647,6 +728,14 @@ Eina_Bool viewer_manager_hide(VIEWER_WINSETS winset) 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!!"); @@ -690,182 +779,50 @@ static void viewer_manager_genlist_normal_callback(void* data, Evas_Object* obj, assertm_if(NULL == data, "data is NULL!!"); assertm_if(NULL == obj, "obj is NULL!!"); - genlist_data* gdata = (genlist_data*) data; - - if (manager_object->click_enabled == EINA_FALSE) { - INFO_LOG(UG_NAME_NORMAL, "normal callback cancel by proccesing something"); - __COMMON_FUNC_EXIT__; - return; - } + wifi_device_info_t *device_info = (wifi_device_info_t *) data; DEBUG_LOG(UG_NAME_NORMAL, "event_info:[%s]", (char*) elm_object_style_get(obj)); - radio_button_cb(gdata->device_info, obj, event_info); + radio_button_cb(device_info, obj, event_info); elm_genlist_item_selected_set((Elm_Object_Item *)event_info, FALSE); __COMMON_FUNC_EXIT__; return; } -Elm_Object_Item* viewer_manager_item_set(void* entry_data, - const char* ssid, - const char* ap_image_path, - VIEWER_ITEM_RADIO_MODES mode, - VIEWER_CALLBACK_TYPES type, - void*callback_data) -{ - __COMMON_FUNC_ENTER__; - - Elm_Object_Item *item = NULL; - assertm_if(NULL == manager_object, "manager_object is NULL!!"); - assertm_if(NULL == manager_object->list, "manager_object->list is NULL!!"); - - switch (type) { - case VIEWER_CALLBACK_TYPE_NORMAL_LIST: - item = viewer_list_item_set(manager_object->list, - entry_data, - ssid, - ap_image_path, - mode, - viewer_manager_genlist_normal_callback, - callback_data); - break; - case VIEWER_CALLBACK_TYPE_NONE_AP_LIST: - item = viewer_list_item_set(manager_object->list, - entry_data, - ssid, - ap_image_path, - mode, - NULL, - callback_data); - elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - break; - default: - break; - } - - elm_genlist_item_update(item); - - __COMMON_FUNC_EXIT__; - return item; -} - -Elm_Object_Item *viewer_manager_current_selected_item_get(void) -{ - __COMMON_FUNC_ENTER__; - - assertm_if(NULL == manager_object, "manager_object is NULL!!"); - assertm_if(NULL == manager_object->current_selected_item, "manager_object->current_selected_item is NULL!!"); - - __COMMON_FUNC_EXIT__; - return manager_object->current_selected_item; -} - -void viewer_manager_current_selected_item_set(Elm_Object_Item *item) -{ - __COMMON_FUNC_ENTER__; - - assertm_if(NULL == manager_object, "manager_object is NULL!!"); - assertm_if(NULL == item, "current is NULL!!"); - - manager_object->current_selected_item = item; - - __COMMON_FUNC_EXIT__; -} - -void viewer_manager_set_enabled_list_click(Eina_Bool enabled) -{ - __COMMON_FUNC_ENTER__; - if (manager_object == NULL) - return; - manager_object->click_enabled = enabled; - __COMMON_FUNC_EXIT__; -} - -void viewer_manager_set_enabled_list_update(Eina_Bool enabled) -{ - __COMMON_FUNC_ENTER__; - if (manager_object == NULL) - return; - manager_object->update_enabled = enabled; - __COMMON_FUNC_EXIT__; -} - -int viewer_manager_item_radio_mode_all_reset() -{ - __COMMON_FUNC_ENTER__; - - Elm_Object_Item *gli = viewer_list_item_first_get(manager_object->list); - int searched_device_num = wlan_manager_profile_scanned_length_get(); - int i=0; - - for (i=0; idevice_info) { + INFO_LOG(COMMON_NAME_ERR, "gdata or device_info is NULL"); return FALSE; } - gdata->radio_mode = mode; - - DEBUG_LOG(UG_NAME_NORMAL, "ssid:[%s], radiomode:[%d]", gdata->ssid, gdata->radio_mode); - - switch (mode) { - case VIEWER_ITEM_RADIO_MODE_NULL: - INFO_LOG(UG_NAME_NORMAL, "radio mode NULL"); - manager_object->click_enabled = EINA_TRUE; - break; - case VIEWER_ITEM_RADIO_MODE_OFF: - INFO_LOG(UG_NAME_NORMAL, "radio mode off"); - manager_object->click_enabled = EINA_TRUE; - break; - - case VIEWER_ITEM_RADIO_MODE_CONNECTED: - INFO_LOG(UG_NAME_NORMAL, "radio mode connected"); - manager_object->click_enabled = EINA_TRUE; - break; - - case VIEWER_ITEM_RADIO_MODE_CONNECTING: - INFO_LOG(UG_NAME_NORMAL, "radio mode connecting"); - manager_object->click_enabled = EINA_TRUE; - break; - - case VIEWER_ITEM_RADIO_MODE_CANCEL_CONNECTING: - INFO_LOG(UG_NAME_NORMAL, "radio mode cancel connecting"); - manager_object->click_enabled = EINA_FALSE; - break; - - case VIEWER_ITEM_RADIO_MODE_DISCONNECTING: - INFO_LOG(UG_NAME_NORMAL, "radio mode disconnecting"); - manager_object->click_enabled = EINA_FALSE; - break; + if (gdata->radio_mode == mode) { + INFO_LOG(UG_NAME_NORMAL, "[%s] is already in requested state", gdata->device_info->ssid); + return FALSE; + } - default: - INFO_LOG(UG_NAME_NORMAL, "unsupported modea [%d]", mode); - break; + 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_manager_get_device_status_txt(gdata->device_info, mode); } - viewer_list_item_data_set(item, "data", gdata); elm_genlist_item_update(item); + __COMMON_FUNC_EXIT__; return TRUE; } @@ -881,12 +838,47 @@ int viewer_manager_hidden_disable_set(int mode) 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)elm_genlist_item_bring_in, manager_object->item_header); + 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_icon != NULL) + elm_object_item_text_set((Elm_Object_Item *)manager_object->next_button, ug_app_state->rbutton_setup_wizard_skip); + + if (manager_object->next_button != NULL && ug_app_state->rbutton_setup_wizard_skip_icon != NULL) + elm_toolbar_item_icon_set((Elm_Object_Item *)manager_object->next_button, (const char *)ug_app_state->rbutton_setup_wizard_skip_icon); + break; + case HEADER_MODE_CONNECTED: + if (manager_object->next_button != NULL && ug_app_state->rbutton_setup_wizard_next != NULL) + elm_object_item_text_set((Elm_Object_Item *)manager_object->next_button, ug_app_state->rbutton_setup_wizard_next); + + if (manager_object->next_button != NULL && ug_app_state->rbutton_setup_wizard_next_icon != NULL) + elm_toolbar_item_icon_set((Elm_Object_Item *)manager_object->next_button, (const char *) ug_app_state->rbutton_setup_wizard_next_icon); + break; + default: + break; + } } int viewer_manager_header_mode_set(HEADER_MODES mode) @@ -897,67 +889,52 @@ int viewer_manager_header_mode_set(HEADER_MODES mode) assertm_if(NULL == manager_object->item_header, "NULL!!"); assertm_if(HEADER_MODE_OFF > mode || HEADER_MODE_MAX <= mode, "Err!!"); - DEBUG_LOG(UG_NAME_NORMAL, "mode [%d]", mode); - manager_object->header_mode = mode; + if (manager_object->header_mode == mode) { + return FALSE; + } - if (NULL != manager_object->header_text) { + 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; } - char buf[30] = {0,}; switch (mode) { - case HEADER_MODE_OFF: - viewer_manager_hidden_disable_set(FALSE); - viewer_manager_scan_button_set(EINA_TRUE); - manager_object->header_text = strdup(sc(PACKAGE, I18N_TYPE_Wi_Fi)); - break; - case HEADER_MODE_ON: - viewer_manager_hidden_disable_set(FALSE); - viewer_manager_scan_button_set(EINA_TRUE); - manager_object->header_text = strdup(sc(PACKAGE, I18N_TYPE_Wi_Fi)); - break; - case HEADER_MODE_ACTIVATING: - viewer_manager_hidden_disable_set(TRUE); - snprintf(buf, sizeof(buf), "%s %s", sc(PACKAGE, I18N_TYPE_Wi_Fi), sc(PACKAGE, I18N_TYPE_Activating)); - manager_object->header_text = strdup(buf); - break; - case HEADER_MODE_CONNECTING: - viewer_manager_hidden_disable_set(TRUE); - snprintf(buf, sizeof(buf), "%s %s", sc(PACKAGE, I18N_TYPE_Wi_Fi), sc(PACKAGE, I18N_TYPE_Connecting)); - manager_object->header_text = strdup(buf); - break; - case HEADER_MODE_CONNECTED: - viewer_manager_hidden_disable_set(FALSE); - viewer_manager_scan_button_set(EINA_TRUE); - snprintf(buf, sizeof(buf), "%s %s", sc(PACKAGE, I18N_TYPE_Wi_Fi), sc(PACKAGE, I18N_TYPE_Connected)); - manager_object->header_text = strdup(buf); - break; - case HEADER_MODE_DISCONNECTING: - viewer_manager_hidden_disable_set(TRUE); - snprintf(buf, sizeof(buf), "%s %s", sc(PACKAGE, I18N_TYPE_Wi_Fi), sc(PACKAGE, I18N_TYPE_Disconnecting)); - manager_object->header_text = strdup(buf); - break; - case HEADER_MODE_DEACTIVATING: - viewer_manager_hidden_disable_set(TRUE); - snprintf(buf, sizeof(buf), "%s %s", sc(PACKAGE, I18N_TYPE_Wi_Fi), sc(PACKAGE, I18N_TYPE_Deactivating)); - manager_object->header_text = strdup(buf); - break; - case HEADER_MODE_CANCEL_CONNECTING: - viewer_manager_hidden_disable_set(TRUE); - manager_object->header_text = strdup("Wi-Fi cancel connecting..."); - break; - case HEADER_MODE_SEARCHING: - viewer_manager_hidden_disable_set(TRUE); - snprintf(buf, sizeof(buf), "%s %s", sc(PACKAGE, I18N_TYPE_Wi_Fi), sc(PACKAGE, I18N_TYPE_Searching)); - manager_object->header_text = strdup(buf); - break; - default: - assertm_if(TRUE, "Err!!"); - break; + 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__; @@ -978,108 +955,96 @@ Evas_Object* viewer_manager_get_naviframe() return manager_object->nav; } -static char* viewer_manager_get_device_icon(int security_mode, int rssi) +static char *viewer_manager_get_device_status_txt(wifi_device_info_t *wifi_device, VIEWER_ITEM_RADIO_MODES mode) { - char tmp_str[128] = {0,}; - char *ret; - - sprintf(tmp_str, "%s/37_wifi_icon", WIFI_APP_IMAGE_DIR); - - if (security_mode != WLAN_SEC_MODE_NONE) { - sprintf(tmp_str,"%s_lock", tmp_str); - } - - switch (wlan_manager_get_signal_strength(rssi)) { - case SIGNAL_STRENGTH_TYPE_EXCELLENT: - sprintf(tmp_str,"%s_03", tmp_str); - break; - case SIGNAL_STRENGTH_TYPE_GOOD: - sprintf(tmp_str,"%s_02", tmp_str); - break; - case SIGNAL_STRENGTH_TYPE_WEAK: - sprintf(tmp_str,"%s_01", tmp_str); - break; - case SIGNAL_STRENGTH_TYPE_VERY_WEAK: - case SIGNAL_STRENGTH_TYPE_NULL: - sprintf(tmp_str,"%s_00", tmp_str); - break; + 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("%s", 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); } - - sprintf(tmp_str, "%s.png", tmp_str); - - ret = strdup(tmp_str); - return ret; + ret_txt = g_strdup_printf("%s", LIST_ITEM_CONNECTED_AP_FONT_SIZE, status_txt); + g_free(status_txt); + return ret_txt; } -static void viewer_manager_update_list_one(net_profile_info_t *profile_info) +Elm_Object_Item *viewer_manager_move_item_to_top(Elm_Object_Item *item) { __COMMON_FUNC_ENTER__; - - wifi_device_info_t *wifi_device = (wifi_device_info_t*)malloc(sizeof(wifi_device_info_t)); - memset(wifi_device, 0, sizeof(wifi_device_info_t)); - - wifi_device->profile_name = strdup(profile_info->ProfileName); - wifi_device->ssid = strdup(profile_info->ProfileInfo.Wlan.essid); - wifi_device->rssi = (int)profile_info->ProfileInfo.Wlan.Strength; - wifi_device->security_mode = (int)profile_info->ProfileInfo.Wlan.security_info.sec_mode; - wifi_device->wps_mode = (int)profile_info->ProfileInfo.Wlan.security_info.wps_support; - - char *ap_image = NULL; - VIEWER_ITEM_RADIO_MODES mode = VIEWER_ITEM_RADIO_MODE_NULL; - ap_image = viewer_manager_get_device_icon(wifi_device->security_mode, wifi_device->rssi); - mode = VIEWER_ITEM_RADIO_MODE_NULL; - - if (ap_image != NULL) { - viewer_manager_item_set(wifi_device, wifi_device->ssid, ap_image, mode, VIEWER_CALLBACK_TYPE_NORMAL_LIST, wifi_device); - g_free(ap_image); + if (!item) { + return NULL; } - + ug_genlist_data_t *gdata = elm_object_item_data_get(item); + if (!gdata) { + return NULL; + } + wifi_device_info_t *old_wifi_device = gdata->device_info; + if (!old_wifi_device) { + return NULL; + } + wifi_device_info_t *wifi_device = (wifi_device_info_t*)g_malloc0(sizeof(wifi_device_info_t)); + wifi_device->profile_name = g_strdup(old_wifi_device->profile_name); + wifi_device->ssid = g_strdup(old_wifi_device->ssid); + wifi_device->ap_image_path = g_strdup(old_wifi_device->ap_image_path); + wifi_device->ap_status_txt = g_strdup(old_wifi_device->ap_status_txt); + wifi_device->rssi = old_wifi_device->rssi; + wifi_device->security_mode = old_wifi_device->security_mode; + wifi_device->wps_mode = old_wifi_device->wps_mode; + + viewer_list_item_del(item); + item = viewer_list_item_insert_after(manager_object->list, + wifi_device, + NULL, + viewer_manager_genlist_normal_callback, + wifi_device); __COMMON_FUNC_EXIT__; + return item; } -static void viewer_manager_update_list_one_connected(net_profile_info_t *profile_info, const char *connected_ssid) +Elm_Object_Item *viewer_manager_add_new_item(const char *profile_name) { - __COMMON_FUNC_ENTER__; - - wifi_device_info_t *wifi_device = (wifi_device_info_t*)malloc(sizeof(wifi_device_info_t)); - memset(wifi_device, 0, sizeof(wifi_device_info_t)); - - wifi_device->profile_name = strdup(profile_info->ProfileName); - wifi_device->ssid = strdup(profile_info->ProfileInfo.Wlan.essid); - wifi_device->rssi = (int)profile_info->ProfileInfo.Wlan.Strength; - wifi_device->security_mode = (int)profile_info->ProfileInfo.Wlan.security_info.sec_mode; - wifi_device->wps_mode = (int)profile_info->ProfileInfo.Wlan.security_info.wps_support; - - char *ap_image = NULL; - VIEWER_ITEM_RADIO_MODES mode = VIEWER_ITEM_RADIO_MODE_NULL; - if (strcmp(wifi_device->ssid, connected_ssid) == 0) { - INFO_LOG(UG_NAME_NORMAL, "update ssid [%s] : connected\n", wifi_device->ssid); - viewer_manager_header_mode_set(HEADER_MODE_CONNECTED); - ap_image = viewer_manager_get_device_icon(wifi_device->security_mode, wifi_device->rssi); - mode = VIEWER_ITEM_RADIO_MODE_CONNECTED; - } else { - INFO_LOG(UG_NAME_NORMAL, "update ssid [%s]\n", wifi_device->ssid); - ap_image = viewer_manager_get_device_icon(wifi_device->security_mode, wifi_device->rssi); - mode = VIEWER_ITEM_RADIO_MODE_NULL; - } + Elm_Object_Item *item = NULL; + if (!manager_object) + return NULL; - if (ap_image != NULL) { - viewer_manager_item_set(wifi_device, wifi_device->ssid, ap_image, mode, VIEWER_CALLBACK_TYPE_NORMAL_LIST, wifi_device); - g_free(ap_image); + /* Looks like we have received a connecting/connected event and the AP item is not present. Lets add the item to the list. */ + view_datamodel_basic_info_t *data_model = view_basic_detail_datamodel_create(profile_name); + if (data_model) { + wifi_device_info_t *wifi_device = (wifi_device_info_t*)g_malloc0(sizeof(wifi_device_info_t)); + wifi_device->profile_name = view_detail_datamodel_basic_info_profile_name_get(data_model); + wifi_device->ssid = view_detail_datamodel_ap_name_get(data_model); + wifi_device->rssi = (int)view_detail_datamodel_sig_strength_get(data_model); + wifi_device->security_mode = view_detail_datamodel_sec_mode_get(data_model); + wifi_device->wps_mode = (boolean)view_detail_datamodel_wps_support_get(data_model); + wifi_device->ap_image_path = common_utils_get_device_icon(WIFI_APP_IMAGE_DIR, wifi_device); + wifi_device->ap_status_txt = viewer_manager_get_device_status_txt(wifi_device, VIEWER_ITEM_RADIO_MODE_OFF); + + item = viewer_list_item_insert_after(manager_object->list, + wifi_device, + NULL, + viewer_manager_genlist_normal_callback, + wifi_device); + view_basic_detail_datamodel_destroy(data_model); } - - __COMMON_FUNC_EXIT__; + return item; } static void viewer_manager_update_list_all() { int i = 0; - struct wifi_appdata *ad = app_state; + Elm_Object_Item *item = NULL; __COMMON_FUNC_ENTER__; - viewer_list_item_clear(); - net_profile_info_t *profiles_list = wlan_manager_profile_table_get(); if (profiles_list == NULL) return; @@ -1088,24 +1053,35 @@ static void viewer_manager_update_list_all() INFO_LOG(UG_NAME_NORMAL, "profiles list count [%d]\n", profiles_list_size); if (profiles_list_size > 0) { - const char *connected_ssid = wlan_manager_get_connected_ssid(); - INFO_LOG(UG_NAME_NORMAL, "connected ssid [%s]\n", connected_ssid); - if (connected_ssid == NULL) { - for (i = 0; i < profiles_list_size; i++) { - viewer_manager_update_list_one(profiles_list+i); - } - } else { - for (i = 0; i < profiles_list_size; i++) { - viewer_manager_update_list_one_connected(profiles_list+i, connected_ssid); - } + for (i = 0; i < profiles_list_size; i++) { + net_profile_info_t *profile_info = profiles_list+i; + wifi_device_info_t *wifi_device = (wifi_device_info_t*)g_malloc0(sizeof(wifi_device_info_t)); + wifi_device->profile_name = g_strdup(profile_info->ProfileName); + wifi_device->ssid = g_strdup(profile_info->ProfileInfo.Wlan.essid); + wifi_device->rssi = (int)profile_info->ProfileInfo.Wlan.Strength; + wifi_device->security_mode = profile_info->ProfileInfo.Wlan.security_info.sec_mode; + wifi_device->wps_mode = (int)profile_info->ProfileInfo.Wlan.security_info.wps_support; + wifi_device->ap_image_path = common_utils_get_device_icon(WIFI_APP_IMAGE_DIR, wifi_device); + wifi_device->ap_status_txt = viewer_manager_get_device_status_txt(wifi_device, VIEWER_ITEM_RADIO_MODE_OFF); + + item = viewer_list_item_insert_after(manager_object->list, + wifi_device, + item, + viewer_manager_genlist_normal_callback, + wifi_device); } } else if (profiles_list_size == 0) { /* if there is no scan_data, generate No-AP item */ wifi_device_info_t *device_info = NULL; device_info = (wifi_device_info_t *)wlan_manager_profile_device_info_blank_create(); - const char* ssid_name = device_info->ssid; - const char* ap_image = NULL; - viewer_manager_item_set(device_info, ssid_name, ap_image, VIEWER_ITEM_RADIO_MODE_NULL, VIEWER_CALLBACK_TYPE_NONE_AP_LIST, ad); + device_info->ap_status_txt = g_strdup(""); + device_info->ap_image_path = NULL; + item = viewer_list_item_insert_after(manager_object->list, + device_info, + NULL, + NULL, + NULL); + elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); } else { ERROR_LOG(UG_NAME_NORMAL, "Err!"); } @@ -1113,34 +1089,241 @@ static void viewer_manager_update_list_all() __COMMON_FUNC_EXIT__; } -Eina_Bool viewer_manager_refresh(int is_scan) +Eina_Bool viewer_manager_refresh(void) { INFO_LOG(UG_NAME_SCAN, "UI update start"); + int profile_state; if (manager_object == NULL) return EINA_FALSE; - if (manager_object->update_enabled == EINA_FALSE) { - INFO_LOG(UG_NAME_SCAN, "UI update disabled"); + /* Remove the list */ + viewer_list_item_clear(); + + char profile_name[NET_PROFILE_NAME_LEN_MAX+1] = ""; + profile_state = wlan_manager_state_get(profile_name); + 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 !!! "); + + Elm_Object_Item* target_item = item_get_for_profile_name(profile_name); + viewer_manager_header_mode_set(HEADER_MODE_OFF); + viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF); return EINA_FALSE; } - if (is_scan) { - viewer_manager_hide(VIEWER_WINSET_SEARCHING); - viewer_manager_header_mode_set(HEADER_MODE_ON); - viewer_manager_update_list_all(); + 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_profile_name(profile_name); + viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); + viewer_manager_item_radio_mode_set(NULL, 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_profile_name(profile_name); + target_item = viewer_manager_move_item_to_top(target_item); + viewer_manager_header_mode_set(HEADER_MODE_CONNECTED); + viewer_manager_item_radio_mode_set(NULL, 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_profile_name(profile_name); + viewer_manager_header_mode_set(HEADER_MODE_DISCONNECTING); + viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_DISCONNECTING); } else { - viewer_manager_update_list_all(); - - char profile_name[NET_PROFILE_NAME_LEN_MAX+1] = ""; - if (wlan_manager_state_get(profile_name) == WLAN_MANAGER_CONNECTING) { - Elm_Object_Item* target_item = item_get_for_profile_name(profile_name); - viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); - viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_CONNECTING); - } + INFO_LOG(UG_NAME_NORMAL, "Profile state = %d", profile_state); + viewer_manager_header_mode_set(HEADER_MODE_ON); } 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; + net_wifi_connection_info_t conninfo; + memset(&conninfo, 0, sizeof(conninfo)); + g_strlcpy(conninfo.essid, hidden_ap_data->ssid, NET_WLAN_ESSID_LEN); + conninfo.security_info.sec_mode = hidden_ap_data->sec_mode; + conninfo.wlan_mode = NETPM_WLAN_CONNMODE_INFRA; + INFO_LOG(UG_NAME_NORMAL, "Hidden AP[%s]. Sec mode = %d. Connect ok cb", conninfo.essid, conninfo.security_info.sec_mode); + + switch (conninfo.security_info.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); + evas_object_del(hidden_ap_data->confirmation_popup); + hidden_ap_data->confirmation_popup = NULL; + break; + + case WLAN_SEC_MODE_WEP: + szPassword = common_pswd_popup_get_txt(ug_app_state->passpopup); + g_strlcpy(conninfo.security_info.authentication.wep.wepKey, szPassword, NETPM_WLAN_MAX_WEP_KEY_LEN); + g_free(szPassword); + INFO_LOG(UG_NAME_NORMAL, "Hidden AP WEP paswd = [%s]", conninfo.security_info.authentication.wep.wepKey); + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; + break; + + case WLAN_SEC_MODE_WPA_PSK: + case WLAN_SEC_MODE_WPA2_PSK: + szPassword = common_pswd_popup_get_txt(ug_app_state->passpopup); + g_strlcpy(conninfo.security_info.authentication.psk.pskKey, szPassword, NETPM_WLAN_MAX_PSK_PASSPHRASE_LEN); + g_free(szPassword); + INFO_LOG(UG_NAME_NORMAL, "Hidden AP PSK paswd = [%s]", conninfo.security_info.authentication.psk.pskKey); + 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; + } + + connman_request_connection_open_hidden_ap(&conninfo); + +hidden_ap_connect_end: + 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) +{ + hidden_ap_data_t *hidden_ap_data = NULL; + const char *ssid = view_ime_hidden_popup_get_ssid(ug_app_state->hidden_ap_popup); + wlan_security_mode_type_t sec_mode; + if (!ssid) { + 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_try_new0(hidden_ap_data_t, 1); + + 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; + hidden_ap_data->sec_mode = WLAN_SEC_MODE_NONE; + hidden_ap_data->ssid = g_strdup(ssid); + 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->win_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; + if (navi_frame == NULL) { + ERROR_LOG(UG_NAME_NORMAL, "Failed : get naviframe"); + return; + } + memset(&device_info, 0, sizeof(device_info)); + device_info.security_mode = sec_mode; + device_info.ssid = (char *)ssid; + + 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_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_try_new0(hidden_ap_data_t, 1); + pswd_popup_create_req_data_t popup_info; + hidden_ap_data->sec_mode = sec_mode; + hidden_ap_data->ssid = g_strdup(ssid); + popup_info.title = bss_info->essid; + 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; + 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; + 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->win_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 */ + 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 index 48ce526..63f75c2 100644 --- a/sources/ui-gadget/viewers-layout/wifi_viewer_list.c +++ b/sources/ui-gadget/viewers-layout/wifi_viewer_list.c @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -33,20 +36,26 @@ static Elm_Genlist_Item_Class itc; static Elm_Genlist_Item_Class grouptitle_itc; static Elm_Object_Item* grouptitle=NULL; - 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!!"); - genlist_data* gdata = (genlist_data*) data; + ug_genlist_data_t* gdata = (ug_genlist_data_t*) data; assertm_if(NULL == gdata, "NULL!!"); - assertm_if(NULL == gdata->ssid, "NULL!!"); - - char* det = (char*) strdup(gdata->ssid); - assertm_if(NULL == det, "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; } @@ -56,88 +65,36 @@ static Evas_Object *_gl_listview_content_get(void *data, Evas_Object *obj, const assertm_if(NULL == data, "NULL!!"); assertm_if(NULL == part, "NULL!!"); - genlist_data* gdata = (genlist_data*) data; + ug_genlist_data_t* gdata = (ug_genlist_data_t*) data; Evas_Object* icon = NULL; - if (!strncmp(part, "elm.icon.1", strlen(part))) { - if (gdata->ap_image_path == NULL) { - return NULL; - } - - icon = elm_radio_add(obj); + 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_icon_add(obj); assertm_if(NULL == icon, "NULL!!"); - - switch (gdata->radio_mode) { - case VIEWER_ITEM_RADIO_MODE_CONNECTED: - elm_radio_state_value_set(icon, 0); - break; - case VIEWER_ITEM_RADIO_MODE_OFF: - case VIEWER_ITEM_RADIO_MODE_NULL: - case VIEWER_ITEM_RADIO_MODE_CONNECTING: - case VIEWER_ITEM_RADIO_MODE_CANCEL_CONNECTING: - case VIEWER_ITEM_RADIO_MODE_DISCONNECTING: - elm_radio_state_value_set(icon, 1); - break; - default: - assertm_if(TRUE, "Err!"); - break; - } - - Evas_Object *fake_icon = appcore_load_edj(obj, WIFI_UG_FAKE_ICON_PATH, "fake_radio"); - elm_object_part_content_set(fake_icon, "radio", icon); - - return fake_icon; - + elm_icon_file_set(icon, gdata->device_info->ap_image_path, NULL); } else if (!strncmp(part, "elm.icon.2", strlen(part))) { - /* if there is no ap_image_path (NO AP Found situlation) */ - if (gdata->ap_image_path == NULL) { - return NULL; - } - - switch (gdata->radio_mode) { - case VIEWER_ITEM_RADIO_MODE_OFF: - case VIEWER_ITEM_RADIO_MODE_NULL: - case VIEWER_ITEM_RADIO_MODE_CONNECTED: - /* for strength */ - icon = elm_icon_add(obj); - assertm_if(NULL == icon, "NULL!!"); - if(NULL != gdata->ap_image_path) { - elm_icon_file_set(icon, gdata->ap_image_path, NULL); - } - evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - return icon; - - case VIEWER_ITEM_RADIO_MODE_CONNECTING: - case VIEWER_ITEM_RADIO_MODE_CANCEL_CONNECTING: - case VIEWER_ITEM_RADIO_MODE_DISCONNECTING: - /* for processing animation */ + if (VIEWER_ITEM_RADIO_MODE_CONNECTING == gdata->radio_mode) { icon = elm_progressbar_add(obj); - assertm_if(NULL == icon, "NULL!!"); 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, EINA_TRUE); - return icon; - - default: - assertm_if(TRUE, "Err!"); - break; - } - } else if (!strncmp(part, "elm.icon.3", strlen(part))) { - /* if there is no ap_image_path (NO AP Found situlation) */ - if (gdata->ap_image_path == NULL) { - return NULL; + 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); } - - 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; + } else { + DEBUG_LOG(UG_NAME_NORMAL, "Invalid part name [%s]", part); } - return NULL; + return icon; } static void _gl_listview_del(void* data, Evas_Object* obj) @@ -145,11 +102,14 @@ static void _gl_listview_del(void* data, Evas_Object* obj) if (data == NULL) return; - genlist_data* gdata = (genlist_data*) data; - assertm_if(NULL == gdata->ssid, "NULL!!"); + 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->ssid); + 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); g_free(gdata->device_info); g_free(gdata); @@ -161,13 +121,23 @@ static char* _gl_text_title_get(void *data, Evas_Object *obj, const char *part) assertm_if(NULL == obj, "NULL!!"); assertm_if(NULL == part, "NULL!!"); - if (part != NULL) { - if (!strncmp(part, "elm.text", strlen(part))) { - return (char*) strdup(sc(PACKAGE, I18N_TYPE_Select_network)); + 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); } } - - return NULL; + __COMMON_FUNC_EXIT__; + return title_progressbar; } Evas_Object* viewer_list_create(Evas_Object *win) @@ -178,9 +148,11 @@ Evas_Object* viewer_list_create(Evas_Object *win) 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); @@ -188,7 +160,7 @@ Evas_Object* viewer_list_create(Evas_Object *win) container = g_slist_alloc(); assertm_if(NULL == container, "NULL!!"); - itc.item_style = "dialogue/1text.3icon"; + 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; @@ -204,6 +176,8 @@ int viewer_list_destroy(void) assertm_if(NULL == viewer_list, "NULL!!"); viewer_list_item_clear(); + g_slist_free(container); + container = NULL; evas_object_del(viewer_list); viewer_list = NULL; @@ -220,13 +194,21 @@ void viewer_list_title_item_del() } } +void viewer_list_title_item_update() +{ + elm_genlist_item_update(grouptitle); +} + int viewer_list_title_item_set(Elm_Object_Item *target) { if (viewer_list_item_size_get() == 0) { + // 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 = "grouptitle.dialogue"; + grouptitle_itc.item_style = "dialogue/title"; grouptitle_itc.func.text_get = _gl_text_title_get; - grouptitle_itc.func.content_get = NULL; + grouptitle_itc.func.content_get = _gl_content_title_get; grouptitle_itc.func.state_get = NULL; grouptitle_itc.func.del = NULL; @@ -251,84 +233,76 @@ int viewer_list_title_item_set(Elm_Object_Item *target) } } -Elm_Object_Item* viewer_list_item_set(Evas_Object* list, - void* list_data, - const char* ssid, - const char* ap_image_path, - VIEWER_ITEM_RADIO_MODES mode, - void (*callback_func)(void*data,Evas_Object*obj,void*event_info), - void*callback_data){ +Elm_Object_Item* viewer_list_item_insert_after(Evas_Object* list, + void* list_data, + Elm_Object_Item *after, + Evas_Smart_Cb callback_func, + void* callback_data) +{ Elm_Object_Item* ret = NULL; - assertm_if(NULL == list, "NULL!!"); - assertm_if(NULL == list_data, "NULL!!"); - assertm_if(NULL == ssid, "NULL!!"); - /* FIX ME LATER - NOT TO USE VIEWER_ITEM_RADIO_MODE_NULL */ - //assertm_if(VIEWER_ITEM_RADIO_MODE_NULL >= mode || VIEWER_ITEM_RADIO_MODE_MAX <= mode, "Wrong mode"); - /*assertm_if(NULL == ap_image_path, "NULL!!");*/ // It can be NULL when it is NO-AP - assertm_if(NULL == callback_func, "NULL!!"); assertm_if(NULL == callback_data, "NULL!!"); + if (!list || !list_data) { + assertm_if(NULL == list, "NULL!!"); + assertm_if(NULL == list_data, "NULL!!"); + return NULL; + } - genlist_data* gdata = NULL; - gdata = (genlist_data*) malloc(sizeof(genlist_data)); + ug_genlist_data_t* gdata = NULL; + gdata = (ug_genlist_data_t*) g_malloc0(sizeof(ug_genlist_data_t)); assertm_if(NULL == gdata, "NULL!!"); - memset(gdata, 0, sizeof(genlist_data)); - gdata->ssid = (char*) strdup( ssid ); - if(NULL != ap_image_path) { - gdata->ap_image_path = (char*) strdup(ap_image_path); - } else { - gdata->ap_image_path = NULL; - } gdata->device_info = (wifi_device_info_t *)list_data; + gdata->radio_mode = VIEWER_ITEM_RADIO_MODE_OFF; - DEBUG_LOG(UG_NAME_NORMAL, "ssid[%s] image[%s]", ssid, ap_image_path); +// DEBUG_LOG(UG_NAME_NORMAL, "ssid[%s] image[%s]", gdata->device_info->ssid, gdata->device_info->ap_image_path); - Elm_Object_Item* target = NULL; - - int count = viewer_list_item_size_get(); - - if (0 == count || VIEWER_ITEM_RADIO_MODE_CONNECTED == mode) { - DEBUG_LOG(UG_NAME_NORMAL, "first added AP item!"); - target = grouptitle; - } else { - DEBUG_LOG(UG_NAME_NORMAL, "current size [%d]", count); - int last_index = count - 1; - target = viewer_list_item_at_index(last_index); + if (!after) { /* If the after item is NULL then insert it as first item */ +// DEBUG_LOG(UG_NAME_NORMAL, "first added AP item!"); + after = grouptitle; } ret = elm_genlist_item_insert_after( - viewer_list, /*obj*/ + list, /*obj*/ &itc,/*itc*/ gdata,/*data*/ NULL,/*parent*/ - target, //grouptitle, //target, , /*after than*/ + after, /*after than*/ ELM_GENLIST_ITEM_NONE, /*flags*/ callback_func,/*func*/ - gdata);/*func_data*/ - - assertm_if(NULL == ret, "NULL!!"); - - gdata->callback_data = callback_data; - gdata->radio_mode = mode; - - elm_object_item_data_set(ret, gdata); - - if (mode == VIEWER_ITEM_RADIO_MODE_CONNECTED) { - g_slist_insert(container, ret, 1); - } else { - container = g_slist_append(container, ret); + callback_data);/*func_data*/ + + if (!ret) { + assertm_if(NULL == ret, "NULL!!"); + g_free(gdata->device_info->ap_image_path); + g_free(gdata->device_info->ap_status_txt); + g_free(gdata->device_info->ssid); + g_free(gdata->device_info); + g_free(gdata); + return NULL; } - + + container = g_slist_append(container, ret); DEBUG_LOG(UG_NAME_NORMAL, "* item add complete ssid:[%s] size:[%d]", - ssid, + gdata->device_info->ssid, viewer_list_item_size_get()); + elm_genlist_item_update(ret); return ret; } +void viewer_list_item_del(Elm_Object_Item *item) +{ + if (!item) + return; + + elm_object_item_del(item); + container = g_slist_remove(container, item); + return; +} + int viewer_list_item_size_get() { __COMMON_FUNC_ENTER__; @@ -366,21 +340,12 @@ int viewer_list_item_clear() /* remove AP items (size) */ Elm_Object_Item* det = NULL; - for (index = 0; index < size; index++) { - DEBUG_LOG(UG_NAME_NORMAL, "* remove"); + for (index = size-1; index >= 0; index--) { det = viewer_list_item_at_index(index); assertm_if(NULL == det, "NULL!!"); - - genlist_data* gdata = viewer_list_item_data_get(det, "data"); - assertm_if(NULL == gdata, "NULL!!"); - - DEBUG_LOG(UG_NAME_NORMAL,"remove ssid:[%s]", gdata->device_info->ssid); - elm_object_item_del(det); + viewer_list_item_del(det); } - g_slist_free(container); - container = g_slist_alloc(); - __COMMON_FUNC_EXIT__; return TRUE; } @@ -392,18 +357,18 @@ Elm_Object_Item* viewer_list_item_at_index(int index) int size = viewer_list_item_size_get(); assertm_if(0 > size, "query error! (i == zero base)"); - DEBUG_LOG(UG_NAME_NORMAL, "(index_to_get:%d total:%d)", index, size); Elm_Object_Item *gli = NULL; gli = (Elm_Object_Item*) g_slist_nth_data(container, index+1); assertm_if(NULL == gli, "NULL!!"); - genlist_data* gdata = NULL; - gdata = viewer_list_item_data_get(gli, "data"); - assertm_if(NULL == gdata, "NULL!!"); - - INFO_LOG(UG_NAME_NORMAL,"selected_gli ssid:[%s]", gdata->device_info->ssid); - + if (gli) { + ug_genlist_data_t* gdata = NULL; + gdata = elm_object_item_data_get(gli); + assertm_if(NULL == gdata, "NULL!!"); + if (!gdata) + gli = NULL; + } __COMMON_FUNC_EXIT__; return gli; } @@ -440,68 +405,6 @@ Elm_Object_Item* viewer_list_item_next_get(const Elm_Object_Item* current) return ret; } -int viewer_list_item_data_set(Elm_Object_Item* item, const char* key, void* data) -{ - assertm_if(NULL == item, "NULL!!"); - if(NULL == item) { - ERROR_LOG(UG_NAME_NORMAL, "Err!"); - return FALSE; - } - assertm_if(NULL == key, "NULL!!"); - if(NULL == key) { - ERROR_LOG(UG_NAME_NORMAL, "Err!"); - return FALSE; - } - - genlist_data* gdata = NULL; - gdata = elm_object_item_data_get(item); - if(NULL == gdata) { - ERROR_LOG(UG_NAME_NORMAL, "Err!"); - return FALSE; - } - - assertm_if(NULL == gdata, "NULL!!"); - - DEBUG_LOG(UG_NAME_REQ, "dataset ssid:[%s] key:[%s]", gdata->device_info->ssid, key); - - if (strncmp(key, "data", strlen(key)) == 0) { - genlist_data* g_data = (genlist_data*)data; - gdata->radio_mode = g_data->radio_mode; - elm_object_item_data_set(item, gdata); - g_data = elm_object_item_data_get(item); - DEBUG_LOG(UG_NAME_REQ, "radio_mode:[%d], [%d]", gdata->radio_mode, g_data->radio_mode); - return TRUE; - } else { - assertm_if(TRUE, "unvalid key [%s]", key); - return FALSE; - } - return FALSE; -} - -void* viewer_list_item_data_get(const Elm_Object_Item* item, const char* key) -{ - assertm_if(NULL == item, "NULL!!"); - assertm_if(NULL == key, "NULL!!"); - - genlist_data* gdata = NULL; - gdata = elm_object_item_data_get(item); - assertm_if(NULL == gdata, "NULL!!"); - if(NULL == gdata) { - return NULL; - } - - DEBUG_LOG(UG_NAME_NORMAL, "dataget ssid:[%s] key:[%s]", gdata->device_info->ssid, key); - - if (strncmp(key, "data", strlen(key)) == 0) { - return (void*) gdata; - } else { - assertm_if(TRUE, "unvalid key [%s]", key); - return NULL; - } - - return NULL; -} - int viewer_list_item_enable_all(void) { __COMMON_FUNC_ENTER__; @@ -541,6 +444,30 @@ int viewer_list_item_disable_all(void) return TRUE; } +static gint __viewer_list_compare_profile_names (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 && gdata->device_info) { + return g_strcmp0((const char *)b, (const char *)gdata->device_info->profile_name); + } + } + return -1; +} + +static gint __viewer_list_compare_ssid (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 && gdata->device_info) { + return g_strcmp0((const char *)b, (const char *)gdata->device_info->ssid); + } + } + return -1; +} + Elm_Object_Item* item_get_for_profile_name(char* profile_name) { __COMMON_FUNC_ENTER__; @@ -550,34 +477,47 @@ Elm_Object_Item* item_get_for_profile_name(char* profile_name) return NULL; } - INFO_LOG(UG_NAME_RESP, "profile_name [%s]", profile_name); - - int index = 0; - int size = viewer_list_item_size_get(); - INFO_LOG(UG_NAME_RESP, "total size [%d]", size); - - for (index =0; index < size; index++) { - Elm_Object_Item* item = viewer_list_item_at_index(index); - if (item == NULL) { - DEBUG_LOG(UG_NAME_NORMAL, "continue"); - continue; - } + Elm_Object_Item* item = NULL; + GSList *found = g_slist_find_custom(container, (gconstpointer)profile_name, __viewer_list_compare_profile_names); + if (found) { + INFO_LOG(UG_NAME_NORMAL, "item found for profile_name [%s]", profile_name); + item = found->data; + } + __COMMON_FUNC_EXIT__; + return item; +} - genlist_data* gdata = (genlist_data*) viewer_list_item_data_get(item, "data"); - if (gdata == NULL) { - __COMMON_FUNC_EXIT__; - return NULL; - } +/* If there is a single profile with the ssid then this function will return the item. + * If there are no profiles with the ssid OR if there are more than one profiles with + * ssid then this function will return NULL and the number of aps found will be update in *ap_count + */ +Elm_Object_Item *item_get_for_ssid(const char* ssid, int *ap_count) +{ + __COMMON_FUNC_ENTER__; - INFO_LOG(UG_NAME_RESP, "profile_name [%s]\n", gdata->device_info->profile_name); + if (ssid == NULL || ap_count == NULL) { + __COMMON_FUNC_EXIT__; + return NULL; + } - if (!strcmp(profile_name, gdata->device_info->profile_name)) { - __COMMON_FUNC_EXIT__; - return item; + Elm_Object_Item* item = NULL; + GSList *found = g_slist_find_custom(container, (gconstpointer)ssid, __viewer_list_compare_ssid); + if (found) { + *ap_count = 1; + INFO_LOG(UG_NAME_NORMAL, "item found for ssid [%s]", ssid); + item = found->data; + + /* Lets check if there are more than one profiles with same ssid */ + found = g_slist_find_custom(found->next, (gconstpointer)ssid, __viewer_list_compare_ssid); + if (found) { + *ap_count = 2; + INFO_LOG(UG_NAME_NORMAL, "two items found for ssid [%s]", ssid); + item = NULL; } + } else { + *ap_count = 0; } - + __COMMON_FUNC_EXIT__; - return NULL; + return item; } - diff --git a/sources/ui-gadget/wifi-efl-UG.c b/sources/ui-gadget/wifi-efl-UG.c index dd59ee5..a871baa 100644 --- a/sources/ui-gadget/wifi-efl-UG.c +++ b/sources/ui-gadget/wifi-efl-UG.c @@ -1,53 +1,49 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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 UG_MODULE_API #define UG_MODULE_API __attribute__ ((visibility("default"))) #endif -#include #include "wifi.h" #include "wlan_manager.h" -#include "popup.h" +#include "winset_popup.h" #include "viewer_manager.h" #include "wifi-engine-callback.h" #include "i18nmanager.h" #include "wifi-setting.h" #include "view_detail.h" -#include "view_dhcpip.h" -#include "view_staticip.h" -#include "view_ime_password.h" #include "view_ime_hidden.h" - +#include "motion_control.h" static int wifi_exit_end = FALSE; -struct wifi_appdata *app_state = NULL; +wifi_appdata *ug_app_state = NULL; struct ug_data { Evas_Object *base; - struct ui_gadget *ug; + ui_gadget_h ug; }; - -static void *on_create(struct ui_gadget *ug, enum ug_mode mode, bundle *data, void *priv) +static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, void *priv) { __COMMON_FUNC_ENTER__; @@ -56,61 +52,73 @@ static void *on_create(struct ui_gadget *ug, enum ug_mode mode, bundle *data, vo return NULL; } - app_state = (struct wifi_appdata *) g_malloc0(sizeof(struct wifi_appdata)); - assertm_if(NULL == app_state, "Err!! app_state == NULL"); - memset(app_state, 0x0, sizeof(struct wifi_appdata)); + ug_app_state = (wifi_appdata *) g_malloc0(sizeof(wifi_appdata)); + assertm_if(NULL == ug_app_state, "Err!! ug_app_state == NULL"); + memset(ug_app_state, 0x0, sizeof(wifi_appdata)); struct ug_data *ugd; ugd = (struct ug_data*)priv; ugd->ug = ug; - if (NULL != data) { + if (NULL != service) { INFO_LOG(UG_NAME_NORMAL, "message load from caller"); - const char* force_connected = (const char*) bundle_get_val(data,"back-button-show-force-when-connected"); - INFO_LOG(UG_NAME_NORMAL, "* bundle:back-button-show-force-when-connected [%s]", force_connected); + 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 (force_connected != NULL) { - if(strcmp(force_connected, "TRUE")==0) { - app_state->bundle_back_button_show_force_when_connected = EINA_TRUE; + 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); + 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); + service_get_extra_data(service, "lbutton_icon", &ug_app_state->lbutton_setup_wizard_prev_icon); + service_get_extra_data(service, "rbutton_skip_icon", &ug_app_state->rbutton_setup_wizard_skip_icon); + service_get_extra_data(service, "scan_icon", &ug_app_state->rbutton_setup_wizard_scan_icon); + service_get_extra_data(service, "rbutton_next_icon", &ug_app_state->rbutton_setup_wizard_next_icon); + } else { + ug_app_state->ug_type = UG_VIEW_DEFAULT; } + + free(caller); } else { - app_state->bundle_back_button_show_force_when_connected = EINA_FALSE; + INFO_LOG(UG_NAME_NORMAL, "caller is not defined"); + ug_app_state->ug_type = UG_VIEW_DEFAULT; } } else { - INFO_LOG(UG_NAME_NORMAL, "I don`t know about my caller, I will just call him < Setting"); - app_state->bundle_back_button_show_force_when_connected = EINA_FALSE; + INFO_LOG(UG_NAME_NORMAL, "caller is not defined"); + ug_app_state->ug_type = UG_VIEW_DEFAULT; } - INFO_LOG(UG_NAME_NORMAL, "bundle process end"); - INFO_LOG(UG_NAME_NORMAL, "back button show when connected force set [%d]", app_state->bundle_back_button_show_force_when_connected); - bindtextdomain(PACKAGE, LOCALEDIR); - app_state->win_main = ug_get_parent_layout(ug); - assertm_if( NULL == app_state->win_main, "Err!! win_main == NULL"); + ug_app_state->win_main = ug_get_parent_layout(ug); + assertm_if( NULL == ug_app_state->win_main, "Err!! win_main == NULL"); - elm_win_conformant_set(app_state->win_main, TRUE); - app_state->gadget= ugd; - app_state->ug = ug; + elm_win_conformant_set(ug_app_state->win_main, TRUE); + ug_app_state->gadget= ugd; + ug_app_state->ug = ug; if (wifi_setting_value_set(VCONFKEY_WIFI_UG_RUN_STATE, VCONFKEY_WIFI_UG_RUN_STATE_ON_FOREGROUND) < 0) { INFO_LOG(UG_NAME_ERR, "[Error]Failed to set vconf - VCONFKEY_WIFI_UG_RUN_STATE_ON_FOREGROUND"); } - evas_object_show(app_state->win_main); - elm_win_indicator_mode_set(app_state->win_main, ELM_WIN_INDICATOR_SHOW); + evas_object_show(ug_app_state->win_main); + elm_win_indicator_mode_set(ug_app_state->win_main, ELM_WIN_INDICATOR_SHOW); memset(&g_pending_call, 0, sizeof(wifi_pending_call_info_t)); - Evas_Object* base = viewer_manager_create(app_state->win_main); + Evas_Object* base = viewer_manager_create(ug_app_state->win_main); assertm_if(NULL == base, "Err!! main_layout == NULL"); ugd->base = base; - winset_popup_create(app_state->win_main); + ug_app_state->popup_manager = winset_popup_manager_create(ug_app_state->win_main, PACKAGE); - app_state->bAlive = EINA_TRUE; - app_state->current_view = VIEW_MAIN; + ug_app_state->bAlive = EINA_TRUE; wlan_manager_create(); wlan_manager_set_message_callback(wlan_engine_callback); @@ -120,10 +128,10 @@ static void *on_create(struct ui_gadget *ug, enum ug_mode mode, bundle *data, vo case WLAN_MANAGER_ERR_NONE: break; case WLAN_MANAGER_ERR_ALREADY_REGISTERED: - winset_popup_mode_set(NULL, POPUP_MODE_REGISTER_FAILED, POPUP_OPTION_NONE); + winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_REGISTER_FAILED_UNKNOWN, NULL); return ugd->base; case WLAN_MANAGER_ERR_UNKNOWN: - winset_popup_mode_set(NULL, POPUP_MODE_REGISTER_FAILED, POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED); + winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_REGISTER_FAILED_COMMUNICATION_FAILED, NULL); return ugd->base; default: __COMMON_FUNC_EXIT__; @@ -135,94 +143,102 @@ static void *on_create(struct ui_gadget *ug, enum ug_mode mode, bundle *data, vo case WLAN_MANAGER_OFF: ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-off\n"); viewer_manager_header_mode_set(HEADER_MODE_OFF); + viewer_manager_show(VIEWER_WINSET_SEARCHING); viewer_manager_hide(VIEWER_WINSET_SUB_CONTENTS); break; case WLAN_MANAGER_CONNECTING: - ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-connecting\n"); case WLAN_MANAGER_UNCONNECTED: - ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-on\n"); - viewer_manager_header_mode_set(HEADER_MODE_SEARCHING); - viewer_manager_hide(VIEWER_WINSET_SEARCHING); - viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS); - if (connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC) == WLAN_MANAGER_ERR_NONE) { - DEBUG_LOG(UG_NAME_REQ, "Set BG scan mode - PERIODIC"); - } - break; case WLAN_MANAGER_CONNECTED: - ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-connected\n"); + 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); - if (connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC) == WLAN_MANAGER_ERR_NONE) { - DEBUG_LOG(UG_NAME_REQ, "Set BG scan mode - PERIODIC"); - } break; case WLAN_MANAGER_ERROR: default: - winset_popup_mode_set(NULL, POPUP_MODE_ETC, POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR); + winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR, NULL); break; } + motion_create(ug_app_state->win_main); + __COMMON_FUNC_EXIT__; return ugd->base; } -static void on_start(struct ui_gadget *ug, bundle *data, void *priv) +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__; - if(app_state->bAlive) - ecore_idler_add((Ecore_Task_Cb)wlan_manager_scanned_profile_refresh_with_count, (void *)8); + ecore_idler_add(load_initial_ap_list, (void *)8); + + motion_start(); + __COMMON_FUNC_EXIT__; + return; } -static void on_pause(struct ui_gadget *ug, bundle *data, void *priv) +static void on_pause(ui_gadget_h ug, service_h service, void *priv) { __COMMON_FUNC_ENTER__; + motion_stop(); + + if (connman_request_scan_mode_set(WIFI_BGSCAN_MODE_EXPONENTIAL) == WLAN_MANAGER_ERR_NONE) { + DEBUG_LOG(UG_NAME_REQ, "Set BG scan mode - EXPONENTIAL"); + } + if (wifi_setting_value_set(VCONFKEY_WIFI_UG_RUN_STATE, VCONFKEY_WIFI_UG_RUN_STATE_ON_BACKGROUND) < 0) { INFO_LOG(UG_NAME_NORMAL, "Failed to set vconf - VCONFKEY_WIFI_UG_RUN_STATE_ON_BACKGROUND"); } __COMMON_FUNC_EXIT__; } -static void on_resume(struct ui_gadget *ug, bundle *data, void *priv) +static void on_resume(ui_gadget_h ug, service_h service, void *priv) { __COMMON_FUNC_ENTER__; + motion_start(); + + if (connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC) == WLAN_MANAGER_ERR_NONE) { + DEBUG_LOG(UG_NAME_REQ, "Set BG scan mode - PERIODIC"); + } + if (wifi_setting_value_set(VCONFKEY_WIFI_UG_RUN_STATE, VCONFKEY_WIFI_UG_RUN_STATE_ON_FOREGROUND) < 0) { INFO_LOG(UG_NAME_NORMAL, "Failed to set vconf - VCONFKEY_WIFI_UG_RUN_STATE_ON_FOREGROUND"); } __COMMON_FUNC_EXIT__; } -static void on_destroy(struct ui_gadget *ug, bundle *data, void *priv) +static void on_destroy(ui_gadget_h ug, service_h service, void *priv) { __COMMON_FUNC_ENTER__; - if (wifi_setting_value_set(VCONFKEY_WIFI_UG_RUN_STATE, VCONFKEY_WIFI_UG_RUN_STATE_OFF) < 0) { INFO_LOG(UG_NAME_NORMAL, "Failed to set vconf - VCONFKEY_WIFI_UG_RUN_STATE_OFF"); } - if (!ug || !priv){ __COMMON_FUNC_EXIT__; return; } - wifi_exit(); + motion_destroy(); + wifi_exit(); struct ug_data* ugd = priv; - if(ugd->base){ evas_object_del(ugd->base); ugd->base = NULL; } - - __COMMON_FUNC_EXIT__; } -static void on_message(struct ui_gadget *ug, bundle *msg, bundle *data, void *priv) +static void on_message(ui_gadget_h ug, service_h msg, service_h service, void *priv) { } -static void on_event(struct ui_gadget *ug, enum ug_event event, bundle *data, 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: @@ -244,7 +260,7 @@ static void on_event(struct ui_gadget *ug, enum ug_event event, bundle *data, vo } } -static void on_key_event(struct ui_gadget *ug, enum ug_key_event event, bundle *data, void *priv) +static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h service, void *priv) { __COMMON_FUNC_ENTER__; @@ -257,18 +273,11 @@ static void on_key_event(struct ui_gadget *ug, enum ug_key_event event, bundle * INFO_LOG(UG_NAME_NORMAL, "UG_KEY_EVENT_END"); /* popup key event determine */ - Evas_Object* det = winset_popup_content_get(NULL); - - if(det == NULL) { - INFO_LOG(UG_NAME_NORMAL, "No POPUP"); - } else { - INFO_LOG(UG_NAME_NORMAL, "POPUP Removed"); - winset_popup_timer_remove(); - winset_popup_content_clear(); - return; - } - - if(app_state->current_view == VIEW_MAIN) { + 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"); @@ -349,7 +358,8 @@ int wifi_exit() } DEBUG_LOG(UG_NAME_NORMAL, "* popup manager destroying..."); - winset_popup_destroy(NULL); + winset_popup_manager_destroy(ug_app_state->popup_manager); + ug_app_state->popup_manager = NULL; DEBUG_LOG(UG_NAME_NORMAL, "* wlan manager destroying..."); wlan_manager_destroy(); DEBUG_LOG(UG_NAME_NORMAL, "* view_main destroying..."); @@ -357,8 +367,8 @@ int wifi_exit() DEBUG_LOG(UG_NAME_NORMAL, "* manager destroy complete"); struct ug_data *ugd; - ugd = app_state->gadget; - app_state->bAlive = EINA_FALSE; + ugd = ug_app_state->gadget; + ug_app_state->bAlive = EINA_FALSE; if(g_pending_call.is_handled == FALSE) { diff --git a/sources/ui-gadget/wifi-ui-list-callbacks.c b/sources/ui-gadget/wifi-ui-list-callbacks.c index d4af841..939962f 100644 --- a/sources/ui-gadget/wifi-ui-list-callbacks.c +++ b/sources/ui-gadget/wifi-ui-list-callbacks.c @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -21,145 +24,268 @@ #include "wlan_manager.h" #include "view_detail.h" #include "viewer_list.h" -#include "view_ime_password.h" -#include "view_eap.h" -#include "popup.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; -void radio_button_cb(void *data, Evas_Object *obj, void *event_info) +static void _popup_cancel_cb(void *data, Evas_Object *obj, void *event_info) { __COMMON_FUNC_ENTER__; + if (!ug_app_state->passpopup || !data) { + return; + } - int ret = WLAN_MANAGER_ERR_UNKNOWN; - if (data == NULL) { - ERROR_LOG(UG_NAME_NORMAL, "Error!!! Invalid argument device_info"); - goto radio_button_cb_process_end; + 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; } - //selected UI and it`s data + 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 (device_info->ssid == NULL) { - ERROR_LOG(UG_NAME_NORMAL, "Error!!! Invalid argument device_info ssid"); - goto radio_button_cb_process_end; + if (!it || !device_info || device_info->ssid == NULL) { + ERROR_LOG(UG_NAME_NORMAL, "Error!!! Invalid inout params"); + __COMMON_FUNC_EXIT__; + return; } - viewer_manager_set_enabled_list_update(EINA_FALSE); - viewer_manager_current_selected_item_set(it); - - genlist_data* gdata = (genlist_data*) viewer_list_item_data_get((Elm_Object_Item*)it, "data"); + 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"); - goto radio_button_cb_process_end; + __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); - INFO_LOG(UG_NAME_NORMAL, "selected item_state %d", item_state); switch (item_state) { - case VIEWER_ITEM_RADIO_MODE_NULL: //this is OFF too. of course, NULL should be un-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"); - viewer_manager_item_radio_mode_set(NULL, it, VIEWER_ITEM_RADIO_MODE_DISCONNECTING); ret = wlan_manager_request_disconnection(device_info); if(ret == WLAN_MANAGER_ERR_NONE){ - viewer_manager_item_radio_mode_set(NULL, it, VIEWER_ITEM_RADIO_MODE_DISCONNECTING); viewer_manager_header_mode_set(HEADER_MODE_DISCONNECTING); - viewer_manager_item_radio_mode_set(NULL, it, VIEWER_ITEM_RADIO_MODE_DISCONNECTING); - - } else { - viewer_manager_item_radio_mode_set(NULL, it , VIEWER_ITEM_RADIO_MODE_OFF); } - - goto radio_button_cb_process_end; + 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_item_radio_mode_set(NULL, it, VIEWER_ITEM_RADIO_MODE_CANCEL_CONNECTING); viewer_manager_header_mode_set(HEADER_MODE_CANCEL_CONNECTING); - viewer_manager_item_radio_mode_set(NULL, it, VIEWER_ITEM_RADIO_MODE_CANCEL_CONNECTING); } - goto radio_button_cb_process_end; - - default: - ret = WLAN_MANAGER_ERR_UNKNOWN; - goto radio_button_cb_process_end; - } - - int current_state = -1; - 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_OFF: - INFO_LOG(UG_NAME_NORMAL, "you can not connect when header off"); - break; - case HEADER_MODE_CONNECTED: - INFO_LOG(UG_NAME_NORMAL, "header mode connected. disconnect and connect needed"); - case HEADER_MODE_ON: - viewer_manager_item_radio_mode_set(NULL, it, VIEWER_ITEM_RADIO_MODE_CONNECTING); - - ret = wlan_manager_request_connection(device_info); - if (ret == WLAN_MANAGER_ERR_NONE) { - Elm_Object_Item* target_item = viewer_manager_current_selected_item_get(); - viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_CONNECTING); - viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); - viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_CONNECTING); - } else { - viewer_manager_item_radio_mode_set(NULL, it, VIEWER_ITEM_RADIO_MODE_OFF); - } break; - case HEADER_MODE_SEARCHING: - case HEADER_MODE_ACTIVATING: - case HEADER_MODE_CONNECTING: - case HEADER_MODE_DISCONNECTING: - case HEADER_MODE_DEACTIVATING: - viewer_manager_set_enabled_list_update(EINA_TRUE); - viewer_manager_current_selected_item_set(NULL); - INFO_LOG(UG_NAME_NORMAL, "Disable input"); - return; - default: - INFO_LOG(UG_NAME_NORMAL, "default"); + ret = WLAN_MANAGER_ERR_UNKNOWN; break; } -radio_button_cb_process_end: - switch (ret) { case WLAN_MANAGER_ERR_NONE: INFO_LOG(UG_NAME_NORMAL, "ERROR_NONE"); break; case WLAN_MANAGER_ERR_CONNECT_PASSWORD_NEEDED: - view_ime_password(device_info); - break; + { + 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: - view_eap(device_info); - break; + { + 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: - viewer_manager_set_enabled_list_update(EINA_TRUE); - wlan_manager_scanned_profile_refresh(TRUE); break; + default: - viewer_manager_set_enabled_list_update(EINA_TRUE); - winset_popup_mode_set(NULL, POPUP_MODE_CONNECTING_FAILED, POPUP_OPTION_CONNECTING_FAILED_INVALID_OPERATION); 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) @@ -179,8 +305,6 @@ void list_select_cb(void *data, Evas_Object *obj, void *event_info) DEBUG_LOG(UG_NAME_NORMAL, "ssid [%s]", device_info->ssid); - viewer_manager_current_selected_item_set((Elm_Object_Item *)obj); - view_detail(device_info); __COMMON_FUNC_EXIT__; diff --git a/sources/ui-gadget/wifi-wlan-callbacks.c b/sources/ui-gadget/wifi-wlan-callbacks.c index 9b0299d..494cf78 100644 --- a/sources/ui-gadget/wifi-wlan-callbacks.c +++ b/sources/ui-gadget/wifi-wlan-callbacks.c @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* 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. +* +*/ @@ -20,11 +23,12 @@ #include "wifi-ui-list-callbacks.h" #include "wlan_manager.h" #include "viewer_manager.h" -#include "popup.h" +#include "winset_popup.h" #include "wifi-engine-callback.h" -#include "view_ime_password.h" #include "viewer_list.h" +#include "motion_control.h" +extern wifi_appdata *ug_app_state; void wlan_engine_callback(void *user_data, void *wlan_data) { @@ -38,428 +42,214 @@ void wlan_engine_callback(void *user_data, void *wlan_data) Elm_Object_Item* target_item = NULL; callback_data* det = (callback_data*) wlan_data; + 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, "daemon message [%d]", det->type); + INFO_LOG(UG_NAME_NORMAL, "profile_name [%s]", det->profile_name); + + if (det->profile_name[0]) { /* Is it a response with a profile name? */ + + /* 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_profile_name(det->profile_name); + 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 (det->type == WLAN_MANAGER_RESPONSE_TYPE_CONNECTING || + det->type == WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK || + det->type == WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_IND) { + /* This situation comes during hidden AP connecting/connected event. + * Anyways its always better to add the connecting/connected AP */ + target_item = viewer_manager_add_new_item(det->profile_name); + 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."); + __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 (det->type) { case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_OK: - INFO_LOG(UG_NAME_RESP,"Power ok..\n"); - - if (connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC) == WLAN_MANAGER_ERR_NONE) { - DEBUG_LOG(UG_NAME_REQ, "Set BG scan mode - PERIODIC"); + if (WLAN_MANAGER_ERR_NONE == wlan_manager_request_scan()) { /* First scan request after power on */ + INFO_LOG(UG_NAME_RESP,"Scan request is success\n"); + connman_request_scan_mode_set(WIFI_BGSCAN_MODE_PERIODIC); + viewer_manager_header_mode_set(HEADER_MODE_SEARCHING); + viewer_manager_hidden_disable_set(TRUE); + viewer_manager_show(VIEWER_WINSET_SEARCHING); + viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS); + } else { /* First scan request failed. Anyways lets set the state to ON and allow user to continue */ + INFO_LOG(UG_NAME_RESP,"Scan request failed\n"); + viewer_manager_header_mode_set(HEADER_MODE_ON); + viewer_manager_hidden_disable_set(FALSE); + viewer_manager_hide(VIEWER_WINSET_SEARCHING); + viewer_manager_hide(VIEWER_WINSET_SUB_CONTENTS); } - viewer_manager_header_mode_set(HEADER_MODE_SEARCHING); - viewer_manager_hidden_disable_set(TRUE); - viewer_manager_show(VIEWER_WINSET_SEARCHING); - viewer_manager_show(VIEWER_WINSET_SUB_CONTENTS); + motion_stop(); break; + case WLAN_MANAGER_RESPONSE_TYPE_POWER_OFF_OK: viewer_list_item_clear(); wlan_manager_reset_connected_AP(); viewer_manager_header_mode_set(HEADER_MODE_OFF); - - viewer_manager_hide(VIEWER_WINSET_SEARCHING); + viewer_manager_show(VIEWER_WINSET_SEARCHING); viewer_manager_hide(VIEWER_WINSET_SUB_CONTENTS); + + motion_start(); break; + case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_NOT_SUPPORTED: viewer_manager_header_mode_set(HEADER_MODE_OFF); - wlan_manager_network_syspopup_message("Network connection popup", "not support"); + wlan_manager_network_syspopup_message("Network connection popup", "not support", "notification"); break; + case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_RESTRICTED: viewer_manager_header_mode_set(HEADER_MODE_OFF); - wlan_manager_network_syspopup_message("Network connection popup", "wifi restricted"); + wlan_manager_network_syspopup_message("Network connection popup", "wifi restricted", "popup"); break; - case WLAN_MANAGER_RESPONSE_TYPE_SCAN_OK: - INFO_LOG(UG_NAME_RESP,"Scan ok..\n"); - wlan_manager_scanned_profile_refresh(TRUE); - if (HEADER_MODE_CONNECTED == header_state) { - viewer_manager_hidden_disable_set(FALSE); - } else if (HEADER_MODE_ON == header_state) { - viewer_manager_hidden_disable_set(FALSE); - } - break; - case WLAN_MANAGER_RESPONSE_TYPE_SCAN_RESULT_IND: - INFO_LOG(UG_NAME_RESP,"Scan result ind"); - switch (header_state) { - case HEADER_MODE_CONNECTING: - case HEADER_MODE_CONNECTED: - case HEADER_MODE_DISCONNECTING: - case HEADER_MODE_ON: - case HEADER_MODE_SEARCHING: - wlan_manager_scanned_profile_refresh(TRUE); - break; - case HEADER_MODE_DEACTIVATING: - case HEADER_MODE_OFF: - case HEADER_MODE_ACTIVATING: - default: + 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); + case WLAN_MANAGER_RESPONSE_TYPE_SCAN_RESULT_IND: /* Auto scan complete response */ + INFO_LOG(UG_NAME_RESP,"Scan complete..\n"); + wlan_manager_scanned_profile_refresh(); break; - case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_IND: - target_item = item_get_for_profile_name(det->profile_name); - switch (header_state) { - case HEADER_MODE_CONNECTING: - case HEADER_MODE_CONNECTED: - case HEADER_MODE_DISCONNECTING: - case HEADER_MODE_ON: - if (target_item == NULL) { - ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL"); - } else { - viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_CONNECTED); - } - - viewer_manager_set_enabled_list_update(EINA_TRUE); - viewer_manager_refresh(TRUE); - viewer_manager_header_mode_set(HEADER_MODE_CONNECTED); - viewer_manager_scroll_to_top(); - break; - case HEADER_MODE_DEACTIVATING: - case HEADER_MODE_OFF: - case HEADER_MODE_ACTIVATING: - default: - break; - } - break; case WLAN_MANAGER_RESPONSE_TYPE_CONNECTING: - switch (header_state) { - case HEADER_MODE_CONNECTING: - case HEADER_MODE_DISCONNECTING: - case HEADER_MODE_DEACTIVATING: - case HEADER_MODE_CONNECTED: - break; - default: - target_item = item_get_for_profile_name(det->profile_name); - viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); - viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_CONNECTING); - break; - } - break; - case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK: - target_item = item_get_for_profile_name(det->profile_name); - switch (header_state) { - case HEADER_MODE_CONNECTING: - case HEADER_MODE_CONNECTED: - case HEADER_MODE_DISCONNECTING: - case HEADER_MODE_ON: - if (target_item == NULL) { - ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL"); - } else { - viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_CONNECTED); - } - - viewer_manager_set_enabled_list_update(EINA_TRUE); - viewer_manager_refresh(TRUE); - viewer_manager_header_mode_set(HEADER_MODE_CONNECTED); - viewer_manager_scroll_to_top(); - break; - case HEADER_MODE_DEACTIVATING: - case HEADER_MODE_OFF: - case HEADER_MODE_ACTIVATING: - default: - break; - } + target_item = viewer_manager_move_item_to_top(target_item); + viewer_manager_header_mode_set(HEADER_MODE_CONNECTING); + viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_CONNECTING); + viewer_manager_scroll_to_top(); break; - case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_IN_PROGRESS: - target_item = item_get_for_profile_name(det->profile_name); - viewer_manager_header_mode_set(HEADER_MODE_ON); - - if (target_item == NULL) { - ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL"); - } else { - viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_OFF); - } - viewer_manager_set_enabled_list_update(EINA_TRUE); - viewer_manager_refresh(TRUE); + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_IND: + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK: + target_item = viewer_manager_move_item_to_top(target_item); + viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_CONNECTED); + viewer_manager_header_mode_set(HEADER_MODE_CONNECTED); + viewer_manager_scroll_to_top(); break; - case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN: - target_item = item_get_for_profile_name(det->profile_name); - viewer_manager_header_mode_set(HEADER_MODE_ON); - if (target_item == NULL) { - ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL"); - } else { - viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_OFF); + case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_OK: + target_item = viewer_manager_move_item_to_top(target_item); + viewer_manager_item_radio_mode_set(NULL, 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; } - - viewer_manager_set_enabled_list_update(EINA_TRUE); - viewer_manager_refresh(TRUE); - - wlan_manager_network_syspopup_message("Network connection popup", "unable to connect"); break; - case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_TIMEOUT: - target_item = item_get_for_profile_name(det->profile_name); - viewer_manager_header_mode_set(HEADER_MODE_ON); - - if (target_item == NULL) { - ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL"); - } else { - viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF); - } - viewer_manager_set_enabled_list_update(EINA_TRUE); - viewer_manager_refresh(TRUE); - winset_popup_mode_set(NULL, POPUP_MODE_CONNECTING_FAILED, POPUP_OPTION_CONNECTING_FAILED_TIMEOUT); - break; + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_IN_PROGRESS: + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN: case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ALREADY_EXIST: - target_item = item_get_for_profile_name(det->profile_name); + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ABORTED: viewer_manager_header_mode_set(HEADER_MODE_ON); + viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF); - if (target_item == NULL) { - ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL"); - } else { - viewer_manager_item_radio_mode_set(NULL, 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; } - - viewer_manager_set_enabled_list_update(EINA_TRUE); - wlan_manager_scanned_profile_refresh(TRUE); break; + + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_INVALID_KEY: + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_CONNECT_FAILED: + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_TIMEOUT: case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN_METHOD: - target_item = item_get_for_profile_name(det->profile_name); viewer_manager_header_mode_set(HEADER_MODE_ON); + viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_OFF); - if (target_item == NULL) { - ERROR_LOG(UG_NAME_RESP, "Error!!! Target item is NULL"); - } else { - viewer_manager_item_radio_mode_set(NULL, 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; } - - viewer_manager_set_enabled_list_update(EINA_TRUE); - wlan_manager_scanned_profile_refresh(TRUE); break; - case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ABORTED: - target_item = item_get_for_profile_name(det->profile_name); - viewer_manager_header_mode_set(HEADER_MODE_ON); - - if (target_item == NULL) { - ERROR_LOG(UG_NAME_RESP, "Error!!! Target item is NULL"); - } else { - viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_OFF); - } - viewer_manager_set_enabled_list_update(EINA_TRUE); - wlan_manager_scanned_profile_refresh(TRUE); - break; case WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_IND: + case WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK: INFO_LOG(UG_NAME_RESP, "DISCONNECTION IND"); - target_item = item_get_for_profile_name(det->profile_name); - switch (header_state) { - case HEADER_MODE_CONNECTING: - if (target_item == NULL) { - ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL"); - } else { - genlist_data* gdata = (genlist_data*) viewer_list_item_data_get(target_item, "data"); - if (gdata->radio_mode == VIEWER_ITEM_RADIO_MODE_CONNECTING) - viewer_manager_header_mode_set(HEADER_MODE_ON); - - viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF); - } - break; - case HEADER_MODE_CONNECTED: - case HEADER_MODE_DISCONNECTING: - case HEADER_MODE_ON: - if (target_item == NULL) { - ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL"); - } else { - viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF); - } - - viewer_manager_header_mode_set(HEADER_MODE_ON); - viewer_manager_set_enabled_list_update(EINA_TRUE); - viewer_manager_refresh(TRUE); - break; - case HEADER_MODE_CANCEL_CONNECTING: - viewer_manager_header_mode_set(HEADER_MODE_ON); - viewer_manager_set_enabled_list_update(EINA_TRUE); - viewer_manager_refresh(TRUE); - break; - case HEADER_MODE_DEACTIVATING: - case HEADER_MODE_OFF: - case HEADER_MODE_ACTIVATING: - default: - INFO_LOG(UG_NAME_RESP,"DISCONNECTION IND will not applied at header mode [%d]", header_state); - break; - } - + viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF); + viewer_manager_header_mode_set(HEADER_MODE_ON); break; - case WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK: - INFO_LOG(UG_NAME_RESP,"DISCONNECTION_OK"); - target_item = item_get_for_profile_name(det->profile_name); - if (target_item == NULL) { - ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL"); - } else { - genlist_data* gdata = (genlist_data*) viewer_list_item_data_get(target_item, "data"); - if (gdata->radio_mode == VIEWER_ITEM_RADIO_MODE_WPS_CONNECTING) { - viewer_manager_header_mode_set(HEADER_MODE_ON); - viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF); - return; - } - - viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF); - } + case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_FAIL: + viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF); + viewer_manager_header_mode_set(HEADER_MODE_ON); - switch (header_state) { - case HEADER_MODE_CONNECTING: - case HEADER_MODE_CANCEL_CONNECTING: - case HEADER_MODE_CONNECTED: - case HEADER_MODE_DISCONNECTING: - viewer_manager_header_mode_set(HEADER_MODE_ON); - break; - case HEADER_MODE_DEACTIVATING: - viewer_manager_header_mode_set(HEADER_MODE_OFF); - break; - case HEADER_MODE_OFF: - viewer_manager_header_mode_set(HEADER_MODE_OFF); - break; - case HEADER_MODE_ON: - viewer_manager_header_mode_set(HEADER_MODE_ON); - break; - case HEADER_MODE_ACTIVATING: - default: - if (det) { - if (det->profile_name) - g_free(det->profile_name); - g_free(det); - } - return; + if (ug_app_state->passpopup) { + common_pswd_popup_destroy(ug_app_state->passpopup); + ug_app_state->passpopup = NULL; } - - viewer_manager_set_enabled_list_update(EINA_TRUE); - viewer_manager_current_selected_item_set(NULL); - break; - case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_OK: - target_item = item_get_for_profile_name(det->profile_name); - switch(header_state) { - case HEADER_MODE_CONNECTING: - case HEADER_MODE_CONNECTED: - case HEADER_MODE_DISCONNECTING: - case HEADER_MODE_ON: - if(target_item == NULL) { - ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL"); - } else { - winset_popup_mode_set(NULL, POPUP_MODE_OFF, POPUP_OPTION_NONE); - view_ime_password_destroy(); - viewer_manager_item_radio_mode_set(NULL, target_item , VIEWER_ITEM_RADIO_MODE_CONNECTED); - } - viewer_manager_set_enabled_list_update(EINA_TRUE); - viewer_manager_refresh(TRUE); - - viewer_manager_header_mode_set(HEADER_MODE_CONNECTED); - break; - case HEADER_MODE_DEACTIVATING: - case HEADER_MODE_OFF: - case HEADER_MODE_ACTIVATING: - default: - break; - } + case WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_OK: + viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF); + viewer_manager_header_mode_set(HEADER_MODE_ON); break; - case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_FAIL: - target_item = item_get_for_profile_name(det->profile_name); - if (target_item == NULL) { - ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL"); - } else { - viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF); - } - switch (header_state) { - case HEADER_MODE_CONNECTING: - case HEADER_MODE_CANCEL_CONNECTING: - case HEADER_MODE_CONNECTED: - case HEADER_MODE_DISCONNECTING: - viewer_manager_header_mode_set(HEADER_MODE_ON); - break; - case HEADER_MODE_DEACTIVATING: - viewer_manager_header_mode_set(HEADER_MODE_OFF); - break; - case HEADER_MODE_OFF: - viewer_manager_header_mode_set(HEADER_MODE_OFF); - break; - case HEADER_MODE_ON: - viewer_manager_header_mode_set(HEADER_MODE_ON); - break; - case HEADER_MODE_ACTIVATING: - default: - if (det) { - if (det->profile_name) - g_free(det->profile_name); - g_free(det); - } - return; - } + case WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_FAIL: + INFO_LOG(UG_NAME_RESP, "CANCEL_WPS_ENROLL_FAIL"); + break; - winset_popup_mode_set(NULL, POPUP_MODE_OFF, POPUP_OPTION_NONE); - wlan_manager_network_syspopup_message("Network connection popup", "unable to connect"); + case WLAN_MANAGER_RESPONSE_TYPE_MAC_ID_IND: + INFO_LOG(UG_NAME_RESP, "MAC_ID_IND"); break; - case WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_OK: - target_item = item_get_for_profile_name(det->profile_name); - if (target_item == NULL) { - ERROR_LOG(UG_NAME_RESP,"Error!!! Target item is NULL"); - } else { - viewer_manager_item_radio_mode_set(NULL, target_item, VIEWER_ITEM_RADIO_MODE_OFF); - } - switch(header_state){ - case HEADER_MODE_CONNECTING: - case HEADER_MODE_CANCEL_CONNECTING: - case HEADER_MODE_CONNECTED: - case HEADER_MODE_DISCONNECTING: - viewer_manager_header_mode_set(HEADER_MODE_ON); - break; - case HEADER_MODE_DEACTIVATING: - viewer_manager_header_mode_set(HEADER_MODE_OFF); - break; - case HEADER_MODE_OFF: - viewer_manager_header_mode_set(HEADER_MODE_OFF); - break; - case HEADER_MODE_ON: - viewer_manager_header_mode_set(HEADER_MODE_ON); - break; - case HEADER_MODE_ACTIVATING: - default: - if (det) { - if (det->profile_name) - g_free(det->profile_name); - g_free(det); - } - return; + case WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_IND: + if (ug_app_state->hidden_ap_popup) { + viewer_manager_specific_scan_response_hlr(user_data); } break; - case WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_FAIL: + case WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_FAIL: + if (ug_app_state->hidden_ap_popup) { + INFO_LOG(UG_NAME_RESP, "Hidden AP destroy \n"); + view_hidden_ap_popup_destroy(ug_app_state->hidden_ap_popup); + ug_app_state->hidden_ap_popup = NULL; + } break; - case WLAN_MANAGER_RESPONSE_TYPE_MAC_ID_IND: - INFO_LOG(UG_NAME_RESP, "MAC_ID_IND"); + case WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_OK: + INFO_LOG(UG_NAME_RESP, "WLAN_MANAGER_RESPONSE_TYPE_SPECIFIC_SCAN_OK"); break; + case WLAN_MANAGER_RESPONSE_TYPE_NONE: default: - winset_popup_simple_set("[ERROR] Unregistered WLAN_EVENT number"); - break; + winset_popup_mode_set(ug_app_state->popup_manager, POPUP_OPTION_UNREG_WLAN_EVENT_ERROR, NULL); } __COMMON_FUNC_EXIT__; - - if (det) { - if (det->profile_name) - g_free(det->profile_name); - g_free(det); - } - return; } -void wlan_engine_refresh_callback(int is_scan) +void wlan_engine_refresh_callback(void) { __COMMON_FUNC_ENTER__; - viewer_manager_refresh(is_scan); + 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..7a540b9 --- /dev/null +++ b/sources/ui-gadget/winset_popup.c @@ -0,0 +1,343 @@ +/* +* 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 "common.h" +#include "common_utils.h" +#include "winset_popup.h" +#include "wlan_manager.h" +#include "i18nmanager.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"); + /* Tithering 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) { + return; + } + + INFO_LOG(UG_NAME_NORMAL, "Response OK"); + + switch (wlan_manager_start()) { + case WLAN_MANAGER_ERR_NONE: + break; + case WLAN_MANAGER_ERR_ALREADY_REGISTERED: + winset_popup_mode_set(manager_object, POPUP_OPTION_REGISTER_FAILED_UNKNOWN, NULL); + __COMMON_FUNC_EXIT__; + return; + 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; + } + + char profile_name[NET_PROFILE_NAME_LEN_MAX+1] = ""; + switch (wlan_manager_state_get(profile_name)) { + case WLAN_MANAGER_OFF: + ERROR_LOG(UG_NAME_NORMAL, "current state is wifi-off\n"); + 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: + winset_popup_mode_set(manager_object, POPUP_OPTION_ETC_WLAN_STATE_GET_ERROR, NULL); + 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, + "com.samsung.mobileap", /* name */ + "/MobileAP", /* obj path */ + "com.samsung.mobileap");/* 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; + } + __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 = (popup_manager_object_t *)g_malloc0(sizeof(popup_manager_object_t)); + 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) +{ + char *info_txt; + popup_btn_info_t popup_btn_data; + if (!manager_object) + return; + + __COMMON_FUNC_ENTER__; + if (!manager_object) + return; + + if(NULL != manager_object->popup) { + evas_object_hide(manager_object->popup); + evas_object_del(manager_object->popup); + manager_object->popup = NULL; + } + + 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_REGISTER_FAILED_UNKNOWN: + info_txt = _("[ERROR] wlan_client func
wlan_client_register"); + manager_object->popup = common_utils_show_info_ok_popup(manager_object->win, manager_object->str_pkg_name, info_txt); + 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_ETC_WLAN_STATE_GET_ERROR: + info_txt = _("[ERROR] wlan_client func
wlan_client_get_state"); + manager_object->popup = common_utils_show_info_ok_popup(manager_object->win, manager_object->str_pkg_name, info_txt); + break; + + case POPUP_OPTION_HIDDEN_AP_SSID_LEN_ERROR: + info_txt = _("SSID can be up to 32 letters.
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_UNREG_WLAN_EVENT_ERROR: + info_txt = _("[ERROR] Unregistered WLAN_EVENT number"); + 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; + + default: + break; + } + __COMMON_FUNC_EXIT__; + return; +} + +boolean winset_popup_manager_destroy(popup_manager_object_t *manager_object) +{ + if (!manager_object) + return FALSE; + + if (NULL != manager_object->popup) { + evas_object_del(manager_object->popup); + manager_object->popup = NULL; + } + + g_free(manager_object); + return TRUE; +} + +boolean winset_popup_hide_popup(popup_manager_object_t *manager_object) +{ + if (!manager_object) + return FALSE; + evas_object_hide(manager_object->popup); + evas_object_del(manager_object->popup); + manager_object->popup = NULL; + + 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; + } + return TRUE; +} diff --git a/sources/wifi-syspopup/CMakeLists.txt b/sources/wifi-syspopup/CMakeLists.txt index 9556ab2..6e045d1 100644 --- a/sources/wifi-syspopup/CMakeLists.txt +++ b/sources/wifi-syspopup/CMakeLists.txt @@ -14,9 +14,13 @@ SET(SRCS ../libraries/i18nManager/i18nmanager.c ../libraries/appcoreWrapper/appcoreWrapper.c ../libraries/WlanManager/wlan-manager/wlan_manager.c + ../libraries/Common/common_pswd_popup.c + ../libraries/Common/common_ip_info.c + ../libraries/Common/common_eap_connect.c + ../libraries/Common/common_utils.c + ../libraries/Common/common_datamodel.c ${ENGINE_SOURCES} viewer-popups/view-main.c - viewer-popups/view-password.c viewer-popups/view-alerts.c wifi-syspopup.c wifi-syspopup-engine-callback.c) @@ -46,11 +50,8 @@ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images/37_wifi_icon_lo 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 desktop file & icon -CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/net.${PROJECT_NAME}.desktop.in ${CMAKE_CURRENT_SOURCE_DIR}/net.${PROJECT_NAME}.desktop) -INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/net.${PROJECT_NAME}.desktop DESTINATION /opt/share/applications/) +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) -ADD_SUBDIRECTORY(po) diff --git a/sources/wifi-syspopup/include/wifi-syspopup-engine-callback.h b/sources/wifi-syspopup/include/wifi-syspopup-engine-callback.h index 9014285..13abee8 100644 --- a/sources/wifi-syspopup/include/wifi-syspopup-engine-callback.h +++ b/sources/wifi-syspopup/include/wifi-syspopup-engine-callback.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* Wi-Fi syspopup +* +* 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. +* +*/ @@ -20,6 +23,6 @@ #define __WIFI_SYSPOPUP_ENGINE_CALLBACK_H__ void wlan_engine_callback( void *user_data, void *wlan_data); -void wlan_engine_refresh_callback( void ); +void wlan_engine_refresh_callback(void); #endif diff --git a/sources/wifi-syspopup/include/wifi-syspopup.h b/sources/wifi-syspopup/include/wifi-syspopup.h index f44bcf8..836b919 100644 --- a/sources/wifi-syspopup/include/wifi-syspopup.h +++ b/sources/wifi-syspopup/include/wifi-syspopup.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* Wi-Fi syspopup +* +* 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. +* +*/ @@ -21,6 +24,7 @@ #include "common.h" +#include "common_pswd_popup.h" #include "wlan_manager.h" #define PACKAGE "wifi-qs" @@ -33,6 +37,11 @@ typedef enum { 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 { @@ -42,15 +51,19 @@ typedef struct wifi_object { /* connection_result */ int connection_result; + Eina_Bool update_enabled; + + /* caller type */ + WIFI_SYSPOPUP_TYPE syspopup_type; + /* window */ Evas_Object* win_main; Evas* evas; bundle* b; - Evas_Object* layout_main; /* popups */ Evas_Object* syspopup; - Evas_Object* passpopup; + pswd_popup_t *passpopup; Evas_Object* alertpopup; } wifi_object; @@ -62,12 +75,11 @@ typedef enum { ITEM_CONNECTION_MODE_MAX } ITEM_CONNECTION_MODES; -typedef struct _genlist_data { +typedef struct { Elm_Object_Item *it; - Evas_Object *progressbar; ITEM_CONNECTION_MODES connection_mode; wifi_device_info_t *dev_info; -} genlist_data; +} syspopup_genlist_data_t; int wifi_syspopup_create(void); int wifi_syspopup_destroy(void); diff --git a/sources/wifi-syspopup/net.wifi-qs.desktop.in b/sources/wifi-syspopup/net.wifi-qs.desktop.in deleted file mode 100644 index c832b7a..0000000 --- a/sources/wifi-syspopup/net.wifi-qs.desktop.in +++ /dev/null @@ -1,9 +0,0 @@ -Name=Wi-Fi System Popup -Type=Application -Exec=/usr/bin/wifi-qs -Icon=NULL -Comment=wifi-qs -nodisplay=true -x-tizen-taskmanage=false -x-tizen-removable=false -Version=0.1.0 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 @@ + + + + Sanghoon Cho + Wi-Fi device picker + + + + diff --git a/sources/wifi-syspopup/po/CMakeLists.txt b/sources/wifi-syspopup/po/CMakeLists.txt deleted file mode 100644 index ce3f07d..0000000 --- a/sources/wifi-syspopup/po/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -# for i18n - -SET(POFILES de_DE.po el_GR.po en.po es_ES.po fr_FR.po it_IT.po ja_JP.po ko_KR.po nl_NL.po pt_PT.po ru_RU.po tr_TR.po zh_CN.po zh_HK.po zh_TW.po) - -SET(MSGFMT "/usr/bin/msgfmt") - -FOREACH(pofile ${POFILES}) - SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile}) - MESSAGE("PO: ${pofile}") - GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE) - GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE) - SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo) - ADD_CUSTOM_COMMAND( - OUTPUT ${moFile} - COMMAND ${MSGFMT} -o ${moFile} ${absPofile} - DEPENDS ${absPofile} - ) - INSTALL(FILES ${moFile} - DESTINATION /usr/share/locale/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo) - SET(moFiles ${moFiles} ${moFile}) -ENDFOREACH(pofile) - -MESSAGE(".mo files: ${moFiles}") -ADD_CUSTOM_TARGET(po_sp ALL DEPENDS ${moFiles}) diff --git a/sources/wifi-syspopup/po/de_DE.po b/sources/wifi-syspopup/po/de_DE.po deleted file mode 100644 index b69a498..0000000 --- a/sources/wifi-syspopup/po/de_DE.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Passwort eingeben" - -msgid "IDS_ST_BODY_SHOW_PASSWORD" -msgstr "Passwort anzeigen" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Netz auswählen" - diff --git a/sources/wifi-syspopup/po/el_GR.po b/sources/wifi-syspopup/po/el_GR.po deleted file mode 100644 index 2a955c6..0000000 --- a/sources/wifi-syspopup/po/el_GR.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Εισαγωγή κωδικού πρόσβασης" - -msgid "IDS_ST_BODY_SHOW_PASSWORD" -msgstr "Εμφάνιση κωδικού πρόσβασης" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Επιλογή δικτύου" - diff --git a/sources/wifi-syspopup/po/en.po b/sources/wifi-syspopup/po/en.po deleted file mode 100644 index 11de50f..0000000 --- a/sources/wifi-syspopup/po/en.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Input password" - -msgid "IDS_ST_BODY_SHOW_PASSWORD" -msgstr "Show password" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Select network" - diff --git a/sources/wifi-syspopup/po/es_ES.po b/sources/wifi-syspopup/po/es_ES.po deleted file mode 100644 index 803577d..0000000 --- a/sources/wifi-syspopup/po/es_ES.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Introducir contraseña" - -msgid "IDS_ST_BODY_SHOW_PASSWORD" -msgstr "Mostrar contraseña" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Seleccionar red" - diff --git a/sources/wifi-syspopup/po/fr_FR.po b/sources/wifi-syspopup/po/fr_FR.po deleted file mode 100644 index 56df377..0000000 --- a/sources/wifi-syspopup/po/fr_FR.po +++ /dev/null @@ -1,9 +0,0 @@ -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_SELECT_NETWORK" -msgstr "Sélectionner un réseau" - diff --git a/sources/wifi-syspopup/po/it_IT.po b/sources/wifi-syspopup/po/it_IT.po deleted file mode 100644 index adcaa00..0000000 --- a/sources/wifi-syspopup/po/it_IT.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Inserisci password" - -msgid "IDS_ST_BODY_SHOW_PASSWORD" -msgstr "Mostra password" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Selezione rete" - diff --git a/sources/wifi-syspopup/po/ja_JP.po b/sources/wifi-syspopup/po/ja_JP.po deleted file mode 100644 index 42c16e5..0000000 --- a/sources/wifi-syspopup/po/ja_JP.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "パスワードを​入力してください" - -msgid "IDS_ST_BODY_SHOW_PASSWORD" -msgstr "パスワード​を​表示" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "ネットワーク​を​選択" - diff --git a/sources/wifi-syspopup/po/ko_KR.po b/sources/wifi-syspopup/po/ko_KR.po deleted file mode 100644 index 5eec6f6..0000000 --- a/sources/wifi-syspopup/po/ko_KR.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "비밀번호를 입력하세요" - -msgid "IDS_ST_BODY_SHOW_PASSWORD" -msgstr "비밀번호 표시" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "네트워크 선택" - diff --git a/sources/wifi-syspopup/po/nl_NL.po b/sources/wifi-syspopup/po/nl_NL.po deleted file mode 100644 index c38fe65..0000000 --- a/sources/wifi-syspopup/po/nl_NL.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Wachtwoord ingeven" - -msgid "IDS_ST_BODY_SHOW_PASSWORD" -msgstr "Wachtwoord tonen" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Netwerk kiezen" - diff --git a/sources/wifi-syspopup/po/pt_PT.po b/sources/wifi-syspopup/po/pt_PT.po deleted file mode 100644 index 018f4ed..0000000 --- a/sources/wifi-syspopup/po/pt_PT.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Introduzir palavra-passe" - -msgid "IDS_ST_BODY_SHOW_PASSWORD" -msgstr "Mostrar palavra-passe" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Seleccionar rede" - diff --git a/sources/wifi-syspopup/po/ru_RU.po b/sources/wifi-syspopup/po/ru_RU.po deleted file mode 100644 index 057aee5..0000000 --- a/sources/wifi-syspopup/po/ru_RU.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Введите пароль" - -msgid "IDS_ST_BODY_SHOW_PASSWORD" -msgstr "Показать пароль" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Выбор сети" - diff --git a/sources/wifi-syspopup/po/tr_TR.po b/sources/wifi-syspopup/po/tr_TR.po deleted file mode 100644 index e231432..0000000 --- a/sources/wifi-syspopup/po/tr_TR.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "Şifre giriniz" - -msgid "IDS_ST_BODY_SHOW_PASSWORD" -msgstr "Parolayı göster" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "Şebeke seçimi" - diff --git a/sources/wifi-syspopup/po/zh_CN.po b/sources/wifi-syspopup/po/zh_CN.po deleted file mode 100644 index 28e112e..0000000 --- a/sources/wifi-syspopup/po/zh_CN.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "输入密码" - -msgid "IDS_ST_BODY_SHOW_PASSWORD" -msgstr "显示密码" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "选择网络" - diff --git a/sources/wifi-syspopup/po/zh_HK.po b/sources/wifi-syspopup/po/zh_HK.po deleted file mode 100644 index c65b8a0..0000000 --- a/sources/wifi-syspopup/po/zh_HK.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "輸入密碼" - -msgid "IDS_ST_BODY_SHOW_PASSWORD" -msgstr "顯示密碼" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "選擇網絡" - diff --git a/sources/wifi-syspopup/po/zh_TW.po b/sources/wifi-syspopup/po/zh_TW.po deleted file mode 100644 index cd17237..0000000 --- a/sources/wifi-syspopup/po/zh_TW.po +++ /dev/null @@ -1,9 +0,0 @@ -msgid "IDS_CST_BODY_INPUT_PASSWORD" -msgstr "輸入密碼" - -msgid "IDS_ST_BODY_SHOW_PASSWORD" -msgstr "顯示密碼" - -msgid "IDS_WIFI_HEADER_SELECT_NETWORK" -msgstr "選擇網路" - diff --git a/sources/wifi-syspopup/viewer-popups/include/view-alerts.h b/sources/wifi-syspopup/viewer-popups/include/view-alerts.h index 396a3b8..e0463bc 100644 --- a/sources/wifi-syspopup/viewer-popups/include/view-alerts.h +++ b/sources/wifi-syspopup/viewer-popups/include/view-alerts.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* Wi-Fi syspopup +* +* 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. +* +*/ @@ -20,8 +23,7 @@ #define __DEF_WIFI_SYSPOPUP_VIEW_ALERTS_H_ int view_alerts_powering_on_show(void); -int view_alerts_connection_fail_show(void); -int view_alerts_connection_fail_timeout_show(void); -int view_alerts_password_length_error_show(void); +void view_alerts_popup_show(const char *err_msg); +void view_alerts_popup_ok_show(const char *err_msg); #endif diff --git a/sources/wifi-syspopup/viewer-popups/include/view-main.h b/sources/wifi-syspopup/viewer-popups/include/view-main.h index 26d066e..da36643 100644 --- a/sources/wifi-syspopup/viewer-popups/include/view-main.h +++ b/sources/wifi-syspopup/viewer-popups/include/view-main.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* Wi-Fi syspopup +* +* 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. +* +*/ @@ -30,7 +33,7 @@ int view_main_destroy(void); void *view_main_item_set(net_profile_info_t *profile_info); int view_main_refresh(void); -int view_main_show(void); -int view_main_item_connection_mode_set(genlist_data *data, ITEM_CONNECTION_MODES mode); +Eina_Bool view_main_show(void *data); +int view_main_item_connection_mode_set(syspopup_genlist_data_t *data, ITEM_CONNECTION_MODES mode); #endif diff --git a/sources/wifi-syspopup/viewer-popups/include/view-password.h b/sources/wifi-syspopup/viewer-popups/include/view-password.h deleted file mode 100644 index f4b95a5..0000000 --- a/sources/wifi-syspopup/viewer-popups/include/view-password.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * 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 __DEF_WIFI_SYSPOPUP_VIEW_PASSWORD_H_ -#define __DEF_WIFI_SYSPOPUP_VIEW_PASSWORD_H_ - -#include "wifi-syspopup.h" - -int view_password_show(genlist_data *gdata); - -#endif diff --git a/sources/wifi-syspopup/viewer-popups/view-alerts.c b/sources/wifi-syspopup/viewer-popups/view-alerts.c index 30b8c23..557b48c 100644 --- a/sources/wifi-syspopup/viewer-popups/view-alerts.c +++ b/sources/wifi-syspopup/viewer-popups/view-alerts.c @@ -1,59 +1,57 @@ /* - * 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. - */ +* Wi-Fi syspopup +* +* 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* app_state; - -static void _timeout_cb(void *data, Evas_Object *obj, void *event_info) -{ - if (obj) - evas_object_del(obj); -} +extern wifi_object* syspopup_app_state; int view_alerts_powering_on_show(void) { __COMMON_FUNC_ENTER__; - if(WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == app_state->wifi_syspopup_support){ + if(WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == syspopup_app_state->wifi_syspopup_support){ __COMMON_FUNC_EXIT__; return TRUE; } - if(NULL != app_state->alertpopup) { - evas_object_del(app_state->alertpopup); - app_state->alertpopup = NULL; + if(NULL != syspopup_app_state->alertpopup) { + evas_object_del(syspopup_app_state->alertpopup); + syspopup_app_state->alertpopup = NULL; } Evas_Object *conformant = NULL; - conformant = elm_conformant_add(app_state->win_main); - elm_win_conformant_set(app_state->win_main, EINA_TRUE); - elm_win_resize_object_add(app_state->win_main, conformant); + 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); Evas_Object *content = elm_layout_add(conformant); elm_object_content_set(conformant, content); - app_state->alertpopup = elm_popup_add(content); + syspopup_app_state->alertpopup = elm_popup_add(content); - Evas_Object *box = elm_box_add(app_state->alertpopup); + 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); @@ -74,94 +72,53 @@ int view_alerts_powering_on_show(void) evas_object_show(label); elm_box_pack_end(box, label); - elm_object_content_set(app_state->alertpopup, box); - evas_object_size_hint_weight_set(app_state->alertpopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(app_state->alertpopup); - - __COMMON_FUNC_EXIT__; - - return TRUE; -} - -int view_alerts_connection_fail_show(void) -{ - __COMMON_FUNC_ENTER__; - - if (WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == app_state->wifi_syspopup_support) { - __COMMON_FUNC_EXIT__; - - return TRUE; - } - - if (NULL != app_state->alertpopup) { - evas_object_del(app_state->alertpopup); - app_state->alertpopup = NULL; - } - - app_state->alertpopup = elm_popup_add(app_state->win_main); - elm_object_text_set(app_state->alertpopup, "Connection attempt failed.
Try again."); - elm_popup_timeout_set(app_state->alertpopup, 2.0f); - evas_object_smart_callback_add(app_state->alertpopup, "timeout", _timeout_cb, NULL); - evas_object_size_hint_weight_set(app_state->alertpopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(app_state->alertpopup); + 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; } -int view_alerts_connection_fail_timeout_show(void) +void view_alerts_popup_show(const char *err_msg) { __COMMON_FUNC_ENTER__; - if (WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == app_state->wifi_syspopup_support) { + if (WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == syspopup_app_state->wifi_syspopup_support) { __COMMON_FUNC_EXIT__; - - return TRUE; + return; } - if (NULL != app_state->alertpopup) { - evas_object_del(app_state->alertpopup); - app_state->alertpopup = NULL; + if (NULL != syspopup_app_state->alertpopup) { + evas_object_del(syspopup_app_state->alertpopup); + syspopup_app_state->alertpopup = NULL; } - app_state->alertpopup = elm_popup_add(app_state->win_main); - elm_object_text_set(app_state->alertpopup, "No response from AP"); - elm_popup_timeout_set(app_state->alertpopup, 2.0f); - evas_object_smart_callback_add(app_state->alertpopup, "timeout", _timeout_cb, NULL); - - evas_object_size_hint_weight_set(app_state->alertpopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(app_state->alertpopup); + syspopup_app_state->alertpopup = common_utils_show_info_timeout_popup(syspopup_app_state->win_main, err_msg, 2.0f); __COMMON_FUNC_EXIT__; - return TRUE; + return; } -int view_alerts_password_length_error_show(void) +void view_alerts_popup_ok_show(const char *err_msg) { __COMMON_FUNC_ENTER__; - if (WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == app_state->wifi_syspopup_support) { + if (WIFI_SYSPOPUP_SUPPORT_QUICKPANEL == syspopup_app_state->wifi_syspopup_support) { __COMMON_FUNC_EXIT__; - - return TRUE; + return; } - if (NULL != app_state->alertpopup) { - evas_object_del(app_state->alertpopup); - app_state->alertpopup = NULL; + if (NULL != syspopup_app_state->alertpopup) { + evas_object_del(syspopup_app_state->alertpopup); + syspopup_app_state->alertpopup = NULL; } - app_state->alertpopup = elm_popup_add(app_state->win_main); - elm_object_text_set(app_state->alertpopup, "WPA2 requires 8 - 63 letters for a password.
Please, check your input."); - elm_popup_timeout_set(app_state->alertpopup, 2.0f); - evas_object_smart_callback_add(app_state->alertpopup, "timeout", _timeout_cb, NULL); - - evas_object_size_hint_weight_set(app_state->alertpopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(app_state->alertpopup); + syspopup_app_state->alertpopup = common_utils_show_info_ok_popup(syspopup_app_state->win_main, PACKAGE, err_msg); __COMMON_FUNC_EXIT__; - return TRUE; + return; } diff --git a/sources/wifi-syspopup/viewer-popups/view-main.c b/sources/wifi-syspopup/viewer-popups/view-main.c index 56b07d3..58a17d3 100644 --- a/sources/wifi-syspopup/viewer-popups/view-main.c +++ b/sources/wifi-syspopup/viewer-popups/view-main.c @@ -1,32 +1,38 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* Wi-Fi syspopup +* +* 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 "wifi-syspopup.h" -#include "view-password.h" +#include "common_pswd_popup.h" +#include "common_utils.h" +#include "view-alerts.h" +#include "i18nmanager.h" +#include "common_eap_connect.h" -extern wifi_object* app_state; +extern wifi_object* syspopup_app_state; static Evas_Object* list = NULL; static Elm_Genlist_Item_Class itc; -int view_main_item_connection_mode_set(genlist_data *data, ITEM_CONNECTION_MODES mode) +int view_main_item_connection_mode_set(syspopup_genlist_data_t *data, ITEM_CONNECTION_MODES mode) { __COMMON_FUNC_ENTER__; @@ -63,7 +69,7 @@ static ITEM_CONNECTION_MODES view_main_state_get(Evas_Object *glist) Elm_Object_Item* it = NULL; it = elm_genlist_first_item_get(glist); while (it) { - genlist_data *gdata = (genlist_data *)elm_object_item_data_get(it); + syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)elm_object_item_data_get(it); if (gdata->connection_mode == ITEM_CONNECTION_MODE_CONNECTING) { return ITEM_CONNECTION_MODE_CONNECTING; } @@ -75,20 +81,147 @@ static ITEM_CONNECTION_MODES view_main_state_get(Evas_Object *glist) return ITEM_CONNECTION_MODE_OFF; } +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 == data, "data is NULL!!"); + assertm_if(NULL == obj, "obj is NULL!!"); + assertm_if(NULL == event_info, "event_info is NULL!!"); + + syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)data; + char *profile_name = gdata->dev_info->profile_name; + wlan_security_mode_type_t sec_mode = gdata->dev_info->security_mode; + + 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_mode) { + case WLAN_SEC_MODE_WEP: + if (len_password == 5 || len_password == 13 || len_password == 26 || len_password == 10) { + wlan_manager_password_data* param = (wlan_manager_password_data *)g_malloc0(sizeof(wlan_manager_password_data)); + assertm_if(NULL == param, "param is NULL!!"); + + param->wlan_eap_type = WLAN_MANAGER_EAP_TYPE_NONE; + param->password = password; + + ret = wlan_manager_connect_with_password(profile_name, sec_mode, param); + g_free(param); + + } else { + view_alerts_popup_show(WEP_WRONG_PASSWORD_LEN_ERR_MSG_STR); + goto popup_ok_exit; + } + break; + + case WLAN_SEC_MODE_WPA_PSK: + case WLAN_SEC_MODE_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 { + wlan_manager_password_data* param = (wlan_manager_password_data *)g_malloc0(sizeof(wlan_manager_password_data)); + assertm_if(NULL == param, "param is NULL!!"); + + param->wlan_eap_type = WLAN_MANAGER_EAP_TYPE_NONE; + param->password = password; + + ret = wlan_manager_connect_with_password(profile_name, sec_mode, param); + g_free(param); + } + break; + + default: + ret = WLAN_MANAGER_ERR_UNKNOWN; + ERROR_LOG(SP_NAME_ERR, "Fatal: Wrong security mode : %d", sec_mode); + break; + } + + if (WLAN_MANAGER_ERR_NONE == ret) + view_main_item_connection_mode_set(gdata, ITEM_CONNECTION_MODE_CONNECTING); + else + view_main_item_connection_mode_set(gdata, ITEM_CONNECTION_MODE_OFF); + + 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 || !data) { + return; + } + + syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)data; + char *profile_name = gdata->dev_info->profile_name; + int ret = wlan_manager_request_cancel_wps_connection(profile_name); + if (ret == WLAN_MANAGER_ERR_NONE) { + INFO_LOG(SP_NAME_NORMAL, "WPS conection cancelled successfully for AP[%s]", profile_name); + } else { + ERROR_LOG(SP_NAME_ERR, "Error!!! wlan_manager_request_cancel_wps_connection failed for AP[%s]", profile_name); + } + 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 || !data) { + return; + } + + syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)data; + int ret = wlan_manager_request_wps_connection(gdata->dev_info->profile_name); + if (ret == WLAN_MANAGER_ERR_NONE) { + common_pswd_popup_pbc_popup_create(syspopup_app_state->passpopup, _wps_pbc_popup_cancel_connecting, gdata); + } else { + ERROR_LOG(SP_NAME_ERR, "Error!!! wlan_manager_request_wps_connection failed"); + } + __COMMON_FUNC_EXIT__; +} + + 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; + if (view_main_state_get(obj) != ITEM_CONNECTION_MODE_OFF) { INFO_LOG(SP_NAME_NORMAL, "In connecting state, nothing can do" ); + elm_genlist_item_selected_set(item, 0); __COMMON_FUNC_EXIT__; return; } - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - - assertm_if(NULL == data, "data is NULL!!"); - assertm_if(NULL == obj, "obj is NULL!!"); - genlist_data *gdata = (genlist_data*) data; + syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t*) data; int ret = WLAN_MANAGER_ERR_UNKNOWN; @@ -96,7 +229,6 @@ static void _gl_sel(void *data, Evas_Object *obj, void *event_info) case ITEM_CONNECTION_MODE_OFF: INFO_LOG( SP_NAME_NORMAL, "item state: off"); ret = wlan_manager_request_connection(gdata->dev_info); - break; case ITEM_CONNECTION_MODE_CONNECTING: INFO_LOG( SP_NAME_NORMAL, "item state: connecting"); @@ -113,7 +245,17 @@ static void _gl_sel(void *data, Evas_Object *obj, void *event_info) break; case WLAN_MANAGER_ERR_CONNECT_PASSWORD_NEEDED: INFO_LOG( SP_NAME_NORMAL, "Password view will show up"); - view_password_show(gdata); + pswd_popup_create_req_data_t popup_info; + 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.cb_data = gdata; + syspopup_app_state->passpopup = common_pswd_popup_create(syspopup_app_state->win_main, PACKAGE, &popup_info); + break; + case WLAN_MANAGER_ERR_CONNECT_EAP_SEC_TYPE: + create_eap_connect(syspopup_app_state->win_main, NULL, PACKAGE, gdata->dev_info, NULL); break; default: view_main_item_connection_mode_set(gdata, ITEM_CONNECTION_MODE_OFF); @@ -131,59 +273,31 @@ static void _gl_sel(void *data, Evas_Object *obj, void *event_info) 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!!"); - genlist_data *gdata = (genlist_data *) data; - const char* ssid_name = gdata->dev_info->ssid; - - if (ssid_name == NULL) { - __COMMON_FUNC_EXIT__; - ERROR_LOG(SP_NAME_NORMAL, "ssid name is NULL!!"); - return NULL; - } - __COMMON_FUNC_EXIT__; - - return strdup(ssid_name); -} - -static char *wifi_get_device_icon(wifi_device_info_t *device_info) -{ - __COMMON_FUNC_ENTER__; - assertm_if(NULL == device_info, "device param is NULL!!"); - - char tmp_str[128] = {0,}; - char* ret; - - sprintf(tmp_str, "%s/37_wifi_icon", WIFI_SP_ICON_PATH); - - if (device_info->security_mode != WLAN_SEC_MODE_NONE) { - sprintf(tmp_str,"%s_lock", tmp_str); - } - - switch (wlan_manager_get_signal_strength(device_info->rssi)) { - case SIGNAL_STRENGTH_TYPE_EXCELLENT: - sprintf(tmp_str,"%s_03", tmp_str); - break; - case SIGNAL_STRENGTH_TYPE_GOOD: - sprintf(tmp_str,"%s_02", tmp_str); - break; - case SIGNAL_STRENGTH_TYPE_WEAK: - sprintf(tmp_str,"%s_01", tmp_str); - break; - case SIGNAL_STRENGTH_TYPE_VERY_WEAK: - case SIGNAL_STRENGTH_TYPE_NULL: - sprintf(tmp_str,"%s_00", tmp_str); - break; + 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 { + ret = gdata->dev_info->ap_status_txt; + } + if (ret == NULL) { + ERROR_LOG(SP_NAME_NORMAL, "ap_status_txt is NULL!!"); + } } - sprintf(tmp_str, "%s.png", tmp_str); - - ret = strdup(tmp_str); __COMMON_FUNC_EXIT__; - return ret; + return g_strdup(ret); } static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part) @@ -192,48 +306,55 @@ static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *pa if (data == NULL) return NULL; - genlist_data *gdata = (genlist_data *) data; + 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); - char*dev_icon_file = NULL; Evas_Object* icon = NULL; if (!strncmp(part, "elm.icon.1", strlen(part))) { + icon = elm_icon_add(obj); + elm_icon_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: - if (gdata->progressbar != NULL) { - elm_progressbar_pulse(gdata->progressbar, EINA_FALSE); - evas_object_del(gdata->progressbar); - gdata->progressbar = NULL; - } - - icon = elm_icon_add(obj); - dev_icon_file = wifi_get_device_icon(gdata->dev_info); - INFO_LOG(SP_NAME_NORMAL, "icon name [%s]", dev_icon_file); - elm_icon_file_set(icon, dev_icon_file, NULL); - g_free(dev_icon_file); - evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 5, 5); - return icon; - - case ITEM_CONNECTION_MODE_CONNECTING: - gdata->progressbar = elm_progressbar_add(obj); - if (gdata->progressbar == NULL) - return NULL; - - elm_object_style_set(gdata->progressbar, "list_process"); - evas_object_size_hint_align_set(gdata->progressbar, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(gdata->progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_progressbar_pulse(gdata->progressbar, TRUE); - return gdata->progressbar; default: break; + case ITEM_CONNECTION_MODE_CONNECTING: + 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 NULL; + 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); + 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) @@ -241,10 +362,9 @@ Evas_Object *view_main_create(Evas_Object* parent) __COMMON_FUNC_ENTER__; assertm_if(NULL == parent, "parent is NULL!!"); - list = elm_genlist_add(parent); //app_state->win_main); + list = elm_genlist_add(parent); //syspopup_app_state->win_main); assertm_if(NULL == list, "list allocation fail!!"); - elm_genlist_mode_set(list, ELM_LIST_LIMIT); 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); @@ -271,17 +391,6 @@ static void view_main_scan_ui_clear(void) if (list == NULL) return; - - Elm_Object_Item* it = NULL; - it = elm_genlist_first_item_get(list); - while (it) { - genlist_data *gdata = (genlist_data *)elm_object_item_data_get(it); - if (gdata) - g_free(gdata); - - it = elm_genlist_item_next_get(it); - } - elm_genlist_clear(list); __COMMON_FUNC_EXIT__; @@ -291,14 +400,15 @@ void *view_main_item_set(net_profile_info_t *profile_info) { __COMMON_FUNC_ENTER__; - wifi_device_info_t *wifi_device = (wifi_device_info_t*)malloc(sizeof(wifi_device_info_t)); - memset(wifi_device, 0, sizeof(wifi_device_info_t)); + wifi_device_info_t *wifi_device = (wifi_device_info_t*)g_malloc0(sizeof(wifi_device_info_t)); - wifi_device->profile_name = strdup(profile_info->ProfileName); - wifi_device->ssid = strdup(profile_info->ProfileInfo.Wlan.essid); + wifi_device->profile_name = g_strdup(profile_info->ProfileName); + wifi_device->ssid = g_strdup(profile_info->ProfileInfo.Wlan.essid); wifi_device->rssi = (int)profile_info->ProfileInfo.Wlan.Strength; wifi_device->security_mode = (int)profile_info->ProfileInfo.Wlan.security_info.sec_mode; wifi_device->wps_mode = (int)profile_info->ProfileInfo.Wlan.security_info.wps_support; + 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; @@ -306,88 +416,76 @@ void *view_main_item_set(net_profile_info_t *profile_info) int view_main_refresh() { - view_main_scan_ui_clear(); - view_main_show(); + view_main_show(NULL); + return TRUE; } -int view_main_show(void) +Eina_Bool view_main_show(void *data) { __COMMON_FUNC_ENTER__; if (list == NULL) { ERROR_LOG( SP_NAME_NORMAL, "list is NULL!!" ); - return FALSE; + return ECORE_CALLBACK_CANCEL; } + view_main_scan_ui_clear(); + char profile_name[NET_PROFILE_NAME_LEN_MAX+1] = ""; int state = wlan_manager_state_get(profile_name); - switch (state) { - case WLAN_MANAGER_ERROR: - case WLAN_MANAGER_OFF: - return FALSE; - case WLAN_MANAGER_UNCONNECTED: - case WLAN_MANAGER_CONNECTED: - case WLAN_MANAGER_DISCONNECTING: - profile_name[0] = '\0'; - break; - case WLAN_MANAGER_CONNECTING: - break; - } - view_main_scan_ui_clear(); + if (WLAN_MANAGER_ERROR == state || WLAN_MANAGER_OFF == state) { + return ECORE_CALLBACK_CANCEL; + } net_profile_info_t *profiles_list = wlan_manager_profile_table_get(); if (profiles_list == NULL) - return FALSE; + return ECORE_CALLBACK_CANCEL; int profiles_list_size = wlan_manager_profile_scanned_length_get(); 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; + } - itc.item_style = "1text.1icon.4"; + 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 = NULL; + itc.func.del = _gl_list_del; int i = 0; - wifi_device_info_t *device_info = NULL; - if (profiles_list_size > 0) { - if (profile_name[0] == '\0') { - for (i = 0; i < profiles_list_size; i++) { - device_info = (wifi_device_info_t *)view_main_item_set(profiles_list+i); - - genlist_data *gdata = (genlist_data *) malloc(sizeof(genlist_data)); - gdata->dev_info = device_info; - gdata->connection_mode = ITEM_CONNECTION_MODE_OFF; - gdata->progressbar = NULL; - + if (WLAN_MANAGER_CONNECTING == state) { + for (; i < profiles_list_size; i++) { + syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)g_malloc0(sizeof(syspopup_genlist_data_t)); + gdata->dev_info = (wifi_device_info_t *)view_main_item_set(profiles_list+i); + if (!g_strcmp0((profiles_list+i)->ProfileName, profile_name)) { + gdata->connection_mode = ITEM_CONNECTION_MODE_CONNECTING; gdata->it = elm_genlist_item_append(list, &itc, gdata, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, gdata); - elm_object_item_data_set(gdata->it, gdata); - } - } else { - for (i = 0; i < profiles_list_size; i++) { - device_info = (wifi_device_info_t *)view_main_item_set(profiles_list+i); - - genlist_data *gdata = (genlist_data *) malloc(sizeof(genlist_data)); - gdata->dev_info = device_info; - gdata->progressbar = NULL; - if (!strcmp((profiles_list+i)->ProfileName, profile_name)) { - gdata->connection_mode = ITEM_CONNECTION_MODE_CONNECTING; - } else { - gdata->connection_mode = ITEM_CONNECTION_MODE_OFF; - } - - gdata->it = elm_genlist_item_append(list, &itc, gdata, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, gdata); - elm_object_item_data_set(gdata->it, gdata); + /* We have found the connecting AP, so lets break here and continue list + * the remaining in the below for loop. The below for loop doesnt have comparison. + * So it makes things little fast. + */ + break; } - } - } else if (profiles_list_size == 0) { - WARN_LOG(SP_NAME_NORMAL, "scan size is ZERO"); + gdata->connection_mode = ITEM_CONNECTION_MODE_OFF; + gdata->it = elm_genlist_item_append(list, &itc, gdata, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, gdata); + } + } + + for (; i < profiles_list_size; i++) { + syspopup_genlist_data_t *gdata = (syspopup_genlist_data_t *)g_malloc0(sizeof(syspopup_genlist_data_t)); + gdata->dev_info = (wifi_device_info_t *)view_main_item_set(profiles_list+i); + gdata->connection_mode = ITEM_CONNECTION_MODE_OFF; + + gdata->it = elm_genlist_item_append(list, &itc, gdata, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, gdata); + elm_object_item_data_set(gdata->it, gdata); } evas_object_show(list); __COMMON_FUNC_EXIT__; - return TRUE; + return ECORE_CALLBACK_CANCEL; } diff --git a/sources/wifi-syspopup/viewer-popups/view-password.c b/sources/wifi-syspopup/viewer-popups/view-password.c deleted file mode 100644 index 4160d08..0000000 --- a/sources/wifi-syspopup/viewer-popups/view-password.c +++ /dev/null @@ -1,225 +0,0 @@ -/* - * 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 "wifi-syspopup.h" -#include "view-password.h" -#include "wlan_manager.h" -#include "view-main.h" -#include "view-alerts.h" -#include "i18nmanager.h" - - -extern wifi_object* app_state; -static Evas_Object* _entry = NULL; - -typedef struct _qs_view_password_data { - char *profile_name; - int security_mode; -} qs_view_password_data; -static qs_view_password_data *_qs_password_data = NULL; - -static void _entry_changed_cb(void* data, Evas_Object* obj, void* event_info) -{ - __COMMON_FUNC_ENTER__; - - 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"); - } - - __COMMON_FUNC_EXIT__; -} - -static void _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 _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 _eraser_clicked_cb(void* data, Evas_Object* obj, const char* emission, const char* source) -{ - elm_entry_entry_set(data, ""); -} - -static void _popup_ok_cb(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!!"); - - char* password = NULL; - int len_password = 0; - int ret = -1; - - password = elm_entry_markup_to_utf8(elm_entry_entry_get(_entry)); - len_password = strlen(password); - INFO_LOG(SP_NAME_NORMAL, "* password len [%d]", len_password); - - if(len_password == 5 || (len_password > 7 && len_password < 64) ) { - wlan_manager_password_data* param= (wlan_manager_password_data*) g_malloc0(sizeof(wlan_manager_password_data)); - assertm_if(NULL == param, "param is NULL!!"); - - param->wlan_eap_type = WLAN_MANAGER_EAP_TYPE_NONE; - param->password = strdup(password); - g_free(password); - - genlist_data *gdata = (genlist_data *)data; - ret = wlan_manager_connect_with_password(_qs_password_data->profile_name, _qs_password_data->security_mode, param); - g_free(param->password); - g_free(param); - - view_main_item_connection_mode_set(gdata, ITEM_CONNECTION_MODE_CONNECTING); - } else { - view_alerts_password_length_error_show(); - return; - } - - if (_qs_password_data) { - g_free(_qs_password_data); - _qs_password_data = NULL; - } - - evas_object_del(app_state->passpopup); - app_state->passpopup = NULL; - - __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"); - if (_qs_password_data) { - g_free(_qs_password_data); - _qs_password_data = NULL; - } - - evas_object_del(app_state->passpopup); - app_state->passpopup = NULL; - - __COMMON_FUNC_EXIT__; -} - -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); - elm_entry_password_set(_entry, !state); -} - -int view_password_show(genlist_data *gdata) -{ - __COMMON_FUNC_ENTER__; - - if (gdata == NULL) - return FALSE; - - assertm_if(NULL == app_state, "app_state is NULL!!"); - assertm_if(NULL == app_state->win_main, "app_state->win_main is NULL!!"); - - _qs_password_data = (qs_view_password_data *) malloc(sizeof(qs_view_password_data)); - if (_qs_password_data == NULL) - return FALSE; - - memset(_qs_password_data, 0, sizeof(qs_view_password_data)); - _qs_password_data->profile_name = strdup(gdata->dev_info->profile_name); - _qs_password_data->security_mode = gdata->dev_info->security_mode; - - Evas_Object *conformant = NULL; - conformant = elm_conformant_add(app_state->win_main); - assertm_if(NULL == conformant, "conformant is NULL!!"); - elm_win_conformant_set(app_state->win_main, EINA_TRUE); - elm_win_resize_object_add(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); - - Evas_Object *content = elm_layout_add(conformant); - elm_object_content_set(conformant, content); - app_state->passpopup = NULL; - app_state->passpopup = elm_popup_add(content); - assertm_if(NULL == app_state->syspopup, "app_state->syspopup is NULL!!"); - elm_object_part_text_set(app_state->passpopup, "title,text", sc(PACKAGE, I18N_TYPE_Password)); - - Evas_Object *box = elm_box_add(app_state->syspopup); - 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 *ly_editfield = elm_layout_add(box); - elm_layout_theme_set(ly_editfield, "layout", "editfield", "title"); - evas_object_size_hint_weight_set(ly_editfield, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ly_editfield, EVAS_HINT_FILL, EVAS_HINT_FILL); - _entry = elm_entry_add(box); - elm_object_part_content_set(ly_editfield, "elm.swallow.content", _entry); - elm_object_part_text_set(ly_editfield, "elm.text", sc(PACKAGE, I18N_TYPE_Input_password)); - elm_entry_single_line_set(_entry, EINA_TRUE); - elm_entry_scrollable_set(_entry, EINA_TRUE); - - evas_object_smart_callback_add(_entry, "changed", _entry_changed_cb, ly_editfield); - evas_object_smart_callback_add(_entry, "focused", _entry_focused_cb, ly_editfield); - evas_object_smart_callback_add(_entry, "unfocused", _entry_unfocused_cb, ly_editfield); - elm_object_signal_callback_add(ly_editfield, "elm,eraser,clicked", "elm", _eraser_clicked_cb, _entry); - - elm_entry_password_set(_entry, TRUE); - evas_object_show(_entry); - evas_object_show(ly_editfield); - elm_box_pack_end(box, ly_editfield); - - Evas_Object *check = elm_check_add(box); - elm_object_text_set(check, sc(PACKAGE, 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, NULL); - evas_object_show(check); - elm_box_pack_end(box, check); - - elm_object_content_set(app_state->passpopup, box); - Evas_Object *btn_ok = elm_button_add(app_state->passpopup); - elm_object_text_set(btn_ok, sc(PACKAGE, I18N_TYPE_Ok)); - elm_object_part_content_set(app_state->passpopup, "button1", btn_ok); - evas_object_smart_callback_add(btn_ok, "clicked", _popup_ok_cb, gdata); - Evas_Object *btn_cancel = elm_button_add(app_state->passpopup); - elm_object_text_set(btn_cancel, sc(PACKAGE, I18N_TYPE_Cancel)); - elm_object_part_content_set(app_state->passpopup, "button2", btn_cancel); - evas_object_smart_callback_add(btn_cancel, "clicked", _popup_cancel_cb, gdata); - evas_object_show(app_state->passpopup); - - __COMMON_FUNC_EXIT__; - - return TRUE; -} diff --git a/sources/wifi-syspopup/wifi-syspopup-engine-callback.c b/sources/wifi-syspopup/wifi-syspopup-engine-callback.c index c1bef47..510cefa 100644 --- a/sources/wifi-syspopup/wifi-syspopup-engine-callback.c +++ b/sources/wifi-syspopup/wifi-syspopup-engine-callback.c @@ -1,39 +1,44 @@ /* - * 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. - */ +* Wi-Fi syspopup +* +* Copyright 2012 Samsung Electronics Co., Ltd + +* Licensed under the Flora License, Version 1.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at + +* http://www.tizenopensource.org/license + +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ #include #include #include "common.h" +#include "common_datamodel.h" #include "wifi-syspopup-engine-callback.h" #include "wlan_manager.h" #include "view-main.h" #include "view-alerts.h" -extern wifi_object* app_state; +extern wifi_object* syspopup_app_state; -int wlan_show_network_syspopup_message(const char *title, const char *content, const char *ssid) +int wlan_show_network_syspopup_message(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 = syspopup_launch("net-popup", b); @@ -57,93 +62,124 @@ void wlan_engine_callback(void *user_data, void *wlan_data) case WLAN_MANAGER_RESPONSE_TYPE_NONE: ERROR_LOG(SP_NAME_ERR, "case NONE:"); break; - case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK: - INFO_LOG(SP_NAME_NORMAL, "case CONNECTION_OK:"); - app_state->connection_result = VCONFKEY_WIFI_QS_WIFI_CONNECTED; + case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_OK: + INFO_LOG(SP_NAME_NORMAL, "case WPS ENROLL OK:"); + syspopup_app_state->connection_result = VCONFKEY_WIFI_QS_WIFI_CONNECTED; wifi_syspopup_destroy(); - break; - case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_IN_PROGRESS: - INFO_LOG(SP_NAME_NORMAL, "case CONNECTION FAIL:"); - - view_main_refresh(); + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_OK: + INFO_LOG(SP_NAME_NORMAL, "case CONNECTION_OK:"); + syspopup_app_state->connection_result = VCONFKEY_WIFI_QS_WIFI_CONNECTED; + wifi_syspopup_destroy(); break; + + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_IN_PROGRESS: + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ALREADY_EXIST: + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_ABORTED: case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN: - INFO_LOG(SP_NAME_NORMAL, "case CONNECTION FAIL UNKNOWN:"); + ERROR_LOG(SP_NAME_NORMAL, "Connection failed."); - wlan_show_network_syspopup_message("Network connection popup", "unable to connect", NULL); - view_main_refresh(); + if (syspopup_app_state->passpopup) { + common_pswd_popup_destroy(syspopup_app_state->passpopup); + syspopup_app_state->passpopup = NULL; + } + view_main_refresh(); break; + + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_INVALID_KEY: + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_CONNECT_FAILED: + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_UNKNOWN_METHOD: case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_FAIL_TIMEOUT: - INFO_LOG(SP_NAME_NORMAL, "case CONNECTION FAIL TIMEOUT:"); + case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_FAIL: + INFO_LOG(SP_NAME_NORMAL, "Connection failed."); - view_alerts_connection_fail_timeout_show(); - view_main_refresh(); + if (syspopup_app_state->passpopup) { + common_pswd_popup_destroy(syspopup_app_state->passpopup); + syspopup_app_state->passpopup = NULL; + } + view_main_refresh(); break; + case WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_OK: ERROR_LOG(SP_NAME_NORMAL, "case DISCONNECTION OK:"); break; + case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_OK: INFO_LOG(SP_NAME_NORMAL, "case POWER ON OK:"); + wlan_manager_request_scan(); /* First scan request after power on */ + if (syspopup_app_state->syspopup_type == WIFI_SYSPOPUP_WITHOUT_AP_LIST) { + wifi_syspopup_destroy(); + } break; + case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_NOT_SUPPORTED: INFO_LOG(SP_NAME_NORMAL, "case POWER ON NOT SUPPORTED:"); - wlan_show_network_syspopup_message("Network connection popup", "not support", NULL); + if (syspopup_app_state->alertpopup) { + evas_object_del(syspopup_app_state->alertpopup); + syspopup_app_state->alertpopup = NULL; + } + wlan_show_network_syspopup_message("Network connection popup", "not support", "notification", NULL); + wifi_syspopup_destroy(); break; + case WLAN_MANAGER_RESPONSE_TYPE_POWER_ON_RESTRICTED: INFO_LOG(SP_NAME_NORMAL, "case POWER ON RESTRICTED:"); - wlan_show_network_syspopup_message("Network connection popup", "wifi restricted", NULL); + if (syspopup_app_state->alertpopup) { + evas_object_del(syspopup_app_state->alertpopup); + syspopup_app_state->alertpopup = NULL; + } + wlan_show_network_syspopup_message("Network connection popup", "wifi restricted", "popup", NULL); + wifi_syspopup_destroy(); break; + case WLAN_MANAGER_RESPONSE_TYPE_POWER_OFF_OK: INFO_LOG(SP_NAME_NORMAL, "case POWER OFF OK:"); + wifi_syspopup_destroy(); break; + case WLAN_MANAGER_RESPONSE_TYPE_SCAN_OK: INFO_LOG(SP_NAME_NORMAL, "case SCAN OK:"); - wlan_manager_scanned_profile_refresh(TRUE); - break; - case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_OK: - INFO_LOG(SP_NAME_NORMAL, "case WPS ENROLL OK:"); - break; - case WLAN_MANAGER_RESPONSE_TYPE_WPS_ENROLL_FAIL: - INFO_LOG(SP_NAME_NORMAL, "case WPS ENROLL FAIL:"); + wlan_manager_scanned_profile_refresh(); break; + case WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_OK: INFO_LOG(SP_NAME_NORMAL, "case CANCEL WPS ENROLL OK:"); break; + case WLAN_MANAGER_RESPONSE_TYPE_CANCEL_WPS_ENROLL_FAIL: INFO_LOG(SP_NAME_NORMAL, "case CANCEL WPS ENROLL FAIL:"); break; + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTION_IND: INFO_LOG(SP_NAME_NORMAL, "case CONNECTION IND:"); - const char *ssid = wlan_manager_get_connected_ssid(); - wlan_show_network_syspopup_message("Network connection popup", "wifi connected", ssid); - app_state->connection_result = VCONFKEY_WIFI_QS_WIFI_CONNECTED; + wlan_show_network_syspopup_message("Network connection popup", "wifi connected", "notification", ssid); + syspopup_app_state->connection_result = VCONFKEY_WIFI_QS_WIFI_CONNECTED; wifi_syspopup_destroy(); + break; + case WLAN_MANAGER_RESPONSE_TYPE_CONNECTING: + /* TODO: We need to show the connecting progress indi. Check this later. */ break; + case WLAN_MANAGER_RESPONSE_TYPE_DISCONNECTION_IND: INFO_LOG(SP_NAME_NORMAL, "case DISCONNECTION IND:"); break; + case WLAN_MANAGER_RESPONSE_TYPE_SCAN_RESULT_IND: INFO_LOG(SP_NAME_NORMAL, "case SCAN RESULT IND:"); - wlan_manager_scanned_profile_refresh(TRUE); + wlan_manager_scanned_profile_refresh(); break; + default: ERROR_LOG(SP_NAME_ERR, "case Err [%d]", det->type); break; } - if (det) { - if (det->profile_name) - g_free(det->profile_name); - g_free(det); - } - __COMMON_FUNC_EXIT__; return; } @@ -152,28 +188,23 @@ void wlan_engine_refresh_callback(void) { __COMMON_FUNC_ENTER__; - if (NULL == app_state) { - INFO_LOG(SP_NAME_ERR, "app_state is NULL!! Is it test mode?"); + if (NULL == syspopup_app_state) { + INFO_LOG(SP_NAME_ERR, "syspopup_app_state is NULL!! Is it test mode?"); __COMMON_FUNC_EXIT__; return; } - if (NULL == app_state->layout_main) { - /* Make System popup filled, if it was first launched */ - if (NULL != app_state->alertpopup) { - /* deallocate alert popup if it has allocated */ - evas_object_del(app_state->alertpopup); - app_state->alertpopup = NULL; - } - - INFO_LOG(SP_NAME_NORMAL, "Wi-Fi QS launch"); - wifi_syspopup_create(); + /* 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; } - if (view_main_show() == FALSE) { - ERROR_LOG(SP_NAME_ERR, "view_main_show == FALSE"); - } + 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 index a4a6f2b..4a4ffe1 100644 --- a/sources/wifi-syspopup/wifi-syspopup.c +++ b/sources/wifi-syspopup/wifi-syspopup.c @@ -1,23 +1,27 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* Wi-Fi syspopup +* +* Copyright 2012 Samsung Electronics Co., Ltd + +* Licensed under the Flora License, Version 1.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at + +* http://www.tizenopensource.org/license + +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ #include #include "common.h" +#include "common_utils.h" #include "wlan_manager.h" #include "appcoreWrapper.h" #include "wifi-syspopup.h" @@ -27,8 +31,11 @@ #include "wifi-setting.h" #include "i18nmanager.h" +#define DEVICE_PICKER_POPUP_W 656 +#define DEVICE_PICKER_POPUP_H 918 +#define MAX_INITIAL_QS_POPUP_LIST_SIZE 8 -wifi_object* app_state = NULL; +wifi_object* syspopup_app_state = NULL; /* static */ static int myterm(bundle* b, void* data); @@ -41,8 +48,9 @@ static int app_init(void *data); static int app_exit(void *data); static int app_start(void *data); static int app_stop(void *data); +#if 0 /* This function is not called from anywhere. Unused. */ static int _power_on (void); - +#endif /* implements */ static int myterm(bundle* b, void* data) @@ -79,16 +87,16 @@ static int wifi_syspopup_exit(void) memset(&g_pending_call, 0, sizeof(wifi_pending_call_info_t)); } - if (VCONFKEY_WIFI_QS_WIFI_CONNECTED == app_state->connection_result) { + if (VCONFKEY_WIFI_QS_WIFI_CONNECTED == syspopup_app_state->connection_result) { INFO_LOG(SP_NAME_NORMAL, "Result : WIFI"); - } else if (VCONFKEY_WIFI_QS_3G == app_state->connection_result) { + } 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]", app_state->connection_result); - app_state->connection_result = VCONFKEY_WIFI_QS_3G; + WARN_LOG(SP_NAME_NORMAL, "Result : ?? [%d]", syspopup_app_state->connection_result); + syspopup_app_state->connection_result = VCONFKEY_WIFI_QS_3G; } - wifi_setting_value_set("memory/wifi/wifi_qs_exit", app_state->connection_result); + wifi_setting_value_set("memory/wifi/wifi_qs_exit", syspopup_app_state->connection_result); elm_exit(); @@ -106,14 +114,20 @@ static void _exit_cb(void *data, Evas_Object *obj, void *event_info) int wifi_syspopup_destroy(void) { - if (app_state->syspopup) - evas_object_del(app_state->syspopup); + if (syspopup_app_state->passpopup) { + common_pswd_popup_destroy(syspopup_app_state->passpopup); + syspopup_app_state->passpopup = NULL; + } - if (app_state->layout_main) - evas_object_del(app_state->layout_main); + if (syspopup_app_state->syspopup) { + evas_object_del(syspopup_app_state->syspopup); + syspopup_app_state->syspopup = NULL; + } - if (app_state->win_main) - evas_object_del(app_state->win_main); + if (syspopup_app_state->win_main) { + evas_object_del(syspopup_app_state->win_main); + syspopup_app_state->win_main = NULL; + } wifi_syspopup_exit(); @@ -123,30 +137,29 @@ int wifi_syspopup_destroy(void) int wifi_syspopup_create(void) { __COMMON_FUNC_ENTER__; - app_state->layout_main = elm_layout_add(app_state->win_main); - assertm_if(NULL == app_state->layout_main, "layout_main is NULL!!"); - evas_object_hide(app_state->layout_main); - - app_state->syspopup = elm_popup_add(app_state->win_main); - assertm_if(NULL == app_state->syspopup, "syspopup is NULL!!"); - - elm_object_style_set(app_state->syspopup,"menustyle"); - elm_object_part_text_set(app_state->syspopup, "title,text", sc(PACKAGE, I18N_TYPE_Select_network)); - evas_object_size_hint_weight_set(app_state->syspopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + if (NULL == syspopup_app_state->syspopup) { + syspopup_app_state->syspopup = elm_popup_add(syspopup_app_state->win_main); + assertm_if(NULL == syspopup_app_state->syspopup, "syspopup is NULL!!"); + } + elm_object_style_set(syspopup_app_state->syspopup,"content_expand"); + 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(app_state->syspopup); + 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(app_state->syspopup, "button1", btn_cancel); + elm_object_part_content_set(syspopup_app_state->syspopup, "button1", btn_cancel); evas_object_smart_callback_add(btn_cancel, "clicked", _exit_cb, NULL); - elm_popup_orient_set(app_state->syspopup, ELM_POPUP_ORIENT_CENTER); - evas_object_show(app_state->syspopup); - - Evas_Object *main_list = view_main_create(app_state->syspopup); - if (main_list == NULL) - return FALSE; - - elm_object_content_set(app_state->syspopup, main_list); + /* 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); + evas_object_size_hint_min_set(box, DEVICE_PICKER_POPUP_W * elm_config_scale_get(), DEVICE_PICKER_POPUP_H * 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)); @@ -185,14 +198,13 @@ int wifi_syspopup_init() 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) { - app_state->wifi_syspopup_support = WIFI_SYSPOPUP_SUPPORT_QUICKPANEL; + syspopup_app_state->wifi_syspopup_support = WIFI_SYSPOPUP_SUPPORT_QUICKPANEL; } else { __COMMON_FUNC_EXIT__; return FALSE; @@ -202,6 +214,7 @@ static int syspopup_support_set(const char* support) { return TRUE; } +#if 0 /* This function is not called from anywhere. Unused. */ static void _mobilehotspot_disable_cb(DBusGProxy *proxy, DBusGProxyCall *call, gpointer user_data) { __COMMON_FUNC_ENTER__; @@ -250,9 +263,9 @@ static boolean _turn_off_mobile_hotspot(void) } proxy = dbus_g_proxy_new_for_name(bus, - "org.tizen.mobileap", + "com.samsung.mobileap", "/MobileAP", - "org.tizen.mobileap"); + "com.samsung.mobileap"); if (proxy == NULL) { INFO_LOG(SP_NAME_ERR, "Couldn't create the proxy object"); dbus_g_connection_unref(bus); @@ -268,6 +281,7 @@ static boolean _turn_off_mobile_hotspot(void) __COMMON_FUNC_EXIT__; return TRUE; } +#endif static int _power_on_check(void) { @@ -311,6 +325,7 @@ static int _power_on_check(void) return TRUE; } +#if 0 /* This function is not called from anywhere. Unused. */ static int _power_on(void) { __COMMON_FUNC_ENTER__; @@ -363,42 +378,51 @@ static int _power_on(void) __COMMON_FUNC_EXIT__; return TRUE; } +#endif static int app_reset(bundle *b, void *data) { __COMMON_FUNC_ENTER__; + Evas_Object *win_main = NULL; + Evas *evas = NULL; const char* val = NULL; - int ret =0; + int ret = 0; int w, h = 0; assertm_if(NULL == data, "data param is NULL!!"); assertm_if(NULL == b, "bundle is NULL!!"); - Evas_Object* win_main = appcore_create_win(PACKAGE); - assertm_if(NULL == win_main, "win_main is NULL!!"); - Evas* evas = evas_object_evas_get(win_main); - assertm_if(NULL == evas, "evas is NULL!!"); - - app_state = data; - app_state->win_main = win_main; - app_state->evas = evas; - app_state->b = bundle_dup(b); - - elm_win_alpha_set(app_state->win_main, EINA_TRUE); /* invisible window */ - elm_win_borderless_set(app_state->win_main, EINA_TRUE); /* No borders */ - elm_win_indicator_mode_set(app_state->win_main, ELM_WIN_INDICATOR_SHOW); /* indicator allow */ - elm_win_conformant_set(app_state->win_main, TRUE); /* Popup autoscroll */ - - if( syspopup_has_popup(b)){ + 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_indicator_mode_set(syspopup_app_state->win_main, ELM_WIN_INDICATOR_SHOW); /* indicator allow */ + elm_win_conformant_set(syspopup_app_state->win_main, TRUE); /* Popup autoscroll */ + const char* is_onoff = bundle_get_val(b, "-t"); - INFO_LOG(SP_NAME_NORMAL, "is_onoff [%s]", is_onoff); + if (is_onoff != NULL) { - wifi_syspopup_init(); - if (strcmp(is_onoff, "on") == 0) { + 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); @@ -407,25 +431,30 @@ static int app_reset(bundle *b, void *data) ret = wlan_manager_request_power_off(); INFO_LOG(SP_NAME_NORMAL, "* ret [%d]", ret); } - wlan_manager_destroy(); - elm_exit(); + + wifi_syspopup_destroy(); return 0; } else { - wifi_syspopup_init(); - if (_power_on_check() == FALSE) { - wlan_manager_destroy(); - wifi_setting_value_set("memory/wifi/wifi_qs_exit", VCONFKEY_WIFI_QS_3G); + 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__; - elm_exit(); + return 0; } } - app_state->syspopup = elm_popup_add(app_state->win_main); - ret = syspopup_create(b, &handler, app_state->win_main, app_state); + 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 { val = bundle_get_val(b, "_INTERNAL_SYSPOPUP_NAME_"); @@ -436,8 +465,8 @@ static int app_reset(bundle *b, void *data) ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h); - evas_object_show(app_state->win_main); - wlan_manager_scanned_profile_refresh_with_count(5); + wifi_syspopup_create(); + wlan_manager_scanned_profile_refresh_with_count(MAX_INITIAL_QS_POPUP_LIST_SIZE); } } __COMMON_FUNC_EXIT__; @@ -465,7 +494,6 @@ static int app_exit(void *data) static int app_start(void *data) { __COMMON_FUNC_ENTER__; - ecore_idler_add((Ecore_Task_Cb)wlan_manager_scanned_profile_refresh_with_count, (void *)5); __COMMON_FUNC_EXIT__; return 0; @@ -482,14 +510,12 @@ static int app_stop(void *data) 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; @@ -507,15 +533,6 @@ int main(int argc, char* argv[]) ops.data = &ad; - /* wlan init */ - int wlan_ret = wifi_syspopup_init(); - if (wlan_ret != WLAN_MANAGER_ERR_NONE) { - wlan_manager_destroy(); - wifi_setting_value_set("memory/wifi/wifi_qs_exit", VCONFKEY_WIFI_QS_3G); - __COMMON_FUNC_EXIT__; - elm_exit(); - } - __COMMON_FUNC_EXIT__; return appcore_efl_main(PACKAGE, &argc, &argv, &ops); }