From d5cdcfc848d3230ef800a05410d87baee11c6366 Mon Sep 17 00:00:00 2001 From: DoHyun Pyun Date: Fri, 22 Mar 2013 09:15:54 +0900 Subject: [PATCH] Merge branch 'master' into tizen_2.1 Change-Id: Ibfab872a204cb21ed2f8e2c3059ff43254a1aa2f --- CMakeLists.txt | 1 + data/images/A01-4_device_Medical_press.png | Bin 0 -> 630 bytes data/images/A01-4_device_camera_press.png | Bin 0 -> 500 bytes data/images/A01-4_device_computer_press.png | Bin 0 -> 276 bytes data/images/A01-4_device_display_press.png | Bin 0 -> 295 bytes data/images/A01-4_device_gaming_press.png | Bin 0 -> 481 bytes data/images/A01-4_device_headphone_press.png | Bin 0 -> 389 bytes data/images/A01-4_device_headset_press.png | Bin 0 -> 437 bytes data/images/A01-4_device_input_device_press.png | Bin 0 -> 304 bytes data/images/A01-4_device_mouse_press.png | Bin 0 -> 332 bytes data/images/A01-4_device_multimedia_press.png | Bin 0 -> 287 bytes .../A01-4_device_network_infrastructure_press.png | Bin 0 -> 352 bytes data/images/A01-4_device_printer_press.png | Bin 0 -> 367 bytes data/images/A01-4_device_storage_press.png | Bin 0 -> 190 bytes data/images/A01-4_device_telephone_press.png | Bin 0 -> 320 bytes data/images/A01-4_device_unknown_press.png | Bin 0 -> 445 bytes data/images/Q02_Notification_bluetooth.png | Bin 0 -> 676 bytes data/images/Q02_icon_BT_receive.png | Bin 0 -> 2320 bytes data/images/Q02_icon_BT_transmit.png | Bin 0 -> 2400 bytes data/images/ug-bluetooth-efl.png | Bin 0 -> 4190 bytes data/ug-bluetooth-efl.xml | 5 +- include/bt-dbus-method.h | 2 - include/bt-ipc-handler.h | 1 + include/bt-main-ug.h | 3 + include/bt-main-view.h | 7 +- include/bt-profile-view.h | 11 +- include/bt-resource.h | 16 + include/bt-string-define.h | 25 + include/bt-type-define.h | 16 + packaging/ug-bluetooth-efl.spec | 1 + po/CMakeLists.txt | 2 +- po/ar.po | 36 + po/az.po | 36 + po/bg.po | 36 + po/ca.po | 36 + po/cs.po | 36 + po/da.po | 36 + po/de_DE.po | 36 + po/el_GR.po | 36 + po/en.po | 36 + po/en_PH.po | 36 + po/en_US.po | 36 + po/es_ES.po | 36 + po/es_MX.po | 465 +++++++++++++ po/et.po | 36 + po/eu.po | 36 + po/fi.po | 36 + po/fr_CA.po | 36 + po/fr_FR.po | 36 + po/ga.po | 36 + po/gl.po | 36 + po/hi.po | 36 + po/hr.po | 36 + po/hu.po | 36 + po/hy.po | 36 + po/is.po | 36 + po/it_IT.po | 36 + po/ja_JP.po | 38 +- po/ka.po | 36 + po/kk.po | 36 + po/ko_KR.po | 36 + po/lt.po | 40 +- po/lv.po | 36 + po/mk.po | 36 + po/nb.po | 36 + po/nl_NL.po | 36 + po/pl.po | 36 + po/pt_BR.po | 36 + po/pt_PT.po | 36 + po/ro.po | 36 + po/ru_RU.po | 36 + po/sk.po | 36 + po/sl.po | 36 + po/sr.po | 36 + po/sv.po | 36 + po/tr_TR.po | 36 + po/uk.po | 40 +- po/uz.po | 36 + po/zh_CN.po | 38 +- po/zh_HK.po | 36 + po/zh_SG.po | 36 + po/zh_TW.po | 36 + src/libraries/bt-callback.c | 33 +- src/libraries/bt-dbus-method.c | 22 - src/libraries/bt-ipc-handler.c | 77 ++- src/libraries/bt-net-connection.c | 12 - src/ui/bt-main-ug.c | 93 ++- src/ui/bt-main-view.c | 725 ++++++++++++++++++--- src/ui/bt-profile-view.c | 527 ++++++++++----- ug-bluetooth-elf.manifest | 6 +- 90 files changed, 3510 insertions(+), 352 deletions(-) create mode 100644 data/images/A01-4_device_Medical_press.png create mode 100644 data/images/A01-4_device_camera_press.png create mode 100644 data/images/A01-4_device_computer_press.png create mode 100644 data/images/A01-4_device_display_press.png create mode 100644 data/images/A01-4_device_gaming_press.png create mode 100644 data/images/A01-4_device_headphone_press.png create mode 100644 data/images/A01-4_device_headset_press.png create mode 100644 data/images/A01-4_device_input_device_press.png create mode 100644 data/images/A01-4_device_mouse_press.png create mode 100644 data/images/A01-4_device_multimedia_press.png create mode 100644 data/images/A01-4_device_network_infrastructure_press.png create mode 100644 data/images/A01-4_device_printer_press.png create mode 100644 data/images/A01-4_device_storage_press.png create mode 100644 data/images/A01-4_device_telephone_press.png create mode 100644 data/images/A01-4_device_unknown_press.png create mode 100644 data/images/Q02_Notification_bluetooth.png create mode 100644 data/images/Q02_icon_BT_receive.png create mode 100644 data/images/Q02_icon_BT_transmit.png create mode 100644 data/images/ug-bluetooth-efl.png create mode 100644 po/es_MX.po diff --git a/CMakeLists.txt b/CMakeLists.txt index 6dd4966..7eb2501 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,6 +44,7 @@ ADD_DEFINITIONS("-DIMAGEDIR=\"${IMAGEDIR}\"") ADD_DEFINITIONS("-DBT_USE_PLATFORM_DBG") INSTALL(FILES ${CMAKE_BINARY_DIR}/data/ug-bluetooth-efl.xml DESTINATION /usr/share/packages/) +INSTALL(FILES ${CMAKE_BINARY_DIR}/data/images/ug-bluetooth-efl.png DESTINATION /usr/share/icons/default/small) ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS}) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0.1.0) diff --git a/data/images/A01-4_device_Medical_press.png b/data/images/A01-4_device_Medical_press.png new file mode 100644 index 0000000000000000000000000000000000000000..e536e1cffdfcc736fff10433375f220d30928f7e GIT binary patch literal 630 zcmeAS@N?(olHy`uVBq!ia0vp^ULefD3?#MrjGTd#aez;V>wnV0Q-K%mK0!^`)F$QPvx+9WLNpA7&KW=J>P*pi*rK`WNy++63(wr$xo>@N zhO22SlkVi{9(i7m<=0;pN}YDtgyWLO5ObIQCma+=`( zgs2$RfaW-HpS^lBcEuWe-JOtC{&n_+-*v(^k~I$Hn$ literal 0 HcmV?d00001 diff --git a/data/images/A01-4_device_camera_press.png b/data/images/A01-4_device_camera_press.png new file mode 100644 index 0000000000000000000000000000000000000000..a08988d6d0bf1880ce4c1489a71fe56b9e33241a GIT binary patch literal 500 zcmeAS@N?(olHy`uVBq!ia0vp^ULefD3?#MrjGTd#aez;V>wnV0Q-K%mKAzGHJH4W!47&l{%&kl9QK+Rk>{qoP0Yc z(6p+g!^_H}qN=@(-LK4dp2dTU+5E!yIfcYeatclS$Pis+Ht*lEHDl`2{6uFf10W6R&m=D-Fubqc$OVq;*-cU zD=;z2=XhvaUz*^GhOMrxE!K`MOn$38)E(WF&aUEcOqrtoXtj}4*+dSxmB%{F)J+|W z**h)l8z=2p@N4aVex66VpH$dx>;1FrKAQBA)xIU+=50Cu{lIu&@O1TaS?83{1OR%~ B@`V5Z literal 0 HcmV?d00001 diff --git a/data/images/A01-4_device_computer_press.png b/data/images/A01-4_device_computer_press.png new file mode 100644 index 0000000000000000000000000000000000000000..9553b73c3990eeb487a7481d1c1890224a777ab7 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^ULefE3?$$EyYB>~bOU@sT>p~-7F;r51#09g3GxeO zaA?>c@Lr&Qeu2UL^9mpL$1DfRba=WrhE&A8y?Btb*+HQ7Vc}GPA_1FcVp|#$q;3cW zIr@nus3y6tJSg-{DJ~^jKrEbnj^(p#pdL zxjH7@4_)NaxrlptP?+t+UA2-X{0&*Bww`Ld<~bOU@sT>p~-7F;r51#09g3GxeO zXxQ(NaR0r+`S}6?>-+l(ywnV0Q-K%mK)E`-OM^-z{47Fa?l!&te?nu5Mi~^LY*%@E9#@^?cFCsjjw*dHD;rV=L#{DH|@(c2V5EV#kt+ zH7WGREwUzECDYCf19^;YXcSZk8#)$U8Z z+e)YDir;KrzNW)@f&ACwAG0}9k1Af8>Tce}xBvIof}VnB>PionZ(9|z^`OMVy!A@Q zO)pJSzgHxBKloSR`)3>vtPa=69zAP4a~F%~Gs*U4U9zGJ=kd06E?%@L^7fsy{9mHH zyzM+s3Ia^RUPWBsDtYjIBm0(V-77zams(nL)*WLCsquMvrBC|XIjy`k#h0(9hM7Ej z*R)dAurBAX>*LoMv!8Zo9sBmd-St&h*%UL+bvmYPku&u+O4UwyvoG3X(>gv^Mqh4A i9ZyExFaJS-6F>2dch=wifyTfwnV0Q-K%mK@-^NM6P3+;e3hdvlnq(^c2hQP@Av+G5C8d zJI6h{kA9!>cQ`$lFR<8gY`%laiP-DcMS~v{H#isi$}THP`5`Oe#krN6ecI`t4uYyN z<_D)nu2d4q+u|eZ+ghdY;9r zTd+S%=tbNf=BFAP%#@F}Y=3VR67-^e)twoQPONU>GpEIcmNLEU>ylgHld2VLTYoM) n*Os|C>*~Q<->w_*95%4aS*r5hyFDlt=y?WDS3j3^P6wnV0Q-K%mK)E`o$YEd5NN#^t#(!I_0qZLHvMQm(TqeT z#lpTNmp?63`CQ{PE%$+maj662)4ap2ox5B1SpHr#El=a;$K;0-<2|ZkZoQc*;~&Ju zp6}m#$9A&RKclHn1h|5WJbs+JD6*vIaQPblk2^#BzlQi*O7-n9Nwa_Mc!s6;YyGst z4QBt&J=L$Do~d8xu-SA|w literal 0 HcmV?d00001 diff --git a/data/images/A01-4_device_input_device_press.png b/data/images/A01-4_device_input_device_press.png new file mode 100644 index 0000000000000000000000000000000000000000..6b570d379356533c0c3872bf162a8912e47c957f GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^ULefE3?$$EyYB>~)B}7%T>ldX0(bot0&3wY3GxeO z*x%q_kkBuna6e#ufNjScp!gb37srr_xVKaG@*Xk}Xzl%xnNcGoyr)a(C6`oJN^{Qv zzMKORITQM1Gi*iH{Rw!GBB;vc_;1(d{m0JldYG{ZA) z+tm8U87n`@bN>Hm%Xvs;+2$S2E!HL>akW*4j@4g}|EYK8`>X$f8a9ltrFOUdXjhN} Px|_k%)z4*}Q$iB}0ydA= literal 0 HcmV?d00001 diff --git a/data/images/A01-4_device_mouse_press.png b/data/images/A01-4_device_mouse_press.png new file mode 100644 index 0000000000000000000000000000000000000000..096f06c40b843c301c29bb370b8f10369399df1f GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^ULefD3?#MrjGTd#aez;V>wnV0Q-K%mK=9oe^>uQ*-+tMP-;?@zZ>?NwQR3Ps_&_Guqy6Lt4e%?+6KLL)bbE8VwYmV|0Um5~-xR@xLMulGK@?Vp^UKD@vc;k8RT zbxNR{B#_W|<6O`ZC>kKVm}|kNWX>P_VFxs3<$E0bc*$RL=RBJmF4~`1Cq3GwU211N e)xqZUrh8^Dlk)kUUjzXCz~JfX=d#Wzp$P!PprGXd literal 0 HcmV?d00001 diff --git a/data/images/A01-4_device_multimedia_press.png b/data/images/A01-4_device_multimedia_press.png new file mode 100644 index 0000000000000000000000000000000000000000..be1ee4f43cb61003cbd1605cdecdad64c9fbb27d GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^ULefE3?$$EyYB>~3<7*YT>p~@{MPSq0P5v03GxeO za7fty{(OJIe1Y{1_X7+f=UxQa*YD}#7*Y}UcG5x4W&@G7`Rc85Is8W#>+(I|C~GPc zNiS$<(k^N0dt~6~X!A#Hx`0zWlWps_+V=Nf1V2r3ukTmju(c3dUe$1P<%FECR*~lp zY@WqXn)@e9#kFBCU6HEX)jlt8^&t;ucLK6VjM2$EA literal 0 HcmV?d00001 diff --git a/data/images/A01-4_device_network_infrastructure_press.png b/data/images/A01-4_device_network_infrastructure_press.png new file mode 100644 index 0000000000000000000000000000000000000000..39377d56425b85fa8d9e39950572e737826464de GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^ULefD3?#MrjGTd#aez;V>wnV0Q-K%mK-Cd)6uBcyjhYlVnyw!>aqGc}I`zc`kKY94{xMt{C}EL(QqJ$;D@{*Nub{yF z8#GkTHk4Z%FE33v@BJ{sE9g%#CpUw&R4QAySJ%PwmF7z&coLR}`fPprM=L4)RL-h@ znr-Vslpfy7D1}gJy+z5yO3Olz_r-7{9am%yB+@;0^L{sLC)^l&B(8+Kz}iKy85}Sb4q9e0Har{ Ax&QzG literal 0 HcmV?d00001 diff --git a/data/images/A01-4_device_printer_press.png b/data/images/A01-4_device_printer_press.png new file mode 100644 index 0000000000000000000000000000000000000000..c3e027aa86d6d330646035a5b0463a53b7d4e302 GIT binary patch literal 367 zcmeAS@N?(olHy`uVBq!ia0vp^ULefE3?$$EyYB>~3<7*YT>p~@{MPSq0P5v03GxeO z*x&G8;l4qF!20v^`wJYF-|RL6O5OK#aSW-5dwbQE>yU#$+rwO+OY4-TC2bIQ%n9Ej zdPF!QKXFgv*69~6F?U@5z#-?D)U!Y%d9yX&4rM0+-Z#Oz^7>EMom}Qw)c)M^P$`~K z&@hyLg;?<0#$Cpt$}b;0Sg9Nyd(t3DTcgd5_ea->7}KSJk5-rTIWPF(wcx>7W4@(< z=PJG%dxjnfuUvR{hMS}4n@5%_#STOkzi+6O=d#dT+3-Dl>gt%SS1zlX6ewPG%-4?L zsUy;F^p$V#8!)a;(T)rC6nOmWcb5Aq>1bY$QX%<2Zj(JW?7Fm~+on)Xe@2v7 U+`hB!K(8`*y85}Sb4q9e0IHR+)&Kwi literal 0 HcmV?d00001 diff --git a/data/images/A01-4_device_storage_press.png b/data/images/A01-4_device_storage_press.png new file mode 100644 index 0000000000000000000000000000000000000000..2f0296457f7d049f775c47b154a9a9b6ea02cc83 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^ULefE3?$$EyYB>~Bm#UwT>s+$n%W0W0M)RU1o;Is z?00B*e?DP_&5UzEAwN$S$B>G+w^t8xIS2~0U948V7JTpEwZ)z%UvFOODJC}KfAp(0 zCYNibw}d?8YTmS_>%7*AD|>&;^*XcODY5+@+X5p&%a6tjr%#y~^W?L$DBJCil{YRw RodGnN!PC{xWt~$(69Ce!T0Z~) literal 0 HcmV?d00001 diff --git a/data/images/A01-4_device_telephone_press.png b/data/images/A01-4_device_telephone_press.png new file mode 100644 index 0000000000000000000000000000000000000000..e8ef990f26fa99595d8dc4893d77750b0272f014 GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^ULefE3?$$EyYB>~3<7*YT>p~@{MPSq0P5v03GxeO zXmHs7ety9Hg!TOj0_P1j9C;cFl-l6w;uum9_x9>p&O;6YZ4Uzj90fNrU2e)@)I899 z&$eP?Ps8m-*$mEY53XumYCa;*A}h{$GiOGB#fOB1d$$i9j^FW9w=j~&_i>Q&ADu(@-yYFBg4 literal 0 HcmV?d00001 diff --git a/data/images/A01-4_device_unknown_press.png b/data/images/A01-4_device_unknown_press.png new file mode 100644 index 0000000000000000000000000000000000000000..44193aeffef5077b30788b126621295a7a2d8e51 GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0vp^ULefD3?#MrjGTd#aez;V>wnV0Q-K%mKa84$}+1`G53El=<5cVzP4b z!(E%^cbYtVDO>hU=iZa$tCqEwJL|TIg_QWO|NEhbP2|4oyQxv9rDjy;ntpt^bQ$;G z+~fZf9#0PNtLuLp`1)oCkIURSoqg_0|MnWlxt7%g-fq?K>aW@GVofajitpbQ0;bw6 zlF0Qu)bc>|_J_G*`5P96)i1o#P;KYqy(!aEo3W{U632l@zHuBIYp1n*56=vnBB=G? zbBTMecWvpS8|B;w58bwQ`#z6lR#ITe_dj<<_3S8i#b-LpDOD waiVo$Q`1Uka30-wR$`dN0>YZL>vM7=fC0+j>FVdQ&MBb@0O#xA+yDRo literal 0 HcmV?d00001 diff --git a/data/images/Q02_Notification_bluetooth.png b/data/images/Q02_Notification_bluetooth.png new file mode 100644 index 0000000000000000000000000000000000000000..81d44d1c0db9164fa31a9ada6652eedf3c9df047 GIT binary patch literal 676 zcmeAS@N?(olHy`uVBq!ia0vp^nIO!;3?%tt{&D~*vjCqE*Z=?j|0Eqqx+q2fO%N;z z@(X5QXxQ)YUO*w>{`>-ig!AkB>vYo+85o#&JY5_^D&pSW+~Zu#=8qp@PJNwbx^R2QDSs95l=Gch7lTCQ zRXVmcvjqJQzx`msl4-)04|hE5Iq+_l#`Gsl))!fYY)d!&@pLQtQ+9tR`@MZSQ>ycM zJ9-{8Pxh{n{&eu9Dp%}=+QREq$p=rdEmzrkY3-@zX~#EZAGp=EAuo>xQ3N=UuhHU;EtCHK!MC65&{q@b5+xIp9Ef>4-V2g^GMQkVAa{Z-url?BISu_PCmn;v{vRvZZc96iIL;JkYyA&#ZvC{a`P`p15qG0iKi8Xp dBlZpRtk-wvPCcZ*6_{ukJYD@<);T3K0RTEuQceH> literal 0 HcmV?d00001 diff --git a/data/images/Q02_icon_BT_receive.png b/data/images/Q02_icon_BT_receive.png new file mode 100644 index 0000000000000000000000000000000000000000..821f8ecb00a013cbcd21cc8bdfb53625af5da885 GIT binary patch literal 2320 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 literal 0 HcmV?d00001 diff --git a/data/ug-bluetooth-efl.xml b/data/ug-bluetooth-efl.xml index 2a3d652..60f6603 100644 --- a/data/ug-bluetooth-efl.xml +++ b/data/ug-bluetooth-efl.xml @@ -5,12 +5,15 @@ Bluetooth AppControl - org.tizen.bt-syspopup.png + /usr/share/icons/default/small/ug-bluetooth-efl.png + + + diff --git a/include/bt-dbus-method.h b/include/bt-dbus-method.h index 78faac7..f28a645 100644 --- a/include/bt-dbus-method.h +++ b/include/bt-dbus-method.h @@ -44,8 +44,6 @@ extern "C" { DBusGProxy *_bt_get_adapter_proxy(DBusGConnection *conn); -void _bt_reset_environment(void); - gboolean _bt_is_profile_connected(int connected_type, DBusGConnection *conn, unsigned char *addr); diff --git a/include/bt-ipc-handler.h b/include/bt-ipc-handler.h index 5cc1720..55474f5 100644 --- a/include/bt-ipc-handler.h +++ b/include/bt-ipc-handler.h @@ -81,6 +81,7 @@ typedef struct { char *param4; /* File path */ char *param5; /* mode */ char *param6; /* Device name */ + char *param7; /* sending type */ } __attribute__ ((packed)) obex_ipc_param_t; /** diff --git a/include/bt-main-ug.h b/include/bt-main-ug.h index 48f5819..1572c7e 100644 --- a/include/bt-main-ug.h +++ b/include/bt-main-ug.h @@ -121,6 +121,8 @@ typedef struct { Elm_Object_Item *no_device_item; Elm_Object_Item *paired_padding; Elm_Object_Item *searched_padding; + Elm_Object_Item *bottom_padding; + Elm_Object_Item *visible_exp_item[5]; /************************* * Popup objects @@ -152,6 +154,7 @@ typedef struct { int unbonding_count; int selected_radio; int remain_time; + time_t start_time; bool visible; int timeout_id; int popup_timer; diff --git a/include/bt-main-view.h b/include/bt-main-view.h index 2cd28d3..f9596f4 100644 --- a/include/bt-main-view.h +++ b/include/bt-main-view.h @@ -108,7 +108,8 @@ void _bt_main_draw_selection_info(bt_ug_data *ugd, char *message); int _bt_main_service_request_cb(void *data); -char *_bt_main_get_device_icon(int major_class, int minor_class, int connected); +char *_bt_main_get_device_icon(int major_class, int minor_class, + int connected, gboolean highlighted); int _bt_main_check_and_update_device(Eina_List *list, char *addr, char *name); @@ -129,6 +130,10 @@ void _bt_update_paired_item_style(bt_ug_data *ugd); void _bt_update_searched_item_style(bt_ug_data *ugd); +void _bt_main_remove_callback(bt_ug_data *ugd); + +void _bt_update_device_list(bt_ug_data *ugd); + #ifdef __cplusplus } #endif diff --git a/include/bt-profile-view.h b/include/bt-profile-view.h index f48a35c..bfe68b3 100644 --- a/include/bt-profile-view.h +++ b/include/bt-profile-view.h @@ -22,6 +22,7 @@ extern "C" { #endif #include +#include #include "bt-type-define.h" @@ -33,11 +34,14 @@ struct _bt_profile_view_data { Evas_Object *layout; Evas_Object *genlist; Evas_Object *save_btn; - Evas_Object *cancel_btn; Elm_Object_Item *navi_it; Elm_Object_Item *name_item; Elm_Object_Item *unpair_item; Elm_Object_Item *title_item; + Elm_Object_Item *call_item; + Elm_Object_Item *media_item; + Elm_Object_Item *hid_item; + Elm_Object_Item *network_item; Elm_Genlist_Item_Class *name_itc; Elm_Genlist_Item_Class *unpair_itc; Elm_Genlist_Item_Class *title_itc; @@ -45,12 +49,17 @@ struct _bt_profile_view_data { Elm_Genlist_Item_Class *media_itc; Elm_Genlist_Item_Class *hid_itc; Elm_Genlist_Item_Class *network_itc; + Ecore_IMF_Context *imf_context; }; void _bt_profile_create_view(bt_dev_t *dev_info); void _bt_profile_delete_view(void *data); +void _bt_profile_change_rotate_mode(void *data); + +void _bt_profile_destroy_profile_view(void *data); + #ifdef __cplusplus } #endif diff --git a/include/bt-resource.h b/include/bt-resource.h index f2798e3..0fcf49f 100644 --- a/include/bt-resource.h +++ b/include/bt-resource.h @@ -59,6 +59,22 @@ extern "C" { #define BT_ICON_CONNECTED_DISPLAY BLUETOOTH_IMG_DIR"/A01-4_device_display_connect.png" #define BT_ICON_CONNECTED_CAMERA BLUETOOTH_IMG_DIR"/A01-4_device_camera_connect.png" +#define BT_ICON_PRESSED_UNKNOWN BLUETOOTH_IMG_DIR"/A01-4_device_unknown_press.png" +#define BT_ICON_PRESSED_HEADSET BLUETOOTH_IMG_DIR"/A01-4_device_headset_press.png" +#define BT_ICON_PRESSED_HEADPHONE BLUETOOTH_IMG_DIR"/A01-4_device_headphone_press.png" +#define BT_ICON_PRESSED_PC BLUETOOTH_IMG_DIR"/A01-4_device_computer_press.png" +#define BT_ICON_PRESSED_PHONE BLUETOOTH_IMG_DIR"/A01-4_device_telephone_press.png" +#define BT_ICON_PRESSED_KEYBOARD BLUETOOTH_IMG_DIR"/A01-4_device_input_device_press.png" +#define BT_ICON_PRESSED_MOUSE BLUETOOTH_IMG_DIR"/A01-4_device_mouse_press.png" +#define BT_ICON_PRESSED_PRINTER BLUETOOTH_IMG_DIR"/A01-4_device_printer_press.png" +#define BT_ICON_PRESSED_HEALTH BLUETOOTH_IMG_DIR"/A01-4_device_Medical_press.png" +#define BT_ICON_PRESSED_STORAGE BLUETOOTH_IMG_DIR"/A01-4_device_storage_press.png" +#define BT_ICON_PRESSED_NETWORK BLUETOOTH_IMG_DIR"/A01-4_device_network_infrastructure_press.png" +#define BT_ICON_PRESSED_MULTIMEDIA BLUETOOTH_IMG_DIR"/A01-4_device_multimedia_press.png" +#define BT_ICON_PRESSED_GAMING BLUETOOTH_IMG_DIR"/A01-4_device_gaming_press.png" +#define BT_ICON_PRESSED_DISPLAY BLUETOOTH_IMG_DIR"/A01-4_device_display_press.png" +#define BT_ICON_PRESSED_CAMERA BLUETOOTH_IMG_DIR"/A01-4_device_camera_press.png" + #define BT_ICON_CONNECTED_CHECK BLUETOOTH_IMG_DIR"/00_check_single_36x36.png" #define BT_ICON_CONTROLBAR_SCAN BLUETOOTH_IMG_DIR"/01_controlbar_icon_scan.png" #define BT_ICON_CONTROLBAR_DELETE BLUETOOTH_IMG_DIR"/01_controlbar_icon_delete.png" diff --git a/include/bt-string-define.h b/include/bt-string-define.h index 3011cd0..8f7bfa5 100644 --- a/include/bt-string-define.h +++ b/include/bt-string-define.h @@ -274,6 +274,31 @@ extern "C" { #define BT_STR_BLUETOOTH_ON _("IDS_BT_POP_ACTIVATED") #define BT_STR_BLUETOOTH_AVAILABLE _("IDS_BT_BODY_BLUETOOTH_AVAILABLE") +/* String access info */ +#define BT_STR_DOUBLE_TAP_RENAME _("Double Tap to rename") +#define BT_STR_DOUBLE_TAP_UNPAIR _("Double Tap to unpair device") +#define BT_STR_RADIO_BUTTON _("Radio Button") +#define BT_STR_RADIO_UNSELECTED _("Unselected") +#define BT_STR_EXP_LIST_OPEN _("Expandable list, double tap to open list") +#define BT_STR_EXP_LIST_CLOSE _("Expandable list, double tap to close list") +#define BT_STR_ON_OFF_BUTTON _("On/Off Button") +#define BT_STR_MORE_BUTTON _("More button") +#define BT_STR_DOUBLE_TAP_CONNECT _("Double tap to connect") +#define BT_STR_DOUBLE_TAP_CONNECT_D _("Double tap to connect device") +#define BT_STR_DOUBLE_TAP_DISCONNECT_D _("Double tap to disconnect device") +#define BT_STR_ON _("On") +#define BT_STR_CAMERA _("Camera") +#define BT_STR_DISPLAY _("Display") +#define BT_STR_KEYBOARD _("Keyboard") +#define BT_STR_MOUSE _("Mouse") +#define BT_STR_GAMING_DEVICE _("Gaming device") +#define BT_STR_HEALTH_DEVICE _("Health device") +#define BT_STR_COMPUTER _("Computer") +#define BT_STR_LAN_ACCESS_POINT _("Lan access point") +#define BT_STR_UNKNOWN _("Unknown") +#define BT_ACC_STR_TITLE "Title" +#define BT_ACC_STR_GROUP_INDEX "Group index" + #ifdef __cplusplus } #endif diff --git a/include/bt-type-define.h b/include/bt-type-define.h index 80ab5e1..c5458c5 100644 --- a/include/bt-type-define.h +++ b/include/bt-type-define.h @@ -86,6 +86,7 @@ extern "C" { /* GENLIST_TEXT_COLOR_LIST_SUB_TEXT_SETTINGS 42 137 194 255 */ #define BT_GENLIST_SUBTEXT_COLOR "#2A89C2FF" +#define BT_GENLIST_WHITE_SUBTEXT_COLOR "#FFFFFFFF" #define BT_RESULT_SUCCESS "success" #define BT_RESULT_FAIL "fail" @@ -98,6 +99,10 @@ extern "C" { #define BT_VCONF_VISIBLE_TIME "file/private/libug-setting-bluetooth-efl/visibility_time" +/* Access information */ +#define BT_STR_ACCES_INFO_MAX_LEN 512 +#define BT_STR_ACC_ICON "Icon" + /************************************************** * Enum type ***************************************************/ @@ -243,6 +248,16 @@ typedef enum { } bt_item_type_t; typedef enum { + BT_ITEM_NONE, + BT_ITEM_NAME, + BT_ITEM_UNPAIR, + BT_ITEM_CALL, + BT_ITEM_MEDIA, + BT_ITEM_HID, + BT_ITEM_NETWORK, +} bt_profile_view_item_type_t; + +typedef enum { BT_DEVICE_MAJOR_MASK_MISC = 0x00, BT_DEVICE_MAJOR_MASK_COMPUTER = 0x0001, BT_DEVICE_MAJOR_MASK_PHONE = 0x0002, @@ -504,6 +519,7 @@ typedef struct { gboolean media_checked; gboolean hid_checked; gboolean network_checked; + gboolean highlighted; void *ugd; } bt_dev_t; diff --git a/packaging/ug-bluetooth-efl.spec b/packaging/ug-bluetooth-efl.spec index 033d67c..2a11b84 100644 --- a/packaging/ug-bluetooth-efl.spec +++ b/packaging/ug-bluetooth-efl.spec @@ -61,4 +61,5 @@ rm -rf %{buildroot} %{_ugdir}/lib/libug-setting-bluetooth-efl.so.0.1.0 %{_ugdir}/lib/libug-setting-bluetooth-efl.so %{_usrdir}/share/packages/ug-bluetooth-efl.xml +%{_usrdir}/share/icons/default/small/ug-bluetooth-efl.png diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt index bcd2ac2..d26b9d8 100644 --- a/po/CMakeLists.txt +++ b/po/CMakeLists.txt @@ -1,7 +1,7 @@ # for i18n SET(POFILES -ar.po az.po ca.po da.po el_GR.po en_PH.po en_US.po es_US.po et.po eu.po +ar.po az.po ca.po da.po el_GR.po en_PH.po en_US.po es_MX.po et.po eu.po fi.po ga.po gl.po hr.po hy.po is.po ja_JP.po ka.po kk.po lt.po pt_PT.po sl.po sv.po tr_TR.po zh_HK.po mk.po nb.po pt_BR.po ru_RU.po bg.po cs.po de_DE.po en.po es_ES.po fr_FR.po fr_CA.po hi.po hu.po it_IT.po ko_KR.po diff --git a/po/ar.po b/po/ar.po index f8223f2..fd1576e 100644 --- a/po/ar.po +++ b/po/ar.po @@ -427,3 +427,39 @@ msgstr "السماح لـ %s بالوصول إلى سجل هاتف" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "السماح لـ %s بالوصول إلى الرسائل؟" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "لم يتم استلام الملف" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "الملف: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "سبب العطل: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "إلى: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "نوع الملف: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "حجم الملف: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "من: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "تم إلغاء النقل" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "غير قادر على الاستقبال" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d ناجحة، %d فاشلة" + +msgid "IDS_BT_BODY_SENT" +msgstr "تم الإرسال" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "مشاركة عبر البلوتوث" + diff --git a/po/az.po b/po/az.po index bea20f5..633d201 100644 --- a/po/az.po +++ b/po/az.po @@ -427,3 +427,39 @@ msgstr "%s telefon kitabına müraciətinə icazə ver" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "%s mesajlara daxil olmağa icazə verilsin?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Fayl qəbul edilmədi" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Fayl: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Uğursuzluq səbəbi: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Kimə: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Fayl növü: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Fayl ölçüsü: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Kimdən: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Köçürmə ləğv edildi" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Qəbul etmək mümkün deyil" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d uğurludur, %d uğursuzdur" + +msgid "IDS_BT_BODY_SENT" +msgstr "Göndərildi" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth paylaşması" + diff --git a/po/bg.po b/po/bg.po index 63f99ca..d9b73d3 100644 --- a/po/bg.po +++ b/po/bg.po @@ -427,3 +427,39 @@ msgstr "Разрешаване на достъп на %s до телефонни msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Разрешаване на %s на достъп до съобщения?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Файлът не е получен" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Файл: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Причина за отказа: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "До: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Тип файл: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Размер на файл: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "От: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Прехвърлянето е прекратено" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Не може да приеме" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "Успешно %d, неуспешно %d" + +msgid "IDS_BT_BODY_SENT" +msgstr "Изпратен" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Споделяне на Bluetooth" + diff --git a/po/ca.po b/po/ca.po index 47d926d..83cc858 100644 --- a/po/ca.po +++ b/po/ca.po @@ -427,3 +427,39 @@ msgstr "Permetre a %s accedir a Contactes" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Permetre l'accés als missatges a %s?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Fitxer no rebut" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Fitxer: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Causa de l'error: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Per a: (%s)" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Tipus de fitxer: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Mida del fitxer: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "De: (%s)" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Transferència cancel·lada" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "No es pot rebre" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d correcte, %d fallit" + +msgid "IDS_BT_BODY_SENT" +msgstr "Enviat" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Compartir Bluetooth" + diff --git a/po/cs.po b/po/cs.po index 32fffd5..a5d68bf 100644 --- a/po/cs.po +++ b/po/cs.po @@ -427,3 +427,39 @@ msgstr "Povolit %s přístup k telefonnímu seznamu" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Povolit %s přístup ke zprávám?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Soubor nebyl přijat" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Soubor: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Důvod chyby: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Komu: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Typ souboru: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Velikost souboru: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Od: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Přenos byl zruÅ¡en" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Nelze přijmout" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "úspěšně %d, chybně %d" + +msgid "IDS_BT_BODY_SENT" +msgstr "Odesláno" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Sdílení Bluetooth" + diff --git a/po/da.po b/po/da.po index 7a2eae1..5428a63 100644 --- a/po/da.po +++ b/po/da.po @@ -427,3 +427,39 @@ msgstr "Tillad %s adgang til telefonbog" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Tillad %s at fÃ¥ adgang til meddelelser?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Fil ikke modtaget" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Fil: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "FejlÃ¥rsag: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Til: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Filtype: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Filstørrelse: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Fra: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Overførsel annulleret" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Der kan ikke modtages" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d gennemført, %d mislykkedes" + +msgid "IDS_BT_BODY_SENT" +msgstr "Sendt" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth-deling" + diff --git a/po/de_DE.po b/po/de_DE.po index dec4dd5..7ff71c6 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -427,3 +427,39 @@ msgstr "%s Zugriff auf das Telefonbuch erlauben" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "%s Zugriff auf Nachrichten erlauben?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Datei nicht empfangen" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Datei: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Grund des Fehlers: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "An: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Dateityp: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Dateigröße: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Von: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Übertragung abgebrochen" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Empfang nicht möglich" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d erfolgreich, %d fehlgeschlagen" + +msgid "IDS_BT_BODY_SENT" +msgstr "Gesendet" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth-Freigabe" + diff --git a/po/el_GR.po b/po/el_GR.po index 2cd67ab..3469758 100644 --- a/po/el_GR.po +++ b/po/el_GR.po @@ -427,3 +427,39 @@ msgstr "Να επιτρέπεται στη συσκευή %s η πρόσβαση msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Να επιτραπεί η πρόσβαση του %s στα μηνύματα;" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Δεν έγινε λήψη του αρχείου" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Αρχείο: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Αιτία αποτυχίας: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Προς: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Τύπος αρχείου: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Μέγεθος αρχείου: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Από: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Η μεταφορά ακυρώθηκε" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Δεν είναι δυνατή η λήψη" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "Ολοκληρώθηκαν με επιτυχία %d, απέτυχαν %d" + +msgid "IDS_BT_BODY_SENT" +msgstr "Εστάλη" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Κοινή χρήση Bluetooth" + diff --git a/po/en.po b/po/en.po index fcc19ca..020a98d 100644 --- a/po/en.po +++ b/po/en.po @@ -427,3 +427,39 @@ msgstr "Allow %s phonebook access" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Allow %s to access messages?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "File not received" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "File: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Failure reason: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "To: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "File type: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "File size: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "From: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Transfer cancelled" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Unable to receive" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d successful, %d failed" + +msgid "IDS_BT_BODY_SENT" +msgstr "Sent" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth share" + diff --git a/po/en_PH.po b/po/en_PH.po index 5b25615..4b4844f 100644 --- a/po/en_PH.po +++ b/po/en_PH.po @@ -427,3 +427,39 @@ msgstr "Allow %s phonebook access" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Allow %s to access messages?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "File not received" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "File: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Failure reason: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "To: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "File type: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "File size: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "From: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Transfer canceled" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Unable to receive" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d successful, %d failed" + +msgid "IDS_BT_BODY_SENT" +msgstr "Sent" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth share" + diff --git a/po/en_US.po b/po/en_US.po index 7f15a27..c1be5f5 100644 --- a/po/en_US.po +++ b/po/en_US.po @@ -427,3 +427,39 @@ msgstr "Allow %s phonebook access" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Allow %s to access messages?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "File not received" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "File: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Failure reason: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "To: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "File type: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "File size: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "From: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Transfer cancelled" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Unable to receive" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d successful, %d failed" + +msgid "IDS_BT_BODY_SENT" +msgstr "Sent" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth share" + diff --git a/po/es_ES.po b/po/es_ES.po index 5ab2a08..d4e4e09 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -427,3 +427,39 @@ msgstr "Permitir a %s acceder a los contactos" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "¿Permitir a %s el acceso a mensajes?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Archivo no recibido" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Archivo: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Razón de fallo: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Para: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Tipo de archivo: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Tamaño de archivo: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "De: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Transferencia cancelada" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "No se puede recibir" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d correctas; %d incorrectas" + +msgid "IDS_BT_BODY_SENT" +msgstr "Enviado" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Compartir Bluetooth" + diff --git a/po/es_MX.po b/po/es_MX.po new file mode 100644 index 0000000..0ff1bac --- /dev/null +++ b/po/es_MX.po @@ -0,0 +1,465 @@ +msgid "IDS_BT_BODY_DEACTIVATING_ING" +msgstr "Desactivando…" + +msgid "IDS_BT_BODY_ALWAYS_ON" +msgstr "Siempre activado" + +msgid "IDS_BT_BODY_PAIRED_DEVICES" +msgstr "Dispositivos vinculados" + +msgid "IDS_BT_BODY_PRINTER" +msgstr "Impresora" + +msgid "IDS_BT_BODY_PRINTSETTINGSPAPERSIZE" +msgstr "Tamaño del papel" + +msgid "IDS_BT_BODY_DEVICENAME" +msgstr "Nombre del dispositivo" + +msgid "IDS_BT_BODY_TURNING_ON_BLUETOOTH_ING" +msgstr "Activando Bluetooth..." + +msgid "IDS_BT_BODY_PRINTSETTINGSQUALITY" +msgstr "Calidad de impresión" + +msgid "IDS_BT_BODY_VISIBLE" +msgstr "Visible" + +msgid "IDS_BT_BODY_CALL_AUDIO" +msgstr "Audio de llamada" + +msgid "IDS_BT_BODY_MEDIA_AUDIO" +msgstr "Audio de multimedia" + +msgid "IDS_BT_BODY_1_HOUR" +msgstr "1 hora" + +msgid "IDS_BT_BODY_PD_MINUTES" +msgstr "%d minutos" + +msgid "IDS_BT_BODY_BLUETOOTH_DEVICES" +msgstr "Dispositivos Bluetooth" + +msgid "IDS_BT_BODY_NORMAL" +msgstr "Normal" + +msgid "IDS_BT_BUTTON_UNPAIR" +msgstr "Desvincular" + +msgid "IDS_BT_BODY_OPERATION_FAILED" +msgstr "Error de funcionamiento" + +msgid "IDS_BT_BODY_SEARCHING_STOPPED" +msgstr "Búsqueda detenida" + +msgid "IDS_BT_BODY_ALLOW_PS_TO_DELETE_YOUR_FILE_Q" +msgstr "¿Permitir a %s eliminar el archivo?" + +msgid "IDS_BT_BODY_ALLOW_PS_TO_GET_YOUR_FILE_Q" +msgstr "¿Permitir que %s obtenga su archivo?" + +msgid "IDS_BT_BODY_ALLOW_PS_TO_PUT_A_FILE_IN_Q" +msgstr "¿Permitir a %s añadir un archivo?" + +msgid "IDS_BT_BODY_CONTACT_ALREADY_EXISTS" +msgstr "El contacto ya existe" + +msgid "IDS_BT_BODY_HEADSET" +msgstr "Auricular" + +msgid "IDS_BT_BODY_MY_PHONES_NAME" +msgstr "Nombre de mi teléfono" + +msgid "IDS_BT_BODY_MY_PHONES_VISIBILITY" +msgstr "Visibilidad de mi teléfono" + +msgid "IDS_BT_BODY_NO_MORE_CONNECTIONS_POSSIBLE_VODA" +msgstr "No se pueden hacer más conexiones" + +msgid "IDS_BT_BODY_RECEIVED" +msgstr "Recibido" + +msgid "IDS_BT_BODY_SERVICES" +msgstr "Servicios Bluetooth" + +msgid "IDS_BT_BODY_TYPE" +msgstr "Tipo" + +msgid "IDS_BT_BODY_UNABLE_TO_DELETE_FILE_OR_DIRECTORY" +msgstr "No se puede eliminar archivo ni directorio" + +msgid "IDS_BT_BODY_UNABLE_TO_SAVE_FILE" +msgstr "Error al guardar archivo" + +msgid "IDS_BT_BODY_UPDATING_ING" +msgstr "Actualizando..." + +msgid "IDS_BT_HEADER_BLUETOOTH_DEVICES" +msgstr "Dispositivos Bluetooth" + +msgid "IDS_BT_HEADER_ENTERPIN" +msgstr "Introducir PIN" + +msgid "IDS_BT_HEADER_NEW_DEVICE" +msgstr "Nuevo dispositivo" + +msgid "IDS_BT_HEADER_PRINTING" +msgstr "Imprimiendo" + +msgid "IDS_BT_OPT_CONNECT_STEREO" +msgstr "Conectar estéreo" + +msgid "IDS_BT_OPT_PC" +msgstr "PC" + +msgid "IDS_BT_OPT_PRINT" +msgstr "Imprimir" + +msgid "IDS_BT_OPT_SEARCH_OPTIONS" +msgstr "Opciones de búsqueda" + +msgid "IDS_BT_POP_ALLOW_PS_TO_CONNECT_Q" +msgstr "¿Permitir la conexión de %s?" + +msgid "IDS_BT_POP_ALLOW_PS_TO_CREATE_FOLDER_PS_Q" +msgstr "¿Permitir a %s crear la carpeta %s?" + +msgid "IDS_BT_POP_BLUETOOTH_ERROR_TRY_AGAIN_Q" +msgstr "Error de Bluetooth. ¿Reintentar?" + +msgid "IDS_BT_POP_BLUETOOTH_TIMEOUT_TRY_AGAIN_Q" +msgstr "Tiempo de espera de Bluetooth. ¿Reintentar?" + +msgid "IDS_BT_POP_CONFIRM_PASSKEY_IS_PS_TO_PAIR_WITH_PS" +msgstr "Confirmar contraseña %s para vincular con %s" + +msgid "IDS_BT_POP_CONNECTAGAIN" +msgstr "Error al conectar.\n¿Reintentar?" + +msgid "IDS_BT_POP_DOWNLOADING_FAILED" +msgstr "Error al descargar" + +msgid "IDS_BT_POP_EMPTY_NAME" +msgstr "Introducir nombre" + +msgid "IDS_BT_POP_FTP_CONNECTED" +msgstr "FTP conectado" + +msgid "IDS_BT_POP_FTP_DISCONNECTED" +msgstr "FTP desconectado" + +msgid "IDS_BT_POP_INCORRECT_PIN_TRY_AGAIN_Q" +msgstr "PIN incorrecto. Inténtelo de nuevo" + +msgid "IDS_BT_POP_PD_FILES_RECEIVED" +msgstr "%d archivos recibidos" + +msgid "IDS_BT_POP_SENDINGCANCEL" +msgstr "Envío cancelado" + +msgid "IDS_BT_POP_SENDINGFAIL" +msgstr "No se puede enviar" + +msgid "IDS_BT_POP_SERIAL_CONNECT_WITH_PS_Q" +msgstr "¿Conexión serie con %s?" + +msgid "IDS_BT_POP_SUBFILERECEIVED" +msgstr "Archivo recibido" + +msgid "IDS_BT_POP_UNABLE_TO_GET_SERVICE_LIST" +msgstr "No se puede obtener lista de servicios" + +msgid "IDS_BT_SK_CONNECT" +msgstr "Conectar" + +msgid "IDS_BT_SK_DISCONNECT" +msgstr "Desconectar" + +msgid "IDS_BT_POP_ACTIVATED" +msgstr "Bluetooth activado" + +msgid "IDS_BT_POP_BLUETOOTHSWITCHQUERY" +msgstr "Bluetooth desactivado. ¿Desea activarlo?" + +msgid "IDS_BT_BODY_ACTIVATING_BLUETOOTH" +msgstr "Activando Bluetooth" + +msgid "IDS_BT_BODY_SEARCHINGDEVICE" +msgstr "Buscando..." + +msgid "IDS_BT_POP_CONNECTED" +msgstr "Conectado" + +msgid "IDS_BT_BODY_NO_DEVICES" +msgstr "No hay dispositivos" + +msgid "IDS_BT_BODY_SEARCHING_ING_PD_DEVICES_FOUND" +msgstr "Buscando... %d dispositivos encontrados" + +msgid "IDS_BT_POP_GETTINGSERVICELIST" +msgstr "Obteniendo lista de servicios..." + +msgid "IDS_BT_POP_RECEIVE_PS_FROM_PS_Q" +msgstr "¿Recibir %s de %s?" + +msgid "IDS_BT_POP_SELECTED" +msgstr "Seleccionado" + +msgid "IDS_BT_HEADER_SELECT_DEVICE" +msgstr "Seleccionar dispositivo" + +msgid "IDS_BT_POP_PS_ALREADY_EXISTS_OVERWRITE_Q" +msgstr "%s ya existe. ¿Reemplazar?" + +msgid "IDS_BT_POP_UNABLE_TO_ACTIVATE_BLUETOOTH_WHEN_FLIGHT_MODE_IS_ON" +msgstr "No se puede activar Bluetooth cuando está activado el perfil Fuera de línea" + +msgid "IDS_BT_POP_FILE_DOES_NOT_EXIST" +msgstr "El archivo no existe" + +msgid "IDS_BT_BODY_CONNECTED_TO_PHONE_AND_MEDIA_AUDIO" +msgstr "Conectado al teléfono y al audio de contenido multimedia" + +msgid "IDS_BT_POP_CONNECTED_TO_HID_DEVICE" +msgstr "Conectado a dispositivo HID" + +msgid "IDS_BT_BODY_SCANNING_ING" +msgstr "Buscando..." + +msgid "IDS_BT_BODY_TURNING_OFF_BLUETOOTH_ING" +msgstr "Apangando Bluetooth..." + +msgid "IDS_BT_BODY_INFOHEADSET" +msgstr "Se usa para realizar y recibir llamadas a través del auricular Bluetooth." + +msgid "IDS_BT_BODY_HANDSFREE" +msgstr "Manos libres" + +msgid "IDS_BT_BODY_INFOHANDSFREE" +msgstr "Se usa para realizar y recibir llamadas a través del manos libres del automóvil." + +msgid "IDS_BT_OPT_STEREO_HEADSET" +msgstr "Auricular estéreo" + +msgid "IDS_BT_BODY_INFOAVHEADSET" +msgstr "Se utiliza para escuchar música a través de los auriculares estéreo Bluetooth." + +msgid "IDS_BT_BODY_FILE_TRANSFER" +msgstr "Transferencia de archivos" + +msgid "IDS_BT_BODY_INFOFILETRANSFER" +msgstr "Se utiliza para transferir archivos con otros dispositivos Bluetooth." + +msgid "IDS_BT_BODY_OBJECT_PUSH" +msgstr "Recepción de objetos" + +msgid "IDS_BT_BODY_INFOOBJECTPUSH" +msgstr "Se utiliza para intercambiar datos personales (por ej.: tarjetas de presentación, contactos, etc.) con dispositivos Bluetooth." + +msgid "IDS_BT_BODY_BASIC_PRINTING" +msgstr "Impresión básica" + +msgid "IDS_BT_BODY_PRINTER_SERVICEINFO" +msgstr "Se utiliza para imprimir imágenes, mensajes de texto y datos personales (por ej.: contactos, eventos de calendario, etc.) a través de impresoras Bluetooth." + +msgid "IDS_BT_BODY_DIAL_UP_NETWORKING" +msgstr "Red de marcación" + +msgid "IDS_BT_BODY_INFODIALUP" +msgstr "Se utiliza para el acceso de los dispositivos Bluetooth a Internet a través del módem del teléfono." + +msgid "IDS_BT_BODY_SERIAL_PORT" +msgstr "Puerto serie" + +msgid "IDS_BT_POP_HID_DEVICE" +msgstr "Dispositivo HID" + +msgid "IDS_BT_BODY_HID_HKEYBOARD_MOUSE_ETC" +msgstr "Dispositivo de interfaz humana (teclado, mouse, etc.)" + +msgid "IDS_BT_POP_RECEIVING_ING" +msgstr "Recibiendo..." + +msgid "IDS_BT_POP_SHARING_ING" +msgstr "Compartiendo..." + +msgid "IDS_BT_SK_SCAN" +msgstr "Buscar" + +msgid "IDS_BT_BODY_THIS_IS_USED_TO_CONNECT_TO_OTHER_BLUETOOTH_DEVICES_VIA_A_VIRTUAL_SERIAL_PORT" +msgstr "Esto se usa para conectarse con otros dispositivos Bluetooth mediante un puerto serial virtual" + +msgid "IDS_BT_POP_MATCH_PASSKEYS_ON_PS_Q" +msgstr "¿Hacer coincidir contraseñas con %s?" + +msgid "IDS_BT_POP_FAILED_TO_CONNECT_HEADSET_OTHER_DEVICE_REFUSED_CONNECTION" +msgstr "No se pudo conectar el auricular. Otro dispositivo rechazó la conexión" + +msgid "IDS_BT_BODY_CONNECTION_FAILED" +msgstr "Error de conexión" + +msgid "IDS_BT_BODY_2_MINUTES" +msgstr "2 minutos" + +msgid "IDS_BT_OPT_UNPAIR" +msgstr "Desvincular" + +msgid "IDS_BT_BODY_CONNECTION_OPTIONS" +msgstr "Opciones de conexión" + +msgid "IDS_BT_BODY_BLUETOOTH_AVAILABLE" +msgstr "Bluetooth disponible" + +msgid "IDS_BT_POP_DISCONNECT" +msgstr "¿Desconectar?" + +msgid "IDS_BT_BODY_AVAILABLE_DEVICES" +msgstr "Dispositivos disponibles" + +msgid "IDS_BT_BODY_5_MINUTES" +msgstr "5 minutos" + +msgid "IDS_BT_BODY_DISCONNECTING" +msgstr "Desconectando..." + +msgid "IDS_BT_BODY_PS_REMAINING" +msgstr "%s restante" + +msgid "IDS_BT_BODY_TAP_TO_CONNECT" +msgstr "Pulse para conectar" + +msgid "IDS_BT_BODY_TAP_TO_DISCONNECT" +msgstr "Pulse para desconectar" + +msgid "IDS_BT_POP_THIS_WILL_END_YOUR_CONNECTION_WITH" +msgstr "Finalizará su conexión con" + +msgid "IDS_BT_BODY_INPUT_DEVICE" +msgstr "Dispositivo de entrada" + +msgid "IDS_BT_BODY_SECURITY_POLICY_RESTRICTS_USE_OF_BLUETOOTH_CONNECTION" +msgstr "La política de seguridad restringe el uso de conexión Bluetooth" + +msgid "IDS_BT_BODY_SECURITY_POLICY_RESTRICTS_USE_OF_BLUETOOTH_CONNECTION_TO_HANDS_FREE_FEATURES_ONLY" +msgstr "La política de seguridad restringe el uso de conexión Bluetooth únicamente a funciones de manos libres" + +msgid "IDS_BT_BODY_DETAILS" +msgstr "Detalles" + +msgid "IDS_BT_BODY_SEARCH_OPTIONS" +msgstr "Opciones de búsqueda" + +msgid "IDS_BT_BODY_ALL_DEVICES" +msgstr "Todos los dispositivos" + +msgid "IDS_BT_POP_EXCHANGEOBJECT" +msgstr "¿Intercambiar objeto con %s?" + +msgid "IDS_BT_BODY_ENTER_P1SS_ON_P2SS_TO_PAIR_THEN_TAP_RETURN_OR_ENTER" +msgstr "Introducir %1$s en %2$s para vincular y pulse Atrás o Aceptar" + +msgid "IDS_BT_BODY_NO_BLUETOOTH_DEVICE_FOUND" +msgstr "No se han encontrado dispositivos Bluetooth" + +msgid "IDS_BT_BODY_PAIRED" +msgstr "Vinculado" + +msgid "IDS_BT_POP_SEARCHING_SERVICES_ING" +msgstr "Servicios de búsqueda..." + +msgid "IDS_BT_HEADER_BLUETOOTH_PAIRING_REQUEST" +msgstr "Solicitud de vinculación Bluetooth" + +msgid "IDS_BT_POP_ENTER_PIN_TO_PAIR_WITH_PS_HTRY_0000_OR_1234" +msgstr "Introducir PIN para vincular con %s (intente 0000 o 1234)" + +msgid "IDS_BT_POP_CONFIRM_PASSKEY_IS_P2SS_TO_PAIR_WITH_P1SS" +msgstr "Confirmar contraseña %2$s para vincular con %1$s" + +msgid "IDS_BT_BODY_SHOW_PASSWORD" +msgstr "Mostrar contraseña" + +msgid "IDS_BT_HEADER_BLUETOOTH" +msgstr "Bluetooth" + +msgid "IDS_BT_BODY_BLUETOOTH" +msgstr "Bluetooth" + +msgid "IDS_BT_BODY_OFF" +msgstr "Desactivado" + +msgid "IDS_BT_BODY_CONNECTING" +msgstr "Conectando..." + +msgid "IDS_BT_SK_STOP" +msgstr "Detener" + +msgid "IDS_BT_SK_BACK" +msgstr "Atrás" + +msgid "IDS_BT_POP_MEMORYFULL" +msgstr "Memoria llena" + +msgid "IDS_BT_HEADER_BLUETOOTH_DEVICE_PICKER" +msgstr "Selector de dispositivo Bluetooth" + +msgid "IDS_BT_BODY_SENDING_FAILED_TO_PS" +msgstr "Error al enviar a %s" + +msgid "IDS_BT_BODY_TRANSFER_HISTORY_EMPTY" +msgstr "Historial de transferencias vacío" + +msgid "IDS_BT_BODY_INBOUND_TRANSFERS" +msgstr "Transferencias entrantes" + +msgid "IDS_BT_BODY_OUTBOUND_TRANSFERS" +msgstr "Transferencias salientes" + +msgid "IDS_BT_BODY_CLEAR_LIST" +msgstr "Eliminar lista" + +msgid "IDS_BT_OPT_FIT_TO_PAPER" +msgstr "Ajustar a papel" + +msgid "IDS_BT_BODY_ALLOW_PS_PHONEBOOK_ACCESS" +msgstr "Permitir a %s acceder a los contactos" + +msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" +msgstr "¿Permitir a %s el acceso a mensajes?" + +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Archivo no recibido" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Archivo: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Razón de fallo: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Para: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Tipo de archivo: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Tamaño del archivo: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "De: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Transferencia cancelada" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "No se puede recibir" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d correctas; %d incorrectas" + +msgid "IDS_BT_BODY_SENT" +msgstr "Enviado" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Compartir Bluetooth" + diff --git a/po/et.po b/po/et.po index e86efda..a1c8310 100644 --- a/po/et.po +++ b/po/et.po @@ -427,3 +427,39 @@ msgstr "Luba seadmele %s juurdepääs telefoniraamatule" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Kas lubada seadmele %s juurdepääs sõnumitele?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Faili ei võetud vastu" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Fail: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Nurjumise põhjus: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Adressaat: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Failitüüp: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Faili suurus: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Saatja: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Edastamine tühistatud" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Ei saa vastu võtta" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d õnnestus, %d nurjus" + +msgid "IDS_BT_BODY_SENT" +msgstr "Saadetud" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth-ühenduse kaudu jagamine" + diff --git a/po/eu.po b/po/eu.po index c75fddf..fc5950a 100644 --- a/po/eu.po +++ b/po/eu.po @@ -427,3 +427,39 @@ msgstr "Baimena eman %s-(e)ri agendan sartzeko" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Utzi %sri mezuetara sartzen?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Fitxategia ez da jaso" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Fitxategia: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Akatsaren arrazoia: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Nori: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Fitxategi mota: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Fitxategiaren neurria: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Norena: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Transferentzia ezeztatuta" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Ezin da jaso" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d ondo, %d-k huts egin du" + +msgid "IDS_BT_BODY_SENT" +msgstr "Bidalitakoak" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth bidezko partekatzea" + diff --git a/po/fi.po b/po/fi.po index 01789cd..e06dcaa 100644 --- a/po/fi.po +++ b/po/fi.po @@ -427,3 +427,39 @@ msgstr "Salli laitteen %s käyttää puhelinmuistiota" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Saako %s avata viestit?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Tiedostoa ei ole vastaanotettu" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Tiedosto: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Epäonnistumisen syy: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Vastaanottaja: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Tiedostotyyppi: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Tiedoston koko: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Lähettäjä: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Siirto peruutettu" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Vastaanotto epäonnistui" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d onnistui, %d epäonnistui" + +msgid "IDS_BT_BODY_SENT" +msgstr "Lähetetty" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth-jako" + diff --git a/po/fr_CA.po b/po/fr_CA.po index c1d8ab8..4f96beb 100644 --- a/po/fr_CA.po +++ b/po/fr_CA.po @@ -427,3 +427,39 @@ msgstr "Autoriser %s à accéder au répertoire" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Autoriser %s à accéder aux messages ?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Fichier non reçu" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Fichier : %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Motif de l'échec : %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "À : %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Type de fichier : %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Taille du fichier : %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "De : %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Transfert annulé" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Réception impossible" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d effectués, %d échoués" + +msgid "IDS_BT_BODY_SENT" +msgstr "Envoyé" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Partage Bluetooth" + diff --git a/po/fr_FR.po b/po/fr_FR.po index 51be750..89c1465 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -427,3 +427,39 @@ msgstr "Autoriser %s à accéder au répertoire" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Autoriser %s à accéder aux messages ?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Fichier non reçu" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Fichier : %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Motif de l'échec : %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "A : %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Type de fichier : %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Taille du fichier : %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "De : %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Transfert annulé" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Réception impossible" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d effectués, %d échoués" + +msgid "IDS_BT_BODY_SENT" +msgstr "Envoyé(s)" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Partage Bluetooth" + diff --git a/po/ga.po b/po/ga.po index 863636c..b05d54b 100644 --- a/po/ga.po +++ b/po/ga.po @@ -427,3 +427,39 @@ msgstr "Ceadaigh do %s an leabhar fóin a rochtain" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Ceadaigh do %s teachtaireachtaí a rochtain?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Ní bhfuarthas comhad" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Comhad: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Cúis na teipe: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Chuig: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Cineál comhaid: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Méid an chomhaid: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Ó: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Aistriú curtha ar ceal" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Ní féidir é a fháil" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "D'éirigh le %dl, theip ar %d" + +msgid "IDS_BT_BODY_SENT" +msgstr "Seolta" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Comhroinn le Bluetooth" + diff --git a/po/gl.po b/po/gl.po index 2579fcb..f046f9b 100644 --- a/po/gl.po +++ b/po/gl.po @@ -427,3 +427,39 @@ msgstr "Permitir que %s teña acceso a contactos" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Permitir o acceso de %s ás mensaxes?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Non se recibiu o arquivo" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Arquivo: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Motivo do fallo: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "A: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Tipo de arquivo: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Tamaño de arquivo: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "De: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Transferencia cancelada" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Non se pode recibir" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d con éxito, %d sen éxito" + +msgid "IDS_BT_BODY_SENT" +msgstr "Enviada" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth compartido" + diff --git a/po/hi.po b/po/hi.po index be93ff4..8ca902c 100644 --- a/po/hi.po +++ b/po/hi.po @@ -427,3 +427,39 @@ msgstr "%s को फोनबुक ऍक्सेस करने की अ msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "%s को संदेशों ऍक्सेस करने की अनुमति दें?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "फ़ाइल प्राप्त नहीं हुई" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "फ़ाइल: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "विफलता कारण: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "प्रति: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "फ़ाइल प्रकार: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "फ़ाइल आकार: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "यहाँ से: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "स्थानांतरण रद्द किया गया" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "प्राप्‍त करने में अक्षम" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d सफल, %d विफल" + +msgid "IDS_BT_BODY_SENT" +msgstr "भेजा" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "ब्लूटूथ साझा करें" + diff --git a/po/hr.po b/po/hr.po index 77f6d1a..1cfb5ce 100644 --- a/po/hr.po +++ b/po/hr.po @@ -427,3 +427,39 @@ msgstr "Dopusti %s pristup imeniku" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Dopustiti pristup porukama uređaju: %s?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Datoteka nije primljena" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Datoteka: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "GreÅ¡ka: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Primatelj: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Vrsta datoteka: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Veličina: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "From: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Prijenos prekinut" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Nemoguće primati" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d uspjeÅ¡no, %d neuspjeÅ¡no" + +msgid "IDS_BT_BODY_SENT" +msgstr "Poslano" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth dijeljenje" + diff --git a/po/hu.po b/po/hu.po index d97cad4..31ad2f1 100644 --- a/po/hu.po +++ b/po/hu.po @@ -427,3 +427,39 @@ msgstr "Névjegyzék-hozzáférés engedélyezése a(z) %s számára" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Engedélyezi a(z) %s számára az üzenetek hozzáférését?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "A fájl letöltése sikertelen" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Fájl: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Hiba oka: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Címzett: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Fájltípus: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Fájlméret: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Feladó: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Átvitel megszakítva" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Nem lehet fogadni" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d sikeres, %d sikertelen" + +msgid "IDS_BT_BODY_SENT" +msgstr "Elküldve" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth-megosztás" + diff --git a/po/hy.po b/po/hy.po index 45e08e2..9d818d5 100644 --- a/po/hy.po +++ b/po/hy.po @@ -427,3 +427,39 @@ msgstr "Թույլ Õ¿Õ¡Õ¬, որ %s մուտք գործի հեռախոսագիր msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Թույլ տա՞լ, որ %s մուտք գործի հաղորդագրություններ:" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Ֆայլը Õ¹Õ« ստացվել" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Ֆայլ՝ %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Ձախողման պատճառը՝ %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Ô´Õ¥ÕºÕ«. %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Ֆայլի տիպը՝ %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Ֆայլի չափը՝ %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Հետևյալից. %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Փոխանցումը դադարեցվեց" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Անհնար Õ§ Õ½Õ¿Õ¡Õ¶Õ¡Õ¬" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d՝ Õ°Õ¡Õ»Õ¸Õ², %d՝ Õ±Õ¡Õ­Õ¸Õ²Õ¾Õ¡Õ®" + +msgid "IDS_BT_BODY_SENT" +msgstr "Ուղարկված Õ§" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth-Õ« համօգտագործում" + diff --git a/po/is.po b/po/is.po index 6d743fe..06e7bcf 100644 --- a/po/is.po +++ b/po/is.po @@ -427,3 +427,39 @@ msgstr "Veita %s aðgang að símaskrá" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Veita %s aðgang að skeytum?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Skrá ekki móttekin" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Skrá: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Ástæða bilunar: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Til: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Skráargerð: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Skráarstærð: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Frá: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Hætt við flutning" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Ekki tókst að taka við" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d tókst, %d mistókst" + +msgid "IDS_BT_BODY_SENT" +msgstr "Sent" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth-samnýting" + diff --git a/po/it_IT.po b/po/it_IT.po index c6f0b03..9eb2a39 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -427,3 +427,39 @@ msgstr "Consenti %s accessi alla Rubrica" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Consentire l'accesso ai messaggi a %s?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "File non ricevuto" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "File: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Ragione operazione non riuscita: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "A: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Tipo file: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Dimensioni file: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Da: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Trasferimento annullato" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Impossibile ricevere" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d riusciti, %d non riusciti" + +msgid "IDS_BT_BODY_SENT" +msgstr "Inviato" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Condivisione Bluetooth" + diff --git a/po/ja_JP.po b/po/ja_JP.po index fc4a192..98e22b2 100644 --- a/po/ja_JP.po +++ b/po/ja_JP.po @@ -5,7 +5,7 @@ msgid "IDS_BT_BODY_ALWAYS_ON" msgstr "常にON" msgid "IDS_BT_BODY_PAIRED_DEVICES" -msgstr "登録済みデバイス" +msgstr "ペアリング済みデバイス" msgid "IDS_BT_BODY_PRINTER" msgstr "プリンター" @@ -427,3 +427,39 @@ msgstr "%sの電話帳アクセスを許可します" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "%s​に​メッセージ​への​アクセス​を許可​しますか?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "ファイルが受信されませんでした。" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "ファイル: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "失敗理由: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "宛先: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "ファイルタイプ:%s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "ファイルサイズ:%s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "発信元:%s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "転送がキャンセルされました。" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "受信できません" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d件成功、%d件失敗" + +msgid "IDS_BT_BODY_SENT" +msgstr "送信完了" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth共有" + diff --git a/po/ka.po b/po/ka.po index 8130bff..f80ba06 100644 --- a/po/ka.po +++ b/po/ka.po @@ -427,3 +427,39 @@ msgstr "”%s” მოწყობილობას მიეცით ტე msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "ჰქონდეს %s-ს წერილებზე წვდომის ნება?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "ფაილი არ არის მიღებული" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "ფაილი: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "წარუმატებლობის მიზეზი: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "ვის: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "ფაილის ტიპი: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "ფაილის ზომა: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "ვისგან: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "გადაცემა გაუქმდა" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "ვერ მიიღებთ" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d წარმატებით შესრულდა, %d ვერ შესრულდა" + +msgid "IDS_BT_BODY_SENT" +msgstr "გაგზავნილია" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth გაზიარება" + diff --git a/po/kk.po b/po/kk.po index 13f3fe3..c9b97e9 100644 --- a/po/kk.po +++ b/po/kk.po @@ -427,3 +427,39 @@ msgstr "%s телефон кітапшасына кіруге рұқсат ет msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "%s хабарларға кіруге мүмкіндік беру керек пе?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Файл алынбады" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Файл: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Ақаулық себебі: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Кміге: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Файл түрі: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Файл өлшемі: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Кімнен: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Жіберуден бас тартылды" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Алуға мүмкіндік болмады" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d сәтті, %d сәтсіз" + +msgid "IDS_BT_BODY_SENT" +msgstr "Жіберілген" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth бөлісу" + diff --git a/po/ko_KR.po b/po/ko_KR.po index c53ad52..f39a5dc 100644 --- a/po/ko_KR.po +++ b/po/ko_KR.po @@ -427,3 +427,39 @@ msgstr "%s 연락처 연결 허용" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "%s이(가) 메시지에 접속하도록 허용할까요?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "파일이 수신되지 않았습니다" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "파일: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "실패 이유: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "수신 : %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "파일 형식: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "파일 크기: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "발신: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "전송이 취소되었습니다" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "수신할 수 없습니다" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d 성공, %d 실패" + +msgid "IDS_BT_BODY_SENT" +msgstr "전송되었습니다" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "블루투스 공유" + diff --git a/po/lt.po b/po/lt.po index be6c69f..7f18584 100644 --- a/po/lt.po +++ b/po/lt.po @@ -380,10 +380,10 @@ msgid "IDS_BT_BODY_SHOW_PASSWORD" msgstr "Rodyti slaptažodį" msgid "IDS_BT_HEADER_BLUETOOTH" -msgstr "„Bluetooth“" +msgstr "Bluetooth" msgid "IDS_BT_BODY_BLUETOOTH" -msgstr "„Bluetooth“" +msgstr "Bluetooth" msgid "IDS_BT_BODY_OFF" msgstr "IÅ¡jungta" @@ -427,3 +427,39 @@ msgstr "Leisti %s pasiekti telefonų knygą" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Leisti %s pasiekti žinutes?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Failas negautas" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Failas: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Klaidos priežastis: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Kam: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Failo tipas: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Failo dydis: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Nuo: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Perkėlimas atÅ¡auktas" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Nepavyksta gauti" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d pavyko, %d nepavyko" + +msgid "IDS_BT_BODY_SENT" +msgstr "IÅ¡siųsta" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "„Bluetooth“ bendrinimas" + diff --git a/po/lv.po b/po/lv.po index 3173080..fb11c14 100644 --- a/po/lv.po +++ b/po/lv.po @@ -427,3 +427,39 @@ msgstr "Atļaut %s piekļūt tālruņu katalogam" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Vai atļaut ierÄ«cei %s piekļūt ziņai?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Fails netika saņemts" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Fails: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Kļūmes iemesls: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Kam: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Faila tips: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Faila lielums: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "No: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "PārsÅ«tÄ«Å¡ana atcelta" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Nevar saņemt" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d veiksmÄ«gi, %d neizdevās" + +msgid "IDS_BT_BODY_SENT" +msgstr "NosÅ«tÄ«ts" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth koplietoÅ¡ana" + diff --git a/po/mk.po b/po/mk.po index 026cddd..f890ace 100644 --- a/po/mk.po +++ b/po/mk.po @@ -427,3 +427,39 @@ msgstr "Дозволи %s да пристапи кон именикот" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Дозволи %s да пристапи до пораките?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Фајлот не е примен" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Фајл: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Причина за неуспехот: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "До: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Вид фајл: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Големина на фајлот: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Од: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Преносот е откажан" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Не може да се прими" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d успешно, %d неуспешно" + +msgid "IDS_BT_BODY_SENT" +msgstr "Пратено" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Сподели Bluetooth" + diff --git a/po/nb.po b/po/nb.po index b9a6fa1..b2d6b29 100644 --- a/po/nb.po +++ b/po/nb.po @@ -427,3 +427,39 @@ msgstr "Tillat %s-telefonboktilgang" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Tillate %s tilgang til meldinger?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Fil ikke mottatt" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Fil: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "FeilÃ¥rsak: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Til: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Filtype: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Filstørrelse: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Fra: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Overføring avbrutt" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Kan ikke motta" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d vellykket, %d mislyktes" + +msgid "IDS_BT_BODY_SENT" +msgstr "Sendt" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth-deling" + diff --git a/po/nl_NL.po b/po/nl_NL.po index 962a686..33c7644 100644 --- a/po/nl_NL.po +++ b/po/nl_NL.po @@ -427,3 +427,39 @@ msgstr "Toegang tot telefoonlijst voor %s toestaan" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Mag %s berichten openen?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Bestand niet ontvangen" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Bestand: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Reden voor fout: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Aan: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Bestandstype: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Bestandsgrootte: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Van: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Overdragen geannuleerd" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Kan niet ontvangen" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d geslaagd, %d mislukt" + +msgid "IDS_BT_BODY_SENT" +msgstr "Verzonden" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth delen" + diff --git a/po/pl.po b/po/pl.po index 9a2ed44..64e34aa 100644 --- a/po/pl.po +++ b/po/pl.po @@ -427,3 +427,39 @@ msgstr "Zezwalaj urządzeniu %s na dostęp do książki telefonicznej" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Zezwolić urządzeniu %s na dostęp do wiadomości?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Nie otrzymano pliku" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Plik: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Przyczyna niepowodzenia: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Do: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Typ pliku: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Rozmiar pliku: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Od: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Anulowano przesyłanie" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Nie można odebrać" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "Powodzenie: %d, niepowodzenie: %d" + +msgid "IDS_BT_BODY_SENT" +msgstr "Wysłano" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Udostępnianie Bluetooth" + diff --git a/po/pt_BR.po b/po/pt_BR.po index 340b719..d7769ef 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -427,3 +427,39 @@ msgstr "Permitir o acesso aos Contatos %1$s" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Permitir que %s acesse às mensagens?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Arquivo não recebido" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Arquivo: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Razão da falha: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Para: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Tipo do arquivo: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Tamanho do arquivo: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "De: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Transferência cancelada" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Impossível receber" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d com sucesso, %d falharam" + +msgid "IDS_BT_BODY_SENT" +msgstr "Enviado" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Compartilhar Bluetooth" + diff --git a/po/pt_PT.po b/po/pt_PT.po index 2ae167a..fcef59d 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -427,3 +427,39 @@ msgstr "Permitir o acesso à lista telefónica %s" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Permitir que %s aceda às mensagens?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Ficheiro não recebido" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Ficheiro: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Razão da falha: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Para: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Tipo de ficheiro: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Tamanho do ficheiro: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "De: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Transferência cancelada" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Impossível receber" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d com sucesso, %d falharam" + +msgid "IDS_BT_BODY_SENT" +msgstr "Enviada" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Partilha Bluetooth" + diff --git a/po/ro.po b/po/ro.po index e3e172b..e872439 100644 --- a/po/ro.po +++ b/po/ro.po @@ -427,3 +427,39 @@ msgstr "PermiteÅ£i accesul pentru %s la agenda telefonică" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "PermiteÅ£i %s să acceseze mesajele?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Fişierul nu a fost primit" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Fişier: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Motiv eşuare: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Către: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Tip de fişier: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Dimensiune fişier: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "De la: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Transferul a fost anulat" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Imposibil de primit" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d reuşite, %d nereuşite" + +msgid "IDS_BT_BODY_SENT" +msgstr "Trimis" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Partajare prin Bluetooth" + diff --git a/po/ru_RU.po b/po/ru_RU.po index 4d7e937..76926b3 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -427,3 +427,39 @@ msgstr "Разр.%s дост.к тел.книге" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Разрешить %s доступ к сообщениям?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Файл не получен" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Файл: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Причина сбоя: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Кому: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Тип файла: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Размер файла: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "От: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Передача отменена" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Невозможно получить" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "Успешно: %d, сбой: %d" + +msgid "IDS_BT_BODY_SENT" +msgstr "Отправлено" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Общий доступ к Bluetooth" + diff --git a/po/sk.po b/po/sk.po index 0325752..8403ed2 100644 --- a/po/sk.po +++ b/po/sk.po @@ -427,3 +427,39 @@ msgstr "PovoliÅ¥ zariadeniu %s prístup k telefónnemu zoznamu" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "PovoliÅ¥ zariadeniu %s prístup k správam?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Súbor nebol prijatý" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Súbor: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Dôvod zlyhania: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Komu: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Typ súboru: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "VeľkosÅ¥ súboru: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Od: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Prenos bol zruÅ¡ený" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Nedá sa prijaÅ¥" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "ÚspeÅ¡né: %d, zlyhalo: %d" + +msgid "IDS_BT_BODY_SENT" +msgstr "Odoslané" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Zdieľanie spojenia Bluetooth" + diff --git a/po/sl.po b/po/sl.po index 44214ed..ef29274 100644 --- a/po/sl.po +++ b/po/sl.po @@ -427,3 +427,39 @@ msgstr "Dovoli napravi %s dostop do imenika" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Želite dovoliti %s, da dostopa do sporočil?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Datoteke ni bila sprejeta" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Datoteka: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Razlog za napako: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Za: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Vrsta datoteke: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Velikost datoteke: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Od: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Prenos je preklican" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Sprejem ni mogoč" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d uspelo, %d ni uspelo" + +msgid "IDS_BT_BODY_SENT" +msgstr "Poslano" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Souporaba vmesnika Bluetooth" + diff --git a/po/sr.po b/po/sr.po index f3351c1..711ab59 100644 --- a/po/sr.po +++ b/po/sr.po @@ -427,3 +427,39 @@ msgstr "Dozvoli da %s pristupi imeniku" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Omogućiti %s za pristup porukama?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Fajl nije primljen" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Fajl: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Uzrok greÅ¡ke: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Za: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Tip fajla: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Veličina fajla: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Od: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Prenos otkazan" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Nemoguće primiti" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d uspeÅ¡no, %d neuspeÅ¡no" + +msgid "IDS_BT_BODY_SENT" +msgstr "Poslato" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth deljenje" + diff --git a/po/sv.po b/po/sv.po index c3e1c54..9bee49f 100644 --- a/po/sv.po +++ b/po/sv.po @@ -427,3 +427,39 @@ msgstr "Ge %s telefonboksÃ¥tkomst" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "TillÃ¥t %s tillgÃ¥ng till meddelanden?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Filen togs inte emot" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Fil: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Felorsak: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Till: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Filtyp: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Filstorlek: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "FrÃ¥n: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Överföring avbröts" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Det gÃ¥r inte att ta emot" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d lyckades, %d misslyckades" + +msgid "IDS_BT_BODY_SENT" +msgstr "Sänt" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth-delning" + diff --git a/po/tr_TR.po b/po/tr_TR.po index de0e772..ac16e29 100644 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -427,3 +427,39 @@ msgstr "%s telefon rehberi erişimine izin ver" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "%s uygulamasının mesajlara erişmesine izin verilsin mi?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Dosya alınamadı" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Dosya: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Hata nedeni: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Alıcı: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Dosya türü: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Dosya boyutu: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Gönderen: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Aktarma iptal edildi" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Alınamıyor" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d başarılı, %d başarısız" + +msgid "IDS_BT_BODY_SENT" +msgstr "Gönderildi" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetooth paylaşımı" + diff --git a/po/uk.po b/po/uk.po index 6f0c3b3..69d8ee9 100644 --- a/po/uk.po +++ b/po/uk.po @@ -32,7 +32,7 @@ msgid "IDS_BT_BODY_MEDIA_AUDIO" msgstr "Медіа" msgid "IDS_BT_BODY_1_HOUR" -msgstr "1 година" +msgstr "1 годину" msgid "IDS_BT_BODY_PD_MINUTES" msgstr "%d хвилин" @@ -299,7 +299,7 @@ msgid "IDS_BT_BODY_CONNECTION_FAILED" msgstr "Збій з'єднання" msgid "IDS_BT_BODY_2_MINUTES" -msgstr "2 хвилин" +msgstr "2 хвилини" msgid "IDS_BT_OPT_UNPAIR" msgstr "Відключити" @@ -427,3 +427,39 @@ msgstr "Дозволити %s доступ до телефонної книги" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "Дозволити %s отримати доступ до повідомлень?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Файл не отримано" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Файл: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Причина збою: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "До: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Тип файла: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Розмір файла: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Від: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Передачу скасовано" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Неможливо отримати" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "Успішно: %d, збій: %d" + +msgid "IDS_BT_BODY_SENT" +msgstr "Надіслано" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Спільний доступ через Bluetooth" + diff --git a/po/uz.po b/po/uz.po index ddd1ada..cc5c85e 100644 --- a/po/uz.po +++ b/po/uz.po @@ -427,3 +427,39 @@ msgstr "%s telefon raqamlari kitobiga kirish" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "%sga xabarlarga kirish uchun ruxsat berilsinmi?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "Fayl qabul qilinmadi" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "Fayl: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "Xato sababi: %s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "Kimga: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "Fayl turi: %s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "Fayl o‘lchami: %s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "Kimdan: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "Uzatish bekor qilindi" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "Qabul qilib bo‘lmaydi" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d muvaffaqiyatli, %d xato" + +msgid "IDS_BT_BODY_SENT" +msgstr "Yuborildi" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "Bluetoothdan umumiy foydalanish" + diff --git a/po/zh_CN.po b/po/zh_CN.po index 2d5a6e3..20f5100 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -164,7 +164,7 @@ msgid "IDS_BT_POP_SERIAL_CONNECT_WITH_PS_Q" msgstr "与%s串行连接?" msgid "IDS_BT_POP_SUBFILERECEIVED" -msgstr "已接收文件" +msgstr "文件已接收" msgid "IDS_BT_POP_UNABLE_TO_GET_SERVICE_LIST" msgstr "无法获取服务列表" @@ -427,3 +427,39 @@ msgstr "允许%s电话簿访问" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "允许%s接入信息?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "文件未收到" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "文件:%s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "失败原因:%s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "收件人: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "文件类型:%s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "文件大小:%s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "从: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "传输已取消" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "无法接收" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d成功,%d失败" + +msgid "IDS_BT_BODY_SENT" +msgstr "已发送" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "蓝牙共享" + diff --git a/po/zh_HK.po b/po/zh_HK.po index 921a9e1..2ffb2c9 100644 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -427,3 +427,39 @@ msgstr "允許 %s 電話簿存取" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "允許 %s 存取訊息嗎?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "未接收檔案" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "檔案: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "失敗原因:%s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "至:%s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "檔案類型:%s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "檔案大小:%s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "由:%s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "已取消傳輸" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "無法接收" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d 成功;%d 失敗" + +msgid "IDS_BT_BODY_SENT" +msgstr "已發送" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "藍牙共享" + diff --git a/po/zh_SG.po b/po/zh_SG.po index 0d90339..2c9ff0c 100644 --- a/po/zh_SG.po +++ b/po/zh_SG.po @@ -427,3 +427,39 @@ msgstr "允许%s电话簿访问" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "允许%s接入信息?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "文件未收到" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "文件: %s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "失败原因:%s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "收件人: %s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "文件类型:%s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "文件大小:%s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "从: %s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "传输已取消" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "无法接收" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d成功,%d失败" + +msgid "IDS_BT_BODY_SENT" +msgstr "已发送" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "蓝牙共享" + diff --git a/po/zh_TW.po b/po/zh_TW.po index c98a8f7..ed16243 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -427,3 +427,39 @@ msgstr "允許%s存取電話簿" msgid "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q" msgstr "允許 %s 存取訊息嗎?" +msgid "IDS_BT_POP_FILE_NOT_RECEIVED" +msgstr "未收到檔案" + +msgid "IDS_BT_POP_FILE_C_PS" +msgstr "檔案:%s" + +msgid "IDS_BT_POP_FAILURE_REASON_C_PS" +msgstr "失敗原因:%s" + +msgid "IDS_BT_POP_TO_C_PS" +msgstr "至:%s" + +msgid "IDS_BT_POP_FILE_TYPE_C_PS" +msgstr "檔案類型:%s" + +msgid "IDS_BT_POP_FILE_SIZE_C_PS" +msgstr "檔案大小:%s" + +msgid "IDS_BT_HEADER_FROM_C_PS" +msgstr "自:%s" + +msgid "IDS_BT_POP_TRANSFER_CANCELLED" +msgstr "已取消傳輸" + +msgid "IDS_BT_BODY_UNABLE_TO_RECEIVE" +msgstr "無法接收" + +msgid "IDS_BT_BODY_PD_SUCCESSFUL_PD_FAILED" +msgstr "%d已成功,%d個失敗" + +msgid "IDS_BT_BODY_SENT" +msgstr "已傳送" + +msgid "IDS_BT_BODY_BLUETOOTH_SHARE" +msgstr "藍牙共享" + diff --git a/src/libraries/bt-callback.c b/src/libraries/bt-callback.c index 5d6dbdf..2c42220 100644 --- a/src/libraries/bt-callback.c +++ b/src/libraries/bt-callback.c @@ -153,6 +153,10 @@ static void __bt_cb_disable(int result, void *data) BT_DBG("Failed to enable Bluetooth : Error Cause[%d]", result); ugd->op_status = BT_ACTIVATED; } else { + + /* Delete profile view */ + _bt_profile_destroy_profile_view(ugd); + if (ugd->timeout_id) { g_source_remove(ugd->timeout_id); ugd->timeout_id = 0; @@ -168,8 +172,12 @@ static void __bt_cb_disable(int result, void *data) } elm_object_text_set(ugd->scan_btn, BT_STR_SCAN); - elm_genlist_item_update(ugd->visible_item); - elm_genlist_item_subitems_clear(ugd->visible_item); + if (EINA_TRUE == elm_genlist_item_expanded_get( + ugd->visible_item)) { + elm_genlist_item_expanded_set(ugd->visible_item, + EINA_FALSE); + } + elm_object_item_disabled_set(ugd->visible_item, EINA_TRUE); if (ugd->bt_launch_mode != BT_LAUNCH_VISIBILITY) { @@ -182,6 +190,7 @@ static void __bt_cb_disable(int result, void *data) } elm_genlist_item_update(ugd->status_item); + elm_genlist_item_update(ugd->visible_item); if (ugd->paired_title) elm_genlist_item_update(ugd->paired_title); @@ -217,10 +226,13 @@ static void __bt_cb_search_completed(int result, void *data) elm_genlist_item_update(ugd->searched_title); if (ugd->searched_device == NULL || - eina_list_count(ugd->searched_device) == 0) { + eina_list_count(ugd->searched_device) == 0) { /* Don't add the no device item, if no device item already exist */ ret_if(ugd->no_device_item != NULL); ugd->no_device_item = _bt_main_add_no_device_found(ugd); + + if (ugd->no_device_item) + elm_genlist_item_update(ugd->no_device_item); } FN_END; @@ -321,8 +333,7 @@ static void __bt_cb_new_device_found(bt_adapter_device_discovery_info_s *info, if (_bt_main_check_and_update_device(ugd->searched_device, info->remote_address, info->remote_name) >= 0) { - /* Update all realized items */ - elm_genlist_realized_items_update(ugd->main_genlist); + _bt_update_device_list(ugd); } else { dev = _bt_main_create_searched_device_item((void *)info); if (NULL == dev) { @@ -445,8 +456,7 @@ void _bt_cb_bonding_created(int result, bt_device_info_s *dev_info, if (_bt_main_check_and_update_device(ugd->paired_device, dev_info->remote_address, dev_info->remote_name) >= 0) { - /* Update all realized items */ - elm_genlist_realized_items_update(ugd->main_genlist); + _bt_update_device_list(ugd); } else { if (dev != NULL) { /* Remove the item in searched dialogue */ @@ -471,7 +481,10 @@ void _bt_cb_bonding_created(int result, bt_device_info_s *dev_info, _bt_update_paired_item_style(ugd); } - _bt_main_connect_device(ugd, new_dev); + /* Don't try to auto-connect in the network case */ + if (profile == NULL) { + _bt_main_connect_device(ugd, new_dev); + } ugd->searched_item = NULL; ugd->paired_item = item; @@ -508,9 +521,7 @@ void _bt_cb_bonding_destroyed(int result, char *remote_address, if (item == NULL) break; - if (memcmp((const char *)item->addr_str, - (const char *)remote_address, - BT_ADDRESS_LENGTH_MAX) == 0) { + if (g_strcmp0(item->addr_str, remote_address) == 0) { new_item = calloc(1, sizeof(bt_dev_t)); if (new_item == NULL) break; diff --git a/src/libraries/bt-dbus-method.c b/src/libraries/bt-dbus-method.c index 52b7013..d0949a5 100644 --- a/src/libraries/bt-dbus-method.c +++ b/src/libraries/bt-dbus-method.c @@ -101,28 +101,6 @@ DBusGProxy *_bt_get_adapter_proxy(DBusGConnection *conn) return adapter; } -void _bt_reset_environment(void) -{ - FN_START; - DBusGProxy *proxy; - DBusGConnection *conn; - - conn = dbus_g_bus_get(DBUS_BUS_SYSTEM, NULL);; - ret_if(conn == NULL); - - proxy = dbus_g_proxy_new_for_name(conn, BT_CORE_NAME, - BT_CORE_PATH, BT_CORE_INTERFACE); - - if (dbus_g_proxy_call(proxy, "ResetAdapter", NULL, - G_TYPE_INVALID, G_TYPE_INVALID) == FALSE) { - BT_ERR("Bt core call failed"); - } - - dbus_g_connection_unref(conn); - - FN_END; -} - gboolean _bt_is_profile_connected(int connected_type, DBusGConnection *conn, unsigned char *addr) diff --git a/src/libraries/bt-ipc-handler.c b/src/libraries/bt-ipc-handler.c index 62c0d5e..4aedd17 100644 --- a/src/libraries/bt-ipc-handler.c +++ b/src/libraries/bt-ipc-handler.c @@ -207,6 +207,7 @@ int _bt_ipc_send_obex_message(obex_ipc_param_t *param, void *data) DBUS_TYPE_STRING, ¶m->param4, DBUS_TYPE_STRING, ¶m->param5, DBUS_TYPE_STRING, ¶m->param6, + DBUS_TYPE_STRING, ¶m->param7, DBUS_TYPE_INVALID)) { BT_DBG("Connect sending failed\n"); dbus_message_unref(msg); @@ -238,36 +239,68 @@ void _bt_ipc_update_connected_status(bt_ug_data *ugd, int connected_type, ugd->connect_req = FALSE; - if (item != NULL) { - item->status = BT_IDLE; + if (item == NULL) + return; - if (connected == TRUE) { - item->connected_mask |= (result == BT_UG_ERROR_NONE) ? \ - connected_type : 0x00; - } else { - item->connected_mask &= (result == BT_UG_ERROR_NONE) ? \ - ~connected_type : 0xFF; - } + item->status = BT_IDLE; + + if (connected == TRUE) { + item->connected_mask |= (result == BT_UG_ERROR_NONE) ? \ + connected_type : 0x00; + } else { + item->connected_mask &= (result == BT_UG_ERROR_NONE) ? \ + ~connected_type : 0xFF; + } + + elm_genlist_item_update((Elm_Object_Item *)item->genlist_item); - elm_genlist_item_update((Elm_Object_Item *)item->genlist_item); + if (!(ugd->profile_vd && ugd->profile_vd->genlist)) + return; - if (ugd->profile_vd && ugd->profile_vd->genlist) { - item->call_checked = item->connected_mask & \ - BT_HEADSET_CONNECTED; + /* Check if the device update and the Profile view device is same */ + /* Go through the ugd->profile_vd->genlist and check device address */ + bt_dev_t *dev_info = NULL; + Elm_Object_Item *dev_item; - item->media_checked = item->connected_mask & \ - BT_STEREO_HEADSET_CONNECTED; + dev_item = elm_genlist_first_item_get(ugd->profile_vd->genlist); - item->hid_checked = item->connected_mask & \ - BT_HID_CONNECTED; + if (dev_item == NULL) { + BT_DBG("No item in the list \n"); + return; + } - item->network_checked = item->connected_mask & \ - BT_NETWORK_CONNECTED; + while (dev_item != NULL) { + dev_info = (bt_dev_t *)elm_object_item_data_get(dev_item); - _bt_util_set_list_disabled(ugd->profile_vd->genlist, - EINA_FALSE); - } + if (dev_info == NULL) + dev_item = elm_genlist_item_next_get(dev_item); + else + break; } + /* dev_info can be NULL again, so a check is applied */ + if (dev_info == NULL) { + BT_DBG("No item in the list \n"); + return; + } + + /* Match the BD address */ + if (g_strcmp0(dev_info->addr_str, addr_str) != 0) + return; + + dev_info->call_checked = dev_info->connected_mask & \ + BT_HEADSET_CONNECTED; + + dev_info->media_checked = dev_info->connected_mask & \ + BT_STEREO_HEADSET_CONNECTED; + + dev_info->hid_checked = dev_info->connected_mask & \ + BT_HID_CONNECTED; + + dev_info->network_checked = dev_info->connected_mask & \ + BT_NETWORK_CONNECTED; + + _bt_util_set_list_disabled(ugd->profile_vd->genlist, + EINA_FALSE); FN_END; } diff --git a/src/libraries/bt-net-connection.c b/src/libraries/bt-net-connection.c index 38ef99f..5e9369b 100644 --- a/src/libraries/bt-net-connection.c +++ b/src/libraries/bt-net-connection.c @@ -296,7 +296,6 @@ int _bt_connect_net_profile(void *connection, void *profile, void *user_data) int result; bt_dev_t *dev; bt_dev_t *clone_dev; - connection_wifi_state_e wifi_state; retv_if(connection == NULL, BT_UG_FAIL); retv_if(profile == NULL, BT_UG_FAIL); @@ -304,17 +303,6 @@ int _bt_connect_net_profile(void *connection, void *profile, void *user_data) dev = (bt_dev_t *)user_data; - result = connection_get_wifi_state(connection, &wifi_state); - if (result != CONNECTION_ERROR_NONE) { - BT_ERR("Fail to get wifi state: %d", result); - return BT_UG_FAIL; - } - - if (wifi_state == CONNECTION_WIFI_STATE_CONNECTED) { - BT_ERR("Wifi is connected"); - return BT_UG_FAIL; - } - /* Fix P121126-0868 */ /* 'dev' can be freed, if use try to unbond during connecting NAP */ clone_dev = g_malloc0(sizeof(bt_dev_t)); diff --git a/src/ui/bt-main-ug.c b/src/ui/bt-main-ug.c index aa22aa2..a82504f 100644 --- a/src/ui/bt-main-ug.c +++ b/src/ui/bt-main-ug.c @@ -344,7 +344,7 @@ static void __on_destroy(ui_gadget_h ug, service_h service, void *priv) FN_START; bt_ug_data *ugd = NULL; - int state; + int err; if (!ug || !priv) return; @@ -363,29 +363,67 @@ static void __on_destroy(ui_gadget_h ug, service_h service, void *priv) ugd->timeout_id = 0; } - if (ugd->op_status == BT_SEARCHING) - bt_adapter_stop_device_discovery(); + if (ugd->op_status == BT_SEARCHING) { + err = bt_adapter_stop_device_discovery(); + if (err != BT_ERROR_NONE) + BT_DBG("Stop device discovery failed: %d", err); + } if (ugd->selectioninfo) { evas_object_del(ugd->selectioninfo); ugd->selectioninfo = NULL; } - bt_adapter_unset_state_changed_cb(); - bt_adapter_unset_device_discovery_state_changed_cb(); - bt_device_unset_bond_created_cb(); - bt_device_unset_bond_destroyed_cb(); - bt_device_unset_service_searched_cb(); - bt_audio_unset_connection_state_changed_cb(); - bt_hid_host_deinitialize(); - bt_audio_deinitialize(); + err = bt_adapter_unset_state_changed_cb(); + if (err != BT_ERROR_NONE) + BT_DBG("unset of state change cb failed: %d", err); + + err = bt_adapter_unset_device_discovery_state_changed_cb(); + if (err != BT_ERROR_NONE) + BT_DBG("unset of device discovery state cb failed: %d", err); + + err = bt_device_unset_bond_created_cb(); + if (err != BT_ERROR_NONE) + BT_DBG("unset of bond creation cb failed: %d", err); + + err = bt_device_unset_bond_destroyed_cb(); + if (err != BT_ERROR_NONE) + BT_DBG("unset of bond destroyed cb failed: %d", err); + + err = bt_device_unset_service_searched_cb(); + if (err != BT_ERROR_NONE) + BT_DBG("unset of service search cb failed: %d", err); + + err = bt_audio_unset_connection_state_changed_cb(); + if (err != BT_ERROR_NONE) + BT_DBG("unset audio connection state cb failed: %d", err); + + err = bt_hid_host_deinitialize(); + if (err != BT_ERROR_NONE) + BT_DBG("bt_hid_host_deinitialize failed: %d", err); + + err = bt_audio_deinitialize(); + if (err != BT_ERROR_NONE) + BT_DBG("bt_audio_deinitialize failed: %d", err); - bt_deinitialize(); + err = bt_deinitialize(); + if (err != BT_ERROR_NONE) + BT_DBG("bt_deinitialize failed: %d", err); - _bt_destroy_net_connection(ugd->connection); + err = _bt_destroy_net_connection(ugd->connection); + if (err != BT_UG_ERROR_NONE) + BT_DBG("_bt_destroy_net_connection failed: %d", err); - _bt_ipc_unregister_popup_event_signal(ugd->EDBusHandle, (void *)ugd); - _bt_ipc_deinit_event_signal((void *)ugd); + err = _bt_ipc_unregister_popup_event_signal(ugd->EDBusHandle, + (void *)ugd); + if (err != BT_UG_ERROR_NONE) + BT_DBG("_bt_ipc_unregister_popup_event_signal failed: %d", err); + + err = _bt_ipc_deinit_event_signal((void *)ugd); + if (err != BT_UG_ERROR_NONE) + BT_DBG("_bt_ipc_deinit_event_signal failed: %d", err); + + _bt_main_remove_callback(ugd); __bt_ug_release_memory(ugd); @@ -454,6 +492,7 @@ static void __on_event(ui_gadget_h ug, enum ug_event event, service_h service, event == UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN) { _bt_rotate_selectioninfo(ugd->selectioninfo, ugd->rotation); _bt_main_change_rotate_mode((void *)ugd); + _bt_profile_change_rotate_mode((void *)ugd); } FN_END; @@ -532,10 +571,30 @@ UG_MODULE_API int setting_plugin_reset(service_h service, void *priv) { FN_START; - _bt_reset_environment(); + int ret; + int result = 0; + + ret = bt_initialize(); + + if (ret != BT_ERROR_NONE) { + BT_DBG("Fail to init BT %d", ret); + return ret; + } + + ret = bt_adapter_reset(); + + if (ret != BT_ERROR_NONE) { + BT_DBG("Fail to reset adapter: %d", ret); + result = ret; + } + + ret = bt_deinitialize(); + + if (ret != BT_ERROR_NONE) + BT_DBG("Fail to deinit BT: %d", ret); FN_END; - return 0; + return result; } void _bt_ug_destroy(void *data, void *result) diff --git a/src/ui/bt-main-view.c b/src/ui/bt-main-view.c index 59e0058..1b69aae 100644 --- a/src/ui/bt-main-view.c +++ b/src/ui/bt-main-view.c @@ -50,6 +50,8 @@ static service_h __bt_main_get_visibility_result(bt_ug_data *ugd, static service_h __bt_main_get_pick_result(bt_ug_data *ugd, gboolean result); +char *__bt_main_get_device_string(int major_class, int minor_class); + /********************************************************************** * Static Functions ***********************************************************************/ @@ -184,8 +186,17 @@ static char *__bt_main_visible_label_get(void *data, Evas_Object *obj, _bt_util_get_timeout_string(ugd->visibility_timeout, buf, sizeof(buf)); } else { + time_t current_time; + int time_diff; + + /* Get the current time */ + time(¤t_time); + + /* Calculate time elapsed from remain_time*/ + time_diff = difftime(current_time, ugd->start_time); + /* Display remain timeout */ - _bt_util_convert_time_to_string(ugd->remain_time, + _bt_util_convert_time_to_string((ugd->remain_time - time_diff), remain_time, sizeof(remain_time)); @@ -267,24 +278,32 @@ static gboolean __bt_main_visible_timeout_cb(gpointer user_data) FN_START; bt_ug_data *ugd = NULL; + time_t current_time; + int time_diff; ugd = (bt_ug_data *)user_data; + /* Get the current time */ + time(¤t_time); - ugd->remain_time--; + /* Calculate time elapsed from remain_time*/ + time_diff = difftime(current_time, ugd->start_time); + BT_DBG("Time difference in seconds %d\n", time_diff); - if (ugd->remain_time <= 0) { + /* Update UI*/ + if (ugd->remain_time <= time_diff) { g_source_remove(ugd->timeout_id); ugd->timeout_id = 0; ugd->visibility_timeout = 0; ugd->remain_time = 0; ugd->selected_radio = 0; - elm_genlist_item_update(ugd->visible_item); + elm_genlist_realized_items_update(ugd->main_genlist); return FALSE; } - elm_genlist_item_update(ugd->visible_item); + elm_genlist_item_fields_update(ugd->visible_item,"elm.text.2", + ELM_GENLIST_ITEM_FIELD_TEXT); FN_END; return TRUE; @@ -323,6 +342,7 @@ static void __bt_main_timeout_value_item_sel(void *data, Evas_Object *obj, bt_radio_item *item = NULL; int ret; int timeout; + int i; ret_if(data == NULL); @@ -362,9 +382,9 @@ static void __bt_main_timeout_value_item_sel(void *data, Evas_Object *obj, g_source_remove(ugd->timeout_id); ugd->timeout_id = 0; } - + /* Set current time snapshot */ + time(&(ugd->start_time)); ugd->remain_time = timeout; - ugd->timeout_id = g_timeout_add_seconds(1, __bt_main_visible_timeout_cb, ugd); } @@ -381,6 +401,11 @@ static void __bt_main_timeout_value_item_sel(void *data, Evas_Object *obj, elm_genlist_item_update(ugd->visible_item); elm_radio_value_set(ugd->radio_main, ugd->selected_radio); + /* Refresh drop down visibility UI */ + for (i = 0; i < 5 ; i++) + if (ugd->visible_exp_item[i] != NULL) + elm_genlist_item_update(ugd->visible_exp_item[i]); + if (ugd->bt_launch_mode == BT_LAUNCH_VISIBILITY) g_idle_add((GSourceFunc)__bt_idle_destroy_ug, ugd); @@ -447,7 +472,17 @@ static char *__bt_main_list_label_get(void *data, Evas_Object *obj, dev = (bt_dev_t *)data; - if (!strcmp(part, "elm.text.1") || !strcmp(part, "elm.text")) { + if (!strcmp(part, "elm.text.1")) { + char *name = elm_entry_utf8_to_markup(dev->name); + if (name) { + g_strlcpy(buf, name, BT_GLOBALIZATION_STR_LENGTH); + free(name); + } else { + g_strlcpy(buf, dev->name, BT_GLOBALIZATION_STR_LENGTH); + } + + BT_DBG("label : %s", buf); + } else if (!strcmp(part, "elm.text")) { g_strlcpy(buf, dev->name, BT_GLOBALIZATION_STR_LENGTH); BT_DBG("label : %s", buf); } else if (strcmp(part, "elm.text.2") == 0) { @@ -458,11 +493,19 @@ static char *__bt_main_list_label_get(void *data, Evas_Object *obj, BT_GENLIST_FONT_32_INC, BT_STR_PAIRED); } else if (dev->connected_mask > 0) { - snprintf(buf, BT_GLOBALIZATION_STR_LENGTH, - BT_SET_FONT_SIZE_COLOR, - BT_GENLIST_FONT_32_INC, - BT_GENLIST_SUBTEXT_COLOR, - BT_STR_TAP_TO_DISCONNECT); + if (dev->highlighted) { + snprintf(buf, BT_GLOBALIZATION_STR_LENGTH, + BT_SET_FONT_SIZE_COLOR, + BT_GENLIST_FONT_32_INC, + BT_GENLIST_WHITE_SUBTEXT_COLOR, + BT_STR_TAP_TO_DISCONNECT); + } else { + snprintf(buf, BT_GLOBALIZATION_STR_LENGTH, + BT_SET_FONT_SIZE_COLOR, + BT_GENLIST_FONT_32_INC, + BT_GENLIST_SUBTEXT_COLOR, + BT_STR_TAP_TO_DISCONNECT); + } } else { snprintf(buf, BT_GLOBALIZATION_STR_LENGTH, BT_SET_FONT_SIZE, @@ -544,7 +587,8 @@ static Evas_Object *__bt_main_list_icon_get(void *data, Evas_Object *obj, dev_icon_file = _bt_main_get_device_icon(dev->major_class, dev->minor_class, - dev->connected_mask); + dev->connected_mask, + dev->highlighted); icon = _bt_create_icon(obj, dev_icon_file); } else if (!strcmp(part, "elm.icon.2")) { BT_DBG("status : %d", dev->status); @@ -604,7 +648,8 @@ static Evas_Object *__bt_main_searched_icon_get(void *data, dev_icon_file = _bt_main_get_device_icon(dev->major_class, dev->minor_class, - dev->connected_mask); + dev->connected_mask, + dev->highlighted); icon = _bt_create_icon(obj, dev_icon_file); } else if (!strcmp(part, "elm.icon.2")) { if (dev->status != BT_IDLE) { @@ -641,7 +686,7 @@ static char *__bt_main_paired_title_label_get(void *data, Evas_Object *obj, if (strcmp(part, "elm.text") == 0) { /*Label */ - strncpy(buf, BT_STR_PAIRED_DEVICES, + g_strlcpy(buf, BT_STR_PAIRED_DEVICES, BT_GLOBALIZATION_STR_LENGTH); } else { BT_DBG("This part name is not exist in style"); @@ -668,10 +713,10 @@ static char *__bt_main_searched_title_label_get(void *data, Evas_Object *obj, /* Label */ if (ugd->searched_device == NULL || eina_list_count(ugd->searched_device) == 0) { - strncpy(buf, BT_STR_BLUETOOTH_DEVICES, + g_strlcpy(buf, BT_STR_BLUETOOTH_DEVICES, BT_GLOBALIZATION_STR_LENGTH); } else { - strncpy(buf, BT_STR_AVAILABLE_DEVICES, + g_strlcpy(buf, BT_STR_AVAILABLE_DEVICES, BT_GLOBALIZATION_STR_LENGTH); } } else { @@ -1187,6 +1232,16 @@ static int __bt_main_request_to_send(bt_ug_data *ugd, bt_dev_t *dev) param.param5 = g_strdup("normal"); param.param6 = g_strdup(dev->name); free(value); + value = NULL; + + if (service_get_extra_data(ugd->service, "type", &value) < 0) + BT_DBG("Get data error"); + + if (value == NULL) + goto fail; + + param.param7 = g_strdup(value); + free(value); if (_bt_ipc_send_obex_message(¶m, ugd) != BT_UG_ERROR_NONE) goto fail; @@ -1194,6 +1249,7 @@ static int __bt_main_request_to_send(bt_ug_data *ugd, bt_dev_t *dev) g_free(param.param4); g_free(param.param5); g_free(param.param6); + g_free(param.param7); return BT_UG_ERROR_NONE; fail: _bt_main_launch_syspopup(ugd, BT_SYSPOPUP_REQUEST_NAME, @@ -1203,6 +1259,7 @@ fail: g_free(param.param4); g_free(param.param5); g_free(param.param6); + g_free(param.param7); return BT_UG_FAIL; } @@ -1468,12 +1525,10 @@ static void __bt_main_item_expanded(void *data, Evas_Object *obj, void *event_in ELM_GENLIST_ITEM_NONE, __bt_main_timeout_value_item_sel, (void *)item); - item->it = git; + ugd->visible_exp_item[i] = git; } - elm_genlist_realized_items_update(ugd->main_genlist); - FN_END; } @@ -1483,12 +1538,21 @@ static void __bt_main_item_contracted(void *data, Evas_Object *obj, void *event_ bt_ug_data *ugd = (bt_ug_data *)data;; Elm_Object_Item *item = event_info; + Evas_Object *ao; + char str[BT_STR_ACCES_INFO_MAX_LEN] = {0, }; ret_if(ugd == NULL); ret_if(item == NULL); elm_genlist_item_subitems_clear(item); - elm_genlist_item_update(ugd->visible_item); + + if (item == ugd->visible_item) { + ao = elm_object_item_access_object_get(item); + snprintf(str, sizeof(str), "%s, %s, %s", BT_STR_VISIBLE, + elm_object_item_part_text_get(item, "elm.text.2"), + BT_STR_EXP_LIST_OPEN); + elm_access_info_set(ao, ELM_ACCESS_INFO, str); + } FN_END; } @@ -1496,32 +1560,121 @@ static void __bt_main_item_contracted(void *data, Evas_Object *obj, void *event_ static int __bt_main_get_item_type(bt_ug_data *ugd, Elm_Object_Item *item) { int type = BT_ITEM_NO_TYPE; + char str[BT_STR_ACCES_INFO_MAX_LEN] = {0, }; bt_dev_t *dev = NULL; + bt_dev_t *dev_info; Eina_List *l = NULL; + Evas_Object *ao; + Eina_Bool expanded; retv_if(ugd == NULL, BT_ITEM_NO_TYPE); retv_if(item == NULL, BT_ITEM_NO_TYPE); - if (item == ugd->paired_padding || item == ugd->searched_padding || - item == ugd->paired_title || item == ugd->searched_title) { - /* Nothing to do */ + if (item == ugd->paired_padding || + item == ugd->searched_padding || + item == ugd->bottom_padding) { + elm_object_item_access_unregister(item); return BT_ITEM_NO_TYPE; } else if (item == ugd->status_item) { + if (ugd->op_status == BT_ACTIVATED) + snprintf(str, sizeof(str), "%s, %s, %s, %s", BT_STR_BLUETOOTH, + ugd->phone_name, BT_STR_ON_OFF_BUTTON, + BT_STR_ON); + else if (ugd->op_status == BT_DEACTIVATED) + snprintf(str, sizeof(str), "%s, %s, %s, %s", BT_STR_BLUETOOTH, + ugd->phone_name, BT_STR_ON_OFF_BUTTON, + BT_STR_OFF); + ao = elm_object_item_access_object_get(item); + elm_access_info_set(ao, ELM_ACCESS_INFO, str); type = (ugd->visible_item != NULL) ? BT_ITEM_TOP : BT_ITEM_NO_TYPE; return type; } else if (item == ugd->visible_item) { - type = (elm_genlist_item_expanded_get(item) == EINA_TRUE) ? - BT_ITEM_CENTER : BT_ITEM_BOTTOM; + + expanded = elm_genlist_item_expanded_get(item); + type = BT_ITEM_BOTTOM; + + ao = elm_object_item_access_object_get(item); + if (expanded == EINA_TRUE) { + snprintf(str, sizeof(str), "%s, %s, %s", BT_STR_VISIBLE, + elm_object_item_part_text_get(item, "elm.text.2"), + BT_STR_EXP_LIST_CLOSE); + } else { + snprintf(str, sizeof(str), "%s, %s, %s", BT_STR_VISIBLE, + elm_object_item_part_text_get(item, "elm.text.2"), + BT_STR_EXP_LIST_OPEN); + } + elm_access_info_set(ao, ELM_ACCESS_INFO, str); + return type; + } else if (item == ugd->paired_title) { + ao = elm_object_item_access_object_get(item); + snprintf(str, sizeof(str), "%s, %s", BT_STR_PAIRED_DEVICES, + BT_ACC_STR_GROUP_INDEX); + elm_access_info_set(ao, ELM_ACCESS_INFO, str); + return BT_ITEM_NO_TYPE; + } else if (item == ugd->searched_title) { + ao = elm_object_item_access_object_get(item); + + if (ugd->searched_device == NULL || + eina_list_count(ugd->searched_device) == 0) { + snprintf(str, sizeof(str), "%s, %s", + BT_STR_BLUETOOTH_DEVICES, + BT_ACC_STR_GROUP_INDEX); + } else { + snprintf(str, sizeof(str), "%s, %s", + BT_STR_AVAILABLE_DEVICES, + BT_ACC_STR_GROUP_INDEX); + } + + elm_access_info_set(ao, ELM_ACCESS_INFO, str); + return BT_ITEM_NO_TYPE; + } else if (item == ugd->no_device_item) { + ao = elm_object_item_access_object_get(item); + snprintf(str, sizeof(str), "%s", BT_STR_NO_DEVICE_FOUND, + BT_ACC_STR_GROUP_INDEX); + elm_access_info_set(ao, ELM_ACCESS_INFO, str); + return BT_ITEM_NO_TYPE; } EINA_LIST_FOREACH(ugd->paired_device, l, dev) { + dev_info = (bt_dev_t *)elm_object_item_data_get(item); + char *connect_string; + char *double_tap_string; + char *device_type; + if (dev_info != NULL) { + if (__bt_main_is_connectable_device(dev_info) == 0) { + connect_string = BT_STR_PAIRED; + double_tap_string = NULL; + } else if (dev_info->connected_mask > 0) { + connect_string = BT_STR_TAP_TO_DISCONNECT; + double_tap_string = BT_STR_DOUBLE_TAP_DISCONNECT_D; + } else { + connect_string = BT_STR_TAP_TO_CONNECT; + double_tap_string = BT_STR_DOUBLE_TAP_CONNECT_D; + } + + device_type = __bt_main_get_device_string( + dev_info->major_class, dev_info->minor_class); + snprintf(str, sizeof(str), "%s, %s, %s, %s, %s", dev_info->name, + connect_string, device_type, double_tap_string, + BT_STR_MORE_BUTTON); + g_free(device_type); + } + ao = elm_object_item_access_object_get(item); + elm_access_info_set(ao, ELM_ACCESS_INFO, str); if (dev && (dev->genlist_item == item)) { return dev->item_type; } } EINA_LIST_FOREACH(ugd->searched_device, l, dev) { + dev_info = (bt_dev_t *)elm_object_item_data_get(item); + if (dev_info != NULL) + snprintf(str, sizeof(str), "%s, %s", dev_info->name, + BT_STR_DOUBLE_TAP_CONNECT); + + ao = elm_object_item_access_object_get(item); + elm_access_info_set(ao, ELM_ACCESS_INFO, str); if (dev && (dev->genlist_item == item)) { return dev->item_type; } @@ -1533,26 +1686,47 @@ static int __bt_main_get_item_type(bt_ug_data *ugd, Elm_Object_Item *item) static int __bt_main_get_1depth_item_type(bt_ug_data *ugd, Elm_Object_Item *item) { Elm_Object_Item *current = NULL; - Elm_Object_Item *next = NULL; + Evas_Object *ao; + char str[BT_STR_ACCES_INFO_MAX_LEN] = {0, }; + char buf[BT_GLOBALIZATION_STR_LENGTH] = {0, }; + int i; retv_if(ugd == NULL, BT_ITEM_NO_TYPE); retv_if(item == NULL, BT_ITEM_NO_TYPE); current = elm_genlist_item_next_get(ugd->visible_item); - while (current != NULL) { - next = elm_genlist_item_next_get(current); + for (i = 1; i <= BT_MAX_TIMEOUT_ITEMS; i++) { + if (current == NULL) + break; if (current == item) { - if (next == NULL || - next == ugd->paired_padding || - next == ugd->searched_padding) { + ao = elm_object_item_access_object_get(item); + /* Check visibility string and visibility timeout value */ + _bt_util_get_timeout_string(ugd->visibility_timeout, + buf, sizeof(buf)); + if (g_strcmp0(elm_object_item_part_text_get( + item, "elm.text"), buf) == 0) + snprintf(str, sizeof(str), "%s, %s, %s", + BT_STR_RADIO_BUTTON, + buf, BT_STR_SELECTED); + else + snprintf(str, sizeof(str), "%s, %s, %s", + BT_STR_RADIO_BUTTON, + elm_object_item_part_text_get(item, "elm.text"), + BT_STR_RADIO_UNSELECTED); + + elm_access_info_set(ao, ELM_ACCESS_INFO, str); + + if (i == 1) { + return BT_ITEM_TOP; + } else if (i == BT_MAX_TIMEOUT_ITEMS) { return BT_ITEM_BOTTOM; } else { return BT_ITEM_CENTER; } } - current = next; + current = elm_genlist_item_next_get(current); } return BT_ITEM_NO_TYPE; @@ -1600,6 +1774,70 @@ static void __bt_main_gl_realized(void *data, Evas_Object *obj, void *event_info FN_END; } +static void __bt_main_gl_highlighted(void *data, Evas_Object *obj, void *event_info) +{ + FN_START; + + bt_ug_data *ugd; + bt_dev_t *dev; + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + + ret_if(item == NULL); + + ugd = (bt_ug_data *)data; + ret_if(ugd == NULL); + + dev = _bt_main_get_dev_info(ugd->paired_device, item); + if (dev == NULL) + dev = _bt_main_get_dev_info(ugd->searched_device, item); + + ret_if(dev == NULL); + + dev->highlighted = TRUE; + + /* Update text */ + elm_genlist_item_fields_update(item, "*", + ELM_GENLIST_ITEM_FIELD_TEXT); + + /* Update icon */ + elm_genlist_item_fields_update(item, "*", + ELM_GENLIST_ITEM_FIELD_CONTENT); + + FN_END; +} + +static void __bt_main_gl_unhighlighted(void *data, Evas_Object *obj, void *event_info) +{ + FN_START; + + bt_ug_data *ugd; + bt_dev_t *dev; + Elm_Object_Item *item = (Elm_Object_Item *)event_info; + + ret_if(item == NULL); + + ugd = (bt_ug_data *)data; + ret_if(ugd == NULL); + + dev = _bt_main_get_dev_info(ugd->paired_device, item); + if (dev == NULL) + dev = _bt_main_get_dev_info(ugd->searched_device, item); + + ret_if(dev == NULL); + + dev->highlighted = FALSE; + + /* Update text */ + elm_genlist_item_fields_update(item, "*", + ELM_GENLIST_ITEM_FIELD_TEXT); + + /* Update icon */ + elm_genlist_item_fields_update(item, "*", + ELM_GENLIST_ITEM_FIELD_CONTENT); + + FN_END; +} + static Evas_Object *__bt_main_add_genlist_dialogue(Evas_Object *parent, bt_ug_data *ugd) { @@ -1617,6 +1855,12 @@ static Evas_Object *__bt_main_add_genlist_dialogue(Evas_Object *parent, evas_object_smart_callback_add(genlist, "realized", __bt_main_gl_realized, ugd); + evas_object_smart_callback_add(genlist, "highlighted", + __bt_main_gl_highlighted, ugd); + + evas_object_smart_callback_add(genlist, "unhighlighted", + __bt_main_gl_unhighlighted, ugd); + ugd->radio_main = elm_radio_add(genlist); elm_radio_state_value_set(ugd->radio_main, 0); elm_radio_value_set(ugd->radio_main, 0); @@ -2091,7 +2335,68 @@ int _bt_main_service_request_cb(void *data) return BT_UG_ERROR_NONE; } -char *_bt_main_get_device_icon(int major_class, int minor_class, int connected) +char *__bt_main_get_device_string(int major_class, int minor_class) +{ + FN_START; + char *device_type = NULL; + + BT_DBG("major_class: %d, minor_class: %d\n", major_class, minor_class); + + switch (major_class) { + case BT_MAJOR_DEV_CLS_COMPUTER: + device_type = g_strdup(BT_STR_COMPUTER); + break; + case BT_MAJOR_DEV_CLS_PHONE: + device_type = g_strdup(BT_STR_PHONE); + break; + case BT_MAJOR_DEV_CLS_AUDIO: + BT_DBG("minor_class: %x", minor_class); + + if (minor_class == BTAPP_MIN_DEV_CLS_HEADPHONES) + device_type = g_strdup(BT_STR_SVC_STEREO); + else + device_type = g_strdup(BT_STR_SVC_HEADSET); + break; + case BT_MAJOR_DEV_CLS_LAN_ACCESS_POINT: + device_type = g_strdup(BT_STR_LAN_ACCESS_POINT); + break; + case BT_MAJOR_DEV_CLS_IMAGING: + if (minor_class == BTAPP_MIN_DEV_CLS_PRINTER) + device_type = g_strdup(BT_STR_PRINTER); + else if (minor_class == BTAPP_MIN_DEV_CLS_CAMERA) + device_type = g_strdup(BT_STR_CAMERA); + else if (minor_class == BTAPP_MIN_DEV_CLS_DISPLAY) + device_type = g_strdup(BT_STR_DISPLAY); + break; + case BT_MAJOR_DEV_CLS_PERIPHERAL: + if (minor_class == BTAPP_MIN_DEV_CLS_KEY_BOARD) + device_type = g_strdup(BT_STR_KEYBOARD); + else if (minor_class == BTAPP_MIN_DEV_CLS_POINTING_DEVICE) + device_type = g_strdup(BT_STR_MOUSE); + else if (minor_class == BTAPP_MIN_DEV_CLS_GAME_PAD) + device_type = g_strdup(BT_STR_GAMING_DEVICE); + else + device_type = g_strdup(BT_STR_MOUSE); + break; + case BT_MAJOR_DEV_CLS_HEALTH: + device_type = g_strdup(BT_STR_HEALTH_DEVICE); + break; + + /* end */ + default: + device_type = g_strdup(BT_STR_UNKNOWN); + break; + } + + if (device_type == NULL) + device_type = g_strdup(BT_STR_UNKNOWN); + + FN_END; + return device_type; +} + +char *_bt_main_get_device_icon(int major_class, int minor_class, + int connected, gboolean highlighted) { FN_START; char *icon = BT_ICON_UNKNOWN; @@ -2100,60 +2405,120 @@ char *_bt_main_get_device_icon(int major_class, int minor_class, int connected) switch (major_class) { case BT_MAJOR_DEV_CLS_COMPUTER: - icon = (connected == 0) ? BT_ICON_PC : BT_ICON_CONNECTED_PC; + if (highlighted == TRUE) { + icon = BT_ICON_PRESSED_PC; + } else { + icon = (connected == 0) ? BT_ICON_PC : + BT_ICON_CONNECTED_PC; + } break; case BT_MAJOR_DEV_CLS_PHONE: - icon = (connected == 0) ? BT_ICON_PHONE : - BT_ICON_CONNECTED_PHONE; + if (highlighted == TRUE) { + icon = BT_ICON_PRESSED_PHONE; + } else { + icon = (connected == 0) ? BT_ICON_PHONE : + BT_ICON_CONNECTED_PHONE; + } break; case BT_MAJOR_DEV_CLS_AUDIO: BT_DBG("minor_class: %x", minor_class); if (minor_class == BTAPP_MIN_DEV_CLS_HEADPHONES) { - icon = (connected == 0) ? BT_ICON_HEADPHONE : - BT_ICON_CONNECTED_HEADPHONE; + if (highlighted == TRUE) { + icon = BT_ICON_PRESSED_HEADPHONE; + } else { + icon = (connected == 0) ? BT_ICON_HEADPHONE : + BT_ICON_CONNECTED_HEADPHONE; + } } else { - icon = (connected == 0) ? BT_ICON_HEADSET : - BT_ICON_CONNECTED_HEADSET; + if (highlighted == TRUE) { + icon = BT_ICON_PRESSED_HEADSET; + } else { + icon = (connected == 0) ? BT_ICON_HEADSET : + BT_ICON_CONNECTED_HEADSET; + } } break; case BT_MAJOR_DEV_CLS_LAN_ACCESS_POINT: - icon = (connected == 0) ? BT_ICON_NETWORK : - BT_ICON_CONNECTED_NETWORK; + if (highlighted == TRUE) { + icon = BT_ICON_CONNECTED_NETWORK; + } else { + icon = (connected == 0) ? BT_ICON_NETWORK : + BT_ICON_CONNECTED_NETWORK; + } break; case BT_MAJOR_DEV_CLS_IMAGING: if (minor_class == BTAPP_MIN_DEV_CLS_PRINTER) { - icon = (connected == 0) ? BT_ICON_PRINTER : - BT_ICON_CONNECTED_PRINTER; + if (highlighted == TRUE) { + icon = BT_ICON_PRESSED_PRINTER; + } else { + icon = (connected == 0) ? BT_ICON_PRINTER : + BT_ICON_CONNECTED_PRINTER; + } } else if (minor_class == BTAPP_MIN_DEV_CLS_CAMERA) { - icon = (connected == 0) ? BT_ICON_CAMERA : - BT_ICON_CONNECTED_CAMERA; + if (highlighted == TRUE) { + icon = BT_ICON_PRESSED_CAMERA; + } else { + icon = (connected == 0) ? BT_ICON_CAMERA : + BT_ICON_CONNECTED_CAMERA; + } } else if (minor_class == BTAPP_MIN_DEV_CLS_DISPLAY) { - icon = (connected == 0) ? BT_ICON_DISPLAY : - BT_ICON_CONNECTED_DISPLAY; + if (highlighted == TRUE) { + icon = BT_ICON_PRESSED_DISPLAY; + } else { + icon = (connected == 0) ? BT_ICON_DISPLAY : + BT_ICON_CONNECTED_DISPLAY; + } } break; case BT_MAJOR_DEV_CLS_PERIPHERAL: if (minor_class == BTAPP_MIN_DEV_CLS_KEY_BOARD) { - icon = (connected == 0) ? BT_ICON_KEYBOARD : - BT_ICON_CONNECTED_KEYBOARD; + if (highlighted == TRUE) { + icon = BT_ICON_PRESSED_KEYBOARD; + } else { + icon = (connected == 0) ? BT_ICON_KEYBOARD : + BT_ICON_CONNECTED_KEYBOARD; + } } else if (minor_class == BTAPP_MIN_DEV_CLS_POINTING_DEVICE) { - icon = (connected == 0) ? BT_ICON_MOUSE : - BT_ICON_CONNECTED_MOUSE; + if (highlighted == TRUE) { + icon = BT_ICON_PRESSED_MOUSE; + } else { + icon = (connected == 0) ? BT_ICON_MOUSE : + BT_ICON_CONNECTED_MOUSE; + } } else if (minor_class == BTAPP_MIN_DEV_CLS_GAME_PAD) { - icon = (connected == 0) ? BT_ICON_GAMING : - BT_ICON_CONNECTED_GAMING; + if (highlighted == TRUE) { + icon = BT_ICON_PRESSED_GAMING; + } else { + icon = (connected == 0) ? BT_ICON_GAMING : + BT_ICON_CONNECTED_GAMING; + } + } else { + if (highlighted == TRUE) { + icon = BT_ICON_PRESSED_MOUSE; + } else { + icon = (connected == 0) ? BT_ICON_MOUSE : + BT_ICON_CONNECTED_MOUSE; + } } break; case BT_MAJOR_DEV_CLS_HEALTH: - icon = (connected == 0) ? BT_ICON_HEALTH : - BT_ICON_CONNECTED_HEALTH; + if (highlighted == TRUE) { + icon = BT_ICON_PRESSED_HEALTH; + } else { + icon = (connected == 0) ? BT_ICON_HEALTH : + BT_ICON_CONNECTED_HEALTH; + } break; /* end */ default: - icon = (connected == 0) ? BT_ICON_UNKNOWN : - BT_ICON_CONNECTED_UNKNOWN; + if (highlighted == TRUE) { + icon = BT_ICON_PRESSED_UNKNOWN; + } else { + icon = (connected == 0) ? BT_ICON_UNKNOWN : + BT_ICON_CONNECTED_UNKNOWN; + } break; } @@ -2255,6 +2620,16 @@ Elm_Object_Item *_bt_main_add_paired_device(bt_ug_data *ugd, bt_dev_t *dev) dev->genlist_item = git; + if (ugd->bottom_padding == NULL) { + git = elm_genlist_item_append(ugd->main_genlist, + ugd->sp_itc, + NULL, NULL, + ELM_GENLIST_ITEM_NONE, + NULL, NULL); + elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + ugd->bottom_padding = git; + } + FN_END; return git; } @@ -2284,13 +2659,13 @@ Elm_Object_Item *_bt_main_add_searched_device(bt_ug_data *ugd, bt_dev_t *dev) item = elm_genlist_item_next_get(ugd->searched_title); /* check the RSSI value of searched device list add arrange its order */ - while (item != NULL) { + while (item != NULL || item != ugd->bottom_padding) { item_dev = _bt_main_get_dev_info(ugd->searched_device, item); retv_if(item_dev == NULL, NULL); if (item_dev->rssi > dev->rssi) { next = elm_genlist_item_next_get(item); - if (next == NULL) { + if (next == NULL || next == ugd->bottom_padding) { git = elm_genlist_item_insert_after(ugd->main_genlist, ugd->searched_itc, dev, NULL, item, ELM_GENLIST_ITEM_NONE, @@ -2337,6 +2712,23 @@ Elm_Object_Item *_bt_main_add_no_device_found(bt_ug_data *ugd) return git; } +static void __bt_title_clicked_cb(void *data, Evas_Object *obj, void *event_info) + +{ + FN_START; + + Evas_Object *label; + Elm_Object_Item *navi_it = event_info; + ret_if(navi_it == NULL); + + label = elm_object_item_part_content_get(navi_it, "elm.swallow.title"); + ret_if(label == NULL); + + elm_label_slide_go(label); + + FN_END; +} + int _bt_main_draw_list_view(bt_ug_data *ugd) { FN_START; @@ -2347,12 +2739,15 @@ int _bt_main_draw_list_view(bt_ug_data *ugd) Evas_Object *layout; Evas_Object *genlist; Evas_Object *back_btn; + Evas_Object *title; Elm_Object_Item *navi_it; retv_if(ugd == NULL, BT_UG_FAIL); navi = _bt_create_naviframe(ugd->base); + evas_object_smart_callback_add(navi, "title,clicked", __bt_title_clicked_cb, NULL); + /* create back button */ back_btn = elm_button_add(navi); @@ -2362,9 +2757,19 @@ int _bt_main_draw_list_view(bt_ug_data *ugd) genlist = __bt_main_add_genlist_dialogue(layout, ugd); - navi_it = elm_naviframe_item_push(navi, BT_STR_BLUETOOTH, back_btn, NULL, genlist, + navi_it = elm_naviframe_item_push(navi, NULL, back_btn, NULL, genlist, NULL); + /* Slide title */ + title = elm_label_add(navi); + elm_object_style_set(title, "naviframe_title"); + elm_label_slide_mode_set(title, ELM_LABEL_SLIDE_MODE_AUTO); + elm_label_wrap_width_set(title, 1); + elm_label_ellipsis_set(title, EINA_TRUE); + elm_object_text_set(title, BT_STR_BLUETOOTH); + evas_object_show(title); + elm_object_item_part_content_set(navi_it, "elm.swallow.title", title); + /* BT_STR_SCAN will be changed to icon */ btn = _bt_create_button(navi, "naviframe/toolbar/default", BT_STR_SCAN, NULL, __bt_main_controlbar_btn_cb, @@ -2578,7 +2983,7 @@ void _bt_main_remove_paired_device(bt_ug_data *ugd, bt_dev_t *dev) EINA_LIST_FOREACH_SAFE(ugd->paired_device, l, l_next, item) { if (item && (item == dev)) { - elm_object_item_del(dev->genlist_item); + elm_object_item_del(item->genlist_item); ugd->paired_device = eina_list_remove_list(ugd->paired_device, l); _bt_util_free_device_item(item); @@ -2594,6 +2999,11 @@ void _bt_main_remove_paired_device(bt_ug_data *ugd, bt_dev_t *dev) elm_object_item_del(ugd->paired_padding); ugd->paired_padding = NULL; } + + if (ugd->bottom_padding) { + elm_object_item_del(ugd->bottom_padding); + ugd->bottom_padding = NULL; + } } else { _bt_update_paired_item_style(ugd); } @@ -2627,6 +3037,11 @@ void _bt_main_remove_all_paired_devices(bt_ug_data *ugd) } ugd->paired_title = NULL; + + if (ugd->bottom_padding) { + elm_object_item_del(ugd->bottom_padding); + ugd->bottom_padding = NULL; + } } EINA_LIST_FOREACH_SAFE(ugd->paired_device, l, l_next, dev) { @@ -2667,6 +3082,11 @@ void _bt_main_remove_searched_device(bt_ug_data *ugd, bt_dev_t *dev) elm_object_item_del(ugd->searched_padding); ugd->searched_padding = NULL; } + + if (ugd->bottom_padding) { + elm_object_item_del(ugd->bottom_padding); + ugd->bottom_padding = NULL; + } } else { _bt_update_searched_item_style(ugd); } @@ -2698,6 +3118,7 @@ void _bt_main_remove_all_searched_devices(bt_ug_data *ugd) item = next; } + ugd->bottom_padding = NULL; ugd->searched_title = NULL; ugd->no_device_item = NULL; } @@ -2804,19 +3225,15 @@ void _bt_main_connect_device(bt_ug_data *ugd, bt_dev_t *dev) if ((dev->service_list & BT_SC_HFP_SERVICE_MASK) || (dev->service_list & BT_SC_HSP_SERVICE_MASK)) { /* Connect the Headset */ - - if (_bt_main_is_headset_connected(ugd) == TRUE) { - /* Check if A2DP is connected or not */ - if ((dev->service_list & BT_SC_A2DP_SERVICE_MASK) && - _bt_main_is_stereo_headset_connected(ugd) == TRUE) { - _bt_main_draw_selection_info(ugd, BT_STR_CONNECTION_EXISTS); - return; - } - - headset_type = BT_AUDIO_PROFILE_TYPE_A2DP; - } else { + if ((dev->service_list & BT_SC_HFP_SERVICE_MASK) && + (dev->service_list & BT_SC_HSP_SERVICE_MASK) && + (dev->service_list & BT_SC_A2DP_SERVICE_MASK)) headset_type = BT_AUDIO_PROFILE_TYPE_ALL; - } + else if ((dev->service_list & BT_SC_HFP_SERVICE_MASK) || + (dev->service_list & BT_SC_HSP_SERVICE_MASK)) + headset_type = BT_AUDIO_PROFILE_TYPE_HSP_HFP; + + BT_DBG("Connection type = %d \n", headset_type); if (bt_audio_connect(dev->addr_str, headset_type) == BT_ERROR_NONE) { @@ -2826,12 +3243,6 @@ void _bt_main_connect_device(bt_ug_data *ugd, bt_dev_t *dev) BT_DBG("Fail to connect Headset device"); } } else if (dev->service_list & BT_SC_A2DP_SERVICE_MASK) { - /* Connect the Stereo Headset */ - if (_bt_main_is_stereo_headset_connected(ugd) == TRUE) { - _bt_main_draw_selection_info(ugd, BT_STR_CONNECTION_EXISTS); - return; - } - if (bt_audio_connect(dev->addr_str, BT_AUDIO_PROFILE_TYPE_A2DP) == BT_ERROR_NONE) { ugd->connect_req = TRUE; @@ -3087,6 +3498,8 @@ void _bt_main_retry_pairing(void *data, int response) void __bt_main_parse_service(bt_ug_data *ugd, service_h service) { + char *url_sheme; + char *body_text = NULL; char *launch_type = NULL; char *operation = NULL; const char *file_url = NULL; @@ -3109,7 +3522,21 @@ void __bt_main_parse_service(bt_ug_data *ugd, service_h service) if (file_url == NULL) goto done; - file_path = g_filename_from_uri(file_url, NULL, NULL); + url_sheme = g_uri_parse_scheme(file_url); + + BT_DBG("url_schem: %s", url_sheme); + + if (g_strcmp0(url_sheme, "file") == 0) { + /* File transfer */ + file_path = g_filename_from_uri(file_url, NULL, NULL); + if (service_add_extra_data(service, "type", "file") < 0) + BT_DBG("Fail to add extra data"); + } else { + if (service_add_extra_data(service, "type", "text") < 0) + BT_DBG("Fail to add extra data"); + } + + g_free(url_sheme); if (file_path == NULL) { BT_DBG("Not include URI info"); @@ -3122,9 +3549,49 @@ void __bt_main_parse_service(bt_ug_data *ugd, service_h service) if (service_add_extra_data(service, "files", file_path) < 0) BT_DBG("Fail to add extra data"); + + } else if (g_strcmp0(operation, SERVICE_OPERATION_SEND_TEXT) == 0) { + BT_DBG("SERVICE_OPERATION_SEND_TEXT"); + + launch_type = strdup("send"); + + if (service_get_uri(service, (char **)&file_url) < 0) + BT_DBG("Get uri error"); + + if (file_url == NULL) { + if (service_get_extra_data(service, + SERVICE_DATA_TEXT, + &body_text) != SERVICE_ERROR_NONE) { + BT_DBG("Get uri error"); + } + + if (body_text == NULL) { + goto done; + } else { + file_path = g_strdup(body_text); + } + } else { + file_path = g_strdup(file_url); + } + + if (file_path == NULL) { + BT_ERR("file path is NULL"); + goto done; + } + + if (service_add_extra_data(service, "type", "text") < 0) + BT_DBG("Fail to add extra data"); + + /* In now, we support only 1 file by AppControl */ + if (service_add_extra_data(service, "filecount", "1") < 0) + BT_ERR("Fail to add extra data"); + + if (service_add_extra_data(service, "files", file_path) < 0) + BT_ERR("Fail to add extra data"); } else if (service_get_extra_data(service, "launch-type", - &launch_type) < 0) { - BT_DBG("Get data error"); + &launch_type) == SERVICE_ERROR_NONE) { + if (service_add_extra_data(service, "type", "file") < 0) + BT_DBG("Fail to add extra data"); } done: @@ -3153,6 +3620,7 @@ void _bt_main_init_status(bt_ug_data *ugd, void *data) service_h service = NULL; int remain_time = 0; + int ret; char *dev_name = NULL; char phone_name[BT_DEVICE_NAME_LENGTH_MAX + 1]; bool status = false; @@ -3229,6 +3697,8 @@ void _bt_main_init_status(bt_ug_data *ugd, void *data) ugd->remain_time = remain_time; if (ugd->remain_time > 0) { + /* Set current time snapshot */ + time(&(ugd->start_time)); ugd->timeout_id = g_timeout_add_seconds(1, __bt_main_visible_timeout_cb, ugd); } else { @@ -3237,28 +3707,45 @@ void _bt_main_init_status(bt_ug_data *ugd, void *data) } /* Set event callbacks */ - bt_adapter_set_state_changed_cb(_bt_cb_state_changed, (void *)ugd); + ret = bt_adapter_set_state_changed_cb(_bt_cb_state_changed, (void *)ugd); + if (ret != BT_ERROR_NONE) + BT_DBG("bt_adapter_set_state_changed_cb failed"); if (ugd->bt_launch_mode == BT_LAUNCH_VISIBILITY) { /* Don't need to register callback */ return; } - bt_audio_set_connection_state_changed_cb( + ret = bt_audio_set_connection_state_changed_cb( _bt_cb_audio_state_changed, (void *)ugd); + if (ret != BT_ERROR_NONE) + BT_DBG("audio set connection state callback failed"); - bt_adapter_set_device_discovery_state_changed_cb( + ret = bt_adapter_set_device_discovery_state_changed_cb( _bt_cb_discovery_state_changed, (void *)ugd); + if (ret != BT_ERROR_NONE) + BT_DBG("adapter set device discovery state callback failed"); - bt_device_set_bond_created_cb(_bt_cb_bonding_created, (void *)ugd); + ret = bt_device_set_bond_created_cb(_bt_cb_bonding_created, + (void *)ugd); + if (ret != BT_ERROR_NONE) + BT_DBG("bt_device_set_bond_created_cb failed"); - bt_device_set_bond_destroyed_cb(_bt_cb_bonding_destroyed, (void *)ugd); + ret = bt_device_set_bond_destroyed_cb(_bt_cb_bonding_destroyed, + (void *)ugd); + if (ret != BT_ERROR_NONE) + BT_DBG("bt_device_set_bond_destroyed_cb failed"); - bt_device_set_service_searched_cb(_bt_cb_service_searched, (void *)ugd); + ret = bt_device_set_service_searched_cb(_bt_cb_service_searched, + (void *)ugd); + if (ret != BT_ERROR_NONE) + BT_DBG("bt_device_set_service_searched_cb failed"); - bt_hid_host_initialize(_bt_cb_hid_state_changed, (void *)ugd); + ret = bt_hid_host_initialize(_bt_cb_hid_state_changed, (void *)ugd); + if (ret != BT_ERROR_NONE) + BT_DBG("bt_hid_host_initialize failed"); FN_END; } @@ -3577,6 +4064,11 @@ void _bt_main_add_searched_title(bt_ug_data *ugd) { Elm_Object_Item *git; + if (ugd->bottom_padding) { + elm_object_item_del(ugd->bottom_padding); + ugd->bottom_padding = NULL; + } + git = elm_genlist_item_append(ugd->main_genlist, ugd->sp_itc, (void *)ugd, NULL, @@ -3591,6 +4083,34 @@ void _bt_main_add_searched_title(bt_ug_data *ugd) elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); ugd->searched_title = git; + + git = elm_genlist_item_append(ugd->main_genlist, + ugd->sp_itc, + NULL, NULL, + ELM_GENLIST_ITEM_NONE, + NULL, NULL); + elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + ugd->bottom_padding = git; +} + +void _bt_update_device_list(bt_ug_data *ugd) +{ + Eina_List *l = NULL; + bt_dev_t *dev = NULL; + + ret_if(ugd == NULL); + + EINA_LIST_FOREACH(ugd->paired_device, l, dev) { + if (dev) + elm_genlist_item_update( + (Elm_Object_Item *)dev->genlist_item); + } + + EINA_LIST_FOREACH(ugd->searched_device, l, dev) { + if (dev) + elm_genlist_item_update( + (Elm_Object_Item *)dev->genlist_item); + } } void _bt_update_paired_item_style(bt_ug_data *ugd) @@ -3604,12 +4124,14 @@ void _bt_update_paired_item_style(bt_ug_data *ugd) item = elm_genlist_item_next_get(ugd->paired_title); - while (item != NULL && item != ugd->searched_padding) { + while (item != NULL && item != ugd->searched_padding && + item != ugd->bottom_padding) { item_dev = _bt_main_get_dev_info(ugd->paired_device, item); ret_if(item_dev == NULL); next = elm_genlist_item_next_get(item); - if (next == NULL || next == ugd->searched_padding) { + if (next == NULL || next == ugd->searched_padding || + next == ugd->bottom_padding) { if (i == 0) { item_dev->item_type = BT_ITEM_NO_TYPE; } else { @@ -3628,7 +4150,7 @@ void _bt_update_paired_item_style(bt_ug_data *ugd) i++; } - elm_genlist_realized_items_update(ugd->main_genlist); + _bt_update_device_list(ugd); } void _bt_update_searched_item_style(bt_ug_data *ugd) @@ -3647,7 +4169,7 @@ void _bt_update_searched_item_style(bt_ug_data *ugd) ret_if(item_dev == NULL); next = elm_genlist_item_next_get(item); - if (next == NULL) { + if (next == NULL || next == ugd->bottom_padding) { if (i == 0) { item_dev->item_type = BT_ITEM_NO_TYPE; } else { @@ -3666,6 +4188,15 @@ void _bt_update_searched_item_style(bt_ug_data *ugd) i++; } - elm_genlist_realized_items_update(ugd->main_genlist); + _bt_update_device_list(ugd); +} + +void _bt_main_remove_callback(bt_ug_data *ugd) +{ + ret_if(ugd == NULL); + ret_if(ugd->navi_bar == NULL); + + evas_object_smart_callback_del(ugd->navi_bar, "title,clicked", + __bt_title_clicked_cb); } diff --git a/src/ui/bt-profile-view.c b/src/ui/bt-profile-view.c index 345b770..6b93785 100644 --- a/src/ui/bt-profile-view.c +++ b/src/ui/bt-profile-view.c @@ -17,6 +17,8 @@ #include #include #include +#include + #include "bt-main-ug.h" #include "bt-main-view.h" @@ -66,10 +68,7 @@ static int __bt_profile_delete_button(void *data) __bt_profile_focused_cb); evas_object_del(vd->save_btn); - evas_object_del(vd->cancel_btn); - vd->save_btn = NULL; - vd->cancel_btn = NULL; /* To shutdown the IME, set the focus to FALSE */ elm_object_focus_set(dev->entry, EINA_FALSE); @@ -94,12 +93,8 @@ static void __bt_profile_save_clicked_cb(void *data, Evas_Object *obj, ret_if(data == NULL); dev = (bt_dev_t *)data; - ret_if(dev->layout == NULL); ret_if(dev->entry == NULL); - elm_object_signal_emit((Evas_Object *)dev->layout, - "elm,state,eraser,hide", "elm"); - entry_string = elm_entry_entry_get(dev->entry); ret_if(entry_string == NULL); str = elm_entry_markup_to_utf8(entry_string); @@ -134,118 +129,154 @@ static void __bt_profile_save_clicked_cb(void *data, Evas_Object *obj, FN_END; } -static void __bt_profile_eraser_clicked_cb(void *data, Evas_Object *obj, - const char *emission, const char *source) +static void __bt_profile_changed_cb(void *data, Evas_Object *obj, + void *event_info) { FN_START; - ret_if(NULL == data); + bt_dev_t *dev; + bt_ug_data *ugd; + bt_profile_view_data *vd; - elm_entry_entry_set((Evas_Object *)data, ""); + ret_if(data == NULL); + dev = (bt_dev_t *)data; + ugd = dev->ugd; + ret_if(ugd == NULL); + + vd = ugd->profile_vd; + ret_if(vd == NULL); + + if (elm_object_focus_get(obj)) { + if (elm_entry_is_empty(obj)) + elm_object_item_signal_emit(vd->name_item, + "elm,state,eraser,hide", ""); + else + elm_object_item_signal_emit(vd->name_item, + "elm,state,eraser,show", ""); + } FN_END; } -static void __bt_profile_changed_cb(void *data, Evas_Object *obj, +static void __bt_profile_focused_cb(void *data, Evas_Object *obj, void *event_info) { FN_START; - bt_dev_t *dev = NULL; - Evas_Object *layout = NULL; + bt_dev_t *dev; + bt_ug_data *ugd; + bt_profile_view_data *vd; - ret_if(obj == NULL); ret_if(data == NULL); dev = (bt_dev_t *)data; - ret_if(dev->layout == NULL); + ugd = dev->ugd; + ret_if(ugd == NULL); - layout = (Evas_Object *)dev->layout; + vd = ugd->profile_vd; + ret_if(vd == NULL); - if (elm_object_focus_get(layout)) { - if (elm_entry_is_empty(obj)) { - elm_object_signal_emit(layout, - "elm,state,eraser,hide", "elm"); - } else { - elm_object_signal_emit(layout, - "elm,state,eraser,show", "elm"); - } - } + if (!elm_entry_is_empty(obj)) + elm_object_item_signal_emit(vd->name_item, + "elm,state,eraser,show", ""); + + elm_object_item_signal_emit(vd->name_item, "elm,state,rename,hide", ""); FN_END; } -static void __bt_profile_focused_cb(void *data, Evas_Object *obj, +static void __bt_profile_unfocused_cb(void *data, Evas_Object *obj, void *event_info) { FN_START; - bt_dev_t *dev = NULL; - bt_ug_data *ugd = NULL; - bt_profile_view_data *vd = NULL; - Evas_Object *layout = NULL; - Evas_Object *btn = NULL; + bt_dev_t *dev; + bt_ug_data *ugd; + bt_profile_view_data *vd; - ret_if(obj == NULL); ret_if(data == NULL); dev = (bt_dev_t *)data; - ret_if(dev->layout == NULL); + ugd = dev->ugd; + ret_if(ugd == NULL); - layout = (Evas_Object *)dev->layout; + vd = ugd->profile_vd; + ret_if(vd == NULL); - if (!elm_entry_is_empty(obj)) { - elm_object_signal_emit(layout, - "elm,state,eraser,show", "elm"); - } + elm_object_item_signal_emit(vd->name_item, + "elm,state,eraser,hide", ""); + elm_object_item_signal_emit(vd->name_item, + "elm,state,rename,show", ""); + + FN_END; +} + +static void __bt_profile_maxlength_reached(void *data, Evas_Object *obj, + void *event_info) +{ + FN_START; + + /* In now, there is no UX guide */ + FN_END; +} + +void __bt_profile_input_panel_state_cb(void *data, Ecore_IMF_Context *ctx, int value) +{ + FN_START; + + bt_dev_t *dev; + bt_ug_data *ugd; + bt_profile_view_data *vd; + + dev = (bt_dev_t *)data; + ret_if(dev == NULL); ret_if(dev->ugd == NULL); - ugd = dev->ugd; + ugd = dev->ugd; ret_if(ugd->profile_vd == NULL); - vd = ugd->profile_vd; - if (vd->cancel_btn == NULL) { - btn = _bt_create_button(ugd->navi_bar, - "naviframe/back_btn/default", - NULL, NULL, - __bt_profile_save_clicked_cb, dev); + vd = ugd->profile_vd; + ret_if(vd->navi_it == NULL); - vd->cancel_btn = btn; + if (value == ECORE_IMF_INPUT_PANEL_STATE_SHOW) { + if (ugd->rotation == BT_ROTATE_LANDSCAPE || + ugd->rotation == BT_ROTATE_LANDSCAPE_UPSIDEDOWN) { + elm_naviframe_item_title_visible_set(vd->navi_it, + EINA_FALSE); + } + } else if (value == ECORE_IMF_INPUT_PANEL_STATE_HIDE){ + elm_naviframe_item_title_visible_set(vd->navi_it, EINA_TRUE); } - elm_object_item_part_content_set(vd->navi_it, - "title_right_btn", vd->cancel_btn); - FN_END; } -static void __bt_profile_unfocused_cb(void *data, Evas_Object *obj, - void *event_info) +static void __bt_profile_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) { - FN_START; + FN_START - bt_dev_t *dev = NULL; + bt_dev_t *dev; ret_if(data == NULL); dev = (bt_dev_t *)data; - ret_if(dev->layout == NULL); - elm_object_signal_emit((Evas_Object *)dev->layout, - "elm,state,eraser,hide", "elm"); + elm_object_focus_set(dev->entry, EINA_TRUE); + elm_entry_entry_set(dev->entry, ""); FN_END; } -static void __bt_profile_maxlength_reached(void *data, Evas_Object *obj, - void *event_info) +static char *__bt_profile_text_get(void *data, Evas_Object *obj, const char *part) { FN_START; - /* In now, there is no UX guide */ + if (!strcmp(part, "elm.text")) + return strdup(BT_STR_DEVICE_NAME); FN_END; + return NULL; } static Evas_Object *__bt_profile_name_icon_get(void *data, Evas_Object *obj, @@ -254,60 +285,78 @@ static Evas_Object *__bt_profile_name_icon_get(void *data, Evas_Object *obj, FN_START; Elm_Entry_Filter_Limit_Size limit_filter; - Evas_Object *layout = NULL; - Evas_Object *entry = NULL; - bt_dev_t *dev = NULL; + Evas_Object *entry; + Evas_Object *button; + bt_ug_data *ugd; + bt_profile_view_data *vd; + bt_dev_t *dev; + char *name; + Ecore_IMF_Context *imf_context; retv_if(NULL == data, NULL); dev = (bt_dev_t *)data; - if (!strcmp(part, "elm.icon")) { - layout = elm_layout_add(obj); - dev->layout = layout; - elm_layout_theme_set(layout, "layout", "editfield", "title"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); + ugd = dev->ugd; + retv_if(ugd->profile_vd == NULL, NULL); + vd = ugd->profile_vd; + + if (!strcmp(part, "elm.icon.entry")) { entry = elm_entry_add(obj); + dev->entry = entry; + elm_entry_single_line_set(entry, EINA_TRUE); + elm_entry_scrollable_set(entry, EINA_TRUE); limit_filter.max_byte_count = 0; limit_filter.max_char_count = BT_DEVICE_NAME_LENGTH_MAX; - elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, - &limit_filter); + &limit_filter); elm_entry_prediction_allow_set(entry, EINA_FALSE); - elm_entry_entry_set(entry, dev->name); + name = elm_entry_utf8_to_markup(dev->name); + if (name) { + elm_entry_entry_set(entry, name); + free(name); + } else { + elm_entry_entry_set(entry, dev->name); + } evas_object_smart_callback_add(entry, "changed", - __bt_profile_changed_cb, dev); + __bt_profile_changed_cb, dev); + evas_object_smart_callback_add(entry, "preedit,changed", + __bt_profile_changed_cb, dev); evas_object_smart_callback_add(entry, "focused", - __bt_profile_focused_cb, dev); + __bt_profile_focused_cb, dev); evas_object_smart_callback_add(entry, "unfocused", - __bt_profile_unfocused_cb, dev); - evas_object_smart_callback_add(entry, "maxlength,reached", - __bt_profile_maxlength_reached, + __bt_profile_unfocused_cb, dev); + /* To be uncommented when we get bluetooth specific string + elm_object_part_text_set(entry, "elm.guide", "Guide Text"); */ + + imf_context = elm_entry_imf_context_get(entry); + if (imf_context) { + ecore_imf_context_input_panel_event_callback_add(imf_context, + ECORE_IMF_INPUT_PANEL_STATE_EVENT, + __bt_profile_input_panel_state_cb, dev); + vd->imf_context = imf_context; + } evas_object_show(entry); - - elm_object_part_content_set(layout, - "elm.swallow.content", entry); - - elm_object_part_text_set(layout, "elm.text", - (const char *)BT_STR_DEVICE_NAME); - - elm_object_signal_callback_add(layout, "elm,eraser,clicked", - "elm", __bt_profile_eraser_clicked_cb, - entry); + return entry; + } else if (!strcmp(part, "elm.icon.eraser")) { + button = elm_button_add(obj); + elm_object_style_set(button, "editfield_clear"); + evas_object_smart_callback_add(button, "clicked", + __bt_profile_btn_clicked_cb, dev); + return button; } FN_END; - return layout; + return NULL; } static void __bt_profile_name_item_sel(void *data, Evas_Object *obj, @@ -614,7 +663,6 @@ int __bt_profile_connect_option(bt_ug_data *ugd, bt_dev_t *dev, FN_START; int audio_profile; - gboolean connected = FALSE; retv_if(ugd == NULL, BT_UG_FAIL); retv_if(dev == NULL, BT_UG_FAIL); @@ -624,16 +672,6 @@ int __bt_profile_connect_option(bt_ug_data *ugd, bt_dev_t *dev, return BT_UG_FAIL; } - if (type == BT_HEADSET_DEVICE) - connected = _bt_main_is_headset_connected(ugd); - else if (type == BT_STEREO_HEADSET_DEVICE) - connected = _bt_main_is_stereo_headset_connected(ugd); - - if (connected == TRUE) { - _bt_main_draw_selection_info(ugd, BT_STR_CONNECTION_EXISTS); - return BT_UG_FAIL; - } - if (type == BT_HEADSET_DEVICE || type == BT_STEREO_HEADSET_DEVICE) { if (type == BT_STEREO_HEADSET_DEVICE) audio_profile = BT_AUDIO_PROFILE_TYPE_A2DP; @@ -1128,41 +1166,69 @@ static void __bt_profile_nap_option_item_sel(void *data, Evas_Object *obj, FN_END; } -static int __bt_profile_get_item_type(bt_profile_view_data *vd, Elm_Object_Item *item) +void _bt_update_detail_item_style(bt_profile_view_data *vd) { - int i = 0; - int type = BT_ITEM_NO_TYPE; - Elm_Object_Item *current = NULL; - Elm_Object_Item *next = NULL; + FN_START; - retv_if(vd == NULL, BT_ITEM_NO_TYPE); - retv_if(item == NULL, BT_ITEM_NO_TYPE); + int item_count; + int i = 1; + Elm_Object_Item *item = NULL; - if (item == vd->name_item) { - return BT_ITEM_TOP; - } else if (item == vd->unpair_item) { - return BT_ITEM_BOTTOM; - } + ret_if(vd == NULL); + ret_if(vd->genlist == NULL); - current = elm_genlist_item_next_get(vd->title_item); + item_count = elm_genlist_items_count(vd->genlist); - while (current != NULL) { - next = elm_genlist_item_next_get(current); + BT_DBG("item_count %d", item_count); - if (current == item) { - if (next == NULL) { - type = (i == 0) ? BT_ITEM_NO_TYPE : BT_ITEM_BOTTOM; - } else { - type = (i == 0) ? BT_ITEM_TOP : BT_ITEM_CENTER; - } - return type; + if (vd->title_item == NULL || item_count < 4) + return; + /* Do not need to take care first 4 items as they are fixed */ + item_count = item_count - 4; + + item = elm_genlist_item_next_get(vd->title_item); + + while (item != NULL) { + if (item_count == 1) { + elm_object_item_signal_emit(item, "elm,state,default", ""); + break; + } else if (i == 1) { + elm_object_item_signal_emit(item, "elm,state,top", ""); + i++; + } else if (item_count == i) { + elm_object_item_signal_emit(item, "elm,state,bottom", ""); + break; + } else { + elm_object_item_signal_emit(item, "elm,state,center", ""); + i++; } - current = next; - i++; + item = elm_genlist_item_next_get(item); } - return BT_ITEM_NO_TYPE; + FN_END; +} + +static int __bt_profile_get_item_type(bt_profile_view_data *vd, Elm_Object_Item *item) +{ + retv_if(vd == NULL, BT_ITEM_NONE); + retv_if(item == NULL, BT_ITEM_NONE); + + if (item == vd->name_item) { + return BT_ITEM_NAME; + } else if (item == vd->unpair_item) { + return BT_ITEM_UNPAIR; + } else if (item == vd->call_item) { + return BT_ITEM_CALL; + } else if (item == vd->media_item) { + return BT_ITEM_MEDIA; + } else if (item == vd->hid_item) { + return BT_ITEM_HID; + } else if (item == vd->network_item) { + return BT_ITEM_NETWORK; + } + + return BT_ITEM_NONE; } static void __bt_profile_gl_realized(void *data, Evas_Object *obj, void *event_info) @@ -1172,7 +1238,10 @@ static void __bt_profile_gl_realized(void *data, Evas_Object *obj, void *event_i int item_type; bt_ug_data *ugd; bt_profile_view_data *vd; + Evas_Object *ao; Elm_Object_Item *item = (Elm_Object_Item *)event_info; + char str[BT_STR_ACCES_INFO_MAX_LEN] = {0, }; + bt_dev_t *dev_info; ret_if(data == NULL); ret_if(item == NULL); @@ -1183,24 +1252,71 @@ static void __bt_profile_gl_realized(void *data, Evas_Object *obj, void *event_i ret_if(vd == NULL); item_type = __bt_profile_get_item_type(vd, item); + dev_info = (bt_dev_t *)elm_object_item_data_get(item); BT_DBG("type: %d", item_type); + ao = elm_object_item_access_object_get(item); + switch (item_type) { - case BT_ITEM_TOP: + case BT_ITEM_NAME: + if (dev_info != NULL) + snprintf(str, sizeof(str), "%s, %s, %s", BT_STR_DEVICE_NAME, + dev_info->name, BT_STR_DOUBLE_TAP_RENAME); + else + snprintf(str, sizeof(str), "%s, %s", BT_STR_DEVICE_NAME, + BT_STR_DOUBLE_TAP_RENAME); elm_object_item_signal_emit(item, "elm,state,top", ""); + elm_access_info_set(ao, ELM_ACCESS_INFO, str); break; - case BT_ITEM_CENTER: - elm_object_item_signal_emit(item, "elm,state,center", ""); - break; - case BT_ITEM_BOTTOM: + case BT_ITEM_UNPAIR: + snprintf(str, sizeof(str), "%s, %s", BT_STR_UNPAIR, + BT_STR_DOUBLE_TAP_UNPAIR); elm_object_item_signal_emit(item, "elm,state,bottom", ""); + elm_access_info_set(ao, ELM_ACCESS_INFO, str); break; + case BT_ITEM_CALL: + if (dev_info->call_checked) + snprintf(str, sizeof(str), "%s, %s, %s", BT_STR_CALL_AUDIO, + BT_STR_RADIO_BUTTON, BT_STR_SELECTED); + else + snprintf(str, sizeof(str), "%s, %s, %s", BT_STR_CALL_AUDIO, + BT_STR_RADIO_BUTTON, BT_STR_RADIO_UNSELECTED); + elm_access_info_set(ao, ELM_ACCESS_INFO, str); + break; + case BT_ITEM_MEDIA: + if (dev_info->media_checked) + snprintf(str, sizeof(str), "%s, %s, %s", BT_STR_MEDIA_AUDIO, + BT_STR_RADIO_BUTTON, BT_STR_SELECTED); + else + snprintf(str, sizeof(str), "%s, %s, %s", BT_STR_MEDIA_AUDIO, + BT_STR_RADIO_BUTTON, BT_STR_RADIO_UNSELECTED); + elm_access_info_set(ao, ELM_ACCESS_INFO, str); + break; + case BT_ITEM_HID: + if (dev_info->hid_checked) + snprintf(str, sizeof(str), "%s, %s, %s", BT_STR_INPUT_DEVICE, + BT_STR_RADIO_BUTTON, BT_STR_SELECTED); + else + snprintf(str, sizeof(str), "%s, %s, %s", BT_STR_INPUT_DEVICE, + BT_STR_RADIO_BUTTON, BT_STR_RADIO_UNSELECTED); + elm_access_info_set(ao, ELM_ACCESS_INFO, str); + break; + case BT_ITEM_NETWORK: + if (dev_info->network_checked) + snprintf(str, sizeof(str), "%s, %s, %s", BT_STR_INTERNET_ACCESS, + BT_STR_RADIO_BUTTON, BT_STR_SELECTED); + else + snprintf(str, sizeof(str), "%s, %s, %s", BT_STR_INTERNET_ACCESS, + BT_STR_RADIO_BUTTON, BT_STR_RADIO_UNSELECTED); + elm_access_info_set(ao, ELM_ACCESS_INFO, str); + break; + case BT_ITEM_NONE: default: - elm_object_item_signal_emit(item, "elm,state,default", ""); break; } + _bt_update_detail_item_style(vd); FN_END; } @@ -1223,8 +1339,8 @@ static Evas_Object *__bt_profile_draw_genlist(bt_ug_data *ugd, bt_dev_t *dev_inf vd->name_itc = elm_genlist_item_class_new(); retv_if (vd->name_itc == NULL, NULL); - vd->name_itc->item_style = "dialogue/1icon"; - vd->name_itc->func.text_get = NULL; + vd->name_itc->item_style = "dialogue/editfield/title"; + vd->name_itc->func.text_get = __bt_profile_text_get; vd->name_itc->func.content_get = __bt_profile_name_icon_get; vd->name_itc->func.state_get = NULL; vd->name_itc->func.del = NULL; @@ -1248,18 +1364,24 @@ static Evas_Object *__bt_profile_draw_genlist(bt_ug_data *ugd, bt_dev_t *dev_inf git = elm_genlist_item_append(genlist, ugd->sp_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + elm_genlist_item_select_mode_set(git, + ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); /* device name item */ git = elm_genlist_item_append(genlist, vd->name_itc, dev_info, NULL, ELM_GENLIST_ITEM_NONE, __bt_profile_name_item_sel, ugd); + elm_genlist_item_select_mode_set(git, + ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + elm_object_item_signal_emit(git, "elm,state,top", ""); + vd->name_item = git; /* unpair item */ git = elm_genlist_item_append(genlist, vd->unpair_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, __bt_profile_unpair_item_sel, dev_info); + elm_object_item_signal_emit(git, "elm,state,bottom", ""); vd->unpair_item = git; @@ -1330,20 +1452,22 @@ static Evas_Object *__bt_profile_draw_genlist(bt_ug_data *ugd, bt_dev_t *dev_inf if (dev_info->service_list & BT_SC_HFP_SERVICE_MASK || dev_info->service_list & BT_SC_HSP_SERVICE_MASK) { /* Call audio */ - elm_genlist_item_append(genlist, vd->call_itc, + git = elm_genlist_item_append(genlist, vd->call_itc, dev_info, NULL, ELM_GENLIST_ITEM_NONE, __bt_profile_call_option_item_sel, dev_info); + vd->call_item = git; } if (dev_info->service_list & BT_SC_A2DP_SERVICE_MASK) { /* Media audio */ - elm_genlist_item_append(genlist, vd->media_itc, + git = elm_genlist_item_append(genlist, vd->media_itc, dev_info, NULL, ELM_GENLIST_ITEM_NONE, __bt_profile_media_option_item_sel, dev_info); + vd->media_item = git; } BT_DBG("service list: %x", dev_info->service_list); @@ -1351,20 +1475,22 @@ static Evas_Object *__bt_profile_draw_genlist(bt_ug_data *ugd, bt_dev_t *dev_inf if (dev_info->service_list & BT_SC_HID_SERVICE_MASK) { /* HID device */ - elm_genlist_item_append(genlist, vd->hid_itc, + git = elm_genlist_item_append(genlist, vd->hid_itc, dev_info, NULL, ELM_GENLIST_ITEM_NONE, __bt_profile_hid_option_item_sel, dev_info); + vd->hid_item = git; } if (dev_info->service_list & BT_SC_NAP_SERVICE_MASK) { /* NAP device */ - elm_genlist_item_append(genlist, vd->network_itc, + git = elm_genlist_item_append(genlist, vd->network_itc, dev_info, NULL, ELM_GENLIST_ITEM_NONE, __bt_profile_nap_option_item_sel, dev_info); + vd->network_item = git; } FN_END; @@ -1372,22 +1498,14 @@ static Evas_Object *__bt_profile_draw_genlist(bt_ug_data *ugd, bt_dev_t *dev_inf return genlist; } -static void __bt_profile_back_cb(void *data, Evas_Object *obj, - void *event_info) +void _bt_profile_destroy_profile_view(void *data) { FN_START; - bt_dev_t *dev_info = NULL; - bt_ug_data *ugd = NULL; + bt_ug_data *ugd = (bt_ug_data *)data; bt_profile_view_data *vd = NULL; - ret_if(data == NULL); - - dev_info = (bt_dev_t *)data; - ret_if(dev_info == NULL); - ret_if(dev_info->ugd == NULL); - - ugd = dev_info->ugd; + ret_if(ugd == NULL); ret_if(ugd->profile_vd == NULL); vd = ugd->profile_vd; @@ -1428,8 +1546,15 @@ static void __bt_profile_back_cb(void *data, Evas_Object *obj, vd->hid_itc = NULL; } + vd->imf_context = NULL; vd->save_btn = NULL; - vd->cancel_btn = NULL; + + /* unregister callback functions */ + if (vd->imf_context) { + ecore_imf_context_input_panel_event_callback_del(vd->imf_context, + ECORE_IMF_INPUT_PANEL_STATE_EVENT, + __bt_profile_input_panel_state_cb); + } free(vd); ugd->profile_vd = NULL; @@ -1439,6 +1564,53 @@ static void __bt_profile_back_cb(void *data, Evas_Object *obj, FN_END; } +static void __bt_profile_back_cb(void *data, Evas_Object *obj, + void *event_info) +{ + FN_START; + + bt_dev_t *dev_info = NULL; + bt_ug_data *ugd = NULL; + + ret_if(data == NULL); + + dev_info = (bt_dev_t *)data; + ret_if(dev_info->ugd == NULL); + + ugd = dev_info->ugd; + ret_if(ugd->profile_vd == NULL); + + _bt_profile_destroy_profile_view(ugd); + + FN_END; +} + +static void __bt_profile_back_clicked_cb(void *data, Evas_Object *obj, + void *event_info) +{ + FN_START; + + bt_dev_t *dev_info; + Ecore_IMF_Context *imf_context; + Ecore_IMF_Input_Panel_State state = ECORE_IMF_INPUT_PANEL_STATE_HIDE; + + dev_info = (bt_dev_t *)data; + ret_if(dev_info == NULL); + ret_if(dev_info->entry == NULL); + + imf_context = elm_entry_imf_context_get(dev_info->entry); + if (imf_context) { + state = ecore_imf_context_input_panel_state_get(imf_context); + } + + if (state == ECORE_IMF_INPUT_PANEL_STATE_SHOW) { + __bt_profile_save_clicked_cb(dev_info, NULL, NULL); + } else { + __bt_profile_back_cb(dev_info, NULL, NULL); + } + + FN_END; +} /********************************************************************** * Common Functions @@ -1448,12 +1620,13 @@ void _bt_profile_create_view(bt_dev_t *dev_info) { FN_START; - bt_profile_view_data *vd = NULL; - bt_ug_data *ugd = NULL; - Evas_Object *layout = NULL; - Evas_Object *genlist = NULL; + bt_profile_view_data *vd; + bt_ug_data *ugd; + Evas_Object *layout; + Evas_Object *genlist; + Evas_Object *back_btn; + Evas_Object *title; Elm_Object_Item *navi_it; - Evas_Object *back_btn = NULL; ret_if(dev_info == NULL); ret_if(dev_info->ugd == NULL); @@ -1483,13 +1656,23 @@ void _bt_profile_create_view(bt_dev_t *dev_info) /* create back button */ back_btn = elm_button_add(layout); - navi_it = elm_naviframe_item_push(ugd->navi_bar, BT_STR_DETAILS, + navi_it = elm_naviframe_item_push(ugd->navi_bar, NULL, back_btn, NULL, genlist, NULL); + /* Slide title */ + title = elm_label_add(ugd->navi_bar); + elm_object_style_set(title, "naviframe_title"); + elm_label_slide_mode_set(title, ELM_LABEL_SLIDE_MODE_AUTO); + elm_label_wrap_width_set(title, 1); + elm_label_ellipsis_set(title, EINA_TRUE); + elm_object_text_set(title, BT_STR_DETAILS); + evas_object_show(title); + elm_object_item_part_content_set(navi_it, "elm.swallow.title", title); + /* Style set should be called after elm_naviframe_item_push(). */ elm_object_style_set(back_btn, "naviframe/back_btn/default"); evas_object_smart_callback_add(back_btn, "clicked", - __bt_profile_back_cb, (void *)dev_info); + __bt_profile_back_clicked_cb, (void *)dev_info); vd->navi_it = navi_it; @@ -1507,3 +1690,35 @@ void _bt_profile_delete_view(void *data) FN_END; } +void _bt_profile_change_rotate_mode(void *data) +{ + FN_START; + + bt_profile_view_data *vd; + bt_ug_data *ugd; + Ecore_IMF_Input_Panel_State state = ECORE_IMF_INPUT_PANEL_STATE_HIDE; + + ret_if(data == NULL); + + ugd = (bt_ug_data *)data; + ret_if(ugd->profile_vd == NULL); + + vd = ugd->profile_vd; + + if (vd->imf_context) { + state = ecore_imf_context_input_panel_state_get(vd->imf_context); + } + + if (ugd->rotation == BT_ROTATE_LANDSCAPE || + ugd->rotation == BT_ROTATE_LANDSCAPE_UPSIDEDOWN) { + if (state == ECORE_IMF_INPUT_PANEL_STATE_SHOW) { + elm_naviframe_item_title_visible_set(vd->navi_it, + EINA_FALSE); + } + } else { + elm_naviframe_item_title_visible_set(vd->navi_it, EINA_TRUE); + } + + FN_END; +} + diff --git a/ug-bluetooth-elf.manifest b/ug-bluetooth-elf.manifest index 4e04519..1c4467b 100644 --- a/ug-bluetooth-elf.manifest +++ b/ug-bluetooth-elf.manifest @@ -3,9 +3,9 @@ - - - + + + -- 2.7.4