diff options
author | youngsub ko <ys4610.ko@samsung.com> | 2013-05-02 15:05:42 +0900 |
---|---|---|
committer | youngsub ko <ys4610.ko@samsung.com> | 2013-05-02 15:05:42 +0900 |
commit | c2ce1c4c909c07a1cd023390389db420c41f92ef (patch) | |
tree | 9e0fb8828b224096e298df722f29031bc2653187 | |
parent | 303e9becb49a79d53db9c6a5c1d8ba9c333cb45d (diff) | |
download | quickpanel-c2ce1c4c909c07a1cd023390389db420c41f92ef.tar.gz quickpanel-c2ce1c4c909c07a1cd023390389db420c41f92ef.tar.bz2 quickpanel-c2ce1c4c909c07a1cd023390389db420c41f92ef.zip |
sync with private git
80 files changed, 1533 insertions, 424 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 065c5d0..1c09a7b 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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}\"") diff --git a/daemon/common.c b/daemon/common.c index e264587..5a4b81a 100755 --- a/daemon/common.c +++ b/daemon/common.c @@ -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); + } +} diff --git a/daemon/common.h b/daemon/common.h index 712a2ac..412296f 100755 --- a/daemon/common.h +++ b/daemon/common.h @@ -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*/ @@ -98,9 +99,15 @@ } 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); @@ -114,5 +121,7 @@ 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_ */ diff --git a/daemon/device/brightness.c b/daemon/device/brightness.c index 76db218..32d7a33 100755 --- a/daemon/device/brightness.c +++ b/daemon/device/brightness.c @@ -28,12 +28,21 @@ #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; diff --git a/daemon/idletxt/idletxt.c b/daemon/idletxt/idletxt.c index 33ccccf..a63a74d 100755 --- a/daemon/idletxt/idletxt.c +++ b/daemon/idletxt/idletxt.c @@ -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) { diff --git a/daemon/list_util.c b/daemon/list_util.c index 73d8312..de38e04 100755 --- a/daemon/list_util.c +++ b/daemon/list_util.c @@ -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); } } diff --git a/daemon/media.c b/daemon/media.c index 27dc4f7..a7908b7 100755 --- a/daemon/media.c +++ b/daemon/media.c @@ -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; + } +} diff --git a/daemon/media.h b/daemon/media.h index 7d39333..05a0ad7 100755 --- a/daemon/media.h +++ b/daemon/media.h @@ -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 diff --git a/daemon/minictrl/minictrl.c b/daemon/minictrl/minictrl.c index e74ae1f..04c605c 100755 --- a/daemon/minictrl/minictrl.c +++ b/daemon/minictrl/minictrl.c @@ -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) diff --git a/daemon/modules.c b/daemon/modules.c index f064c0b..f4a27f3 100755 --- a/daemon/modules.c +++ b/daemon/modules.c @@ -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[] = { ¬i, &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 index 0000000..41aa2b4 --- /dev/null +++ b/daemon/notifications/animated_image.c @@ -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 index 0000000..c5f2d80 --- /dev/null +++ b/daemon/notifications/animated_image.h @@ -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 diff --git a/daemon/notifications/noti.c b/daemon/notifications/noti.c index 74c53a9..e9154fb 100755 --- a/daemon/notifications/noti.c +++ b/daemon/notifications/noti.c @@ -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, ¬i_pkgname); + notification_get_application(noti, ¬i_launch_pkgname); + notification_get_type(noti, ¬i_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; diff --git a/daemon/notifications/noti_box.c b/daemon/notifications/noti_box.c index 864a360..ecc2983 100755 --- a/daemon/notifications/noti_box.c +++ b/daemon/notifications/noti_box.c @@ -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); } diff --git a/daemon/notifications/noti_gridbox.c b/daemon/notifications/noti_gridbox.c index c44f55b..d05fc89 100755 --- a/daemon/notifications/noti_gridbox.c +++ b/daemon/notifications/noti_gridbox.c @@ -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) diff --git a/daemon/notifications/noti_list_item.c b/daemon/notifications/noti_list_item.c index 94ce281..dec9dd7 100755 --- a/daemon/notifications/noti_list_item.c +++ b/daemon/notifications/noti_list_item.c @@ -25,102 +25,12 @@ #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 } } } diff --git a/daemon/notifications/noti_listbox.c b/daemon/notifications/noti_listbox.c index f345475..78f0b6a 100755 --- a/daemon/notifications/noti_listbox.c +++ b/daemon/notifications/noti_listbox.c @@ -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; diff --git a/daemon/notifications/noti_section.c b/daemon/notifications/noti_section.c index 913153b..df38e54 100755 --- a/daemon/notifications/noti_section.c +++ b/daemon/notifications/noti_section.c @@ -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); diff --git a/daemon/notifications/noti_util.c b/daemon/notifications/noti_util.c index e90fb73..c4ade7f 100755 --- a/daemon/notifications/noti_util.c +++ b/daemon/notifications/noti_util.c @@ -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, ¬i_list); if (noti_list != NULL) { noti = notification_list_get_data(noti_list); diff --git a/daemon/notifications/ticker.c b/daemon/notifications/ticker.c index ef2b406..c873185 100755 --- a/daemon/notifications/ticker.c +++ b/daemon/notifications/ticker.c @@ -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); diff --git a/daemon/quickpanel-ui.c b/daemon/quickpanel-ui.c index 47b138e..75c42fb 100755 --- a/daemon/quickpanel-ui.c +++ b/daemon/quickpanel-ui.c @@ -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); } diff --git a/daemon/quickpanel-ui.h b/daemon/quickpanel-ui.h index 79553df..19064ec 100755 --- a/daemon/quickpanel-ui.h +++ b/daemon/quickpanel-ui.h @@ -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 index 0000000..94479c9 --- /dev/null +++ b/daemon/service/noti_led.c @@ -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, ¬i_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, ¬i_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 index 0000000..971ee0f --- /dev/null +++ b/daemon/service/noti_led.h @@ -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 diff --git a/data/icons/quick_standard_btn_nor.png b/data/icons/quick_standard_btn_nor.png Binary files differindex 007f08f..5d2cc63 100755 --- a/data/icons/quick_standard_btn_nor.png +++ b/data/icons/quick_standard_btn_nor.png diff --git a/data/icons/quick_standard_btn_press.png b/data/icons/quick_standard_btn_press.png Binary files differindex 1657576..c94d052 100755 --- a/data/icons/quick_standard_btn_press.png +++ b/data/icons/quick_standard_btn_press.png diff --git a/data/quickpanel.xml.in b/data/quickpanel.xml.in index f02dc4e..cfd0958 100755 --- a/data/quickpanel.xml.in +++ b/data/quickpanel.xml.in @@ -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> diff --git a/data/quickpanel_def.h b/data/quickpanel_def.h index caf6ffe..c3c1401 100755 --- a/data/quickpanel_def.h +++ b/data/quickpanel_def.h @@ -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 diff --git a/packaging/org.tizen.quickpanel.spec b/packaging/org.tizen.quickpanel.spec index 57e2c1e..aacee49 100755 --- a/packaging/org.tizen.quickpanel.spec +++ b/packaging/org.tizen.quickpanel.spec @@ -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 @@ -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 "موافقة المستخدم" @@ -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ığı" + @@ -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 "Съгласие от потребителя" + @@ -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" + @@ -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" + @@ -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" + diff --git a/po/de_DE.po b/po/de_DE.po index fbf9ba3..73ed8f0 100755 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -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" + diff --git a/po/el_GR.po b/po/el_GR.po index 02545b0..d0ea64d 100755 --- a/po/el_GR.po +++ b/po/el_GR.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 όσο και το 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 "Συγκατάθεση χρήστη" + @@ -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" + diff --git a/po/en_PH.po b/po/en_PH.po index 9a64a84..d99aed0 100755 --- a/po/en_PH.po +++ b/po/en_PH.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" + diff --git a/po/en_US.po b/po/en_US.po index 30a78a9..c2e73ee 100755 --- a/po/en_US.po +++ b/po/en_US.po @@ -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" + diff --git a/po/es_ES.po b/po/es_ES.po index 08e7758..222e57a 100755 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -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" + diff --git a/po/es_MX.po b/po/es_MX.po index 9f07a53..b2532c6 100755 --- a/po/es_MX.po +++ b/po/es_MX.po @@ -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" + @@ -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" + @@ -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" + @@ -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" + diff --git a/po/fr_CA.po b/po/fr_CA.po index 826d7ea..083ed7e 100755 --- a/po/fr_CA.po +++ b/po/fr_CA.po @@ -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" + diff --git a/po/fr_FR.po b/po/fr_FR.po index 3360dd4..7990fda 100755 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -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" + @@ -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" + @@ -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" + @@ -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 "उपभोक्ता स्वीकृति" + @@ -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" + @@ -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" + @@ -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 "Օգտվողի համաձայնություն" + @@ -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" + diff --git a/po/it_IT.po b/po/it_IT.po index 3d7cfb7..408c0a9 100755 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -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" + diff --git a/po/ja_JP.po b/po/ja_JP.po index 51f8a86..b1c3f0b 100755 --- a/po/ja_JP.po +++ b/po/ja_JP.po @@ -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 "ユーザー同意" + @@ -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 "მომხმარებლის თანხმობა" + @@ -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 "Пайдаланушы келісімі" + diff --git a/po/ko_KR.po b/po/ko_KR.po index 96a9698..a666674 100755 --- a/po/ko_KR.po +++ b/po/ko_KR.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와 모바일 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 "사용자 동의" + @@ -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" + @@ -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" + @@ -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 "Согласност на корисникот" + @@ -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" + diff --git a/po/nl_NL.po b/po/nl_NL.po index 11e87a4..03688d7 100755 --- a/po/nl_NL.po +++ b/po/nl_NL.po @@ -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" + @@ -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" + diff --git a/po/pt_BR.po b/po/pt_BR.po index a9260da..2a2be69 100755 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -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" + diff --git a/po/pt_PT.po b/po/pt_PT.po index 181ece5..55751cc 100755 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -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" + @@ -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" + diff --git a/po/ru_RU.po b/po/ru_RU.po index fa6e92a..6f0ab3d 100755 --- a/po/ru_RU.po +++ b/po/ru_RU.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 "Согласие пользователя" + @@ -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" + @@ -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" + @@ -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" + @@ -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" + diff --git a/po/tr_TR.po b/po/tr_TR.po index b671784..6262ad6 100755 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -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" + @@ -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 "Згода користувача" + @@ -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" + diff --git a/po/zh_CN.po b/po/zh_CN.po index 8eafc03..c254aec 100755 --- a/po/zh_CN.po +++ b/po/zh_CN.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 "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 "用户同意" + diff --git a/po/zh_HK.po b/po/zh_HK.po index 34cbb9c..3b78724 100755 --- a/po/zh_HK.po +++ b/po/zh_HK.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 "用戶贊成" + diff --git a/po/zh_SG.po b/po/zh_SG.po index a338114..536080e 100755 --- a/po/zh_SG.po +++ b/po/zh_SG.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和移动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 "用户同意" + diff --git a/po/zh_TW.po b/po/zh_TW.po index 1a67e2e..4f50dfa 100755 --- a/po/zh_TW.po +++ b/po/zh_TW.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和行動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 "用戶同意" + |