sync with private git
authoryoungsub ko <ys4610.ko@samsung.com>
Thu, 2 May 2013 06:05:42 +0000 (15:05 +0900)
committeryoungsub ko <ys4610.ko@samsung.com>
Thu, 2 May 2013 06:05:42 +0000 (15:05 +0900)
80 files changed:
CMakeLists.txt
daemon/common.c
daemon/common.h
daemon/device/brightness.c
daemon/idletxt/idletxt.c
daemon/list_util.c
daemon/media.c
daemon/media.h
daemon/minictrl/minictrl.c
daemon/modules.c
daemon/notifications/animated_image.c [new file with mode: 0755]
daemon/notifications/animated_image.h [new file with mode: 0755]
daemon/notifications/noti.c
daemon/notifications/noti_box.c
daemon/notifications/noti_gridbox.c
daemon/notifications/noti_list_item.c
daemon/notifications/noti_listbox.c
daemon/notifications/noti_section.c
daemon/notifications/noti_util.c
daemon/notifications/ticker.c
daemon/quickpanel-ui.c
daemon/quickpanel-ui.h
daemon/service/noti_led.c [new file with mode: 0755]
daemon/service/noti_led.h [new file with mode: 0755]
data/icons/quick_standard_btn_nor.png
data/icons/quick_standard_btn_press.png
data/quickpanel.xml.in
data/quickpanel_def.h
packaging/org.tizen.quickpanel.spec
po/ar.po
po/az.po
po/bg.po
po/ca.po
po/cs.po
po/da.po
po/de_DE.po
po/el_GR.po
po/en.po
po/en_PH.po
po/en_US.po
po/es_ES.po
po/es_MX.po
po/et.po
po/eu.po
po/fi.po
po/fr_CA.po
po/fr_FR.po
po/ga.po
po/gl.po
po/hi.po
po/hr.po
po/hu.po
po/hy.po
po/is.po
po/it_IT.po
po/ja_JP.po
po/ka.po
po/kk.po
po/ko_KR.po
po/lt.po
po/lv.po
po/mk.po
po/nb.po
po/nl_NL.po
po/pl.po
po/pt_BR.po
po/pt_PT.po
po/ro.po
po/ru_RU.po
po/sk.po
po/sl.po
po/sr.po
po/sv.po
po/tr_TR.po
po/uk.po
po/uz.po
po/zh_CN.po
po/zh_HK.po
po/zh_SG.po
po/zh_TW.po

index 065c5d0743555453c2a2f60c98706d54e442db37..1c09a7b081e72950356acb0b2f4deb99fd68fe31 100755 (executable)
@@ -26,6 +26,7 @@ MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
 INCLUDE_DIRECTORIES(
                ${CMAKE_CURRENT_SOURCE_DIR}/daemon
                ${CMAKE_CURRENT_SOURCE_DIR}/daemon/notifications
+               ${CMAKE_CURRENT_SOURCE_DIR}/daemon/service
                ${CMAKE_CURRENT_SOURCE_DIR}/data
                ${CMAKE_CURRENT_SOURCE_DIR}/test
                )
@@ -60,6 +61,7 @@ pkg_check_modules(pkgs REQUIRED
        minicontrol-viewer
        minicontrol-monitor
        utilX
+#      deviced
 )
 
 FOREACH(flag ${pkgs_CFLAGS})
@@ -81,6 +83,8 @@ ADD_DEFINITIONS("-fpie")
 ADD_DEFINITIONS("-DQP_INDICATOR_WIDGET_ENABLE")
 ADD_DEFINITIONS("-DQP_BRIGHTNESS_ENABLE")
 ADD_DEFINITIONS("-DQP_MINICTRL_ENABLE")
+ADD_DEFINITIONS("-DQP_ANIMATED_IMAGE_ENABLE")
+#ADD_DEFINITIONS("-DQP_SERVICE_NOTI_LED_ENABLE")
 
 
 ADD_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
index e264587b3902e4b9b41ce51c880700a48a3add17..5a4b81ad2b523280df9ba70d16fef6e0280044ea 100755 (executable)
@@ -30,3 +30,36 @@ HAPI void quickpanel_util_char_replace(char *text, char s, char t) {
                }
        }
 }
+
+static void _current_popup_deleted_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       retif(obj == NULL, , "obj is NULL");
+
+       struct appdata *ad = quickpanel_get_app_data();
+       retif(ad == NULL, , "invalid argument");
+
+       if (ad->popup == obj) {
+               ad->popup = NULL;
+       } else {
+               ERR("popup is created over the popup");
+       }
+}
+
+HAPI void quickpanel_ui_set_current_popup(Evas_Object *popup) {
+       retif(popup == NULL, , "invalid argument");
+
+       struct appdata *ad = quickpanel_get_app_data();
+       retif(ad == NULL, , "invalid argument");
+
+       ad->popup = popup;
+       evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, _current_popup_deleted_cb, NULL);
+}
+
+HAPI void quickpanel_ui_del_current_popup(void) {
+       struct appdata *ad = quickpanel_get_app_data();
+       retif(ad == NULL, , "invalid argument");
+
+       if (ad->popup != NULL) {
+               evas_object_del(ad->popup);
+       }
+}
index 712a2aca44e84387549104e00f1d57fa615f137f..412296f44e98489d1c82d6fcd24dadea9ea38d97 100755 (executable)
@@ -20,6 +20,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <errno.h>
+#include <Elementary.h>
 #include "quickpanel_debug_util.h"
 
 #define QP_OK  (0)
@@ -48,7 +49,7 @@
 
 #define ERR(fmt , args...) \
        do { \
-               LOGI("[%s : %d] "fmt"\n", __func__, __LINE__, ##args); \
+               LOGE("[%s : %d] "fmt"\n", __func__, __LINE__, ##args); \
        } while (0)
 
 #elif FILE_DEBUG /*_DLOG_USED*/
        } while (0)
 #endif /*_DLOG_USED*/
 
+#define msgif(cond, str, args...) do { \
+       if (cond) { \
+               ERR(str, ##args);\
+       } \
+} while (0);
+
 #define retif(cond, ret, str, args...) do { \
        if (cond) { \
-               WARN(str, ##args);\
+               ERR(str, ##args);\
                return ret;\
        } \
 } while (0);
 
 
 void quickpanel_util_char_replace(char *text, char s, char t);
+void quickpanel_ui_set_current_popup(Evas_Object *popup);
+void quickpanel_ui_del_current_popup(void);
 
 #endif                         /* __QP_COMMON_H_ */
index 76db21803cceab208f8900a18f2cfb1997a8f785..32d7a33578ccc4fdfeec3812b7e689ce7f699391 100755 (executable)
 
 #define QP_BRIGHTNESS_CONTROL_ICON_IMG ICONDIR"/Q02_Notification_brightness.png"
 
+typedef struct _brightness_ctrl_obj {
+       int min_level;
+       int max_level;
+       Evas_Object *viewer;
+       void *data;
+} brightness_ctrl_obj;
+
 static int quickpanel_brightness_init(void *data);
 static int quickpanel_brightness_fini(void *data);
 static void quickpanel_brightness_lang_changed(void *data);
 static void quickpanel_brightness_qp_opened(void *data);
 static void quickpanel_brightness_qp_closed(void *data);
 static void _brightness_view_update(void);
+static void _brightness_register_event_cb(brightness_ctrl_obj *ctrl_obj);
+static void _brightness_deregister_event_cb(brightness_ctrl_obj *ctrl_obj);
 
 QP_Module brightness_ctrl = {
        .name = "brightness_ctrl",
@@ -50,13 +59,6 @@ QP_Module brightness_ctrl = {
        .qp_closed = quickpanel_brightness_qp_closed,
 };
 
-typedef struct _brightness_ctrl_obj {
-       int min_level;
-       int max_level;
-       Evas_Object *viewer;
-       void *data;
-} brightness_ctrl_obj;
-
 static brightness_ctrl_obj *g_ctrl_obj;
 
 static void _set_text_to_part(Evas_Object *obj, const char *part, const char *text) {
@@ -88,7 +90,6 @@ static Evas_Object *_check_duplicated_image_loading(Evas_Object *obj, const char
        if (old_ic != NULL) {
                elm_image_file_get(old_ic, &old_ic_path, NULL);
                if (old_ic_path != NULL) {
-                       DBG("%s:%s", old_ic_path, file_path);
                        if (strcmp(old_ic_path, file_path) == 0)
                                return old_ic;
                }
@@ -106,8 +107,6 @@ static Evas_Object *_check_duplicated_loading(Evas_Object *obj, const char *part
        retif(obj == NULL, NULL, "Invalid parameter!");
        retif(part == NULL, NULL, "Invalid parameter!");
 
-       DBG("");
-
        old_content = elm_object_part_content_get(obj, part);
        if (old_content != NULL) {
                        return old_content;
@@ -147,7 +146,6 @@ static void quickpanel_brightness_qp_opened(void *data)
 
        if (g_ctrl_obj->viewer != NULL) {
                _brightness_view_update();
-               vconf_ignore_key_changed(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, _brightness_vconf_cb);
        }
 }
 
@@ -198,21 +196,16 @@ _brightness_ctrl_slider_changed_cb(void *data,
        static int old_val = -1;
        brightness_ctrl_obj *ctrl_obj = NULL;
 
-       DBG("");
-
        retif(data == NULL, , "Data parameter is NULL");
        ctrl_obj = data;
 
        double val = elm_slider_value_get(obj);
        value = (int)(val + 0.5);
 
-       DBG("value:%d old_val:%d", value, old_val);
-
        if (value != old_val)
        {
-               DBG("min_level:%d max_level:%d", ctrl_obj->min_level, ctrl_obj->max_level);
                if (value >= ctrl_obj->min_level && value <= ctrl_obj->max_level) {
-                       DBG("new brgt:%d", value);
+                       DBG("brightness is changed to %d", value);
                        _brightness_set_level(value);
                }
        }
@@ -226,10 +219,26 @@ _brightness_ctrl_slider_delayed_changed_cb(void *data,
        int value = 0;
 
        value = _brightness_get_level();
-       DBG("value:%d", value);
+       DBG("brightness is changed to %d", value);
        _brightness_set_level(value);
 }
 
+static void
+_brightness_ctrl_slider_drag_start_cb(void *data,
+                                                        Evas_Object *obj,
+                                                        void *event_info)
+{
+       _brightness_deregister_event_cb(data);
+}
+
+static void
+_brightness_ctrl_slider_drag_stop_cb(void *data,
+                                                        Evas_Object *obj,
+                                                        void *event_info)
+{
+       _brightness_register_event_cb(data);
+}
+
 static void _brightness_ctrl_checker_toggle_cb(void *data,
                                                                Evas_Object * obj,
                                                                void *event_info)
@@ -277,7 +286,6 @@ static Evas_Object *_brightness_view_create(Evas_Object *list)
 
 static void _brightness_set_text(void)
 {
-       DBG("");
        brightness_ctrl_obj *ctrl_obj = g_ctrl_obj;
        retif(ctrl_obj == NULL, , "Invalid parameter!");
        retif(ctrl_obj->viewer == NULL, , "Invalid parameter!");
@@ -288,7 +296,6 @@ static void _brightness_set_text(void)
 
 static void _brightness_set_image(void)
 {
-       DBG("");
        Evas_Object *ic = NULL;
        Evas_Object *old_ic = NULL;
        brightness_ctrl_obj *ctrl_obj = g_ctrl_obj;
@@ -311,7 +318,6 @@ static void _brightness_set_image(void)
 
 static void _brightness_set_checker(void)
 {
-       DBG("");
        Evas_Object *checker = NULL;
        Evas_Object *old_obj = NULL;
        brightness_ctrl_obj *ctrl_obj = g_ctrl_obj;
@@ -341,7 +347,6 @@ static void _brightness_set_checker(void)
 
 static void _brightness_set_slider(void)
 {
-       DBG("");
        int value = 0;
        Evas_Object *slider = NULL;
        Evas_Object *old_obj = NULL;
@@ -361,8 +366,14 @@ static void _brightness_set_slider(void)
                        evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0.0);
                        evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, 0.5);
                        elm_slider_min_max_set(slider, ctrl_obj->min_level, ctrl_obj->max_level);
-                       evas_object_smart_callback_add(slider, "changed", _brightness_ctrl_slider_changed_cb, ctrl_obj);
-                       evas_object_smart_callback_add(slider, "delay,changed", _brightness_ctrl_slider_delayed_changed_cb, ctrl_obj);
+                       evas_object_smart_callback_add(slider, "changed",
+                                       _brightness_ctrl_slider_changed_cb, ctrl_obj);
+                       evas_object_smart_callback_add(slider, "delay,changed",
+                                       _brightness_ctrl_slider_delayed_changed_cb, ctrl_obj);
+                       evas_object_smart_callback_add(slider, "slider,drag,start",
+                                       _brightness_ctrl_slider_drag_start_cb, ctrl_obj);
+                       evas_object_smart_callback_add(slider, "slider,drag,stop",
+                                       _brightness_ctrl_slider_drag_stop_cb, ctrl_obj);
                        elm_object_part_content_set(ctrl_obj->viewer, "elm.swallow.slider", slider);
                } else {
                        ERR("failed to create slider");
@@ -436,16 +447,25 @@ static void _brightness_remove(brightness_ctrl_obj *ctrl_obj, void *data)
 
 static void _brightness_register_event_cb(brightness_ctrl_obj *ctrl_obj)
 {
-       retif(ctrl_obj == NULL, , "Invalid parameter!");
-
-       vconf_notify_key_changed(VCONFKEY_SETAPPL_BRIGHTNESS_AUTOMATIC_INT, _brightness_vconf_cb, ctrl_obj);
+       int ret = 0;
+       retif(ctrl_obj == NULL, , "Data parameter is NULL");
+
+       ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_LCD_BRIGHTNESS,
+                       _brightness_vconf_cb, ctrl_obj);
+       if (ret != 0) {
+               ERR("failed to register a cb key:%s err:%d",
+                               "VCONFKEY_SETAPPL_LCD_BRIGHTNESS", ret);
+       }
 }
 
 static void _brightness_deregister_event_cb(brightness_ctrl_obj *ctrl_obj)
 {
-       retif(ctrl_obj == NULL, , "Invalid parameter!");
+       int ret = 0;
 
-       vconf_ignore_key_changed(VCONFKEY_SETAPPL_BRIGHTNESS_AUTOMATIC_INT, _brightness_vconf_cb);
+       ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, _brightness_vconf_cb);
+       if (ret != 0) {
+               ERR("failed to register a cb key:%s err:%d", "VCONFKEY_SETAPPL_LCD_BRIGHTNESS", ret);
+       }
 }
 
 static int quickpanel_brightness_init(void *data)
@@ -453,12 +473,9 @@ static int quickpanel_brightness_init(void *data)
        retif(data == NULL, QP_FAIL, "Invalid parameter!");
 
        if (g_ctrl_obj == NULL) {
-               DBG("brightness controller alloced");
                g_ctrl_obj = (brightness_ctrl_obj *)malloc(sizeof(brightness_ctrl_obj));
        }
 
-       DBG("");
-
        if (g_ctrl_obj != NULL) {
                g_ctrl_obj->min_level = BRIGHTNESS_MIN;
                g_ctrl_obj->max_level = BRIGHTNESS_MAX;
index 33ccccfe053e82b67762c7df1edf9b373af960cf..a63a74d876cb2836d77d75d9b654dc0ad20b6843 100755 (executable)
@@ -33,7 +33,7 @@
 #define QP_IDLETXT_SLIDE_LEN   130
 
 #define QP_IDLETXT_LABEL_STRING        \
-       "<font_size=36 font_weight=Medium color=#959494FF align=left>%s</>"
+       "<font_size=30 font_weight=Medium color=#959494FF align=left>%s</>"
 
 static int quickpanel_idletxt_init(void *data);
 static int quickpanel_idletxt_fini(void *data);
@@ -215,7 +215,7 @@ static Evas_Object *_quickpanel_idletxt_exception_add_label(Evas_Object * box)
        Evas_Object *obj = NULL;
 
        if (vconf_get_int(VCONFKEY_TELEPHONY_SVCTYPE, &service_type) != 0) {
-               DBG("fail to get VCONFKEY_TELEPHONY_SVCTYPE");
+               ERR("fail to get VCONFKEY_TELEPHONY_SVCTYPE");
        }
 
        switch(service_type) {
@@ -258,7 +258,7 @@ static Evas_Object *_quickpanel_idletxt_get_spn(Evas_Object * box)
 
        /* make keylist */
        if (vconf_get_int(VCONFKEY_TELEPHONY_SVCTYPE, &service_type) != 0) {
-               DBG("fail to get VCONFKEY_TELEPHONY_SVCTYPE");
+               ERR("fail to get VCONFKEY_TELEPHONY_SVCTYPE");
        }
 
        ret = vconf_get_int(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, &state);
@@ -300,6 +300,7 @@ static Evas_Object *_quickpanel_idletxt_get_spn(Evas_Object * box)
        return label;
 }
 
+#ifdef TBD
 static Evas_Object *_quickpanel_idletxt_get_sat_text(Evas_Object * box)
 {
        Evas_Object *label = NULL;
@@ -310,6 +311,7 @@ static Evas_Object *_quickpanel_idletxt_get_sat_text(Evas_Object * box)
 
        return label;
 }
+#endif
 
 static Eina_Bool _quickpanel_idletxt_button_clicked_timer_cb(void *data)
 {
index 73d8312db3859849b76d869ec1a2ab143a59558b..de38e04185ade0a5e6380763ccc19b2f1ef179ac 100755 (executable)
@@ -201,7 +201,7 @@ HAPI void quickpanel_list_util_sort_insert(Evas_Object *list,
        item_data = evas_object_data_get(new_obj, E_DATA_ITEM_LABEL_H);
        retif(item_data == NULL, , "invalid parameter");
 
-       DBG("count:%d", eina_list_count(item_list));
+       INFO("current entry count in list:%d", eina_list_count(item_list));
        EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
        {
                if (obj != NULL) {
@@ -210,14 +210,11 @@ HAPI void quickpanel_list_util_sort_insert(Evas_Object *list,
                }
 
                first = obj;
-               DBG("first:%p", obj);
        }
 
        if (first == NULL) {
-               DBG("insert first:%p", new_obj);
                elm_box_pack_start(list, new_obj);
        } else {
-               DBG("insert aftere:%p (%p)", first, new_obj);
                elm_box_pack_after(list, new_obj, first);
        }
 }
index 27dc4f7b3e389feb80beb4d9bc2b1164a9acc16d..a7908b75e640d775df69e40602f9fefec80d3fa1 100755 (executable)
@@ -30,7 +30,7 @@ static void _quickpanel_player_free_job_cb(void *data)
 
        if (player_get_state(sound_player, &state) == PLAYER_ERROR_NONE) {
 
-               DBG("state of player %d", state);
+               INFO("the state of sound player %d", state);
 
                if (state == PLAYER_STATE_PLAYING) {
                        player_stop(sound_player);
@@ -138,21 +138,21 @@ HAPI void quickpanel_player_play(sound_type_e sound_type, const char *sound_file
 
        ret = player_set_uri(*sound_player, sound_file);
        if (ret != PLAYER_ERROR_NONE) {
-               DBG("set attribute---profile_uri[%d]", ret);
+               ERR("set attribute---profile_uri[%d]", ret);
                _quickpanel_player_free(sound_player);
                return;
        }
 
        ret = player_prepare(*sound_player);
        if (ret != PLAYER_ERROR_NONE) {
-               DBG("realizing the player handle failed[%d]", ret);
+               ERR("realizing the player handle failed[%d]", ret);
                _quickpanel_player_free(sound_player);
                return;
        }
 
        player_get_state(*sound_player, &state);
        if (state != PLAYER_STATE_READY) {
-               DBG("state of player is invalid %d", state);
+               ERR("state of player is invalid %d", state);
                _quickpanel_player_free(sound_player);
                return;
        }
@@ -160,7 +160,7 @@ HAPI void quickpanel_player_play(sound_type_e sound_type, const char *sound_file
        /* register callback */
        ret = player_set_completed_cb(*sound_player, _quickpanel_player_completed_cb, sound_player);
        if (ret != PLAYER_ERROR_NONE) {
-               DBG("player_set_completed_cb() ERR: %x!!!!", ret);
+               ERR("player_set_completed_cb() ERR: %x!!!!", ret);
                _quickpanel_player_free(sound_player);
                return;
        }
@@ -179,7 +179,7 @@ HAPI void quickpanel_player_play(sound_type_e sound_type, const char *sound_file
 
        ret = player_start(*sound_player);
        if (ret != PLAYER_ERROR_NONE) { /* if directly return retor.. */
-               DBG("player_start [%d]", ret);
+               ERR("player_start [%d]", ret);
                _quickpanel_player_free(sound_player);
                return;
        }
@@ -244,3 +244,27 @@ HAPI void quickpanel_play_feedback(void)
                feedback_play_type(FEEDBACK_TYPE_VIBRATION, FEEDBACK_PATTERN_TOUCH_TAP);
        }
 }
+
+HAPI int quickpanel_set_mute_toggle(void)
+{
+       int ret = -1;
+
+       if (quickpanel_is_sound_enabled() == 1 ||
+                       quickpanel_is_vib_enabled() == 1) {
+               ret = vconf_set_bool(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, 0);
+               msgif(ret != 0, "failed to set VCONFKEY_SETAPPL_SOUND_STATUS_BOOL");
+
+               ret = vconf_set_bool(VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL, 0);
+               msgif(ret != 0, "failed to set VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL");
+
+               return 0;
+       } else {
+               ret = vconf_set_bool(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, 1);
+               msgif(ret != 0, "failed to set VCONFKEY_SETAPPL_SOUND_STATUS_BOOL");
+
+               ret = vconf_set_bool(VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL, 0);
+               msgif(ret != 0, "failed to set VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL");
+
+               return 1;
+       }
+}
index 7d3933338c593264b9bad155e4a0f684e4e0710c..05a0ad7502c24571241cc74f20a6c24c84ba04e2 100755 (executable)
@@ -26,5 +26,6 @@ void quickpanel_player_stop(void);
 int quickpanel_is_sound_enabled(void);
 int quickpanel_is_vib_enabled(void);
 void quickpanel_play_feedback(void);
+int quickpanel_set_mute_toggle(void);
 
 #endif
index e74ae1f193e7c95c027397251de4e74b59583acc..04c605cc9f7b152c7b14c9271a4b1ac974eae720 100755 (executable)
@@ -66,6 +66,8 @@ static void _viewer_freeze(Evas_Object *viewer)
 
        freezed_count = elm_object_scroll_freeze_get(viewer);
 
+       WARN("viewer(scroller) is freezed");
+
        if (freezed_count <= 0) {
                elm_object_scroll_freeze_push(viewer);
        }
@@ -78,6 +80,8 @@ static void _viewer_unfreeze(Evas_Object *viewer)
 
        freezed_count = elm_object_scroll_freeze_get(viewer);
 
+       WARN("viewer(scroller) is unfreezed");
+
        for (i = 0 ; i < freezed_count; i++) {
                elm_object_scroll_freeze_pop(viewer);
        }
@@ -110,7 +114,7 @@ static void _viewer_set_size(Evas_Object *layout, void *data, int width, int hei
        }
        resized_width = (width > max_width) ? max_width : width;
 
-       DBG("resize:%d %d", resized_width, height);
+       DBG("minicontroller view is resized to w:%d h:%d", resized_width, height);
 
        evas_object_size_hint_min_set(viewer, resized_width, height);
 }
@@ -147,7 +151,6 @@ static Evas_Object *_minictrl_create_view(struct appdata *ad, const char *name)
 
        layout = elm_layout_add(ad->list);
 
-       DBG("");
        elm_layout_file_set(layout, DEFAULT_EDJ,
                        "quickpanel/minictrl/default");
 
@@ -205,7 +208,6 @@ static void _minictrl_release_cb(void *data, Evas *e,
        retif(!data, , "data is NULL");
        ad = data;
 
-       DBG("");
        _viewer_unfreeze(ad->scroller);
 }
 
@@ -257,7 +259,6 @@ static void _minictrl_add(const char *name, unsigned int width,
        }
 
        if (_minictrl_is_ongoing(name) == 1) {
-               DBG("QP_ITEM_TYPE_MINICTRL_ONGOING is added");
                type = QP_ITEM_TYPE_MINICTRL_ONGOING;
        } else {
                type = _minictrl_priority_to_type(priority);
@@ -280,7 +281,7 @@ static void _minictrl_add(const char *name, unsigned int width,
 
        g_hash_table_insert(g_prov_table, g_strdup(name), vit);
 
-       INFO("success to add %s", name);
+       INFO("success to add minicontrol %s", name);
 }
 
 static void _minictrl_remove(const char *name, void *data)
index f064c0bdb84ac06fdfb65b710254d5bda210831e..f4a27f3b57dd141bec3aae6054480f9e97378c82 100755 (executable)
@@ -32,6 +32,10 @@ extern QP_Module minictrl;
 /* brightness */
 extern QP_Module brightness_ctrl;
 #endif /* QP_BRIGHTNESS_ENABLE */
+
+#ifdef QP_ANIMATED_IMAGE_ENABLE
+extern QP_Module animated_image;
+#endif
 /* notification */
 extern QP_Module noti;
 extern QP_Module ticker;
@@ -49,7 +53,10 @@ static QP_Module *modules[] = {
        &noti,
        &ticker,
        &ticker_status,
-       &idletxt
+       &idletxt,
+#ifdef QP_ANIMATED_IMAGE_ENABLE
+       &animated_image
+#endif
 };
 
 HAPI int init_modules(void *data)
diff --git a/daemon/notifications/animated_image.c b/daemon/notifications/animated_image.c
new file mode 100755 (executable)
index 0000000..41aa2b4
--- /dev/null
@@ -0,0 +1,124 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "animated_image.h"
+
+static int quickpanel_animated_image_init(void *data);
+static int quickpanel_animated_image_fini(void *data);
+static int quickpanel_animated_image_suspend(void *data);
+static int quickpanel_animated_image_resume(void *data);
+
+QP_Module animated_image = {
+       .name = "animated_image",
+       .init = quickpanel_animated_image_init,
+       .fini = quickpanel_animated_image_fini,
+       .suspend = quickpanel_animated_image_suspend,
+       .resume = quickpanel_animated_image_resume,
+       .lang_changed = NULL,
+       .refresh = NULL
+};
+
+static Eina_List *g_animated_image_list = NULL;
+
+static void _animated_image_list_add(Evas_Object *image)
+{
+       retif(image == NULL, ,"invalid parameter");
+
+       g_animated_image_list = eina_list_append(g_animated_image_list, image);
+}
+
+static void _animated_image_play(Eina_Bool on)
+{
+       const Eina_List *l = NULL;
+       const Eina_List *ln = NULL;
+       Evas_Object *entry_obj = NULL;
+
+       retif(g_animated_image_list == NULL, ,"list is empty");
+
+       EINA_LIST_FOREACH_SAFE(g_animated_image_list, l, ln, entry_obj) {
+               if (entry_obj == NULL) continue;
+
+               if (on == EINA_TRUE) {
+                       if (elm_image_animated_play_get(entry_obj) == EINA_FALSE) {
+                               elm_image_animated_play_set(entry_obj, EINA_TRUE);
+                       }
+               } else {
+                       if (elm_image_animated_play_get(entry_obj) == EINA_TRUE) {
+                               elm_image_animated_play_set(entry_obj, EINA_FALSE);
+                       }
+               }
+       }
+}
+
+static void _animated_image_deleted_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       retif(obj == NULL, , "obj is NULL");
+       retif(g_animated_image_list == NULL, , "list is empty");
+
+       g_animated_image_list = eina_list_remove(g_animated_image_list, obj);
+}
+
+HAPI void quickpanel_animated_image_add(Evas_Object *image) {
+       retif(image == NULL, , "image is NULL");
+
+       if (elm_image_animated_available_get(image) == EINA_TRUE) {
+               elm_image_animated_set(image, EINA_TRUE);
+               if (quickpanel_is_suspended() == 0) {
+                       elm_image_animated_play_set(image, EINA_TRUE);
+               } else {
+                       elm_image_animated_play_set(image, EINA_FALSE);
+               }
+               _animated_image_list_add(image);
+               evas_object_event_callback_add(image, EVAS_CALLBACK_DEL, _animated_image_deleted_cb, NULL);
+       }
+}
+
+/*****************************************************************************
+ *
+ * Util functions
+ *
+ *****************************************************************************/
+static int quickpanel_animated_image_init(void *data)
+{
+       return QP_OK;
+}
+
+static int quickpanel_animated_image_fini(void *data)
+{
+       return QP_OK;
+}
+
+static int quickpanel_animated_image_suspend(void *data)
+{
+       struct appdata *ad = data;
+       retif(ad == NULL, QP_FAIL, "Invalid parameter!");
+
+       INFO("animated image going to be suspened");
+       _animated_image_play(EINA_FALSE);
+
+       return QP_OK;
+}
+
+static int quickpanel_animated_image_resume(void *data)
+{
+       struct appdata *ad = data;
+       retif(ad == NULL, QP_FAIL, "Invalid parameter!");
+
+       INFO("animated image going to be resumed");
+       _animated_image_play(EINA_TRUE);
+
+       return QP_OK;
+}
diff --git a/daemon/notifications/animated_image.h b/daemon/notifications/animated_image.h
new file mode 100755 (executable)
index 0000000..c5f2d80
--- /dev/null
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __QUICKPANEL_ANIMATED_IMAGE_H__
+#define __QUICKPANEL_ANIMATED_IMAGE_H__
+
+#include "quickpanel-ui.h"
+#include "common.h"
+
+HAPI void quickpanel_animated_image_add(Evas_Object *image);
+
+#endif
index 74c53a96c291249e35fbc6396a5ceae7aa6e1a47..e9154fb833e29d136a67f0aa6d3b09e121f5dd2d 100755 (executable)
@@ -34,6 +34,9 @@
 #include "noti_section.h"
 #include "noti.h"
 #include "list_util.h"
+#ifdef QP_SERVICE_NOTI_LED_ENABLE
+#include "noti_led.h"
+#endif
 
 #ifndef VCONFKEY_QUICKPANEL_STARTED
 #define VCONFKEY_QUICKPANEL_STARTED "memory/private/"PACKAGE_NAME"/started"
@@ -46,7 +49,6 @@ static noti_node *g_noti_node;
 static Evas_Object *g_noti_section;
 static Evas_Object *g_noti_listbox;
 static Evas_Object *g_noti_gridbox;
-static Eina_List *g_animated_image_list;
 
 static int quickpanel_noti_init(void *data);
 static int quickpanel_noti_fini(void *data);
@@ -288,37 +290,6 @@ static void _quickpanel_noti_item_content_update_cb(void *data,
                _quickpanel_noti_update_progressbar(data, noti);
 }
 
-static void _quickpanel_noti_ani_image_control(Eina_Bool on)
-{
-       const Eina_List *l = NULL;
-       const Eina_List *ln = NULL;
-       Evas_Object *entry_obj = NULL;
-
-       retif(g_animated_image_list == NULL, ,"");
-
-       EINA_LIST_FOREACH_SAFE(g_animated_image_list, l, ln, entry_obj) {
-               if (entry_obj == NULL) continue;
-
-               if (on == EINA_TRUE) {
-                       if (elm_image_animated_play_get(entry_obj) == EINA_FALSE) {
-                               elm_image_animated_play_set(entry_obj, EINA_TRUE);
-                       }
-               } else {
-                       if (elm_image_animated_play_get(entry_obj) == EINA_TRUE) {
-                               elm_image_animated_play_set(entry_obj, EINA_FALSE);
-                       }
-               }
-       }
-}
-
-static void _quickpanel_noti_ani_image_deleted_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
-       retif(obj == NULL, , "obj is NULL");
-       retif(g_animated_image_list == NULL, , "list is empty");
-
-       g_animated_image_list = eina_list_remove(g_animated_image_list, obj);
-}
-
 static void _quickpanel_do_noti_delete(notification_h noti) {
        char *pkgname = NULL;
        char *caller_pkgname = NULL;
@@ -774,6 +745,27 @@ static void _quickpanel_noti_delete_volatil_data(void)
        notification_update(NULL);
 }
 
+inline static void _print_debuginfo_from_noti(notification_h noti) {
+       retif(noti == NULL, , "Invalid parameter!");
+
+       char *noti_pkgname = NULL;
+       char *noti_launch_pkgname = NULL;
+       notification_type_e noti_type = NOTIFICATION_TYPE_NONE;
+
+       notification_get_pkgname(noti, &noti_pkgname);
+       notification_get_application(noti, &noti_launch_pkgname);
+       notification_get_type(noti, &noti_type);
+
+       if (noti_pkgname != NULL) {
+               ERR("pkg:%s", noti_pkgname);
+       }
+       if (noti_launch_pkgname != NULL) {
+               ERR("pkgl:%s", noti_launch_pkgname);
+       }
+
+       ERR("type:%d", noti_type);
+}
+
 static void _quickpanel_noti_detailed_changed_cb(void *data, notification_type_e type, notification_op *op_list, int num_op)
 {
        int i = 0;
@@ -889,15 +881,15 @@ static void _quickpanel_noti_detailed_changed_cb(void *data, notification_type_e
 
        if ((noti_count = noti_node_get_item_count(g_noti_node, NOTIFICATION_TYPE_NOTI))
                        <= 0) {
-               DBG("");
                _quickpanel_noti_clear_notilist();
                _quickpanel_noti_section_remove();
        } else {
                if (g_noti_section != NULL) {
-                       DBG("");
                        noti_section_update(g_noti_section, noti_count);
                }
        }
+
+       ERR("current noti count:%d", noti_count);
 }
 
 static void _quickpanel_noti_update_desktop_cb(keynode_t *node, void *data)
@@ -1041,8 +1033,7 @@ static int _quickpanel_noti_check_first_start(void)
        int ret = 0;
 
        ret = vconf_get_bool(VCONFKEY_QUICKPANEL_STARTED, &status);
-       if (ret) {
-               INFO("fail to get %s", VCONFKEY_QUICKPANEL_STARTED);
+       if (ret == 0 && status == 0) {
                /* reboot */
                ret = vconf_set_bool(VCONFKEY_QUICKPANEL_STARTED, 1);
                INFO("set : %s, result : %d", VCONFKEY_QUICKPANEL_STARTED, ret);
@@ -1135,6 +1126,11 @@ static int quickpanel_noti_fini(void *data)
        struct appdata *ad = data;
        retif(ad == NULL, QP_FAIL, "Invalid parameter!");
 
+#ifdef QP_SERVICE_NOTI_LED_ENABLE
+       quickpanel_service_noti_fini(ad);
+       quickpanel_service_noti_led_off(NULL);
+#endif
+
        /* Unregister event handler */
        _quickpanel_noti_unregister_event_handler(data);
 
@@ -1154,10 +1150,6 @@ static int quickpanel_noti_suspend(void *data)
        struct appdata *ad = data;
        retif(ad == NULL, QP_FAIL, "Invalid parameter!");
 
-       if (ad->list) {
-               _quickpanel_noti_ani_image_control(EINA_FALSE);
-       }
-
        return QP_OK;
 }
 
@@ -1168,8 +1160,6 @@ static int quickpanel_noti_resume(void *data)
 
        if (ad->list) {
                listbox_update(g_noti_listbox);
-
-               _quickpanel_noti_ani_image_control(EINA_TRUE);
        }
 
        return QP_OK;
index 864a360f085b1330076428ace1b1f09f71e09231..ecc2983a2862aea7e18b20909750dcecbcb499b1 100755 (executable)
@@ -25,6 +25,9 @@
 #include "noti_node.h"
 #include "noti.h"
 #include "noti_util.h"
+#ifdef QP_ANIMATED_IMAGE_ENABLE
+#include "animated_image.h"
+#endif
 
 #define IMAGE_NO_RESIZE 0
 #define IMAGE_RESIZE 1
@@ -36,7 +39,7 @@ static void _noti_box_call_item_cb(Evas_Object *noti_box, const char *emission)
        retif(noti_box == NULL, , "invalid parameter");
        retif(emission == NULL, , "invalid parameter");
 
-       DBG("%s", emission);
+       INFO("recevied emission:%s", emission);
 
        void (*cb)(void *data, Evas_Object *obj) = NULL;
        noti_box_h *data = NULL;
@@ -81,7 +84,6 @@ HAPI Evas_Object *noti_box_create(Evas_Object *parent, notification_ly_type_e la
 
        box = elm_layout_add(parent);
 
-       DBG("");
        if (layout == NOTIFICATION_LY_NOTI_EVENT_SINGLE
                        || layout == NOTIFICATION_LY_NOTI_EVENT_MULTIPLE) {
                elm_layout_file_set(box, DEFAULT_EDJ,
@@ -102,7 +104,7 @@ HAPI Evas_Object *noti_box_create(Evas_Object *parent, notification_ly_type_e la
        box_h->status = STATE_NORMAL;
        box_h->data = NULL;
        evas_object_data_set(box, E_DATA_NOTI_BOX_H, box_h);
-       DBG("created box:%p", box);
+       INFO("created notibox:%p", box);
 
        //add event
        elm_object_signal_callback_add(box,
@@ -131,17 +133,16 @@ HAPI Evas_Object *noti_box_create(Evas_Object *parent, notification_ly_type_e la
        return box;
 }
 
-static void _set_image(Evas_Object *noti_box, notification_h noti,
+static Evas_Object *_set_image(Evas_Object *noti_box, notification_h noti,
                notification_image_type_e image_type, const char *part, int is_stretch) {
 
-       DBG("");
-
+       Evas_Object *content = NULL;
        char *image = NULL;
        int w = 0, h =0;
        int part_w = 0, part_h =0;
        double scale = 1.0;
 
-       retif(part == NULL, ,"invalid parameter");
+       retif(part == NULL, NULL,"invalid parameter");
 
        struct appdata *ad = quickpanel_get_app_data();
        if (ad != NULL) {
@@ -151,9 +152,8 @@ static void _set_image(Evas_Object *noti_box, notification_h noti,
        notification_get_image(noti, image_type, &image);
 
        if (image != NULL) {
-               Evas_Object *content = NULL;
                content = elm_image_add(noti_box);
-               elm_image_file_set(content, image, NULL);
+               elm_image_file_set(content, image, image);
                if (is_stretch == IMAGE_RESIZE) {
                        elm_image_aspect_fixed_set(content, EINA_FALSE);
                        elm_image_resizable_set(content, EINA_TRUE, EINA_TRUE);
@@ -169,8 +169,6 @@ static void _set_image(Evas_Object *noti_box, notification_h noti,
                                part_h = scale * BOX_ICON_SUB_SIZE_H;
                        }
 
-                       DBG("%d %d --- %d %d", w, h, part_w, part_h);
-
                        if (part_w != 0 && part_h != 0) {
                                if (w > part_w || h > part_h) {
                                        elm_image_aspect_fixed_set(content, EINA_FALSE);
@@ -188,6 +186,8 @@ static void _set_image(Evas_Object *noti_box, notification_h noti,
                elm_object_part_content_set(noti_box, part, content);
                elm_object_signal_emit(noti_box, "object.show", part);
        }
+
+       return content;
 }
 
 static int _set_text(Evas_Object *noti_box, notification_h noti,
@@ -237,8 +237,6 @@ static int _set_text(Evas_Object *noti_box, notification_h noti,
 
 static int _check_text_null(notification_h noti,
                notification_text_type_e text_type) {
-       DBG("");
-
        char *text = NULL;
 
        notification_get_text(noti, text_type, &text);
@@ -252,8 +250,6 @@ static int _check_text_null(notification_h noti,
 
 static int _check_image_null(notification_h noti,
                notification_image_type_e image_type) {
-       DBG("");
-
        char *image = NULL;
 
        notification_get_image(noti, image_type, &image);
@@ -271,13 +267,12 @@ static int _check_image_null(notification_h noti,
 
 static void _noti_box_set_layout_single(Evas_Object *noti_box,
                notification_h noti) {
-       DBG("");
-
        char *dir = NULL;
        char *domain = NULL;
        int is_need_effect = 0;
        int is_contents_only = 0;
        int is_sub_info_1_only = 0;
+       Evas_Object *icon = NULL;
 
        if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) {
                is_need_effect = 1;
@@ -336,11 +331,17 @@ static void _noti_box_set_layout_single(Evas_Object *noti_box,
        if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) {
                _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_ICON,
                                "object.icon.sub", IMAGE_NO_RESIZE);
-               _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL,
+               icon = _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL,
                                "object.icon", IMAGE_NO_RESIZE);
+#ifdef QP_ANIMATED_IMAGE_ENABLE
+               quickpanel_animated_image_add(icon);
+#endif
        } else {
-               _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_ICON,
+               icon = _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_ICON,
                                "object.icon", IMAGE_NO_RESIZE);
+#ifdef QP_ANIMATED_IMAGE_ENABLE
+               quickpanel_animated_image_add(icon);
+#endif
                _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB,
                                "object.icon.sub", IMAGE_NO_RESIZE);
        }
@@ -362,14 +363,13 @@ static void _noti_box_set_layout_single(Evas_Object *noti_box,
 
 static void _noti_box_set_layout_multi(Evas_Object *noti_box,
                notification_h noti) {
-       DBG("");
-
        int length = 0;
        char *dir = NULL;
        char *domain = NULL;
        char buf[128] = {0,};
        int is_need_effect = 0;
        int is_sub_info_1_only = 0;
+       Evas_Object *icon = NULL;
 
        if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) {
                is_need_effect = 1;
@@ -434,11 +434,17 @@ static void _noti_box_set_layout_multi(Evas_Object *noti_box,
        if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) {
                _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_ICON,
                                "object.icon.sub", IMAGE_NO_RESIZE);
-               _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL,
+               icon = _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL,
                                "object.icon", IMAGE_NO_RESIZE);
+#ifdef QP_ANIMATED_IMAGE_ENABLE
+               quickpanel_animated_image_add(icon);
+#endif
        } else {
-               _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_ICON,
+               icon = _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_ICON,
                                "object.icon", IMAGE_NO_RESIZE);
+#ifdef QP_ANIMATED_IMAGE_ENABLE
+               quickpanel_animated_image_add(icon);
+#endif
                _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB,
                                "object.icon.sub", IMAGE_NO_RESIZE);
        }
@@ -459,11 +465,10 @@ static void _noti_box_set_layout_multi(Evas_Object *noti_box,
 
 static void _noti_box_set_layout_thumbnail(Evas_Object *noti_box,
                notification_h noti) {
-       DBG("");
-
        char *dir = NULL;
        char *domain = NULL;
        int is_need_effect = 0;
+       Evas_Object *icon = NULL;
 
        if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0)
                is_need_effect = 1;
@@ -482,11 +487,17 @@ static void _noti_box_set_layout_thumbnail(Evas_Object *noti_box,
        if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) {
                _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_ICON,
                                "object.icon.sub", IMAGE_NO_RESIZE);
-               _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL,
+               icon = _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL,
                                "object.icon", IMAGE_NO_RESIZE);
+#ifdef QP_ANIMATED_IMAGE_ENABLE
+               quickpanel_animated_image_add(icon);
+#endif
        } else {
-               _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_ICON,
+               icon = _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_ICON,
                                "object.icon", IMAGE_NO_RESIZE);
+#ifdef QP_ANIMATED_IMAGE_ENABLE
+               quickpanel_animated_image_add(icon);
+#endif
                _set_image(noti_box, noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB,
                                "object.icon.sub", IMAGE_NO_RESIZE);
        }
@@ -520,7 +531,7 @@ static void _noti_box_set_layout_thumbnail(Evas_Object *noti_box,
 static void _noti_box_set_layout(Evas_Object *noti_box, notification_h noti,
                notification_ly_type_e layout) {
 
-       DBG("layout:%d", layout);
+       INFO("layout:%d", layout);
 
        switch (layout) {
                case NOTIFICATION_LY_NOTI_EVENT_SINGLE:
@@ -536,7 +547,7 @@ static void _noti_box_set_layout(Evas_Object *noti_box, notification_h noti,
                case NOTIFICATION_LY_ONGOING_EVENT:
                case NOTIFICATION_LY_ONGOING_PROGRESS:
                case NOTIFICATION_LY_MAX:
-                       DBG("not supported layout type:%d", layout);
+                       ERR("not supported layout type:%d", layout);
                        break;
        }
 }
@@ -554,6 +565,8 @@ HAPI void noti_box_remove(Evas_Object *noti_box) {
        evas_object_data_del(noti_box, E_DATA_CB_SELECTED_ITEM);
        evas_object_data_del(noti_box, E_DATA_CB_DELETED_ITEM);
 
+       INFO("removed notibox:%p", noti_box);
+
        evas_object_del(noti_box);
 }
 
index c44f55bf0935ef1006f64268bbd82f0be3da37e4..d05fc89070e692195d372bd78c9a286e46956388 100755 (executable)
@@ -38,8 +38,8 @@ typedef struct _gridbox_info_layout {
        int padding_between;
        int child_w;
        int child_h;
-       int limit_w;
        double scale;
+       int limit_w;
 } gridbox_info_layout;
 
 typedef struct _gridbox_info_animation {
@@ -115,7 +115,7 @@ static void _gridbox_layout(Evas_Object *o, Evas_Object_Box_Data *priv,
 
        info_layout->child_w = child_w;
 
-       DBG("grid layout children:%d %d", info_layout->child_w, info_layout->child_h);
+       DBG("grid layout children pos:%d %d", info_layout->child_w, info_layout->child_h);
 
        int order_children = 1;
        EINA_LIST_FOREACH_SAFE(priv->children, l, l_next, opt)
index 94ce2813dc4f93b2c119ba1aff353d0c6c89e0d1..dec9dd7246ed494f562f5a6ee4b1bc3aff4a117b 100755 (executable)
 #include "noti_node.h"
 #include "noti.h"
 #include "noti_util.h"
+#ifdef QP_ANIMATED_IMAGE_ENABLE
+#include "animated_image.h"
+#endif
 
 #define QP_DEFAULT_ICON        ICONDIR"/quickpanel_icon_default.png"
 
-static void _set_image(Evas_Object *noti_list_item, notification_h noti,
-               notification_image_type_e image_type, const char *part, int is_stretch) {
-       char *image = NULL;
-
-       DBG("");
-
-       retif(noti_list_item == NULL, , "Invalid parameter!");
-       retif(noti == NULL, , "Invalid parameter!");
-       retif(part == NULL, , "Invalid parameter!");
-
-       notification_get_image(noti, image_type, &image);
-
-       if (image != NULL) {
-               Evas_Object *content = NULL;
-               content = elm_image_add(noti_list_item);
-               elm_image_file_set(content, image, NULL);
-               if (is_stretch == 1) {
-                       elm_image_aspect_fixed_set(content, EINA_FALSE);
-                       elm_image_resizable_set(content, EINA_TRUE, EINA_TRUE);
-               }
-
-               elm_object_part_content_set(noti_list_item, part, content);
-               elm_object_signal_emit(noti_list_item, "object.show", part);
-       }
-}
-
-static int _set_text(Evas_Object *noti_list_item, notification_h noti,
-               notification_text_type_e text_type, const char *part, int is_need_effect) {
-       char buf[128] = { 0, };
-       char *text = NULL;
-       time_t time = 0;
-
-       retif(noti_list_item == NULL, 0, "Invalid parameter!");
-       retif(noti == NULL, 0, "Invalid parameter!");
-       retif(part == NULL, 0, "Invalid parameter!");
-
-       if (notification_get_time_from_text(noti, text_type, &time) == NOTIFICATION_ERROR_NONE) {
-               if ((int)time > 0) {
-                       quickpanel_noti_get_time(time, buf, sizeof(buf));
-                       text = buf;
-               }
-       } else {
-               notification_get_text(noti, text_type, &text);
-       }
-
-       if (text != NULL) {
-               if (strlen(text) > 0) {
-                       elm_object_part_text_set(noti_list_item, part, text);
-                       if (is_need_effect == 1)
-                               elm_object_signal_emit(noti_list_item, "object.show.effect", part);
-                       else
-                               elm_object_signal_emit(noti_list_item, "object.show", part);
-               }
-
-               return strlen(text);
-       }
-
-       return 0;
-}
-
-static int _check_text_null(notification_h noti,
-               notification_text_type_e text_type) {
-       char *text = NULL;
-
-       retif(noti == NULL, 0, "Invalid parameter!");
-
-       notification_get_text(noti, text_type, &text);
-
-       if (text == NULL) {
-               return 1;
-       }
-
-       return 0;
-}
-
-static int _check_image_null(notification_h noti,
-               notification_image_type_e image_type) {
-       char *image = NULL;
-
-       retif(noti == NULL, 0, "Invalid parameter!");
-
-       notification_get_image(noti, image_type, &image);
-
-       if (image == NULL) {
-               return 1;
-       }
-
-       if (strncasecmp(image, "(null)", strlen(image)) == 0) {
-               return 1;
-       }
-
-       return 0;
-}
 
 static Evas_Object *_check_duplicated_progress_loading(Evas_Object *obj, const char *part, const char *style_name) {
        Evas_Object *old_content = NULL;
@@ -354,8 +264,11 @@ static void _noti_list_item_ongoing_set_icon(Evas_Object *noti_list_item)
                if (old_ic == NULL) {
                        ic = elm_image_add(noti_list_item);
                        elm_image_resizable_set(ic, EINA_FALSE, EINA_TRUE);
-                       elm_image_file_set(ic, main_icon_path, "elm.swallow.thumbnail");
+                       elm_image_file_set(ic, main_icon_path, main_icon_path);
                        elm_object_part_content_set(noti_list_item, "elm.swallow.thumbnail", ic);
+#ifdef QP_ANIMATED_IMAGE_ENABLE
+                       quickpanel_animated_image_add(ic);
+#endif
                }
        }
 
@@ -366,7 +279,7 @@ static void _noti_list_item_ongoing_set_icon(Evas_Object *noti_list_item)
                if (old_ic == NULL) {
                        ic = elm_image_add(noti_list_item);
                        elm_image_resizable_set(ic, EINA_FALSE, EINA_TRUE);
-                       elm_image_file_set(ic, sub_icon_path, "elm.swallow.icon");
+                       elm_image_file_set(ic, sub_icon_path, sub_icon_path);
                        elm_object_part_content_set(noti_list_item, "elm.swallow.icon", ic);
                }
        }
@@ -378,8 +291,11 @@ static void _noti_list_item_ongoing_set_icon(Evas_Object *noti_list_item)
                if (old_ic == NULL) {
                        ic = elm_image_add(noti_list_item);
                        elm_image_resizable_set(ic, EINA_FALSE, EINA_TRUE);
-                       elm_image_file_set(ic, QP_DEFAULT_ICON, "elm.swallow.thumbnail");
+                       elm_image_file_set(ic, QP_DEFAULT_ICON, QP_DEFAULT_ICON);
                        elm_object_part_content_set(noti_list_item, "elm.swallow.thumbnail", ic);
+#ifdef QP_ANIMATED_IMAGE_ENABLE
+                       quickpanel_animated_image_add(ic);
+#endif
                }
        }
 }
index f345475e537302869822d9a4e46af16d40af389c..78f0b6a8b03bb46a9957e319a9645fd3d113379b 100755 (executable)
@@ -284,13 +284,6 @@ HAPI void listbox_remove_and_add_item(Evas_Object *listbox, Evas_Object *item
        elm_transit_go(transit);
 }
 
-static void listbox_finalize_rotation_cb(void *data) {
-       retif(data == NULL, , "invalid parameter");
-       Evas_Object *listbox = data;
-
-       elm_box_recalculate(listbox);
-}
-
 HAPI void listbox_rotation(Evas_Object *listbox, int angle) {
        const char *signal = NULL;
 
index 913153b15a2906768ecb0d7bcd7452b7b48f72d2..df38e545518db3ac5bd1eddf281b404e2b6fb92e 100755 (executable)
@@ -29,7 +29,7 @@ static void _noti_section_button_clicked_cb(void *data, Evas_Object * obj,
 
        noti_err = notifiation_clear(NOTIFICATION_TYPE_NOTI);
 
-       DBG("Clear Clicked : noti_err(%d)", noti_err);
+       DBG("notiifcations going to be cleared: noti_err(%d)", noti_err);
 
        quickpanel_play_feedback();
 }
@@ -39,7 +39,6 @@ static void _noti_section_set_button(Evas_Object *noti_section)
        Evas_Object *eo = NULL;
        Evas_Object *old_eo = NULL;
 
-       DBG("");
        retif(noti_section == NULL, , "invalid parameter");
 
        old_eo = elm_object_part_content_get(noti_section, "elm.swallow.icon");
@@ -64,7 +63,6 @@ static void _noti_section_set_text(Evas_Object *noti_section, int count)
        char format[256] = {0,};
        const char *old_text = NULL;
 
-       DBG("");
        retif(noti_section == NULL, , "invalid parameter");
 
        snprintf(format, sizeof(format), "%s %%d", _("IDS_QP_BODY_NOTIFICATIONS_ABB2"));
@@ -84,7 +82,6 @@ HAPI Evas_Object *noti_section_create(Evas_Object *parent) {
        Eina_Bool ret = EINA_FALSE;
        Evas_Object *section = NULL;
 
-       DBG("");
        retif(parent == NULL, NULL, "invalid parameter");
 
        section = elm_layout_add(parent);
index e90fb73c304e28f12819692409be9b79e0b249b7..c4ade7f99bbd0a3df275944ec176666e5543cf4c 100755 (executable)
@@ -45,8 +45,6 @@ HAPI int quickpanel_noti_get_event_count_by_pkgname(const char *pkgname) {
 
        retif(pkgname == NULL, 0, "Invalid parameter!");
 
-       DBG("%s", pkgname);
-
        notification_get_detail_list(pkgname, NOTIFICATION_GROUP_ID_NONE, NOTIFICATION_PRIV_ID_NONE, -1, &noti_list);
        if (noti_list != NULL) {
                noti = notification_list_get_data(noti_list);
index ef2b406e3901fd813b6aa119508e7def7960342a..c873185c9339e3caf6e948408b651a389d250c6c 100755 (executable)
@@ -65,6 +65,19 @@ QP_Module ticker = {
        .refresh = quickpanel_ticker_reflesh
 };
 
+static int _is_lockscreen_launched(void) {
+       int ret = 0;
+       int is_lock_launched = VCONFKEY_IDLE_UNLOCK;
+
+       if ((ret = vconf_get_int(VCONFKEY_IDLE_LOCK_STATE, &is_lock_launched)) == 0) {
+               if (ret == 0 && is_lock_launched == VCONFKEY_IDLE_LOCK) {
+                       return 1;
+               }
+       }
+
+       return 0;
+}
+
 /*****************************************************************************
  *
  * (Static) Util functions
@@ -83,7 +96,6 @@ static void _quickpanel_ticker_clicked_cb(void *data, Evas_Object *obj,
                        flag_delete = 0;
        notification_type_e type = NOTIFICATION_TYPE_NONE;
        notification_h noti = NULL;
-       int is_lock_launched = VCONFKEY_IDLE_UNLOCK;
        int *is_ticker_executed = NULL;
 
        noti = data;
@@ -91,10 +103,8 @@ static void _quickpanel_ticker_clicked_cb(void *data, Evas_Object *obj,
 
        quickpanel_play_feedback();
 
-       if (vconf_get_int(VCONFKEY_IDLE_LOCK_STATE, &is_lock_launched) == 0) {
-               if (is_lock_launched == VCONFKEY_IDLE_LOCK) {
-                       return ;
-               }
+       if (_is_lockscreen_launched()) {
+               return ;
        }
 
        notification_get_pkgname(noti, &caller_pkgname);
@@ -184,82 +194,6 @@ static void _quickpanel_ticker_clicked_cb(void *data, Evas_Object *obj,
        }
 }
 
-static int _quickpanel_ticker_check_ticker_off(notification_h noti)
-{
-       char *pkgname = NULL;
-       int ret = 0;
-       int boolval = 0;
-
-       notification_get_application(noti, &pkgname);
-
-       if (pkgname == NULL)
-               notification_get_pkgname(noti, &pkgname);
-
-       if (pkgname == NULL)
-               return 1;       /* Ticker is not displaying. */
-
-       if (!strcmp(pkgname, VENDOR".message")) {
-               ret = vconf_get_bool(
-                       VCONFKEY_SETAPPL_STATE_TICKER_NOTI_MESSAGES_BOOL,
-                       &boolval);
-               if (ret == 0 && boolval == 0)
-                       return 1;
-       } else if (!strcmp(pkgname, VENDOR".email")) {
-               ret = vconf_get_bool(
-                       VCONFKEY_SETAPPL_STATE_TICKER_NOTI_EMAIL_BOOL,
-                       &boolval);
-               if (ret == 0 && boolval == 0)
-                       return 1;
-       } else if (!strcmp(pkgname, VENDOR".ims-syspopup")) {
-               ret = vconf_get_bool(
-                               VCONFKEY_SETAPPL_STATE_TICKER_NOTI_IM_BOOL,
-                       &boolval);
-               if (ret == 0 && boolval == 0)
-                       return 1;
-       }
-
-       /* Displaying ticker! */
-       return 0;
-}
-
-static int _quickpanel_ticker_check_displaying_contents_off(notification_h noti)
-{
-       char *pkgname = NULL;
-       int ret = 0;
-       int boolval = 0;
-
-       notification_get_application(noti, &pkgname);
-
-       if (pkgname == NULL)
-               notification_get_pkgname(noti, &pkgname);
-
-       if (pkgname == NULL)
-               return 0;       /* Ticker is not displaying. */
-
-       if (!strcmp(pkgname, VENDOR".message")) {
-               ret = vconf_get_bool(
-                       VCONFKEY_TICKER_NOTI_DISPLAY_CONTENT_MESSASGES,
-                       &boolval);
-               if (ret == 0 && boolval == 0)
-                       return 1;
-       } else if (!strcmp(pkgname, VENDOR".email")) {
-               ret = vconf_get_bool(
-                       VCONFKEY_TICKER_NOTI_DISPLAY_CONTENT_EMAIL,
-                       &boolval);
-               if (ret == 0 && boolval == 0)
-                       return 1;
-       } else if (!strcmp(pkgname, VENDOR".ims-syspopup")) {
-               ret = vconf_get_bool(
-                       VCONFKEY_TICKER_NOTI_DISPLAY_CONTENT_IM,
-                       &boolval);
-               if (ret == 0 && boolval == 0)
-                       return 1;
-       }
-
-       /* Displaying ticker! */
-       return 0;
-}
-
 static inline void __ticker_only_noti_del(notification_h noti)
 {
        int applist = NOTIFICATION_DISPLAY_APP_ALL;
@@ -292,7 +226,7 @@ static void _quickpanel_ticker_hide(void *data)
 
 static Eina_Bool _quickpanel_ticker_timeout_cb(void *data)
 {
-       DBG("");
+       INFO("ticker dismissed by timeout callback");
 
        g_timer = NULL;
 
@@ -305,7 +239,8 @@ static void _quickpanel_ticker_detail_hide_cb(void *data, Evas *e,
                                        Evas_Object *obj,
                                        void *event_info)
 {
-       DBG("");
+       INFO("ticker dismissed by touching a hide button");
+
        notification_h noti = (notification_h) data;
 
        if (g_timer) {
@@ -329,8 +264,6 @@ static void _quickpanel_ticker_detail_show_cb(void *data, Evas *e,
 static void _quickpanel_ticker_button_clicked_cb(void *data, Evas_Object *obj,
                                        void *event_info)
 {
-       DBG("");
-
        if (g_timer) {
                ecore_timer_del(g_timer);
                g_timer = NULL;
@@ -343,16 +276,12 @@ static Evas_Object *_quickpanel_ticker_create_button(Evas_Object *parent,
                                                notification_h noti)
 {
        Evas_Object *button = NULL;
-       int ret = 0;
-       int val = 0;
 
        retif(noti == NULL || parent == NULL, NULL, "Invalid parameter!");
 
-       /* Check idle lock state */
-       ret = vconf_get_int(VCONFKEY_IDLE_LOCK_STATE, &val);
-       /* If Lock state, button is diabled */
-       if (ret != 0 || val == VCONFKEY_IDLE_LOCK)
+       if (_is_lockscreen_launched()) {
                return NULL;
+       }
 
        button = elm_button_add(parent);
        elm_object_style_set(button, "tickernoti");
@@ -420,13 +349,7 @@ static char *_quickpanel_ticker_get_label_layout_default(notification_h noti)
                bindtextdomain(domain, dir);
 
        title_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_TITLE);
-
-       if (_quickpanel_ticker_check_displaying_contents_off(noti) == 1) {
-               content_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT_FOR_DISPLAY_OPTION_IS_OFF);
-       }
-       else {
-               content_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT);
-       }
+       content_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT);
 
        event_count_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT);
 
@@ -438,10 +361,7 @@ static char *_quickpanel_ticker_get_label_layout_default(notification_h noti)
                }
        } else {
                if (title_utf8 && content_utf8) {
-                       if (_quickpanel_ticker_check_displaying_contents_off(noti) == 1)
-                               len = snprintf(buf, sizeof(buf),FORMAT_2LINE, title_utf8, content_utf8);
-                       else
-                               len = snprintf(buf, sizeof(buf),FORMAT_2LINE_MULTI, title_utf8, event_count_utf8, content_utf8);
+                       len = snprintf(buf, sizeof(buf),FORMAT_2LINE_MULTI, title_utf8, event_count_utf8, content_utf8);
                } else if (title_utf8) {
                        len = snprintf(buf, sizeof(buf),FORMAT_1LINE, title_utf8);
                }
@@ -480,13 +400,7 @@ static char *_quickpanel_ticker_get_label_layout_single(notification_h noti)
                bindtextdomain(domain, dir);
 
        title_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_TITLE);
-
-       if (_quickpanel_ticker_check_displaying_contents_off(noti) == 1) {
-               content_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT_FOR_DISPLAY_OPTION_IS_OFF);
-       }
-       else {
-               content_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT);
-       }
+       content_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT);
 
        info_1_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_INFO_1);
        info_sub_1_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1);
@@ -538,9 +452,8 @@ static char *_quickpanel_ticker_get_label(notification_h noti)
 
        notification_get_layout(noti, &layout);
 
-       if (_quickpanel_ticker_check_displaying_contents_off(noti) == 1) {
-               result = _quickpanel_ticker_get_label_layout_default(noti);
-       } else if (layout == NOTIFICATION_LY_NOTI_EVENT_SINGLE) {
+
+       if (layout == NOTIFICATION_LY_NOTI_EVENT_SINGLE) {
                result = _quickpanel_ticker_get_label_layout_single(noti);
        } else {
                result = _quickpanel_ticker_get_label_layout_default(noti);
@@ -745,7 +658,7 @@ static void _quickpanel_noti_media_feedback(notification_h noti) {
 #endif
 
                notification_get_sound(noti, &nsound_type, &nsound_path);
-               DBG("Sound : %d, %s", nsound_type, nsound_path);
+               DBG("notification sound: %d, %s", nsound_type, nsound_path);
 
                switch (nsound_type) {
                        case NOTIFICATION_SOUND_TYPE_USER_DATA:
@@ -777,7 +690,7 @@ static void _quickpanel_noti_media_feedback(notification_h noti) {
        const char *nvibration_path = NULL;
 
        notification_get_vibration(noti, &nvibration_type, &nvibration_path);
-       DBG("Vibration : %d, %s", nvibration_type, nvibration_path);
+       DBG("notification vibration: %d, %s", nvibration_type, nvibration_path);
        switch (nvibration_type) {
                case NOTIFICATION_VIBRATION_TYPE_USER_DATA:
                case    NOTIFICATION_VIBRATION_TYPE_DEFAULT:
@@ -794,7 +707,6 @@ static void _quickpanel_ticker_noti_detailed_changed_cb(void *data, notification
        notification_h noti = NULL;
        int flags = 0;
        int applist = NOTIFICATION_DISPLAY_APP_ALL;
-       int ret = 0;
        int op_type = 0;
        int priv_id = 0;
 
@@ -802,6 +714,11 @@ static void _quickpanel_ticker_noti_detailed_changed_cb(void *data, notification
 
        retif(op_list == NULL, ,"op_list is NULL");
 
+       if (_is_lockscreen_launched()) {
+               ERR("lockscreen launched, creating a ticker canceled");
+               return;
+       }
+
        if (num_op == 1) {
                notification_op_get_data(op_list, NOTIFICATION_OP_DATA_TYPE, &op_type);
                notification_op_get_data(op_list, NOTIFICATION_OP_DATA_PRIV_ID, &priv_id);
@@ -822,27 +739,17 @@ static void _quickpanel_ticker_noti_detailed_changed_cb(void *data, notification
        retif(noti == NULL, ,"noti is NULL");
 
        if (op_type == NOTIFICATION_OP_INSERT || op_type == NOTIFICATION_OP_UPDATE) {
+               INFO("playing notification sound");
                _quickpanel_noti_media_feedback(noti);
        }
 
        notification_get_display_applist(noti, &applist);
        if (!(applist & NOTIFICATION_DISPLAY_APP_TICKER)) {
-               DBG("No Ticker Msg");
+               INFO("displaying ticker option is off");
                notification_free(noti);
                return ;
        }
 
-       /* Check setting's event notification */
-       ret = _quickpanel_ticker_check_ticker_off(noti);
-       if (ret == 1) {
-               INFO("Disable tickernoti ret : %d", ret);
-               /* delete temporary here only ticker noti display item */
-               __ticker_only_noti_del(noti);
-               notification_free(noti);
-
-               return;
-       }
-
        /* Skip if previous ticker is still shown */
        if (g_ticker != NULL) {
                _quickpanel_ticker_hide(NULL);
index 47b138e46cbaa309c62a0e4b92bc7a10d9b1356e..75c42fba5a2dcad3b231932451abbcbf21ac1d66 100755 (executable)
@@ -88,7 +88,7 @@ HAPI int quickpanel_launch_app(char *app_id, void *data)
 
        ret = service_create(&service);
        if (ret != SERVICE_ERROR_NONE) {
-               DBG("service_create() return error : %d", ret);
+               ERR("service_create() return error : %d", ret);
                return ret;
        }
        retif(service == NULL, SERVICE_ERROR_INVALID_PARAMETER, "fail to create service handle!");
@@ -106,7 +106,7 @@ HAPI int quickpanel_launch_app(char *app_id, void *data)
 
        ret = service_send_launch_request(service, NULL, NULL);
        if (ret != SERVICE_ERROR_NONE) {
-               DBG("service_send_launch_request() is failed : %d", ret);
+               ERR("service_send_launch_request() is failed : %d", ret);
                service_destroy(service);
                return ret;
        }
@@ -302,12 +302,12 @@ static Eina_Bool quickpanel_ui_client_message_cb(void *data, int type,
 #if QP_ENABLE_HIDING_INDICATOR
                                        elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_SHOW);
 #endif
-                                       DBG("quickpanel open start");
+                                       INFO("quickpanel going to be opened");
                                }
                        }
                        if (ev->data.l[0] == 0) {
                                if (ad->is_opened == 0) {
-                                       DBG("quickpanel closed");
+                                       INFO("quickpanel is closed");
                                        ad->is_opened = 1;
                                        qp_opened_modules(data);
                                        quickpanel_player_stop();
@@ -320,7 +320,7 @@ static Eina_Bool quickpanel_ui_client_message_cb(void *data, int type,
 
 static void _quickpanel_signal_handler(int signum, siginfo_t *info, void *unused)
 {
-       DBG("Terminated...");
+       ERR("quickpanel going to be terminated");
        app_efl_exit();
 }
 
@@ -333,7 +333,12 @@ static Evas_Object *_quickpanel_ui_window_add(const char *name, int prio)
 
        if (eo != NULL) {
                elm_win_alpha_set(eo, EINA_TRUE);
+#if QP_ENABLE_HIDING_INDICATOR
+               elm_win_indicator_mode_set(eo, ELM_WIN_INDICATOR_HIDE);
+#else
                elm_win_indicator_mode_set(eo, ELM_WIN_INDICATOR_SHOW);
+#endif
+
                elm_win_title_set(eo, name);
                elm_win_borderless_set(eo, EINA_TRUE);
                elm_win_autodel_set(eo, EINA_TRUE);
@@ -351,12 +356,12 @@ static Evas_Object *_quickpanel_ui_window_add(const char *name, int prio)
        return eo;
 }
 
+#ifdef TBD
 static void _quickpanel_add_debugging_bar(Evas_Object *list)
 {
        Eina_Bool ret = EINA_FALSE;
        Evas_Object *bar = elm_layout_add(list);
 
-       DBG("");
        ret = elm_layout_file_set(bar, DEFAULT_EDJ,
                        "quickpanel/seperator/default");
 
@@ -371,6 +376,7 @@ static void _quickpanel_add_debugging_bar(Evas_Object *list)
                evas_object_show(bar);
        }
 }
+#endif
 
 HAPI Evas_Object *quickpanel_ui_load_edj(Evas_Object * parent, const char *file,
                                            const char *group, int is_just_load)
@@ -494,7 +500,6 @@ static void _quickpanel_ui_set_indicator_cover(void *data)
        retif(data == NULL, , "data is NULL");
        struct appdata *ad = data;
 
-       int x_1 = 0, y_1 = 0;
        int x_2 = 0, y_2 = 0;
        int angle = ad->angle;
 
@@ -503,42 +508,23 @@ static void _quickpanel_ui_set_indicator_cover(void *data)
 
        switch (angle) {
                case 0:
-                       x_1 = 0;
-                       y_1 = 0;
                        x_2 = ad->win_width - width;
                        y_2 = 0;
                        break;
                case 90:
-                       x_1 = 0;
-                       y_1 = 0;
                        x_2 = ad->win_height - width;
                        y_2 = 0;
                        break;
                case 180:
-                       x_1 = 0;
-                       y_1 = 0;
                        x_2 = ad->win_width - width;
                        y_2 = 0;
                        break;
                case 270:
-                       x_1 = 0;
-                       y_1 = 0;
                        x_2 = ad->win_height - width;
                        y_2 = 0;
                        break;
        }
 
-       if (ad->cover_indicator_left == NULL) {
-               Evas_Object *bg = evas_object_rectangle_add(ad->evas);
-               evas_object_color_set(bg, 52, 52, 50, 255); // opaque white background
-               evas_object_repeat_events_set(bg, EINA_FALSE);
-               evas_object_resize(bg, width, height); // covers full canvas
-               evas_object_move(bg, x_1, y_1);
-               evas_object_show(bg);
-               ad->cover_indicator_left = bg;
-       } else {
-               evas_object_move(ad->cover_indicator_left, x_1, y_1);
-       }
        if (ad->cover_indicator_right == NULL) {
                Evas_Object *bg = evas_object_rectangle_add(ad->evas);
                evas_object_color_set(bg, 52, 52, 50, 255); // opaque white background
@@ -564,7 +550,7 @@ static void _quickpanel_ui_window_set_input_region(void *data, int contents_heig
 
        xwin = elm_win_xwindow_get(ad->win);
 
-       DBG("angle:%d", ad->angle);
+       INFO("angle:%d", ad->angle);
        switch (ad->angle) {
                case 0:
                        window_input_region[0] = 0; //X
@@ -592,7 +578,7 @@ static void _quickpanel_ui_window_set_input_region(void *data, int contents_heig
                        break;
        }
 
-       DBG("win_input_0:%d\nwin_input_1:%d\nwin_input_2:%d\nwin_input_3:%d\n"
+       INFO("win_input_0:%d\nwin_input_1:%d\nwin_input_2:%d\nwin_input_3:%d\n"
                        ,window_input_region[0]
                        ,window_input_region[1]
                        ,window_input_region[2]
@@ -615,7 +601,7 @@ static void _quickpanel_ui_window_set_content_region(void *data, int contents_he
 
        xwin = elm_win_xwindow_get(ad->win);
 
-       DBG("angle:%d", ad->angle);
+       INFO("angle:%d", ad->angle);
        switch (ad->angle) {
                case 0:
                        window_contents_region[0] = 0; //X
@@ -802,10 +788,7 @@ static void _quickpanel_init_size_genlist(void *data)
                max_height_window = ad->win_height;
 
        edje_object_part_geometry_get(_EDJ(ad->ly), "qp.gl_base.gl.swallow", NULL, &genlist_y, NULL, NULL);
-       DBG("quickpanel, qp.gl_base.gl.swallow y: %d",genlist_y);
-
        edje_object_part_geometry_get(_EDJ(ad->ly), "qp.base.spn.swallow", NULL, NULL, NULL, &spn_height);
-       DBG("quickpanel, to spn_height: %d",spn_height);
 
        ad->gl_distance_from_top = genlist_y;
        ad->gl_distance_to_bottom = spn_height + (1 * ad->scale) + (ad->scale*QP_HANDLE_H) ;
@@ -872,10 +855,6 @@ static void quickpanel_app_terminate(void *data)
 
        _quickpanel_ui_fini_ecore_event(ad);
 
-       if (ad->cover_indicator_left != NULL) {
-               evas_object_del(ad->cover_indicator_left);
-               ad->cover_indicator_left = NULL;
-       }
        if (ad->cover_indicator_right != NULL) {
                evas_object_del(ad->cover_indicator_right);
                ad->cover_indicator_right = NULL;
@@ -894,6 +873,7 @@ static void quickpanel_app_pause(void *data)
        retif(ad == NULL,, "invalid data.");
 
        suspend_modules(ad);
+       quickpanel_ui_del_current_popup();
 
        ad->is_suspended = 1;
 
@@ -938,7 +918,6 @@ static void quickpanel_app_service(service_h service, void *data)
        ret = _quickpanel_ui_create_win(ad);
        retif(ret != QP_OK, , "Failed to create window!");
 
-
        atoms_init_quickpanel();
 
        ad->E_ILLUME_ATOM_MV_QUICKPANEL_STATE = &E_ILLUME_ATOM_MV_QUICKPANEL_STATE;
@@ -976,6 +955,7 @@ static void quickpanel_app_region_format_changed_cb(void *data)
 
 HAPI void quickpanel_open_quickpanel(void) {
        Ecore_X_Window xwin;
+       Ecore_X_Window zone;
        struct appdata *ad = g_app_data;
 
        DBG("");
@@ -984,13 +964,20 @@ HAPI void quickpanel_open_quickpanel(void) {
        retif(ad->win == NULL, , "Invalid parameter!");
 
        xwin = elm_win_xwindow_get(ad->win);
-
-       if (xwin != 0)
-               ecore_x_e_illume_quickpanel_state_send(ecore_x_e_illume_zone_get(xwin),ECORE_X_ILLUME_QUICKPANEL_STATE_ON);
+       if (xwin != 0) {
+               if ((zone = ecore_x_e_illume_zone_get(xwin)) != 0) {
+                       ecore_x_e_illume_quickpanel_state_send(zone, ECORE_X_ILLUME_QUICKPANEL_STATE_ON);
+               } else {
+                       ERR("failed to get zone");
+               }
+       } else {
+               ERR("failed to get xwin");
+       }
 }
 
 HAPI void quickpanel_close_quickpanel(bool is_check_lock) {
        Ecore_X_Window xwin;
+       Ecore_X_Window zone;
        int is_lock_launched = VCONFKEY_IDLE_UNLOCK;
        struct appdata *ad = g_app_data;
 
@@ -999,8 +986,6 @@ HAPI void quickpanel_close_quickpanel(bool is_check_lock) {
        retif(ad == NULL, , "Invalid parameter!");
        retif(ad->win == NULL, , "Invalid parameter!");
 
-       xwin = elm_win_xwindow_get(ad->win);
-
        if (is_check_lock == true) {
                if (vconf_get_int(VCONFKEY_IDLE_LOCK_STATE, &is_lock_launched) == 0) {
                        if (is_lock_launched == VCONFKEY_IDLE_LOCK) {
@@ -1010,8 +995,42 @@ HAPI void quickpanel_close_quickpanel(bool is_check_lock) {
                }
        }
 
-       if (xwin != 0)
-               ecore_x_e_illume_quickpanel_state_send(ecore_x_e_illume_zone_get(xwin),ECORE_X_ILLUME_QUICKPANEL_STATE_OFF);
+       xwin = elm_win_xwindow_get(ad->win);
+       if (xwin != 0) {
+               if ((zone = ecore_x_e_illume_zone_get(xwin)) != 0) {
+                       ecore_x_e_illume_quickpanel_state_send(zone, ECORE_X_ILLUME_QUICKPANEL_STATE_OFF);
+               } else {
+                       ERR("failed to get zone");
+               }
+       } else {
+               ERR("failed to get xwin");
+       }
+}
+
+HAPI void quickpanel_toggle_openning_quickpanel(void) {
+       Ecore_X_Window xwin;
+       Ecore_X_Window zone;
+       struct appdata *ad = g_app_data;
+
+       DBG("");
+
+       retif(ad == NULL, , "Invalid parameter!");
+       retif(ad->win == NULL, , "Invalid parameter!");
+
+       xwin = elm_win_xwindow_get(ad->win);
+       if (xwin != 0) {
+               if ((zone = ecore_x_e_illume_zone_get(xwin)) != 0) {
+                       if (ecore_x_e_illume_quickpanel_state_get(zone) == ECORE_X_ILLUME_QUICKPANEL_STATE_ON) {
+                               ecore_x_e_illume_quickpanel_state_send(zone, ECORE_X_ILLUME_QUICKPANEL_STATE_OFF);
+                       } else {
+                               ecore_x_e_illume_quickpanel_state_send(zone, ECORE_X_ILLUME_QUICKPANEL_STATE_ON);
+                       }
+               } else {
+                       ERR("failed to get zone");
+               }
+       } else {
+               ERR("failed to get xwin");
+       }
 }
 
 int main(int argc, char *argv[])
@@ -1040,6 +1059,5 @@ int main(int argc, char *argv[])
 
        g_app_data = &ad;
 
-       DBG("start main");
        return app_efl_main(&argc, &argv, &app_callback, (void *)&ad);
 }
index 79553df8f8338a4dfe64c54db465a2cd3575f098..19064ecacfb6773658b92baefc52e24a8f112292 100755 (executable)
@@ -47,6 +47,9 @@
 #define _(str) gettext(str)
 #define _NOT_LOCALIZED(str) (str)
 
+#define QP_SETTING_SOUND_SIP_PATH \
+       "/usr/apps/com.samsung.quickpanel/data/sip.wav"
+
 #define STR_ATOM_WINDOW_INPUT_REGION    "_E_COMP_WINDOW_INPUT_REGION"
 #define STR_ATOM_WINDOW_CONTENTS_REGION "_E_COMP_WINDOW_CONTENTS_REGION"
 
@@ -70,6 +73,7 @@ struct appdata {
 
        Evas_Object *scroller;
        Evas_Object *list;
+       Evas_Object *popup;
        int angle;
        double scale;
        char *theme;
@@ -92,7 +96,6 @@ struct appdata {
        E_DBus_Signal_Handler *dbus_handler_progress;
        E_DBus_Signal_Handler *dbus_handler_content;
 
-       Evas_Object *cover_indicator_left;
        Evas_Object *cover_indicator_right;
 
        Ecore_X_Atom *E_ILLUME_ATOM_MV_QUICKPANEL_STATE;
@@ -130,5 +133,6 @@ Evas_Object *quickpanel_ui_load_edj(Evas_Object * parent, const char *file,
 void quickpanel_ui_set_indicator_cover(void *data);
 void quickpanel_close_quickpanel(bool is_check_lock);
 void quickpanel_open_quickpanel(void);
+void quickpanel_toggle_openning_quickpanel(void);
 
 #endif                         /* __QUICKPANEL_UI_H__ */
diff --git a/daemon/service/noti_led.c b/daemon/service/noti_led.c
new file mode 100755 (executable)
index 0000000..94479c9
--- /dev/null
@@ -0,0 +1,223 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifdef QP_SERVICE_NOTI_LED_ENABLE
+#include <vconf.h>
+#include "common.h"
+#include "noti_util.h"
+#include "noti_led.h"
+
+#define LED_ON 1
+#define LED_OFF 0
+
+static int g_is_led_turned_on = 0;
+
+static inline int _is_led_notification_enabled(void) {
+       int ret = -1;
+       int status = 1;
+
+       ret = vconf_get_bool(VCONFKEY_SETAPPL_LED_INDICATOR_NOTIFICATIONS, &status);
+
+       if (ret == 0) {
+               if (status == 0) {
+                       ERR("LED notification turned off");
+                       return 0;
+               }
+       } else {
+               ERR("failed to get value of VCONFKEY_SETAPPL_LED_INDICATOR_NOTIFICATIONS:%d", ret);
+       }
+
+       return 1;
+}
+
+static inline int __quickpanel_service_get_event_count(const char *pkgname) {
+       int count = 0;
+       notification_h noti = NULL;
+       notification_list_h noti_list = NULL;
+
+       retif(pkgname == NULL, 0, "Invalid parameter!");
+
+       notification_get_detail_list(pkgname, NOTIFICATION_GROUP_ID_NONE, NOTIFICATION_PRIV_ID_NONE, -1, &noti_list);
+       if (noti_list != NULL) {
+               noti = notification_list_get_data(noti_list);
+               if (noti != NULL) {
+                       count = quickpanel_noti_get_event_count_from_noti(noti);
+               }
+               notification_free_list(noti_list);
+               return count;
+       } else {
+               return 0;
+       }
+
+       return 0;
+}
+
+static void _noti_led_on_with_custom_color(int led_argb) {
+       int ret = 0;
+
+       if ((ret = led_set_mode_with_color(LED_MISSED_NOTI, LED_ON, led_argb)) == -1) {
+               ERR("failed led_set_mode:%d", ret);
+       }
+       g_is_led_turned_on = 1;
+}
+
+static void _noti_led_on(notification_h noti) {
+       int ret = 0;
+       notification_led_op_e operation = -1;
+       int led_argb = 0x0;
+
+       if (noti == NULL) {
+               if ((ret = led_set_mode(LED_MISSED_NOTI, LED_ON)) == -1) {
+                       ERR("failed led_set_mode:%d", ret);
+               }
+               g_is_led_turned_on = 1;
+       } else {
+               notification_get_led(noti, &operation, &led_argb);
+
+               if (operation == NOTIFICATION_LED_OP_ON) {
+                       if ((ret = led_set_mode(LED_MISSED_NOTI, LED_ON)) == -1) {
+                               ERR("failed led_set_mode:%d", ret);
+                       }
+                       g_is_led_turned_on = 1;
+               } else if (operation == NOTIFICATION_LED_OP_ON_CUSTOM_COLOR) {
+                       if ((ret = led_set_mode_with_color(LED_MISSED_NOTI, LED_ON, led_argb)) == -1) {
+                               ERR("failed led_set_mode:%d", ret);
+                       }
+                       g_is_led_turned_on = 1;
+               } else {
+                       ERR("NOTIFICATION_LED_OP_OFF");
+               }
+       }
+}
+
+static void _noti_led_off(void) {
+       int ret = 0;
+
+       if ((ret = led_set_mode(LED_MISSED_NOTI, LED_OFF)) == -1) {
+               ERR("failed led_set_mode:%d", ret);
+       }
+       g_is_led_turned_on = 0;
+}
+
+static int _is_keep_turn_on_led(int *op, int *argb) {
+       notification_h noti = NULL;
+       notification_list_h noti_list = NULL;
+       notification_list_h noti_list_head = NULL;
+       notification_led_op_e operation = -1;
+       int led_argb = 0;
+
+       notification_get_list(NOTIFICATION_TYPE_NOTI , -1, &noti_list_head);
+       noti_list = noti_list_head;
+
+       while (noti_list != NULL) {
+               noti = notification_list_get_data(noti_list);
+               if (noti != NULL) {
+                       notification_get_led(noti, &operation, &led_argb);
+                       if (operation >= NOTIFICATION_LED_OP_ON) {
+                               notification_free_list(noti_list_head);
+                               noti_list_head = NULL;
+
+                               if (op != NULL) *op = operation;
+                               if (argb != NULL) *argb = led_argb;
+                               return 1;
+                       }
+               }
+
+               noti_list = notification_list_get_next(noti_list);
+       }
+
+       if (noti_list_head != NULL) {
+               notification_free_list(noti_list_head);
+               noti_list_head = NULL;
+       }
+
+       return 0;
+}
+
+HAPI void quickpanel_service_noti_led_on(notification_h noti) {
+       notification_led_op_e operation = -1;
+       int led_argb = 0;
+
+       retif(_is_led_notification_enabled() == 0, , "led noti disabled");
+
+       if (noti == NULL) {
+               if (_is_keep_turn_on_led(&operation, &led_argb) >= 1) {
+                       if (operation == NOTIFICATION_LED_OP_ON) {
+                               _noti_led_on(NULL);
+                       } else if (operation == NOTIFICATION_LED_OP_ON_CUSTOM_COLOR) {
+                               _noti_led_on_with_custom_color(led_argb);
+                       }
+               }
+       } else {
+               _noti_led_on(noti);
+       }
+}
+
+HAPI void quickpanel_service_noti_led_off(notification_h noti) {
+       retif(g_is_led_turned_on == 0, , "led already turned off");
+
+       if (_is_keep_turn_on_led(NULL, NULL) == 0) {
+               _noti_led_off();
+       }
+}
+
+
+static void quickpanel_service_noti_vconf_cb(keynode_t *node,
+                                               void *data)
+{
+       int ret = 0;
+       int is_on = 0;
+
+       is_on = _is_led_notification_enabled();
+
+       ERR("led notification status:%d", is_on);
+
+       if (is_on == 0) {
+               if ((ret = led_set_mode(LED_MISSED_NOTI, LED_OFF)) == -1) {
+                       ERR("failed led_set_mode:%d", ret);
+               }
+               g_is_led_turned_on = 0;
+       } else {
+               quickpanel_service_noti_led_on(NULL);
+       }
+}
+
+HAPI void quickpanel_service_noti_init(void *data) {
+       int ret = 0;
+       struct appdata *ad = data;
+       retif(ad == NULL, , "Invalid parameter!");
+
+       ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_LED_INDICATOR_NOTIFICATIONS,
+                       quickpanel_service_noti_vconf_cb,
+                               ad);
+       if (ret != 0) {
+               ERR("failed to notify key[%s] : %d",
+                       VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL, ret);
+       }
+}
+
+HAPI void quickpanel_service_noti_fini(void *data) {
+       int ret = 0;
+       struct appdata *ad = data;
+       retif(ad == NULL, , "Invalid parameter!");
+
+       ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_LED_INDICATOR_NOTIFICATIONS,
+                       quickpanel_service_noti_vconf_cb);
+       if (ret != 0) {
+               ERR("failed to ignore key[%s] : %d",
+                               VCONFKEY_SETAPPL_LED_INDICATOR_NOTIFICATIONS, ret);
+       }
+}
+#endif
diff --git a/daemon/service/noti_led.h b/daemon/service/noti_led.h
new file mode 100755 (executable)
index 0000000..971ee0f
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifdef QP_SERVICE_NOTI_LED_ENABLE
+#ifndef _QP_NOTI_LED_DEF_
+#define _QP_NOTI_LED_DEF_
+
+#include <notification.h>
+#include <dd-led.h>
+#include "quickpanel-ui.h"
+
+#if !defined(VENDOR)
+#define NOTI_LED_CALL_PKGNAME "com.samsung.call"
+#define NOTI_LED_VTCALL_PKGNAME "com.samsung.vtmain"
+#else
+#define NOTI_LED_CALL_PKGNAME VENDOR".call"
+#define NOTI_LED_VTCALL_PKGNAME VENDOR".vtmain"
+#endif
+#define NOTI_LED_MSG_PKGNAME "/usr/bin/msg-server"
+
+void quickpanel_service_noti_led_on(notification_h noti);
+void quickpanel_service_noti_led_off(notification_h noti);
+void quickpanel_service_noti_init(void *data);
+void quickpanel_service_noti_fini(void *data);
+
+#endif
+#endif
index 007f08f1a65296d9e00ff387660990e266cc3c0a..5d2cc636c2183d471666f535c7520698a4059b87 100755 (executable)
Binary files a/data/icons/quick_standard_btn_nor.png and b/data/icons/quick_standard_btn_nor.png differ
index 1657576aa61b933c6b8f2deb9cc6470b1e8c09f2..c94d05215d4da8143fa8fca9e9b9cd44ffbf4f61 100755 (executable)
Binary files a/data/icons/quick_standard_btn_press.png and b/data/icons/quick_standard_btn_press.png differ
index f02dc4edda824c2d9289c70c3bebf84429c8d26e..cfd09588352a403f61f9f12b17381b3bc4b83d70 100755 (executable)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="@PKGNAME@" version="0.3.33-1" install-location="internal-only">
+<manifest xmlns="http://tizen.org/ns/packages" package="@PKGNAME@" version="0.3.38-1" install-location="internal-only">
        <label>@PROJECT_NAME@</label>
        <author email="yjoo93.park@samsung.com" href="www.samsung.com">Youngjoo Park</author>
        <author email="seungtaek.chung@samsung.com" href="www.samsung.com">seungtaek chung</author>
index caf6ffe9512f6c63c3eef851b72c9dee7a70c49c..c3c14019a70bede0c6b524878bcfefbebc868031 100755 (executable)
@@ -23,7 +23,7 @@
 #define QP_HANDLE_H     64
 #define QP_HANDLE_TOTAL_H       80
 #define QP_SPN_H 80
-#define QP_SPN_TEXT_W 500
+#define QP_SPN_TEXT_W 520
 
 #define QP_BG_VISIBILITY       0
 #define QP_BG_COLOR    255 255 255 255
index 57e2c1e5f2d094898dc278f1eabc7641ef8a3c10..aacee49818c5a7e1d971be283c6a9fc2268dc409 100755 (executable)
@@ -4,7 +4,7 @@
 
 Name:       org.tizen.quickpanel
 Summary:    Quick Panel
-Version:    0.3.33
+Version:    0.3.38
 Release:    1
 Group:      util
 License:    Flora Software License
@@ -36,6 +36,7 @@ BuildRequires: pkgconfig(elementary)
 BuildRequires: pkgconfig(syspopup-caller)
 BuildRequires: pkgconfig(minicontrol-viewer)
 BuildRequires: pkgconfig(minicontrol-monitor)
+#BuildRequires: pkgconfig(deviced)
 BuildRequires: pkgconfig(utilX)
 BuildRequires: gettext-tools
 BuildRequires: cmake
index 7c8dbd2f01cbfb0691b0422f3968dcd19f9a2a53..6165b4235b5c6a1f84308b2d8009772c38fee922 100755 (executable)
--- a/po/ar.po
+++ b/po/ar.po
@@ -1,5 +1,5 @@
 msgid "IDS_QP_BODY_NOTIFICATIONS_ABB2"
-msgstr "إخطارات"
+msgstr "إشعارات"
 
 msgid "IDS_WIFI_BODY_ALLSHARE_CAST"
 msgstr "AllShare Cast"
@@ -11,7 +11,7 @@ msgid "IDS_QP_BUTTON_ROTATION"
 msgstr "تدوير"
 
 msgid "IDS_QP_BODY_NOTIFICATIONS_HPD"
-msgstr "إخطارات (%d)"
+msgstr "إشعارات (%d)"
 
 msgid "IDS_QP_BUTTON_VIBRATION"
 msgstr "الاهتزاز"
@@ -85,6 +85,9 @@ msgstr "إيقاف تشغيل التقييد لاستخدام Wi-Fi"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "لا يمكن تنشيط كل من Wi-Fi وMobile AP في الوقت نفسه. هل تريد إلغاء تنشيط Mobile AP؟"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "مراقبة الشاشة"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "استبدال زر الإعداد السريع"
 
@@ -104,5 +107,17 @@ msgid "IDS_QP_BUTTON2_GPS"
 msgstr "GPS"
 
 msgid "IDS_QP_BUTTON_NOTIFICATION"
-msgstr "إخطار"
+msgstr "إشعار"
+
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "موافق"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "غير موافق"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "تتحكم التطبيقات التي تستخدمها في موقع GPS واستخدام بيانات الموقع"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "موافقة المستخدم"
 
index 3c14400bd2c9878f7be87be2f4b8568e155a0b5a..d852b7f620be5a58b14706fa825801c7b396c400 100755 (executable)
--- a/po/az.po
+++ b/po/az.po
@@ -85,6 +85,9 @@ msgstr "Bağlanmadan istifadə etmək üçün Wi-Fi-ı söndür"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi və Mobile AP eyni zamanda aktivləşdirilə bilməz. Mobile AP qeyri-aktiv edilsin?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Çevik parametr düyməsini əvəz et"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Bildiriş"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Razıyam"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Müvafiq deyil"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS məkanı və məkan məlumatlarınızdan istifadə istifadə etdiyiniz proqramlarla idarə olunur"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "İstifadəçi razılığı"
+
index dbff2fd7fc3736b42cf8c6247fc0e7bca1654b0f..41315eb74fbd91332d93a44f196cafb59c9c4fb5 100755 (executable)
--- a/po/bg.po
+++ b/po/bg.po
@@ -85,6 +85,9 @@ msgstr "Изключете Wi-Fi, за да използвате привърз
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi и Mobile AP не могат да бъдат активирани едновременно.. Деактивиране на Mobile AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Огледален режим на екрана"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Заместване на бутона за бърза настройка"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Уведом."
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Съгласен"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Несъгласен"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS местоположението и използването на вашите данни за местоположение се контролират от приложенията, които използвате"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Съгласие от потребителя"
+
index c139c8f857326546d857b592047eccb31d73ebbd..bcf570c50b7349143637922ffc4d313840e29917 100755 (executable)
--- a/po/ca.po
+++ b/po/ca.po
@@ -85,6 +85,9 @@ msgstr "Desactivar el Wi-Fi per utilitzar tethering"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "No es poden activar els punt d'accés Wi-Fi i mòbil al mateix temps. Desactivar al punt d'accés mòbil?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Simetria de pantalla"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Substituir botó d'ajustament ràpid"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Notificac"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Aceptar"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "No acceptar"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "La ubicació GPS i l'ús de les dades de la ubicació les controlen les aplicacions que utilitza"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Consentiment d'usuari"
+
index de044afcf9f8abd53c964ec4efe9c44eb83e3bb1..4a155716372b076a8902c4c86db12ec075d213be 100755 (executable)
--- a/po/cs.po
+++ b/po/cs.po
@@ -85,6 +85,9 @@ msgstr "Chcete použít sdílení připojení k Internetu, vypněte Wi-Fi"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi a mobilní přístupový bod nelze aktivovat současně. Chcete deaktivovat mobilní přístupový bod?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Zrcadlení obrazovky"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Vyměnit tlačítko rychlého nastavení"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Oznámení"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Souhlasím"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Nesouhlasím"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "Poloha GPS a použití údajů o poloze je řízeno používanými aplikacemi"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Souhlas uživatele"
+
index 9aaa368533699def9f163883e86e9845ab5cadcf..46fc74a43a1ce6ab161ed6cc092ca8645ed93ff7 100755 (executable)
--- a/po/da.po
+++ b/po/da.po
@@ -85,6 +85,9 @@ msgstr "Sluk for Wi-Fi for at bruge deling"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Både Wi-Fi og mobilt adgangspunkt kan ikke være aktiveret på samme tid. Deaktivér mobilt adgangspunkt?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Skærmspejling"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Erstat hurtig indstillingsknap"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Besked"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Acceptér"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Uenig"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS-placering og brug af dine placeringsdata styres af det program, du anvender"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Brugersamtykke"
+
index fbf9ba3633f824a1e2a23480014fed57390e1e0e..73ed8f05e879123dfd590e1c4917bbaa5352682b 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "WLAN ausschalten, um Tethering zu verwenden"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "WLAN und Mobile AP können nicht zur gleichen Zeit aktiviert werden. Mobile AP deaktivieren?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Bildschirmspiegelung"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Schnelleinstellungstaste ersetzen"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Benachr."
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Zustimmen"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Ablehnen"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS-Standort und Verwendung Ihrer Standortdaten werden von den von Ihnen verwendeten Anwendungen kontrolliert"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Benutzerzustimmung"
+
index 02545b073ce04da73898f2a42d5ef3c45834eb64..d0ea64dbb7236c7133c451dfde14a73d2897534f 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "Απενεργοποιήστε το Wi-Fi για χρήση της λε
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Τόσο το Wi-Fi όσο και το AP για κινητά δεν μπορούν να ενεργοποιηθούν ταυτόχρονα. Απενεργοποίηση AP για κινητά;"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Κατοπτρισμός οθόνης"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Αντικατάσταση κουμπιού γρήγορης ρύθμισης"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Ειδοποίηση"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Αποδοχή"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Δεν συμφωνώ"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "Η τοποθεσία GPS και η χρήση των δεδομένων τοποθεσίας σας ελέγχονται από τις εφαρμογές τις οποίες χρησιμοποιείτε"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Συγκατάθεση χρήστη"
+
index 755987af4ed50accdf59201e764dc08f3481122b..18a648e7a92a8445adc3572ae3a53034463c8a23 100755 (executable)
--- a/po/en.po
+++ b/po/en.po
@@ -85,6 +85,9 @@ msgstr "Turn off Wi-Fi to use tethering"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Both Wi-Fi and mobile AP cannot be activated at the same time. Deactivate mobile AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Replace quick setting button"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Notification"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Agree"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Disagree"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS location and use of your location data are controlled by the applications you use"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "User consent"
+
index 9a64a8450a2342c23a5189e37f7ffa9b424df8fb..d99aed01af3263eb2549af586d0ece5a9a62cd98 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "Turn off Wi-Fi to use tethering"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Both Wi-Fi and Mobile AP cannot be activated at the same time. Deactivate Mobile AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Replace quick setting button"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Notification"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Agree"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Disagree"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS location and use of your location data are controlled by the applications you use"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "User consent"
+
index 30a78a94fb2f4ad1464ceb31fee747a93759c7de..c2e73eedb761fa7c6c3ab074fddbda8fc1f7283d 100755 (executable)
@@ -29,10 +29,10 @@ msgid "IDS_QP_BODY_MASS_STORAGE_MODE"
 msgstr "Mass storage mode"
 
 msgid "IDS_QP_BUTTON_DISABLE"
-msgstr "Disable"
+msgstr "Turn off"
 
 msgid "IDS_QP_BUTTON_ENABLE"
-msgstr "Enable"
+msgstr "Turn on"
 
 msgid "IDS_COM_POP_UNSUPPORTED"
 msgstr "Unsupported"
@@ -68,16 +68,16 @@ msgid "IDS_QP_TAB_DRIVING_MODE"
 msgstr "Driving mode"
 
 msgid "IDS_COM_POP_UNABLE_TO_CONNECT_TO_MOBILE_NETWORK_WHILE_FLIGHT_MODE_IS_ENABLED_MSG"
-msgstr "Unable to connect to mobile networks while Airplane mode is enabled. Connect to Wi-Fi network instead, or disable Airplane mode and try again."
+msgstr "Unable to connect to mobile networks while Airplane mode is turned on. Connect to Wi-Fi network instead, or turn off Airplane mode and try again."
 
 msgid "IDS_QP_POP_WI_FI_TETHERING_CONSUMES_MORE_BATTERY_POWER_AND_INCREASES_YOUR_DATA_USAGE_CONTINUE_Q"
 msgstr "Wi-Fi tethering consumes more battery power and increases your data usage. Continue?"
 
 msgid "IDS_QP_POP_DISABLE_TETHERING_TO_USE_WI_FI"
-msgstr "Disable tethering to use Wi-Fi."
+msgstr "Turn off tethering to use Wi-Fi"
 
 msgid "IDS_QP_POP_TO_ENABLE_POWER_SAVING_MODE_ENABLE_AT_LEAST_ONE_RELEVANT_FUNCTION"
-msgstr "To enable Power saving mode, enable at least one relevant function."
+msgstr "To turn on Power saving mode, turn on at least one relevant function"
 
 msgid "IDS_QP_POP_TURN_OFF_WI_FI_TO_USE_TETHERING"
 msgstr "Turn off Wi-Fi to use tethering."
@@ -85,6 +85,9 @@ msgstr "Turn off Wi-Fi to use tethering."
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Both Wi-Fi and Mobile AP cannot be activated at the same time. Deactivate Mobile AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Replace quick setting button"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Notification"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Agree"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Disagree"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS location and use of your location data are controlled by the applications you use"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "User consent"
+
index 08e7758ed9c3d8a1b7015b82b8dc2f581ba6f420..222e57ab81abeb88fdb7cb1635c2819bfa697784 100755 (executable)
@@ -53,7 +53,7 @@ msgid "IDS_QP_POP_CONNECTING_VIA_PACKET_DATA_MAY_INCUR_ADDITIONAL_CHARGES_CONTIN
 msgstr "La conexión mediante paquetes de datos puede suponer gastos adicionales. ¿Continuar?"
 
 msgid "IDS_QP_BODY_AUTO"
-msgstr "Auto"
+msgstr "Automático"
 
 msgid "IDS_QP_TAB_POWER_SAVING"
 msgstr "Ahorro de energía"
@@ -85,6 +85,9 @@ msgstr "Apague la Wi-Fi para usar anclaje a red"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Las conexiones Wi-Fi y Mobile AP no se pueden activar al mismo tiempo. ¿Desactivar Mobile AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Reemplazar botón de ajuste rápido"
 
@@ -95,7 +98,7 @@ msgid "IDS_QP_POP_YOU_WILL_NO_LONGER_BE_ABLE_TO_USE_APPLICATIONS_SUCH_AS_INTERNE
 msgstr "Ya no podrá utilizar aplicaciones de datos como Internet y el correo electrónico mediante redes móviles. ¿Continuar?"
 
 msgid "IDS_QP_BUTTON2_SCREEN_N_MIRRORING"
-msgstr "Screen\nMirroring"
+msgstr "Compartir\npantalla"
 
 msgid "IDS_COM_BODY_BUTTON_T_TTS"
 msgstr "Botón"
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Notificac"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Acepto"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "No acepto"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "La ubicación del GPS y el uso de los datos de ubicación los controlan las aplicaciones que utiliza"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Consentimiento del usuario"
+
index 9f07a5357945c9db9089123ccfdb2e10de0dc304..b2532c6e3a2694a0e2bb0502a58391cca85e3018 100755 (executable)
@@ -53,7 +53,7 @@ msgid "IDS_QP_POP_CONNECTING_VIA_PACKET_DATA_MAY_INCUR_ADDITIONAL_CHARGES_CONTIN
 msgstr "La conexión mediante paquete de datos puede suponer gastos adicionales. ¿Continuar?"
 
 msgid "IDS_QP_BODY_AUTO"
-msgstr "Auto"
+msgstr "Automático"
 
 msgid "IDS_QP_TAB_POWER_SAVING"
 msgstr "Ahorro de energía"
@@ -85,6 +85,9 @@ msgstr "Desactive Wi-Fi para usar la redirección"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Las conexiones Wi-Fi y Mobile AP no se pueden activar al mismo tiempo. ¿Desactivar Mobile AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Reemplazar el botón de configuración rápida"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Notific."
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Acepto"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "En desacuer."
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "La ubicación del GPS y el uso de los datos de ubicación los controlan las aplicaciones que utiliza"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Consentimiento del usuario"
+
index 62870bc59f25cc46f99c7e00ff116085bf730a82..13bead2ab5d99cbda0acc167c2699b2a522c5894 100755 (executable)
--- a/po/et.po
+++ b/po/et.po
@@ -85,6 +85,9 @@ msgstr "Modemi kasutamiseks lülitage Wi-Fi välja"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fit ja Mobile AP-d ei saa aktiveerida samaaegselt. Kas desaktiveerida Mobile AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Asenda kiirseadistuse nupp"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Teavitus"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Nõustu"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Ei nõustu"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS-asukohta ja teie asukohaandmete kasutamist kontrollib rakendus, mida te kasutate"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Kasutaja nõusolek"
+
index e9caaad954b67e7ba2d3a506b5a7e02ac80d7380..b34233a962a1375f9cb2c3e998897570d592a1ce 100755 (executable)
--- a/po/eu.po
+++ b/po/eu.po
@@ -85,6 +85,9 @@ msgstr "Itzali Wi-Fia ainguraketa erabiltzeko"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi eta Mobile AP ezin dira aldi berean aktibatu. Desaktibatu Mobile AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Pantaila Islatzea"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Ordeztu ezarpen azkarraren botoia"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Jakinaraz."
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Ados"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Ez nago ados"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS kokapena eta zure kokapen datuen erabilera zuk erabiltzen duzun aplikazioak kontrolatzen ditu"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Erabiltzaile baimena"
+
index bf8ee21c3e58cbe331625b7b6190cc521168241d..707277df1e3810ead7a6fe69aa4f2c39ac76fcba 100755 (executable)
--- a/po/fi.po
+++ b/po/fi.po
@@ -85,6 +85,9 @@ msgstr "Poista Wi-Fi käytöstä yhteyden jakamista varten"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fiä ja mobiilitukiasemaa ei voi ottaa käyttöön samaan aikaan. Haluatko poistaa mobiilitukiaseman käytöstä?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Näytön peilaus"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Vaihda pika-asetuspainike"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Ilmoitus"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Hyväksyn"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Eri mieltä"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "Käytettävät sovellukset säätelevät GPS-sijaintia ja sijaintitietojen käyttöä"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Käyttäjän suostumus"
+
index 826d7ea87f64e5ba3f6cb6d9be1f35de62db9e9d..083ed7ede383e9aa6e582da2e9debf8659d88b15 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "Désactivez le Wifi pour utiliser le modem"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Activation simultanée de wifi et du point d'accès mobile impossible. Désactiver le point d'accès mobile ?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Réplication de l'écran"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Remplacer un bouton de configuration rapide"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Notific."
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Accepter"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Refuser"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "La position GPS et l'utilisation des données de votre position sont contrôlées par les applications que vous utilisez"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Accord de l'utilisateur"
+
index 3360dd4b691bce4b860283b8e0b3f01330eff92c..7990fdab4b5fd0f08d527449560267aa19e69a42 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "Désactivez le Wi-Fi pour utiliser le modem"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Activation simultanée du Wi-Fi et du point d'accès mobile impossible. Désactiver le point d'accès mobile ?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "AllShare"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Remplacer un bouton de configuration rapide"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Notific."
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Accepter"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Refuser"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "La position GPS et l'utilisation des données de votre position sont contrôlées par les applications que vous utilisez"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Accord de l'utilisateur"
+
index 7396563f6381ba8be7869d83054d97b667abb788..6304ff2177fb963986311a8a2e92972a3af55486 100755 (executable)
--- a/po/ga.po
+++ b/po/ga.po
@@ -85,6 +85,9 @@ msgstr "Cas as Wi-Fi le nascaireacht a úsáid"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Ní féidir Wi-Fi agus AP Móibíleach a chur i ngníomh ag an am céanna. Díghníomhachtaigh AP Móibíleach?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Scáthánú Scáileáin"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Ionadaigh cnaipe mear-shocruithe"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Fógra"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Aontaim"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Ní aontaím"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "Tá suíomh GPS agus úsáid sonraí do shuímh á rialú ag na feidhmchláir a úsáideann tú"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Toiliú úsáideora"
+
index 6d62dc3369a53f532ef9513fd15bbf2c6d0b2637..614ff4b691dfb183a7ebb9f0ab814fb3ef82172a 100755 (executable)
--- a/po/gl.po
+++ b/po/gl.po
@@ -85,6 +85,9 @@ msgstr "Desactiva a Wi-Fi para usar a ancoraxe á rede"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "O Wi-Fi e AP Móbil non poden activarse ao mesmo tempo. Desactivar AP Móbil?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Reflexo da pantalla"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Substitúe o botón de axuste rápido"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Notific."
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Acepto"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Non acepto"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "A localización e o uso dos datos da túa localización están controlados polas aplicacións que empregas"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Consentimento de usuario"
+
index b418c571f5419510224919ac396efa4b48209aad..9605936e82d427a4f823541ec7adc21f104f1045 100755 (executable)
--- a/po/hi.po
+++ b/po/hi.po
@@ -85,6 +85,9 @@ msgstr "टेथरिंग का उपयोग करने के लि
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "एक ही समय में Wi-Fi और Mobile AP सक्रिय नहीं कर सकते हैं। Mobile AP निष्क्रिय करें?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "स्क्रीन मिररिंग"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "त्वरित सेटिंग्स बटन बदलें"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "अधिसूचना"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "सहमत"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "असहमती"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS स्थान और आप के स्थान डाटा का उपयोग आप के द्वारा उपयोगित एप्लीकेशंस नियंत्रित करते हैं"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "उपभोक्ता स्वीकृति"
+
index 33f4319d7202fff1c4cfce52c90f7ca51e1a23cb..8fde4636ab6bccb782b70c69a35270a63284a8bb 100755 (executable)
--- a/po/hr.po
+++ b/po/hr.po
@@ -85,6 +85,9 @@ msgstr "Isključite Wi-Fi da biste koristili dijeljenje"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Istodobno ne možete uključiti Wi-Fi i Mobile AP. Isključiti Mobilnu pristupnu točku?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Dijeljenje Zaslona"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Zamijeni gumb za brze postavke"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Obavijest"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Prihvaćam"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Ne prihvaćam"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS lokacija i korištenje vaših podataka o lokaciji kontrolira se aplikacijama koje koristite"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Pristanak korisnika"
+
index ae5f1fe38cc13ebd2f4866c8e2e51a2138e292c8..0b2d82126e8f6ff7e16fda0014e2de9bea8ec6f2 100755 (executable)
--- a/po/hu.po
+++ b/po/hu.po
@@ -85,6 +85,9 @@ msgstr "Az internetmegosztás használatához kapcsolja ki a Wi-Fi-t"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "A Wi-Fi és a Mobil AP-nem lehet egyszerre aktív. Kikapcsolja a Mobil AP-t?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Képernyőtükrözés"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Gyorsbeállító gomb cseréje"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Értesítés"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Elfogad"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Elutasít"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "A GPS helymeghatározást és a pozícióadatot az Ön által használt alkalmazások vezérlik"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Felhasználói beleegyezés"
+
index fbdab861610925c165823184cfbf5a8600f34f44..c68ba32813f08c42bd57fcd9816ed0fe1d3129fd 100755 (executable)
--- a/po/hy.po
+++ b/po/hy.po
@@ -85,6 +85,9 @@ msgstr "Անջատեք Wi-Fi-ը՝ տեղակապում օգտագործելու
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi-ն ու Mobile AP-ն չեն կարող միաժամանակ ակտիվացվել: Ապաակտիվացնե՞լ Mobile AP-ն:"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Փոխարինել արագ դրվածքների կոճակը"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Ծանուցում"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Հմձայն եմ"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Առարկել"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS-ի տեղն ու Ձեր տեղի տվյալները վերահսկվում են Ձեր օգտագործած ծրագրերով"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Օգտվողի համաձայնություն"
+
index 73e11b9db6d8db032fc992d60a3be1272a6281dc..f7d48c7e97110f3af8c439fa6ebe8f38d0375bf4 100755 (executable)
--- a/po/is.po
+++ b/po/is.po
@@ -85,6 +85,9 @@ msgstr "Slökktu á Wi-Fi til að nota tjóðrun"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Það er ekki hægt að nota Wi-Fi og farsímaaðgangsstað á sama tíma. Viltu loka farsímaaðgangsstaðnum?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Skjáspeglun"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Skipta flýtistillingahnappi út"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Tilkynning"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Samþykkt"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Hafna"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS-staðsetningu og notkun á staðsetningargögnum þínum er stjórnað af þeim forritum sem þú notar"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Samþykki notanda"
+
index 3d7cfb71ce1ef1ecbee26829c1a24a9785888d7a..408c0a9ad9030871b9593f40d5db6797869d4ebf 100755 (executable)
@@ -65,7 +65,7 @@ msgid "IDS_QP_TAB_MOBILE_DATA"
 msgstr "Connessione dati"
 
 msgid "IDS_QP_TAB_DRIVING_MODE"
-msgstr "Modalità alla guida"
+msgstr "Modalità alla Guida"
 
 msgid "IDS_COM_POP_UNABLE_TO_CONNECT_TO_MOBILE_NETWORK_WHILE_FLIGHT_MODE_IS_ENABLED_MSG"
 msgstr "Impossibile connettersi alle reti mobili se la modalità Offline è attivata. Connettersi alla rete Wi-Fi o disattivare la modalità Offline e riprovare"
@@ -85,6 +85,9 @@ msgstr "Per utilizzare il tethering, disattivate il Wi-Fi"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Impossibile attivare contemporaneamente sia Wi-Fi che Router Wi-Fi. Disattivare Router Wi-Fi?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Condivisione schermo"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Sostituisce il pulsante di impostazione rapida"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Notifica"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Accetto"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Rifiuto"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "La posizione GPS e l'uso dei dati sulla posizione sono controllati dalle applicazioni utilizzate"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Consenso utente"
+
index 51f8a8650aa3aecfa222bbf6f00d6ef481c7008e..b1c3f0b082210c5ee757063d45acca51444cfe60 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "テザリングを使用するには、Wi-FiをOFFにしてください
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-FiとWi-Fiテザリング両方は同時起動できません。Wi-Fiテザリングを無効にしますか?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "クイック設定ボタンを置き換え"
 
@@ -95,7 +98,7 @@ msgid "IDS_QP_POP_YOU_WILL_NO_LONGER_BE_ABLE_TO_USE_APPLICATIONS_SUCH_AS_INTERNE
 msgstr "モバイルネットワークで、ブラウザやEメールなどのアプリケーションが使用できなくなります。続行しますか?"
 
 msgid "IDS_QP_BUTTON2_SCREEN_N_MIRRORING"
-msgstr "画面\nモニター"
+msgstr "Screen\nMirroring"
 
 msgid "IDS_COM_BODY_BUTTON_T_TTS"
 msgstr "ボタン"
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "通知"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "同意"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "同意しない"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPSからの位置情報取得は、使用するアプリケーションによって管理されます。"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "ユーザー同意"
+
index 35cafbc5c8acb77347f42c44f14b8dc4ae5993f0..b594ea97c450b76c26061a13f7281db75bdab57a 100755 (executable)
--- a/po/ka.po
+++ b/po/ka.po
@@ -85,6 +85,9 @@ msgstr "გამორთეთ Wi-Fi, რომ გამოიყენოთ
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi და Mobile AP ვერ გააქტიურდება ერთიდაიმავე დროს. გამოირთოს Mobile AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "პარამეტრების სწრაფი დაყენების ღილაკის გამოცვლა"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "შეტყობინება"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "თანხმობა"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "არ ვეთანხმები"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS ლოკაცია და თქვენი ლოკაციის მონაცემების გამოყენება იმართება თქვენს მიერ გამოყენებული პროგრამების მიერ"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "მომხმარებლის თანხმობა"
+
index 244fd0557a1598163628085c8bed28e7efa32fef..755b80aa9f6505576fbc95b9e958cb0fc97916c7 100755 (executable)
--- a/po/kk.po
+++ b/po/kk.po
@@ -85,6 +85,9 @@ msgstr "Байланыстыруды пайдалану үшін Wi-Fi өшір
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi және Mobile AP екеуін де бір уақытта іске қосу мүмкін емес. Mobile AP мүмкіндігін өшіру керек пе?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Жылдам параметр түймесін ауыстыру"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Хабарландыру"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Келісемін"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Келіспеу"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS орны және орын деректерін пайдалану қолданыстағы бағдарламалармен бақыланады"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Пайдаланушы келісімі"
+
index 96a96989125f070575cee0099d35253918c5461b..a6666749dd113c00f8ffab9e2f1620465b3ef10b 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "테더링을 사용하려면 Wi-Fi를 끄세요"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi와 모바일 AP를 동시에 실행할 수 없습니다. 모바일 AP를 해제할까요?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "빠른 설정 버튼 교체"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "알림"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "동의"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "동의 안 함"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS 위치와 위치 정보 사용은 사용 중인 애플리케이션의 통제를 받습니다"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "사용자 동의"
+
index 029d1c09c1cae1ac1fe9a1ba6fabacc5f00016ab..ecfc8beaa663b99e7125e76d896f65813eaddde8 100755 (executable)
--- a/po/lt.po
+++ b/po/lt.po
@@ -85,6 +85,9 @@ msgstr "Išjunkite „Wi-Fi“, kad galėtumėte naudoti siejimą"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Tuo pat metu negalima suaktyvinti ir „Wi-Fi“, ir „Mobile AP“. Išjungti „Mobile AP“?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Pakeisti greitojo nustatymo mygtuką"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Pranešimas"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Sutikti"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Nesutikti"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "Vietos nustatymą naudojant GPS ir jūsų vietos duomenis kontroliuoja jūsų naudojamos programos"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Naudotojo sutikimas"
+
index c04d54f851d3aae269ec08b060aeb224e0a1e1a7..e050d2b40cd60035d8a002559e718897496df5d7 100755 (executable)
--- a/po/lv.po
+++ b/po/lv.po
@@ -85,6 +85,9 @@ msgstr "Lai izmantotu piesaisti, izslēdziet Wi-Fi"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Vienlaikus nevar aktivizēt Wi-Fi un Mobile AP. Vai deaktivizēt Mobile AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Aizstāt ātro iestatījumu pogu"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Paziņojums"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Piekrist"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Nepiekrītu"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS atrašanās vietu un jūsu atrašanās vietas datu izmantošanu pārvalda jūsu lietotās programmas"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Lietotāja piekrišana"
+
index cb27f2f02afe86bdadc909a50023cb02caed9fdd..6d0c58861f88eb853f3af6410b6fdc19a36fecad 100755 (executable)
--- a/po/mk.po
+++ b/po/mk.po
@@ -85,6 +85,9 @@ msgstr "Исклучете го Wi-Fi за да користите делење"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Не може истовремено да се активни и Wi-Fi и мобилна пристапна точка. Да се исклучи мобилната пристапна точка?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Одразување екран"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Замени копче за брзо поставување"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Извест."
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Добро"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Не се согласувам"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "Локацијата GPS и користењето на податоците за вашата локација ги контролираат апликациите што ги користите"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Согласност на корисникот"
+
index c7512ce7d66966c1b308606ddd84034ea768a9de..bce7d4134ce466553b4970795fadb5add44b6d51 100755 (executable)
--- a/po/nb.po
+++ b/po/nb.po
@@ -85,6 +85,9 @@ msgstr "Slå av Wi-Fi for å bruke Internettdeling"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Både Wi-Fi og mobilt tilgangspunkt kan ikke aktiveres samtidig. Deaktivere mobilt tilgangspunkt?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Bytt ut hurtiginnstillingsknapp"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Varsel"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Godkjenn"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Uenig"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS-plassering og bruk av dine plasseringsdata kontrolleres av programmene du bruker"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Brukertillatelse"
+
index 11e87a4d4a2dd8a4210c63f89b1e97c54f307c25..03688d70938cbc7c7f98bc13b4123148f3ef85ef 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "Wi-Fi uitschakelen om tethering te gebruiken"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi en mobiel access point kunnen niet tegelijkertijd zijn geactiveerd. Mobiel access point uitschakelen?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Snelle instelknop vervangen"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Melding"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Akkoord"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Niet akkoord"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS-locatie en gebruik van uw locatiegegevens worden geregeld door de gebruikte applicaties"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Toestemming gebruiker"
+
index be4319ee4464ffbb66dca9a37b0a8762d71bbb78..14b9acff5118dee9c4d88e4d91173cb76091cba1 100755 (executable)
--- a/po/pl.po
+++ b/po/pl.po
@@ -85,6 +85,9 @@ msgstr "Wyłącz sieć Wi-Fi, aby korzystać z routera"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Sieć Wi-Fi i Router Wi-Fi nie mogą być uruchomione jednocześnie. Wyłączyć Router Wi-Fi?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Odbicie lustrzane ekranu"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Zamień przycisk ustawień szybkiego panelu"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Powiadom."
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Akceptuję"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Brak zgody"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "Lokalizacja GPS oraz wykorzystanie danych dotyczących Twojej lokalizacji są kontrolowane przez używane aplikacje"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Zgoda użytkownika"
+
index a9260dacd7349a22362d16c7b91bcc3bb714edda..2a2be6959f65c7a2e0ed5c207a759b2d9dea31ec 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "Desligar Wi-Fi para usar compartilhamento de rede"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Impossível utilizar Wi-Fi ou AllShare com o Roteador Wi-Fi simultaneamente. Desativar o Roteador Wi-Fi?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Espelhamento de tela"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Substituir botão de configuração rápida"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Notific."
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Concordo"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Discordo"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "A localização GPS e a utilização dos seus dados de localização são controlados pelas aplicações utilizadas"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Consentimento do usuário"
+
index 181ece553fa963786bc1cb66dba3423ece24c816..55751cc92d3b024d0ec24300d2c63d897b7f3203 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "Desligar o Wi-Fi para utilizar a ancoragem"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Impossível activar Wi-Fi e PA Móvel em simultâneo. Desactivar PA Móvel?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Espelhamento do ecrã"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Substituir botão de definição rápida"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Notificaç"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Concordo"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Discordo"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "A localização GPS e a utilização dos seus dados de localização são controlados pelas aplicações utilizadas"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Consentimento do utilizador"
+
index f6883912838c8529bd2e4c7d5b85c022971ac44f..66afbd2c0199464cb3079721526f7011388609dd 100755 (executable)
--- a/po/ro.po
+++ b/po/ro.po
@@ -85,6 +85,9 @@ msgstr "Opriţi Wi-Fi pentru a utiliza furnizarea accesului la internet"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi şi PA mobil nu pot fi activate simultan. Dezactivaţi PA mobil?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Oglindire ecran"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Înlocuiţi butonul pentru setare rapidă"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Notificare"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "De acord"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Refuzare"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "Locaţia GPS şi utilizarea datelor locaţiei dvs. sunt controlate de aplicaţiile pe care le utilizaţi"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Consimţământ utilizator"
+
index fa6e92a922f647a38ae6f06b38cdb56c915b3758..6f0ab3dc66d27d6e0fcde9913dc64e0104e18a4b 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "Отключите Wi-Fi, чтобы использовать модем
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Нельзя активировать одновременно Wi-Fi и Mobile AP. Отключить Mobile AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Заменить кнопку быстрых настроек"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Уведомление"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Принять"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Отказаться"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS-данные о местоположении и их применение контролируются используемыми приложениями"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Согласие пользователя"
+
index af9461c805f76a3d0ba3b41951f06b6044b86e2e..34ce76834ebdf708d0d7f8b6029596d2b33aa85f 100755 (executable)
--- a/po/sk.po
+++ b/po/sk.po
@@ -85,6 +85,9 @@ msgstr "Pred použitím zdieľania pripojenia vypnite sieť Wi-Fi"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi a mobilný prístupový bod sa nedajú aktivovať súčasne. Deaktivovať mobilný prístupový bod?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Zrkadlenie obrazovky"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Nahradiť tlačidlo rýchleho nastavenia"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Oznámenie"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Súhlasím"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Nesúhlasím"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "Polohu GPS a používanie údajov o vašej polohe ovládajú aplikácie, ktoré používate"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Súhlas používateľa"
+
index ea9aae8102dba7c71c34986f7c047cb6535a0fdc..c397cbd74ac656200b469edb2ec30de4873643b0 100755 (executable)
--- a/po/sl.po
+++ b/po/sl.po
@@ -85,6 +85,9 @@ msgstr "Izklopite Wi-Fi, če želite uporabljati telefon kot modem"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi in mobilna DT ne moreta biti vklopljeni hkrati. Izklopim mobilno DT?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Zrcaljenje zaslona"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Spremenite gumb za hitre nastavitve"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Obvestilo"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Sprejmem"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Se ne strinjam"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "Lokacijo GPS in uporabo vaših podatkov o lokaciji nadzorujejo programi, ki jih uporabljate"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Uporabniško soglasje"
+
index ebe0deb2373c2a64164aeb48fa02fd00684ce45b..ed4ae69d8f838c2aa76a4e735ca5b7ad738727e1 100755 (executable)
--- a/po/sr.po
+++ b/po/sr.po
@@ -85,6 +85,9 @@ msgstr "Isključi Wi-Fi da bi koristio/la vezivanje"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi i mobilna pristupna tačka se ne mogu uključiti istovremeno. Isključi mobilnu pristupnu tačku?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Preslikavanje ekrana"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Zameni dugme za brzo podešavanje"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Obavešt."
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Slažem se"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Ne slažem se"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "Korišćene aplikacije kontrolišu GPS lokaciju i korišćenje podataka o lokaciji"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Saglasnost korisnika"
+
index 640ac0ef8db3487628ff84e218d20e971307fc45..79ba7635d59e44675687e2a3794ccc0261ed8646 100755 (executable)
--- a/po/sv.po
+++ b/po/sv.po
@@ -85,6 +85,9 @@ msgstr "Stäng av Wi-Fi för att använda internetdelning"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Det går inte att aktivera både Wi-Fi och Mobile AP samtidigt. Avaktivera Mobile AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Ersätt snabbinställningsknappen"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Meddelande"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Godkänn"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Samtycker inte"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS-position och användning av dina positionsdata hanteras av programmet som används"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Användarmedgivande"
+
index b671784d20211ae9ae1c1cd2673e05b711ba62dc..6262ad6453fddeb0dbe1a807652e47e15cb35994 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "Bağlanmayı kullanmak için Wi-Fi'yi kapatın"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Hem Wi-Fi hem de Mobil AP aynı anda etkinleştirilemez. Mobil AP devre dışı bırakılsın mı?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Ekran Yansıtma"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Hızlı ayar düğmesini değiştir"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Bildirim"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Onayla"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Onaylama"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS konumu ve konum verinizin kullanımı kullandığınız uygulamalar tarafından kontrol edilir"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Kullanıcı izni"
+
index 2eed48170dd6aedaee7a414d65e7fb25e21ef7af..777a149cec4ace1774b895344e5d28e4e52d03a5 100755 (executable)
--- a/po/uk.po
+++ b/po/uk.po
@@ -85,6 +85,9 @@ msgstr "Вимкніть Wi-Fi, щоб скористатися прив'язк
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Мережі Wi-Fi та Mobile AP не можна активувати одночасно. Вимкнути Mobile AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Дублювання екрану"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Замінити кнопку установок панелі швидкого доступу"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Сповіщення"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Згоден"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Не погодитися"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "Керування GPS-розташуванням і використанням даних про розташування здійснюється за допомогою програми, яка використовується вами"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Згода користувача"
+
index 80d0dc254bb1de8c3928c0f9444563d558587282..5370e7a45e94e0205ef98ce4cba27a9644366bf9 100755 (executable)
--- a/po/uz.po
+++ b/po/uz.po
@@ -85,6 +85,9 @@ msgstr "Bog‘lanishdan foydalanish uchun Wi-Fini o‘chiring"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Bir vaqtning o‘zida Wi-Fi va Mobile APni faollashtirib bo‘lmaydi. Mobile AP o‘chirilsinmi?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "Tezkor sozlash tugmasini almashtirish"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "Bildir-noma"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "Roziman"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "Rozi emas"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS joylashuvi va Sizning joylashuvingiz ma’lumotidan foydalanish Siz ishlatayotgan ilovalar orqali nazorat qilinadi"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "Foydalanuvchi roziligi"
+
index 8eafc033995de615c6e558074698724a3c8587a6..c254aecc9868dcf39fc7ad3cb7f7b0b1a378c457 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "关闭 Wi-Fi 以使用网络共享"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi和移动接入无法同时启动。取消移动接入?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "替换快捷设置按钮"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "通知"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "同意"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "不同意"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS位置和您的位置数据的使用由您使用的应用程序来控制"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "用户同意"
+
index 34cbb9c5164fe0f9615c965876f45fe8e1fb9af6..3b787242897b6c4f47d3f54ed400af50125bb9c5 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "關閉 Wi-Fi 以使用網絡共享"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi和Mobile AP不可同時啟動。關閉Mobile AP嗎?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "取代快速設定按鈕"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "通知"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "同意"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "不同意"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS 位置和位置數據的使用由您使用的應用程式控制"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "用戶贊成"
+
index a338114fe283577946e46d335dce52fecfca8cbb..536080e372ec0603291f0ec1e414ee184e89d692 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "关闭 Wi-Fi 以使用网络共享"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi-Fi和移动AP无法同时启动。取消移动AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "屏幕镜像"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "替换快捷设置按钮"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "通知"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "同意"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "不同意"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS位置和您的位置数据的使用由使用的应用程序来控制"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "用户同意"
+
index 1a67e2ede0eb41600807b94d8409b4437d151804..4f50dfa93c85bd1b2acb4465824bd6bc4793f83e 100755 (executable)
@@ -85,6 +85,9 @@ msgstr "關閉 Wi-Fi 以使用網路共享"
 msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
 msgstr "Wi - Fi和行動AP不能在同一時間被啟動。停用行動AP?"
 
+msgid "IDS_ASCAST_HEADER_SCREEN_MIRRORING"
+msgstr "Screen Mirroring"
+
 msgid "IDS_QP_HEADER_REPLACE_QUICK_SETTING_BUTTON"
 msgstr "取代快速設定按鈕"
 
@@ -106,3 +109,15 @@ msgstr "GPS"
 msgid "IDS_QP_BUTTON_NOTIFICATION"
 msgstr "通知"
 
+msgid "IDS_COM_BUTTON_AGREE"
+msgstr "同意"
+
+msgid "IDS_COM_BUTTON_DISAGREE"
+msgstr "不同意"
+
+msgid "IDS_ST_BODY_GPS_LOCATION_USE_CONTROLLED_BY_APPLICATIONS_MSG"
+msgstr "GPS定位和你的位置資料將被你的用應程式使用"
+
+msgid "IDS_ST_HEADER_USER_CONSENT"
+msgstr "用戶同意"
+