From 0820d31a3f2a8073550484ec86593212cd957716 Mon Sep 17 00:00:00 2001 From: "jin0.kim" Date: Fri, 15 Apr 2016 13:46:04 +0830 Subject: [PATCH] Remove unused code Change-Id: I85a1960ea9375ca883f57844a0bb46e4de1eaf86 --- CMakeLists.txt | 23 +- daemon/dbus_utility.c | 65 - daemon/dbus_utility.h | 23 - daemon/notifications/noti.c | 24 +- daemon/notifications/noti_box.c | 1308 --------- daemon/notifications/noti_box.h | 62 - daemon/notifications/noti_gridbox.c | 984 ------- daemon/notifications/noti_gridbox.h | 38 - daemon/notifications/noti_view_boxtype.c | 1014 ------- daemon/notifications/noti_win.c | 2 +- daemon/quickpanel-ui.c | 4 - daemon/service/configuration.c | 86 - daemon/service/configuration.h | 28 - daemon/service/smart_alert.c | 87 - daemon/service/smart_alert.h | 35 - daemon/settings/modules/assistive_light.c | 184 -- daemon/settings/modules/flightmode.c | 420 --- daemon/settings/modules/mobile_data.c | 495 ---- daemon/settings/modules/tethering.c | 466 ---- daemon/settings/modules/ultra_power_saving.c | 260 -- daemon/settings/settings.c | 5 - {icons => data/images}/quickpanel_icon_default.png | Bin data/images_icon/btn_mw_circlization_dim.png | Bin 7124 -> 0 bytes data/images_icon/btn_mw_circlization_nor.png | Bin 7175 -> 0 bytes data/images_icon/btn_mw_circlization_press.png | Bin 5715 -> 0 bytes data/images_icon/btn_mw_close_nor.png | Bin 4936 -> 0 bytes data/images_icon/btn_mw_close_press.png | Bin 3761 -> 0 bytes data/images_icon/btn_mw_squarization_dim.png | Bin 7357 -> 0 bytes data/images_icon/btn_mw_squarization_nor.png | Bin 7405 -> 0 bytes data/images_icon/btn_mw_squarization_press.png | Bin 5853 -> 0 bytes data/images_icon/quick_standard_btn_nor.png | Bin 2033 -> 0 bytes data/images_icon/quick_standard_btn_press.png | Bin 1816 -> 0 bytes data/images_icon/toggle_mw_hide_nor.png | Bin 7232 -> 0 bytes data/images_icon/toggle_mw_hide_press.png | Bin 5735 -> 0 bytes data/images_icon/toggle_mw_show_nor.png | Bin 8061 -> 0 bytes data/images_icon/toggle_mw_show_press.png | Bin 6465 -> 0 bytes data/quickpanel.edc | 3 - data/quickpanel_listbox.edc | 675 ----- data/quickpanel_listitem_noti_legacy.edc | 2814 ------------------- data/quickpanel_notibox.edc | 2915 -------------------- data/quickpanel_page_edit.edc | 636 ----- data/quickpanel_textblock_slide_style.edc | 155 -- icons/settings_noti_panel.png | Bin 6408 -> 0 bytes 43 files changed, 7 insertions(+), 12804 deletions(-) delete mode 100755 daemon/dbus_utility.c delete mode 100755 daemon/dbus_utility.h delete mode 100755 daemon/notifications/noti_box.c delete mode 100755 daemon/notifications/noti_box.h delete mode 100755 daemon/notifications/noti_gridbox.c delete mode 100755 daemon/notifications/noti_gridbox.h delete mode 100755 daemon/notifications/noti_view_boxtype.c delete mode 100644 daemon/service/configuration.c delete mode 100644 daemon/service/configuration.h delete mode 100755 daemon/service/smart_alert.c delete mode 100755 daemon/service/smart_alert.h delete mode 100755 daemon/settings/modules/assistive_light.c delete mode 100755 daemon/settings/modules/flightmode.c delete mode 100755 daemon/settings/modules/mobile_data.c delete mode 100755 daemon/settings/modules/tethering.c delete mode 100755 daemon/settings/modules/ultra_power_saving.c rename {icons => data/images}/quickpanel_icon_default.png (100%) delete mode 100644 data/images_icon/btn_mw_circlization_dim.png delete mode 100644 data/images_icon/btn_mw_circlization_nor.png delete mode 100644 data/images_icon/btn_mw_circlization_press.png delete mode 100644 data/images_icon/btn_mw_close_nor.png delete mode 100644 data/images_icon/btn_mw_close_press.png delete mode 100644 data/images_icon/btn_mw_squarization_dim.png delete mode 100644 data/images_icon/btn_mw_squarization_nor.png delete mode 100644 data/images_icon/btn_mw_squarization_press.png delete mode 100644 data/images_icon/quick_standard_btn_nor.png delete mode 100644 data/images_icon/quick_standard_btn_press.png delete mode 100644 data/images_icon/toggle_mw_hide_nor.png delete mode 100644 data/images_icon/toggle_mw_hide_press.png delete mode 100644 data/images_icon/toggle_mw_show_nor.png delete mode 100644 data/images_icon/toggle_mw_show_press.png delete mode 100755 data/quickpanel_listbox.edc delete mode 100755 data/quickpanel_listitem_noti_legacy.edc delete mode 100755 data/quickpanel_notibox.edc delete mode 100755 data/quickpanel_page_edit.edc delete mode 100755 data/quickpanel_textblock_slide_style.edc delete mode 100644 icons/settings_noti_panel.png diff --git a/CMakeLists.txt b/CMakeLists.txt index adde076..2d2da5c 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,6 @@ AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/test TEST_SRCS) SET(SRCS daemon/modules.c - daemon/dbus_utility.c daemon/accessibility.c daemon/voice_control.c daemon/media.c @@ -18,28 +17,20 @@ SET(SRCS daemon/notifications/animated_image.c daemon/notifications/activenoti.c daemon/notifications/noti_view_listype.c - daemon/notifications/noti_box.c + daemon/notifications/noti_view_ongoing.c daemon/notifications/noti_node.c daemon/notifications/noti_section.c - daemon/notifications/noti_view_ongoing.c - daemon/notifications/noti_gridbox.c daemon/notifications/noti_win.c - daemon/notifications/noti_view_boxtype.c daemon/notifications/noti_listbox.c daemon/notifications/noti_util.c daemon/notifications/noti_view.c daemon/notifications/noti.c daemon/device/brightness.c daemon/settings/modules/rotate-lock.c - daemon/settings/modules/ultra_power_saving.c - daemon/settings/modules/assistive_light.c daemon/settings/modules/bluetooth.c daemon/settings/modules/gps.c daemon/settings/modules/wifi.c - daemon/settings/modules/tethering.c - daemon/settings/modules/mobile_data.c daemon/settings/modules/sound-profile.c - daemon/settings/modules/flightmode.c daemon/settings/settings_view_all.c daemon/settings/settings_icon_common.c daemon/settings/settings_gridbox.c @@ -57,12 +48,10 @@ SET(SRCS daemon/service/reminder.c daemon/service/keyboard.c daemon/service/noti_led.c - daemon/service/smart_alert.c daemon/page/pager.c daemon/page/page_base.c daemon/page/pager_common.c daemon/page/page_setting_all.c - daemon/page/page_edit.c daemon/quickpanel-ui.c daemon/common.c daemon/list_util.c @@ -139,7 +128,7 @@ pkg_check_modules(pkgs REQUIRED iniparser alarm-service voice-control-setting - tzsh-quickpanel-service + tzsh-quickpanel-service ) FOREACH(flag ${pkgs_CFLAGS} ${x11_pkgs_CFLAGS}) @@ -161,7 +150,6 @@ ADD_DEFINITIONS("-DQP_SETTING_ENABLE") ADD_DEFINITIONS("-DQP_BRIGHTNESS_ENABLE") ADD_DEFINITIONS("-DQP_MINICTRL_ENABLE") ADD_DEFINITIONS("-DQP_SCREENREADER_ENABLE") -ADD_DEFINITIONS("-DQP_SMART_ALERT_ENABLE") ADD_DEFINITIONS("-DQP_SERVICE_NOTI_LED_ENABLE") ADD_DEFINITIONS("-DQP_ANIMATED_IMAGE_ENABLE") ADD_DEFINITIONS("-DQP_REMINDER_ENABLE") @@ -189,13 +177,11 @@ TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${x11_pkgs_LDFLAGS} "-pie" INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR}) INSTALL(DIRECTORY DESTINATION ${DATADIR}) -INSTALL(FILES ${CMAKE_SOURCE_DIR}/icons/quickpanel_icon_default.png DESTINATION ${RESDIR}) - -# icon for setting -INSTALL(FILES ${CMAKE_SOURCE_DIR}/icons/settings_noti_panel.png DESTINATION ${SHARED_DIR}/icons) +#INSTALL(FILES ${CMAKE_SOURCE_DIR}/icons/quickpanel_icon_default.png DESTINATION ${RESDIR}) # icons for notification INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/images_noti_icons/ DESTINATION ${SHARED_DIR}/noti_icons FILES_MATCHING PATTERN "*.png") +INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/images/quickpanel_icon_default.png DESTINATION ${RESDIR}) # License INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME ${PKGNAME}) @@ -203,4 +189,3 @@ INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME # i18n ADD_SUBDIRECTORY(data) ADD_SUBDIRECTORY(po) - diff --git a/daemon/dbus_utility.c b/daemon/dbus_utility.c deleted file mode 100755 index e8e3969..0000000 --- a/daemon/dbus_utility.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - - -#include -#include - -#include -#include -#include - -#include "common.h" -#include "quickpanel-ui.h" - -#define QP_DBUS_ACTIVENOTI_NAME QP_DBUS_NAME".activenoti" -#define QP_DBUS_ACTIVENOTI_PATH QP_DBUS_PATH"/activenoti" -#define QP_DBUS_ACTIVENOTI_MEMBER_SHOW "show" -#define QP_DBUS_ACTIVENOTI_MEMBER_HIDE "hide" - -HAPI void quickpanel_dbus_activenoti_visibility_send(int is_visible) -{ - DBusMessage *signal = NULL; - const char *member = NULL; - struct appdata *ad = quickpanel_get_app_data(); - - retif(ad == NULL, , "invalid parameter"); - retif(ad->dbus_connection == NULL, , "failed to get dbus system bus"); - - if (is_visible == 1) { - member = QP_DBUS_ACTIVENOTI_MEMBER_SHOW; - } else { - member = QP_DBUS_ACTIVENOTI_MEMBER_HIDE; - } - signal = - dbus_message_new_signal(QP_DBUS_ACTIVENOTI_PATH - , QP_DBUS_ACTIVENOTI_NAME - , member); - if (signal == NULL) { - ERR("Fail to dbus_message_new_signal"); - return; - } - - DBG("status:%s", member); - - e_dbus_message_send(ad->dbus_connection, - signal, - NULL, - 0, - NULL); - dbus_message_unref(signal); -} diff --git a/daemon/dbus_utility.h b/daemon/dbus_utility.h deleted file mode 100755 index 42d890a..0000000 --- a/daemon/dbus_utility.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * 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 __QP_DBUS_UTILITY_H__ -#define __QP_DBUS_UTILITY_H__ - -extern void quickpanel_dbus_activenoti_visibility_send(int is_visible); - -#endif diff --git a/daemon/notifications/noti.c b/daemon/notifications/noti.c index 4cc5544..12997e8 100755 --- a/daemon/notifications/noti.c +++ b/daemon/notifications/noti.c @@ -40,9 +40,7 @@ #include "common.h" #include "list_util.h" #include "noti_node.h" -#include "noti_gridbox.h" #include "vi_manager.h" -#include "noti_box.h" #include "noti_listbox.h" #include "noti_list_item.h" #include "noti_section.h" @@ -50,10 +48,6 @@ #include "noti.h" #include "list_util.h" -#ifdef QP_SMART_ALERT_ENABLE -#include "smart_alert.h" -#endif - #ifdef QP_SERVICE_NOTI_LED_ENABLE #include "noti_led.h" #endif @@ -468,9 +462,7 @@ static void _notibox_delete_cb(noti_node_item *item, Evas_Object *obj) notification_h noti = item->noti; retif(noti == NULL, , "Invalid parameter!"); - if (_do_noti_delete(noti) != NOTIFICATION_ERROR_NONE) { - quickpanel_noti_box_item_dragging_cancel(obj); - } + _do_noti_delete(noti); } static void _notibox_button_1_cb(noti_node_item *item, Evas_Object *obj) @@ -716,6 +708,7 @@ static void _noti_add(Evas_Object *list, void *data, int insert_pos) static void _update_notilist(struct appdata *ad) { + DBG(""); Evas_Object *list = NULL; notification_h noti = NULL; notification_h noti_save = NULL; @@ -837,9 +830,6 @@ static void _detailed_changed_cb(void *data, notification_type_e type, notificat } } #endif -#ifdef QP_SMART_ALERT_ENABLE - quickpanel_smart_alert_update_info(noti_new); -#endif #ifdef QP_SERVICE_NOTI_LED_ENABLE quickpanel_noti_led_proc(noti_new, op_type); #endif @@ -881,9 +871,6 @@ static void _detailed_changed_cb(void *data, notification_type_e type, notificat notification_h noti = node->noti; notification_get_type(noti, ¬i_type); -#ifdef QP_SMART_ALERT_ENABLE - quickpanel_smart_alert_update_info(noti); -#endif #ifdef QP_SERVICE_NOTI_LED_ENABLE quickpanel_noti_led_proc(noti, op_type); #endif @@ -937,9 +924,6 @@ static void _detailed_changed_cb(void *data, notification_type_e type, notificat } } #endif -#ifdef QP_SMART_ALERT_ENABLE - quickpanel_smart_alert_update_info(noti_new); -#endif #ifdef QP_SERVICE_NOTI_LED_ENABLE quickpanel_noti_led_proc(noti_new, op_type); #endif @@ -954,7 +938,6 @@ static void _detailed_changed_cb(void *data, notification_type_e type, notificat if (quickpanel_noti_view_is_view_handler_changed(node->view, noti_new) == 1) { quickpanel_noti_listbox_remove_item(ad->list, node->view, 1); quickpanel_noti_node_remove(s_info.noti_node, priv_id); - _noti_add(ad->list, noti_new, GRIDBOX_PREPEND); } else { old_noti = node->noti; node->noti = noti_new; @@ -993,9 +976,6 @@ static void _detailed_changed_cb(void *data, notification_type_e type, notificat case NOTIFICATION_OP_SERVICE_READY: _update_notilist(ad); -#ifdef QP_SMART_ALERT_ENABLE - quickpanel_smart_alert_update_info(NULL); -#endif #ifdef QP_SERVICE_NOTI_LED_ENABLE quickpanel_noti_led_init(ad, s_info.noti_node); #endif diff --git a/daemon/notifications/noti_box.c b/daemon/notifications/noti_box.c deleted file mode 100755 index 9b15a4e..0000000 --- a/daemon/notifications/noti_box.c +++ /dev/null @@ -1,1308 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "quickpanel-ui.h" -#include "common.h" -#include "list_util.h" -#include "quickpanel_def.h" -#include "vi_manager.h" -#include "noti_box.h" -#include "noti_node.h" -#include "noti.h" -#include "noti_util.h" -#include "animated_icon.h" - -#ifdef QP_SCREENREADER_ENABLE -#include "accessibility.h" -#endif - -#ifdef QP_ANIMATED_IMAGE_ENABLE -#include "animated_image.h" -#endif - -#define IMAGE_NO_RESIZE 0 -#define IMAGE_RESIZE 1 - -#define IMAGE_BY_FILE 0 -#define IMAGE_BY_BUFFER 1 - -#define TEXT_NO_CR 0 -#define TEXT_CR 1 - -#define THRESHOLD_DRAGGING_TIME_LIMIT 1.0 -#define LIMIT_ZOOM_RATIO 0.55 -#define LIMIT_FADEOUT_RATIO 0.1 -#define THRESHOLD_DELETE_START 80 -#define THRESHOLD_DELETE_START_Y_LIMIT 60 -#define THRESHOLD_DISTANCE ((BOX_WIDTH_P >> 1)) - -static struct _info { - int box_debug_step; -} s_info = { - .box_debug_step = 0, -}; - -static Evas_Object *_check_duplicated_image_loading(Evas_Object *obj, const char *part, const char *file_path) -{ - Evas_Object *old_ic = NULL; - const char *old_ic_path = NULL; - - retif(obj == NULL, NULL, "Invalid parameter!"); - retif(part == NULL, NULL, "Invalid parameter!"); - retif(file_path == NULL, NULL, "Invalid parameter!"); - - old_ic = elm_object_part_content_get(obj, part); - - if (quickpanel_animated_icon_is_same_icon(old_ic, file_path) == 1) { - return old_ic; - } - - if (old_ic != NULL) { - elm_image_file_get(old_ic, &old_ic_path, NULL); - if (old_ic_path != NULL) { - if (strcmp(old_ic_path, file_path) == 0) - return old_ic; - } - - elm_object_part_content_unset(obj, part); - evas_object_del(old_ic); - old_ic = NULL; - } - - return NULL; -} - -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"); - - double time_current = 0.0; - static double time_called = 0.0; - - if (time_called == 0) { - time_called = ecore_loop_time_get(); - } else { - time_current = ecore_loop_time_get(); - if ((time_current - time_called) < 0.4) { - DBG("click rejected"); - return; - } - } - - void (*cb)(void *data, Evas_Object *obj) = NULL; - noti_box_h *data = NULL; - data = evas_object_data_get(noti_box, E_DATA_NOTI_BOX_H); - retif(data == NULL, , "invalid parameter"); - - if (strncmp(emission,"selected", strlen("selected")) == 0) { - if (data->need_to_cancel_press > 0) { - data->need_to_cancel_press = 0; - return; - } - - cb = evas_object_data_get(noti_box, E_DATA_CB_SELECTED_ITEM); - - if (cb != NULL) { - cb(data->noti_node, noti_box); - } - time_called = time_current; - } else if (strncmp(emission,"button_1", strlen("button_1")) == 0) { - if (data->need_to_cancel_press > 0) { - data->need_to_cancel_press = 0; - return; - } - - cb = evas_object_data_get(noti_box, E_DATA_CB_BUTTON_1); - - if (cb != NULL) { - cb(data->noti_node, noti_box); - } - time_called = time_current; - } else if (strncmp(emission,"deleted", strlen("deleted")) == 0) { - data->need_to_cancel_press = 0; - cb = evas_object_data_get(noti_box, E_DATA_CB_DELETED_ITEM); - - if (cb != NULL && data != NULL) { - cb(data->noti_node, noti_box); - } - } -} - -noti_box_h *_box_handler_get(Evas_Object *obj) -{ - - return evas_object_data_get(obj, E_DATA_NOTI_BOX_H); -} - -static void _attach_memfile(Evas_Object *noti_box, notification_image_type_e image_type, void *memfile) -{ - char buf[32] = {0,}; - - snprintf(buf, sizeof(buf), "%s_%d", E_DATA_NOTI_BOX_MB_BG, image_type); - - void *memfile_attached = evas_object_data_get(noti_box, buf); - if (memfile_attached != NULL) { - free(memfile_attached); - } - evas_object_data_set(noti_box, buf, memfile); -} - -static void _deattach_memfile_all(Evas_Object *noti_box) -{ - char buf[32] = {0,}; - void *memfile = NULL; - int i = NOTIFICATION_TEXT_TYPE_NONE + 1; - - for ( ; i < NOTIFICATION_TEXT_TYPE_MAX; i++) { - snprintf(buf, sizeof(buf), "%s_%d", E_DATA_NOTI_BOX_MB_BG, i); - - memfile = evas_object_data_get(noti_box, buf); - if (memfile != NULL) { - free(memfile); - } - evas_object_data_set(noti_box, buf, NULL); - evas_object_data_del(noti_box, buf); - } -} - -static void _text_clean_all(Evas_Object *noti_box) -{ - int i = 0; - const char *text_parts[] = { - "object.text.title", - "object.text.contents", - "object.text.contents.multiline.short", - "object.text.contents.multiline", - "object.text.count", - "object.text.info.1", - "object.text.info.1.short", - "object.text.info.1.multiline", - "object.text.info.sub.1", - "object.text.info.2", - "object.text.info.2.short", - "object.text.info.sub.2", - NULL - }; - - for (i = 0; text_parts[i] != NULL; i++) { - elm_object_part_text_set(noti_box, text_parts[i], ""); - elm_object_part_text_set(noti_box, text_parts[i], NULL); - } -} - -static void _signal_cb(void *data, Evas_Object *o, const char *emission, const char *source) -{ - retif(data == NULL, , "invalid parameter"); - retif(o == NULL, , "invalid parameter"); - retif(emission == NULL, , "invalid parameter"); - - _noti_box_call_item_cb(o, emission); -} - -#ifdef QP_SCREENREADER_ENABLE -static inline void _check_and_add_to_buffer(notification_h noti, notification_text_type_e text_type, Eina_Strbuf *str_buf) -{ - char buf[256] = { 0, }; - char buf_number[QP_UTIL_PHONE_NUMBER_MAX_LEN * 2] = { 0, }; - - char *text = NULL; - time_t time = 0; - - if (notification_get_time_from_text(noti, text_type, &time) == NOTIFICATION_ERROR_NONE) { - if ((int)time > 0) { - quickpanel_noti_util_get_time(time, buf, sizeof(buf)); - text = buf; - } - } else { - notification_get_text(noti, text_type, &text); - } - - if (text != NULL) { - if (strlen(text) > 0) { - if (quickpanel_common_util_is_phone_number(text)) { - quickpanel_common_util_phone_number_tts_make(buf_number, text, - (QP_UTIL_PHONE_NUMBER_MAX_LEN * 2) - 1); - DBG("[%s]", buf_number); - eina_strbuf_append(str_buf, buf_number); - } else { - eina_strbuf_append(str_buf, text); - } - eina_strbuf_append_char(str_buf, '\n'); - } - } -} - -static void _noti_box_set_rs_layout_single(Evas_Object *noti_box, notification_h noti) -{ - Evas_Object *ao = NULL; - Eina_Strbuf *str_buf = NULL; - char *dir = NULL; - char *domain = NULL; - - notification_get_text_domain(noti, &domain, &dir); - if (domain != NULL && dir != NULL) { - bindtextdomain(domain, dir); - } - - str_buf = eina_strbuf_new(); - retif(str_buf == NULL, , "invalid parameter"); - - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_TITLE, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_CONTENT, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_1, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_2, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2, str_buf); - - if (str_buf != NULL) { - ao = quickpanel_accessibility_screen_reader_object_get(noti_box, - SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", noti_box); - if (ao != NULL) { - elm_access_info_set(ao, ELM_ACCESS_TYPE, _("IDS_QP_BUTTON_NOTIFICATION")); - elm_access_info_set(ao, ELM_ACCESS_INFO, eina_strbuf_string_get(str_buf)); - } - - eina_strbuf_free(str_buf); - } -} - -static void _noti_box_set_rs_layout_multi(Evas_Object *noti_box, notification_h noti) -{ - DBG(""); - - Evas_Object *ao = NULL; - Eina_Strbuf *str_buf = NULL; - char *dir = NULL; - char *domain = NULL; - - notification_get_text_domain(noti, &domain, &dir); - if (domain != NULL && dir != NULL) { - bindtextdomain(domain, dir); - } - - str_buf = eina_strbuf_new(); - retif(str_buf == NULL, , "invalid parameter"); - - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_TITLE, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_CONTENT, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_1, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_2, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2, str_buf); - - if (str_buf != NULL) { - ao = quickpanel_accessibility_screen_reader_object_get(noti_box, - SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", noti_box); - if (ao != NULL) { - elm_access_info_set(ao, ELM_ACCESS_TYPE, _("IDS_QP_BUTTON_NOTIFICATION")); - elm_access_info_set(ao, ELM_ACCESS_INFO, eina_strbuf_string_get(str_buf)); - } - - eina_strbuf_free(str_buf); - } -} - -static void _noti_box_set_rs_layout_thumbnail(Evas_Object *noti_box, notification_h noti) -{ - DBG(""); - - Evas_Object *ao = NULL; - Eina_Strbuf *str_buf = NULL; - char *dir = NULL; - char *domain = NULL; - - notification_get_text_domain(noti, &domain, &dir); - if (domain != NULL && dir != NULL) { - bindtextdomain(domain, dir); - } - - str_buf = eina_strbuf_new(); - retif(str_buf == NULL, , "invalid parameter"); - - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_TITLE, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_CONTENT, str_buf); - - if (str_buf != NULL) { - DBG("access:%s", eina_strbuf_string_get(str_buf)); - - ao = quickpanel_accessibility_screen_reader_object_get(noti_box, - SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", noti_box); - if (ao != NULL) { - elm_access_info_set(ao, ELM_ACCESS_TYPE, _("IDS_QP_BUTTON_NOTIFICATION")); - elm_access_info_set(ao, ELM_ACCESS_INFO, eina_strbuf_string_get(str_buf)); - } - - eina_strbuf_free(str_buf); - } -} -#endif - -static Eina_Bool _drag_cancel_cb(void *data) -{ - QP_VI *vi = data; - noti_box_h *box_h = NULL; - retif(vi == NULL, EINA_FALSE, "invalid parameter"); - - if (vi->target != NULL) { - DBG("Canceling dragging"); - - box_h = _box_handler_get(vi->target); - retif(box_h == NULL, EINA_FALSE, "box_h is NULL"); - - box_h->state = NOTIBOX_STATE_GETSTURE_CANCELED; - evas_object_map_enable_set(vi->target, EINA_FALSE); - - box_h->vi = NULL; - } - - return EINA_TRUE; -} - -static void _mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) -{ - int w = 0, h = 0; - noti_box_h *box_h = NULL; - Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down *)event_info; - retif(ev == NULL, , "event_info is NULL"); - - box_h = _box_handler_get(obj); - retif(box_h == NULL, , "box_h is NULL"); - - evas_object_geometry_get(obj, NULL, NULL, &w, &h); - - box_h->press_x = ev->canvas.x; - box_h->press_y = ev->canvas.y; - box_h->obj_w = w; - box_h->obj_h = h; - box_h->state = NOTIBOX_STATE_NORMAL; - - s_info.box_debug_step = 1; - SDBG("mouse down:%d %d %d", box_h->obj_w, box_h->obj_h, box_h->state); - - if (box_h->vi != NULL) { - quickpanel_vi_user_event_del(box_h->vi); - box_h->vi = NULL; - } - - box_h->need_to_cancel_press = 0; -} - -static void _mouse_move_cb(void* data, Evas* e, Evas_Object* obj, void* event_info) -{ - int delta_x = 0; - int delta_y = 0; - static int delta_prev = -1; - int x = 0, y = 0; - int w = 0, h = 0; - noti_box_h *box_h = NULL; - double zoom_ratio = 0.0; - double color_ratio = 0.0; - Evas_Map *map = NULL; - Evas_Event_Mouse_Move* ev = event_info; - QP_VI *vi = NULL; - retif(ev == NULL, , "event_info is NULL"); - - box_h = _box_handler_get(obj); - retif(box_h == NULL, , "box_h is NULL"); - - if (box_h->state == NOTIBOX_STATE_GETSTURE_CANCELED) { - DBG("deletion has been canceled"); - return; - } - - evas_object_geometry_get(obj, &x, &y, &w, &h); - delta_x = abs(box_h->press_x - ev->cur.output.x); - delta_y = abs(box_h->press_y - ev->cur.output.y); - - if (s_info.box_debug_step == 1) { - SDBG("mouse move:%d %d %d", delta_x, delta_y, box_h->state); - s_info.box_debug_step = 2; - } - - if (box_h->state == NOTIBOX_STATE_NORMAL) { - if (delta_x >= THRESHOLD_DELETE_START - && delta_y <= THRESHOLD_DELETE_START_Y_LIMIT) { - DBG("start a deletion"); - box_h->state = NOTIBOX_STATE_GETSTURE_WAIT; - - vi = quickpanel_vi_new_with_data( - VI_OP_DELETE, - QP_ITEM_TYPE_NOTI, - NULL, - obj, - NULL, - NULL, - NULL, - _drag_cancel_cb, - vi, - NULL, - 0, - 0); - box_h->vi = vi; - box_h->need_to_cancel_press = 1; - quickpanel_vi_user_event_add(vi); - } - } else if (box_h->state == NOTIBOX_STATE_GETSTURE_WAIT) { - if (delta_prev != delta_x) { - delta_x = (delta_x > THRESHOLD_DISTANCE) ? THRESHOLD_DISTANCE : delta_x; - delta_x = (delta_x <= 0) ? 1 : delta_x; - zoom_ratio = (1.0 - LIMIT_ZOOM_RATIO) * (1.0 - (double)delta_x / (double)THRESHOLD_DISTANCE); - color_ratio = LIMIT_FADEOUT_RATIO + - ((1.0 - LIMIT_FADEOUT_RATIO) * (1.0 - ((double)delta_x / (double)(THRESHOLD_DISTANCE)))); - - map = evas_map_new(4); - if (map != NULL) { - evas_map_util_points_populate_from_object(map, obj); - evas_map_util_zoom(map - , LIMIT_ZOOM_RATIO + zoom_ratio - , LIMIT_ZOOM_RATIO + zoom_ratio - , x + (w >> 1) - , y + (h >> 1)); - evas_map_util_points_color_set(map - , 255 * color_ratio - , 255 * color_ratio - , 255 * color_ratio - , 255 * color_ratio); - evas_object_map_enable_set(obj, EINA_TRUE); - evas_object_map_set(obj, map); - evas_map_free(map); - quickpanel_list_util_scroll_freeze_set(EINA_TRUE); - } - delta_prev = delta_x; - } - } - - box_h->distance = delta_x; -} - -static void _mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) -{ - noti_box_h *box_h = NULL; - box_h = _box_handler_get(obj); - retif(box_h == NULL, , "box_h is NULL"); - - quickpanel_list_util_scroll_freeze_set(EINA_FALSE); - - if (s_info.box_debug_step == 2) { - SDBG("mouse up:%d", box_h->state); - s_info.box_debug_step = 3; - } - - if (box_h->state == NOTIBOX_STATE_GETSTURE_WAIT) { - if (box_h->distance >= (THRESHOLD_DISTANCE - 10)) { - _noti_box_call_item_cb(obj, "deleted"); - } else { - evas_object_map_enable_set(obj, EINA_FALSE); - } - - if (box_h->vi != NULL) { - quickpanel_vi_user_event_del(box_h->vi); - box_h->vi = NULL; - } - } - - box_h->state = NOTIBOX_STATE_NORMAL; -} - -HAPI Evas_Object *quickpanel_noti_box_create(Evas_Object *parent, notification_ly_type_e layout) -{ - Evas_Object *box = NULL; - - box = elm_layout_add(parent); - - if (layout == NOTIFICATION_LY_NOTI_EVENT_SINGLE - || layout == NOTIFICATION_LY_NOTI_EVENT_MULTIPLE) { - elm_layout_file_set(box, DEFAULT_EDJ, - "quickpanel/notibox/single_multi"); - } else if (layout == NOTIFICATION_LY_NOTI_THUMBNAIL) { - elm_layout_file_set(box, DEFAULT_EDJ, "quickpanel/notibox/thumbnail"); - } else { - elm_layout_file_set(box, DEFAULT_EDJ, - "quickpanel/notibox/single_multi"); - } - - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(box); - - noti_box_h *box_h = (noti_box_h *) malloc(sizeof(noti_box_h)); - retif(box_h == NULL, NULL, "failed to allocate a memory"); - - box_h->state = NOTIBOX_STATE_NORMAL; - box_h->layout = layout; - box_h->noti_node = NULL; - evas_object_data_set(box, E_DATA_NOTI_BOX_H, box_h); - - Evas_Object *focus = quickpanel_accessibility_ui_get_focus_object(box); - elm_object_part_content_set(box, "focus", focus); - - //add event - elm_object_signal_callback_add(box, - "selected", - "edje", - _signal_cb, - parent - ); - - //add event - elm_object_signal_callback_add(box, - "button_1", - "edje", - _signal_cb, - parent - ); - - //add event - elm_object_signal_callback_add(box, - "deleted", - "edje", - _signal_cb, - parent - ); - - evas_object_event_callback_add(box, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, NULL); - evas_object_event_callback_add(box, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move_cb, NULL); - evas_object_event_callback_add(box, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, NULL); - - return box; -} - -static Evas_Object *_set_image(Evas_Object *noti_box, notification_h noti, char *image_path, notification_image_type_e image_type, const char *part, int is_stretch, int is_use_buffer) -{ - Evas_Object *content = NULL; - char *image = NULL; - char ext[32] = {0,}; - void *memfile = NULL; - size_t memfile_size = 0; - retif(part == NULL, NULL,"invalid parameter"); - - notification_get_image(noti, image_type, &image); - if (image == NULL && image_path != NULL) { - image = image_path; - } - - if (image != NULL) { - if (is_use_buffer == IMAGE_BY_BUFFER) { - content = quickpanel_animated_icon_get(noti_box, image); - if (content == NULL) { - content = elm_image_add(noti_box); - - memfile = quickpanel_common_ui_get_buffer_from_image(image, &memfile_size, ext, sizeof(ext)); - if (memfile != NULL && memfile_size > 0) { - _attach_memfile(noti_box, image_type, memfile); - if (elm_image_memfile_set(content, memfile, memfile_size, ext, - quickpanel_animated_image_get_groupname(image)) == EINA_FALSE) { - ERR("failed to set memfile set"); - elm_image_file_set(content, image, - quickpanel_animated_image_get_groupname(image)); - } - } else { - if (memfile) { - free(memfile); // due to prevent - } - elm_image_file_set(content, image, - quickpanel_animated_image_get_groupname(image)); - } - } - } else { - content = _check_duplicated_image_loading(noti_box, part, image); - if (content == NULL) { - content = quickpanel_animated_icon_get(noti_box, image); - if (content == NULL) { - content = elm_image_add(noti_box); - - elm_image_file_set(content, image, - quickpanel_animated_image_get_groupname(image)); - } - } else { - return content; - } - } - if (is_stretch == IMAGE_RESIZE) { - elm_image_aspect_fixed_set(content, EINA_FALSE); - elm_image_resizable_set(content, EINA_TRUE, EINA_TRUE); - } else { - if (strcmp(part, BOX_PART_ICON) == 0 || strcmp(part, BOX_PART_ICON_SUB) == 0) { - elm_image_resizable_set(content, EINA_FALSE, EINA_TRUE); - } else { - elm_image_aspect_fixed_set(content, EINA_TRUE); - elm_image_fill_outside_set(content, EINA_TRUE); - } - } - - 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, notification_text_type_e text_type, const char *part, char *str, int is_need_effect, int is_support_cr) -{ - char buf[128] = { 0, }; - - char *text = NULL; - char *text_utf8 = NULL; - time_t time = 0; - - if (str != NULL) { - text = str; - } else if (notification_get_time_from_text(noti, text_type, &time) == NOTIFICATION_ERROR_NONE) { - if ((int)time > 0) { - quickpanel_noti_util_get_time(time, buf, sizeof(buf)); - text = buf; - } - } else { - notification_get_text(noti, text_type, &text); - } - - if (text != NULL) { - if (strlen(text) > 0) { - - if (is_support_cr == TEXT_CR) { - text_utf8 = elm_entry_utf8_to_markup(text); - if (text_utf8 != NULL) { - elm_object_part_text_set(noti_box, part, text_utf8); - free(text_utf8); - } else { - elm_object_part_text_set(noti_box, part, text); - } - } else { - quickpanel_common_util_char_replace(text, _NEWLINE, _SPACE); - elm_object_part_text_set(noti_box, part, text); - } - - if (is_need_effect == 1) { - elm_object_signal_emit(noti_box, "object.show.effect", part); - } else { - elm_object_signal_emit(noti_box, "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; - - 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; - - notification_get_image(noti, image_type, &image); - - if (image == NULL) { - return 1; - } - - if (strncasecmp(image, "(null)", strlen(image)) == 0) { - return 1; - } - - return 0; -} - -static void _noti_box_set_layout_single(Evas_Object *noti_box, notification_h noti) -{ - char *dir = NULL; - char *domain = NULL; - char *pkgname = NULL; - char *icon_path = NULL; - int is_need_effect = 0; - int is_contents_only = 0; - int is_sub_info_1_only = 0; - int is_contents_and_sub_info_2 = 0; - Evas_Object *icon = NULL; - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) { - is_need_effect = 1; - } - - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2) == 1) { - is_contents_only = 1; - } - - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) != 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2) == 1) { - is_sub_info_1_only = 1; - } - - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1 - && (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) != 1 - || _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2) != 1)) { - is_contents_and_sub_info_2 = 1; - } - - DBG("is_contents_only:%d is_sub_info_1_only:%d", is_contents_only, is_sub_info_1_only); - - notification_get_pkgname(noti, &pkgname); - notification_get_text_domain(noti, &domain, &dir); - if (domain != NULL && dir != NULL) { - bindtextdomain(domain, dir); - } - - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_TITLE, - "object.text.title", NULL, is_need_effect, TEXT_CR); - - if (is_contents_only == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, - "object.text.contents.multiline", NULL, is_need_effect, TEXT_CR); - } else { - if (is_contents_and_sub_info_2 == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, - "object.text.contents.multiline.short", NULL, is_need_effect, TEXT_NO_CR); - } else { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, - "object.text.contents", NULL, is_need_effect, TEXT_NO_CR); - } - - if (is_sub_info_1_only == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1.multiline", NULL, is_need_effect, TEXT_CR); - } else { - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) == 0) { - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1", NULL, is_need_effect, TEXT_NO_CR); - } else { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1.short", NULL, is_need_effect, TEXT_NO_CR); - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1, - "object.text.info.sub.1", NULL, is_need_effect, TEXT_NO_CR); - } - } - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_2, - "object.text.info.2", NULL, is_need_effect, TEXT_NO_CR); - } - } - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) { - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon.sub", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - icon = _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_THUMBNAIL, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); -#ifdef QP_ANIMATED_IMAGE_ENABLE - quickpanel_animated_image_add(icon); -#endif - } else { - icon = _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); -#ifdef QP_ANIMATED_IMAGE_ENABLE - quickpanel_animated_image_add(icon); -#endif - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON_SUB, - "object.icon.sub", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - } - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_BACKGROUND, - "object.icon.background", IMAGE_NO_RESIZE, IMAGE_BY_BUFFER); - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) { - - icon_path = quickpanel_common_ui_get_pkginfo_icon(pkgname); - if (icon_path != NULL) { - _set_image(noti_box, NULL, - icon_path, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - free(icon_path); - } - } else { - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) { - elm_object_signal_emit(noti_box, "box.show.dim", "box.prog"); - } - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) { - elm_object_signal_emit(noti_box, "box.hide.icon.bg", "box.prog"); - elm_object_signal_emit(noti_box, "box.title.without.icon", "box.prog"); - } - if (((_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 0 - || _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 0)) { - elm_object_signal_emit(noti_box, "box.show.sub.bg", "box.prog"); - } - } - -#ifdef QP_SCREENREADER_ENABLE - _noti_box_set_rs_layout_single(noti_box, noti); -#endif -} - -static void _noti_box_set_layout_multi(Evas_Object *noti_box, notification_h noti) -{ - char *pkgname = NULL; - char *icon_path = NULL; - char *dir = NULL; - char *domain = NULL; - int is_need_effect = 0; - int is_contents_only = 0; - int is_sub_info_1_only = 0; - int is_contents_and_sub_info_2 = 0; - Evas_Object *icon = NULL; - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) { - is_need_effect = 1; - } - - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2) == 1) { - is_contents_only = 1; - } - - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) != 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2) == 1) { - is_sub_info_1_only = 1; - } - - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1 - && (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) != 1 - || _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2) != 1)) { - is_contents_and_sub_info_2 = 1; - } - - DBG("is_sub_info_1_only:%d", is_sub_info_1_only); - - notification_get_pkgname(noti, &pkgname); - notification_get_text_domain(noti, &domain, &dir); - if (domain != NULL && dir != NULL) { - bindtextdomain(domain, dir); - } - - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_TITLE, - "object.text.title", NULL, is_need_effect, TEXT_CR); - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT) == 0) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT, "object.text.count", NULL, - is_need_effect, TEXT_NO_CR); - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, "object.text.contents", NULL, - is_need_effect, TEXT_NO_CR); - } else { - if (is_contents_only == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, - "object.text.contents.multiline", NULL, is_need_effect, TEXT_CR); - } else if (is_contents_and_sub_info_2 == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, - "object.text.contents.multiline.short", NULL, is_need_effect, TEXT_NO_CR); - } else { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, - "object.text.contents", NULL, is_need_effect, TEXT_NO_CR); - } - } - - if (is_sub_info_1_only == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1.multiline", NULL, is_need_effect, TEXT_CR); - } else { - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) == 0) { - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1", NULL, is_need_effect, TEXT_NO_CR); - } else { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1.short", NULL, is_need_effect, TEXT_NO_CR); - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1, - "object.text.info.sub.1", NULL, is_need_effect, TEXT_NO_CR); - } - } - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) == 0) { - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2) == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_2, - "object.text.info.2", NULL, is_need_effect, TEXT_NO_CR); - } else { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_2, - "object.text.info.2.short", NULL, is_need_effect, TEXT_NO_CR); - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2, - "object.text.info.sub.2", NULL, is_need_effect, TEXT_NO_CR); - } - } - } - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) { - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon.sub", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - icon = _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_THUMBNAIL, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); -#ifdef QP_ANIMATED_IMAGE_ENABLE - quickpanel_animated_image_add(icon); -#endif - } else { - icon = _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); -#ifdef QP_ANIMATED_IMAGE_ENABLE - quickpanel_animated_image_add(icon); -#endif - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON_SUB, - "object.icon.sub", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - } - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_BACKGROUND, - "object.icon.background", IMAGE_NO_RESIZE, IMAGE_BY_BUFFER); - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) { - - icon_path = quickpanel_common_ui_get_pkginfo_icon(pkgname); - if (icon_path != NULL) { - _set_image(noti_box, NULL, - icon_path, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - free(icon_path); - } - } else { - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) { - elm_object_signal_emit(noti_box, "box.show.dim", "box.prog"); - } - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) { - elm_object_signal_emit(noti_box, "box.hide.icon.bg", "box.prog"); - elm_object_signal_emit(noti_box, "box.title.without.icon", "box.prog"); - } - if (((_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 0 - || _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 0)) { - elm_object_signal_emit(noti_box, "box.show.sub.bg", "box.prog"); - } - } - -#ifdef QP_SCREENREADER_ENABLE - _noti_box_set_rs_layout_multi(noti_box, noti); -#endif -} - -static void _noti_box_set_layout_thumbnail(Evas_Object *noti_box, notification_h noti) -{ - char *pkgname = NULL; - char *icon_path = NULL; - char *dir = NULL; - char *domain = NULL; - int is_need_effect = 0; - int is_sub_info_1_only = 0; - int is_show_info = 0; - Evas_Object *icon = NULL; - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) { - is_need_effect = 1; - } else { - is_need_effect = 0; - } - - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) != 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) == 1) { - is_sub_info_1_only = 1; - } - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_LIST_1)!= 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_LIST_2) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_LIST_3) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_LIST_4) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_LIST_5) == 1) { - is_show_info = 1; - } - - notification_get_pkgname(noti, &pkgname); - notification_get_text_domain(noti, &domain, &dir); - if (domain != NULL && dir != NULL) { - bindtextdomain(domain, dir); - } - - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_TITLE, - "object.text.title", NULL, is_need_effect, TEXT_CR); - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT) == 0) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT, "object.text.count", NULL, - is_need_effect, TEXT_NO_CR); - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, "object.text.contents", NULL, - is_need_effect, TEXT_NO_CR); - } else { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, - "object.text.contents", NULL, is_need_effect, TEXT_NO_CR); - } - - if (is_show_info == 1) { - if (is_sub_info_1_only == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1.multiline", NULL, is_need_effect, TEXT_CR); - } else { - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) == 0) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1", NULL, is_need_effect, TEXT_NO_CR); - } - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) == 0) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_2, - "object.text.info.2", NULL, is_need_effect, TEXT_NO_CR); - } - } - } - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) { - icon = _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_THUMBNAIL, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); -#ifdef QP_ANIMATED_IMAGE_ENABLE - quickpanel_animated_image_add(icon); -#endif - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) { - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon.sub", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - } - } else { - icon = _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); -#ifdef QP_ANIMATED_IMAGE_ENABLE - quickpanel_animated_image_add(icon); -#endif - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 0) { - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON_SUB, - "object.icon.sub", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - } - } - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_BACKGROUND, - "object.icon.background", IMAGE_NO_RESIZE, IMAGE_BY_BUFFER); - - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_LIST_1, - "object.thumbnail.list.1", IMAGE_RESIZE, IMAGE_BY_BUFFER); - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_LIST_2, - "object.thumbnail.list.2", IMAGE_RESIZE, IMAGE_BY_BUFFER); - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_LIST_3, - "object.thumbnail.list.3", IMAGE_RESIZE, IMAGE_BY_BUFFER); - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_LIST_4, - "object.thumbnail.list.4", IMAGE_RESIZE, IMAGE_BY_BUFFER); - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_LIST_5, - "object.thumbnail.list.5", IMAGE_RESIZE, IMAGE_BY_BUFFER); - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) { - - icon_path = quickpanel_common_ui_get_pkginfo_icon(pkgname); - if (icon_path != NULL) { - _set_image(noti_box, NULL, - icon_path, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - free(icon_path); - } - } else { - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) { - elm_object_signal_emit(noti_box, "box.show.dim", "box.prog"); - } - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) { - elm_object_signal_emit(noti_box, "box.hide.icon.bg", "box.prog"); - elm_object_signal_emit(noti_box, "box.title.without.icon", "box.prog"); - } - if (((_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 0 - || _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 0)) { - elm_object_signal_emit(noti_box, "box.show.sub.bg", "box.prog"); - } - } - -#ifdef QP_SCREENREADER_ENABLE - _noti_box_set_rs_layout_thumbnail(noti_box, noti); -#endif -} - -static void _noti_box_set_layout(Evas_Object *noti_box, notification_h noti, notification_ly_type_e layout) -{ - - DBG("notification box layout:%d", layout); - - switch (layout) { - case NOTIFICATION_LY_NOTI_EVENT_SINGLE: - _noti_box_set_layout_single(noti_box, noti); - break; - case NOTIFICATION_LY_NOTI_EVENT_MULTIPLE: - _noti_box_set_layout_multi(noti_box, noti); - break; - case NOTIFICATION_LY_NOTI_THUMBNAIL: - _noti_box_set_layout_thumbnail(noti_box, noti); - break; - case NOTIFICATION_LY_NONE: - case NOTIFICATION_LY_ONGOING_EVENT: - case NOTIFICATION_LY_ONGOING_PROGRESS: - case NOTIFICATION_LY_MAX: - ERR("not supported layout type:%d", layout); - break; - } -} - -HAPI void quickpanel_noti_box_remove(Evas_Object *noti_box) -{ - - retif(noti_box == NULL, , "invalid parameter"); - - noti_box_h *noti_box_h = evas_object_data_get(noti_box, E_DATA_NOTI_BOX_H); - - evas_object_data_del(noti_box, E_DATA_NOTI_BOX_H); - if (noti_box_h != NULL) { - free(noti_box_h); - } - - evas_object_data_del(noti_box, E_DATA_CB_SELECTED_ITEM); - evas_object_data_del(noti_box, E_DATA_CB_DELETED_ITEM); - - _deattach_memfile_all(noti_box); - - evas_object_del(noti_box); - noti_box = NULL; -} - -HAPI void quickpanel_noti_box_node_set(Evas_Object *noti_box, void *noti_node) -{ - int priv_id = -1; - noti_node_item *item = noti_node; - retif(noti_box == NULL, , "invalid parameter"); - retif(item == NULL, , "invalid parameter"); - retif(item->noti == NULL, , "invalid parameter"); - - noti_box_h *noti_box_data = evas_object_data_get(noti_box, E_DATA_NOTI_BOX_H); - - notification_get_id(item->noti, NULL, &priv_id); - - if (noti_box_data != NULL) { - noti_box_data->noti_node = item; - noti_box_data->priv_id = priv_id; - - _noti_box_set_layout(noti_box, item->noti, noti_box_data->layout); - } -} - -HAPI void *quickpanel_noti_box_node_get(Evas_Object *noti_box) -{ - retif(noti_box == NULL, NULL, "invalid parameter"); - - noti_box_h *noti_box_data = evas_object_data_get(noti_box, E_DATA_NOTI_BOX_H); - - if (noti_box_data != NULL) { - return noti_box_data->noti_node; - } - - return NULL; -} - -#ifdef QP_SCREENREADER_ENABLE -static void _noti_box_focus_selected_cb(void *data, Evas_Object *obj, void *event_info) -{ - Evas_Object *noti_box = data; - retif(noti_box == NULL, , "invalid parameter"); - - _noti_box_call_item_cb(noti_box, "selected"); - -} -#endif - -HAPI void quickpanel_noti_box_set_item_selected_cb(Evas_Object *noti_box, void(*selected_cb)(void *data, Evas_Object *obj)) -{ - retif(noti_box == NULL, , "invalid parameter"); - retif(selected_cb == NULL, , "invalid parameter"); - - evas_object_data_set(noti_box, E_DATA_CB_SELECTED_ITEM, selected_cb); - -#ifdef QP_SCREENREADER_ENABLE - Evas_Object *ao = NULL; - ao = quickpanel_accessibility_screen_reader_object_get(noti_box, - SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", noti_box); - if (ao != NULL) { - evas_object_smart_callback_add(ao, "clicked", _noti_box_focus_selected_cb, noti_box); - } -#endif -} - -HAPI void quickpanel_noti_box_set_item_button_1_cb(Evas_Object *noti_box, void(*button_1_cb)(void *data, Evas_Object *obj)) -{ - retif(noti_box == NULL, , "invalid parameter"); - retif(button_1_cb == NULL, , "invalid parameter"); - - evas_object_data_set(noti_box, E_DATA_CB_BUTTON_1, button_1_cb); -} - -HAPI void quickpanel_noti_box_set_item_deleted_cb(Evas_Object *noti_box, void(*deleted_cb)(void *data, Evas_Object *obj)) -{ - retif(noti_box == NULL, , "invalid parameter"); - retif(deleted_cb == NULL, , "invalid parameter"); - - evas_object_data_set(noti_box, E_DATA_CB_DELETED_ITEM, deleted_cb); -} - -HAPI void quickpanel_noti_box_item_dragging_cancel(Evas_Object *noti_box) -{ - retif(noti_box == NULL, , "invalid parameter"); - - evas_object_map_enable_set(noti_box, EINA_FALSE); -} - -HAPI void quickpanel_noti_box_item_update(Evas_Object *noti_box) -{ - retif(noti_box == NULL, , "invalid parameter"); - - noti_node_item *item = NULL; - noti_box_h *noti_box_data = evas_object_data_get(noti_box, E_DATA_NOTI_BOX_H); - - if (noti_box_data != NULL) { - if (noti_box_data->noti_node != NULL) { - - item = quickpanel_noti_node_get_by_priv_id(noti_box_data->priv_id); - - if (item != NULL) { - _deattach_memfile_all(noti_box); - _text_clean_all(noti_box); - - _noti_box_set_layout(noti_box, item->noti, noti_box_data->layout); - } - } - } -} diff --git a/daemon/notifications/noti_box.h b/daemon/notifications/noti_box.h deleted file mode 100755 index d2a343b..0000000 --- a/daemon/notifications/noti_box.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * 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_NOTI_BOX_H__ -#define __QUICKPANEL_NOTI_BOX_H__ - -#define E_DATA_NOTI_BOX_H "noti_box" -#define E_DATA_CB_SELECTED_ITEM "noti_box_cb_selected" -#define E_DATA_CB_BUTTON_1 "noti_box_cb_button_1" -#define E_DATA_CB_DELETED_ITEM "noti_box_cb_deleted" -#define E_DATA_NOTI_BOX_MB_BG "noti_box_mb" - -typedef enum _qp_notibox_state_type { - NOTIBOX_STATE_NORMAL = 0, - NOTIBOX_STATE_GETSTURE_WAIT, - NOTIBOX_STATE_GETSTURE_CANCELED, - NOTIBOX_STATE_DELETED, -} qp_notibox_state_type; - -typedef struct _noti_box_h { - int status; - int priv_id; - void *noti_node; - notification_ly_type_e layout; - - QP_VI *vi; - Ecore_Animator *animator; - - int obj_w; - int obj_h; - int press_x; - int press_y; - int distance; - int need_to_cancel_press; - qp_notibox_state_type state; -} noti_box_h; - -extern Evas_Object *quickpanel_noti_box_create(Evas_Object *parent, notification_ly_type_e layout); -extern void quickpanel_noti_box_node_set(Evas_Object *noti_box, void *noti_node); -extern void *quickpanel_noti_box_node_get(Evas_Object *noti_box); -extern void quickpanel_noti_box_remove(Evas_Object *noti_box); -extern void quickpanel_noti_box_set_item_selected_cb(Evas_Object *noti_box, void(*selected_cb)(void *data, Evas_Object *obj)); -extern void quickpanel_noti_box_set_item_button_1_cb(Evas_Object *noti_box, void(*button_1_cb)(void *data, Evas_Object *obj)); -extern void quickpanel_noti_box_set_item_deleted_cb(Evas_Object *noti_box, void(*deleted_cb)(void *data, Evas_Object *obj)); -extern void quickpanel_noti_box_item_dragging_cancel(Evas_Object *noti_box); -extern void quickpanel_noti_box_item_update(Evas_Object *noti_box); -#endif diff --git a/daemon/notifications/noti_gridbox.c b/daemon/notifications/noti_gridbox.c deleted file mode 100755 index 9f98d15..0000000 --- a/daemon/notifications/noti_gridbox.c +++ /dev/null @@ -1,984 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include - -#include -#include -#include -#include - -#include "quickpanel-ui.h" -#include "common_uic.h" -#include "common.h" -#include "list_util.h" -#include "quickpanel_def.h" -#include "noti_gridbox.h" -#include "vi_manager.h" -#include "noti_box.h" - -#define E_DATA_LAYOUT_PORTRAIT "layout_portrait" -#define E_DATA_LAYOUT_LANDSCAPE "layout_landscape" -#define E_DATA_CB_DELETE_ITEM "cb_delete_item" -#define E_DATA_CB_REMOVED "cb_removed" -#define E_DATA_APP_DATA "app_data" - -typedef struct _gridbox_info_layout { - int n_per_rows; - int padding_top; - int padding_left; - int padding_right; - int padding_bottom; - int padding_between; - int child_w; - int child_h; - double scale; - int limit_w; -} gridbox_info_layout; - -static Eina_Bool _anim_init_cb(void *data); -static Eina_Bool _anim_job_cb(void *data); -static Eina_Bool _anim_done_cb(void *data); - -static gridbox_info_layout *_gridbox_get_layout(Evas_Object *gridbox) -{ - struct appdata *ad = quickpanel_get_app_data(); - gridbox_info_layout *info_layout = NULL; - - retif(gridbox == NULL, NULL, "invalid parameter"); - retif(ad == NULL, NULL, "invalid data."); - - if (ad->angle == 270 || ad->angle == 90) { - info_layout = evas_object_data_get(gridbox, E_DATA_LAYOUT_LANDSCAPE); - } else { - info_layout = evas_object_data_get(gridbox, E_DATA_LAYOUT_PORTRAIT); - } - - return info_layout; -} - -static void _gridbox_layout_get_pos(int order, int *x, int *y, void *data) -{ - gridbox_info_layout *info_layout = data; - retif(info_layout == NULL, , "invalid parameter"); - - int n_per_row = info_layout->n_per_rows; - - int row = (order - 1) / n_per_row; - int column = (order - 1) - (row * n_per_row); - - int row_x = info_layout->padding_left - + ((info_layout->child_w + info_layout->padding_between) * column); - - int row_y = info_layout->padding_top - + ((info_layout->child_h + info_layout->padding_between) * row); - - if (x != NULL) { - *x = row_x; - } - - if (y != NULL) { - *y = row_y; - } -} - -static void _gridbox_layout_get_coord(Evas_Object *gridbox, int num_child, int index, void *layout_data, int *coord_x, int *coord_y) -{ - int x, y, w, h; - int off_x = 0, off_y = 0; - int child_w; - int space_w = 0; - int num_padding_between = 0; - struct appdata *ad = quickpanel_get_app_data(); - gridbox_info_layout *info_layout = NULL; - - retif(gridbox == NULL, , "invalid parameter"); - retif(ad == NULL, , "invalid data."); - - if (layout_data != NULL) { - info_layout = (gridbox_info_layout *) layout_data; - } else { - info_layout = _gridbox_get_layout(gridbox); - } - retif(info_layout == NULL, , "invalid data."); - - //box geometry - evas_object_geometry_get(gridbox, &x, &y, &w, &h); - - num_padding_between = info_layout->n_per_rows / 2; - num_padding_between += (info_layout->n_per_rows > 1 && (info_layout->n_per_rows % 2) > 0) ? 1 : 0; - - space_w = (info_layout->padding_left * 2) + (info_layout->padding_between * num_padding_between); - child_w = (info_layout->limit_w - space_w) / info_layout->n_per_rows; - - info_layout->child_w = child_w; - _gridbox_layout_get_pos(index, &off_x, &off_y, info_layout); - - if (coord_x != NULL) { - *coord_x = x + off_x; - } - if (coord_y != NULL) { - *coord_y = y + off_y; - } -} - -static void _gridbox_layout(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) -{ - int n_children; - int x, y; - int off_x = 0, off_y = 0; - Eina_List *l; - Eina_List *l_next; - Evas_Object_Box_Option *opt; - int child_w; - int space_w = 0; - int num_padding_between = 0; - - retif(o == NULL, , "invalid parameter"); - retif(priv == NULL, , "invalid parameter"); - retif(data == NULL, , "invalid parameter"); - - gridbox_info_layout *info_layout = _gridbox_get_layout(data); - retif(info_layout == NULL, , "failed to get layout data"); - - n_children = eina_list_count(priv->children); - if (!n_children) { - evas_object_size_hint_min_set(o, ELM_SCALE_SIZE(-1), ELM_SCALE_SIZE(0)); - return; - } - - //box geometry - evas_object_geometry_get(o, &x, &y, NULL, NULL); - - num_padding_between = info_layout->n_per_rows / 2; - num_padding_between += (info_layout->n_per_rows > 1 && (info_layout->n_per_rows % 2) > 0) ? 1 : 0; - - space_w = (info_layout->padding_left * 2) + (info_layout->padding_between * num_padding_between); - child_w = (info_layout->limit_w - space_w) / info_layout->n_per_rows; - - info_layout->child_w = child_w; - - int order_children = 1; - EINA_LIST_FOREACH_SAFE(priv->children, l, l_next, opt) { - _gridbox_layout_get_pos(order_children, &off_x, &off_y, info_layout); - evas_object_move(opt->obj, x + off_x, y + off_y); - evas_object_size_hint_min_set(opt->obj, info_layout->child_w, - info_layout->child_h); - evas_object_resize(opt->obj, info_layout->child_w, - info_layout->child_h); - order_children++; - } - - evas_object_size_hint_min_set(o, ELM_SCALE_SIZE(-1), off_y + info_layout->child_h + info_layout->padding_bottom); -} - -HAPI Evas_Object *quickpanel_noti_gridbox_create(Evas_Object *parent, void *data) -{ - - retif(parent == NULL, NULL, "invalid parameter"); - retif(data == NULL, NULL, "invalid parameter"); - struct appdata *ad = data; - Evas_Object *gridbox = NULL; - - gridbox_info_layout *info_layout_portrait = NULL; - gridbox_info_layout *info_layout_landscape = NULL; - - info_layout_portrait = (gridbox_info_layout *) malloc(sizeof(gridbox_info_layout)); - retif(info_layout_portrait == NULL, NULL, "memory allocation failed"); - info_layout_portrait->padding_between = 12 * ad->scale; - info_layout_portrait->padding_top = 0; - info_layout_portrait->padding_left = 14 * ad->scale; - info_layout_portrait->padding_bottom = 12 * ad->scale; - info_layout_portrait->n_per_rows = 2; - info_layout_portrait->child_w = 0; //340; - info_layout_portrait->child_h = BOX_HEIGHT_P * ad->scale; //400; - info_layout_portrait->limit_w = ad->win_width; //400; - info_layout_portrait->scale = ad->scale; - - info_layout_landscape = (gridbox_info_layout *) malloc(sizeof(gridbox_info_layout)); - if (info_layout_landscape == NULL) { - free(info_layout_portrait); - ERR("memory allocation failed"); - return NULL; - } - info_layout_landscape->padding_between = 12 * ad->scale; - info_layout_landscape->padding_top = 0; - info_layout_landscape->padding_left = 14 * ad->scale; - info_layout_landscape->padding_bottom = 12 * ad->scale; - info_layout_landscape->n_per_rows = 3; - info_layout_landscape->child_w = 0; //409; - info_layout_landscape->child_h = BOX_HEIGHT_L * ad->scale; //400; - info_layout_landscape->limit_w = ad->win_height; //400; - info_layout_landscape->scale = ad->scale; - - gridbox = elm_box_add(parent); - evas_object_size_hint_weight_set(gridbox, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(gridbox, EVAS_HINT_FILL, EVAS_HINT_FILL); - - elm_box_layout_set(gridbox, _gridbox_layout, gridbox, NULL); - evas_object_show(gridbox); - - evas_object_data_set(gridbox, E_DATA_LAYOUT_PORTRAIT, info_layout_portrait); - evas_object_data_set(gridbox, E_DATA_LAYOUT_LANDSCAPE, - info_layout_landscape); - evas_object_data_set(gridbox, E_DATA_CB_DELETE_ITEM, NULL); - evas_object_data_set(gridbox, E_DATA_APP_DATA, ad); - - qp_item_data *qid - = quickpanel_list_util_item_new(QP_ITEM_TYPE_NOTI, NULL); - quickpanel_list_util_item_set_tag(gridbox, qid); - - return gridbox; -} - -HAPI void quickpanel_noti_gridbox_remove(Evas_Object *gridbox) -{ - retif(gridbox == NULL, , "invalid parameter"); - - gridbox_info_layout *info_layout_portrait = evas_object_data_get(gridbox, - E_DATA_LAYOUT_PORTRAIT); - gridbox_info_layout *info_layout_landscape = evas_object_data_get(gridbox, - E_DATA_LAYOUT_LANDSCAPE); - - quickpanel_noti_gridbox_remove_all_item(gridbox, 0); - evas_object_data_del(gridbox, E_DATA_LAYOUT_PORTRAIT); - evas_object_data_del(gridbox, E_DATA_LAYOUT_LANDSCAPE); - evas_object_data_del(gridbox, E_DATA_CB_DELETE_ITEM); - evas_object_data_del(gridbox, E_DATA_APP_DATA); - quickpanel_list_util_item_del_tag(gridbox); - evas_object_del(gridbox); - gridbox = NULL; - - if (info_layout_portrait != NULL) { - free(info_layout_portrait); - } - if (info_layout_landscape != NULL) { - free(info_layout_landscape); - } -} - -HAPI void quickpanel_noti_gridbox_set_item_deleted_cb(Evas_Object *gridbox, void(*deleted_cb)(void *data, Evas_Object *obj)) -{ - retif(gridbox == NULL, , "invalid parameter"); - retif(deleted_cb == NULL, , "invalid parameter"); - - evas_object_data_set(gridbox, E_DATA_CB_DELETE_ITEM, deleted_cb); -} - -static void _gridbox_call_item_deleted_cb(Evas_Object *gridbox, void *data, Evas_Object *obj) -{ - retif(gridbox == NULL, , "invalid parameter"); - - void (*deleted_cb)(void *data, Evas_Object *obj) = NULL; - - deleted_cb = evas_object_data_get(gridbox, E_DATA_CB_DELETE_ITEM); - - if (deleted_cb != NULL) { - deleted_cb(data, obj); - } -} - -HAPI void quickpanel_noti_gridbox_add_item(Evas_Object *gridbox, Evas_Object *item, int is_prepend) -{ - QP_VI *vi = NULL; - const char *signal = NULL; - gridbox_info_layout *info_layout = NULL; - - retif(gridbox == NULL, , "invalid parameter"); - retif(item == NULL, , "invalid parameter"); - - struct appdata *ad = evas_object_data_get(gridbox, E_DATA_APP_DATA); - if (ad != NULL) { - if (ad->angle == 270 || ad->angle == 90) { - signal = "box.landscape"; - } else { - signal = "box.portrait"; - } - } - - DBG("set to %s, %x", signal, item); - elm_object_signal_emit(item, signal, "box.prog"); - edje_object_message_signal_process(_EDJ(item)); - elm_layout_sizing_eval(item); - - info_layout = _gridbox_get_layout(gridbox); - retif(info_layout == NULL, , "invalid parameter"); - - _gridbox_layout_get_coord(gridbox, 0, 1, NULL, NULL, NULL); - - evas_object_size_hint_min_set(item, info_layout->child_w, - info_layout->child_h); - evas_object_resize(item, info_layout->child_w, - info_layout->child_h); - - vi = quickpanel_vi_new_with_data( - VI_OP_INSERT, - QP_ITEM_TYPE_NOTI, - gridbox, - item, - _anim_init_cb, - _anim_job_cb, - _anim_done_cb, - _anim_done_cb, - vi, - NULL, - is_prepend, - 0); - quickpanel_vi_start(vi); -} - -static void _anim_init_insert(void *data) -{ - QP_VI *vi = data; - retif(vi == NULL, , "invalid parameter"); - retif(vi->container == NULL, , "invalid parameter"); - retif(vi->target == NULL, , "invalid parameter"); - - Evas_Object *gridbox = vi->container; - Evas_Object *item = vi->target; - - struct appdata *ad = quickpanel_get_app_data(); - retif(ad == NULL, , "invalid parameter"); - - evas_object_clip_set(item, evas_object_clip_get(gridbox)); - evas_object_color_set(item, 0, 0, 0, 0); -} - -static void _anim_job_insert(void *data) -{ - QP_VI *vi = data; - int index = 1, index_child = 1; - int is_prepend = 0; - int coord_x, coord_y = 0; - int coord_old_x, coord_old_y = 0; - int coord_fix_x, coord_fix_y = 0; - Evas_Object *gridbox = NULL; - Evas_Object *item = NULL; - Elm_Transit *transit_layout = NULL; - Elm_Transit *transit_fadein = NULL; - gridbox_info_layout *info_layout = NULL; - - retif(vi == NULL, , "invalid parameter"); - retif(vi->container == NULL, , "invalid parameter"); - retif(vi->target == NULL, , "invalid parameter"); - - gridbox = vi->container; - item = vi->target; - is_prepend = vi->extra_flag_1; - - info_layout = _gridbox_get_layout(gridbox); - retif(info_layout == NULL, , "invalid parameter"); - - if (is_prepend != 1) { - index_child = quickpanel_noti_gridbox_get_item_count(gridbox); - } - _gridbox_layout_get_coord(gridbox, 0, index_child, NULL, &coord_x, &coord_y); - evas_object_move(item, coord_x, coord_y); - - if (is_prepend == 1) { - Eina_List *l; - Eina_List *l_next; - Evas_Object *obj; - Eina_List *item_list = elm_box_children_get(gridbox); - - DBG("all count:%d", eina_list_count (item_list)); - - EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) { - if (obj != NULL) { - transit_layout = elm_transit_add(); - if (transit_layout != NULL) { - evas_object_geometry_get(obj, &coord_old_x, &coord_old_y, NULL, NULL); - _gridbox_layout_get_coord(gridbox, 0, index + 1, NULL, &coord_x, &coord_y); - - coord_x = coord_x - coord_old_x; - coord_y = coord_y - coord_old_y; - coord_fix_x = (coord_x != 0) ? coord_x / coord_x : 0; - coord_fix_y = (coord_y != 0) ? coord_y / coord_y : 0; - elm_transit_effect_translation_add(transit_layout, 0, 0, coord_x + coord_fix_x, coord_y + coord_fix_y); - elm_transit_object_add(transit_layout, obj); - elm_transit_duration_set(transit_layout, - quickpanel_vim_get_duration(VI_OP_REORDER)); - elm_transit_tween_mode_set(transit_layout, - quickpanel_vim_get_tweenmode(VI_OP_REORDER)); - elm_transit_objects_final_state_keep_set(transit_layout, EINA_TRUE); - elm_transit_go(transit_layout); - } else { - ERR("failed to create a transit"); - } - } - index++; - } - - if (item_list != NULL) { - eina_list_free(item_list); - } - } - - transit_fadein = elm_transit_add(); - if (transit_fadein != NULL) { - elm_transit_object_add(transit_fadein, item); - elm_transit_effect_color_add(transit_fadein, 0, 0, 0, 0, 255, 255, 255, 255); - elm_transit_duration_set(transit_fadein, - quickpanel_vim_get_duration(VI_OP_INSERT)); - elm_transit_tween_mode_set(transit_fadein, - quickpanel_vim_get_tweenmode(VI_OP_INSERT)); - elm_transit_del_cb_set(transit_fadein, - quickpanel_vi_done_cb_for_transit, vi); - if (transit_layout != NULL) { - elm_transit_chain_transit_add(transit_layout, transit_fadein); - } else { - elm_transit_go(transit_fadein); - } - } else { - ERR("failed to create a transit"); - quickpanel_vi_done(vi); - } -} - -static void _anim_done_insert(void *data) -{ - QP_VI *vi = data; - retif(vi == NULL, , "invalid parameter"); - - Evas_Object *gridbox = vi->container; - Evas_Object *item = vi->target; - int is_prepend = vi->extra_flag_1; - - retif(gridbox == NULL, , "invalid parameter"); - retif(item == NULL, , "invalid parameter"); - - evas_object_color_set(item, 255, 255, 255, 255); - - if (is_prepend == GRIDBOX_PREPEND) { - elm_box_pack_start(gridbox, item); - } else { - elm_box_pack_end(gridbox, item); - } -} - -static void _anim_job_delete(void *data) -{ - QP_VI *vi = data; - int coord_x, coord_y = 0; - int coord_old_x, coord_old_y = 0; - int coord_fix_x, coord_fix_y = 0; - - retif(vi == NULL, , "invalid parameter"); - retif(vi->container == NULL, , "invalid parameter"); - retif(vi->target == NULL, , "invalid parameter"); - - Elm_Transit *transit_layout = NULL; - Elm_Transit *transit_fadein = NULL; - Evas_Object *gridbox = vi->container; - Evas_Object *item = vi->target; - - transit_fadein = elm_transit_add(); - if (transit_fadein != NULL) { - elm_transit_object_add(transit_fadein, item); - elm_transit_effect_color_add(transit_fadein, 255, 255, 255, 255, 0, 0, 0, 0); - elm_transit_objects_final_state_keep_set(transit_fadein, EINA_TRUE); - elm_transit_tween_mode_set(transit_fadein, - quickpanel_vim_get_tweenmode(VI_OP_DELETE)); - elm_transit_duration_set(transit_fadein, - quickpanel_vim_get_duration(VI_OP_DELETE)); - elm_transit_go(transit_fadein); - } else { - ERR("failed to create a transit"); - } - - Eina_List *l; - Eina_List *l_next; - Evas_Object *obj; - Eina_List *item_list = elm_box_children_get(gridbox); - - DBG("all count:%d", eina_list_count (item_list)); - - int index_child = 1; - int is_start_relayout = 0; - EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) { - if (obj == item) { - is_start_relayout = 1; - } else if (obj != NULL && is_start_relayout == 1) { - transit_layout = elm_transit_add(); - if (transit_layout != NULL) { - evas_object_geometry_get(obj, &coord_old_x, &coord_old_y, NULL, NULL); - _gridbox_layout_get_coord(gridbox, 0, index_child - 1, NULL, &coord_x, &coord_y); - - coord_x = coord_x - coord_old_x; - coord_y = coord_y - coord_old_y; - coord_fix_x = (coord_x != 0) ? coord_x/coord_x : 0; - coord_fix_y = (coord_y != 0) ? coord_y/coord_y : 0; - elm_transit_effect_translation_add(transit_layout, 0, 0, coord_x + coord_fix_x, coord_y + coord_fix_y); - elm_transit_object_add(transit_layout, obj); - elm_transit_duration_set(transit_layout, - quickpanel_vim_get_duration(VI_OP_REORDER)); - elm_transit_tween_mode_set(transit_layout, - quickpanel_vim_get_tweenmode(VI_OP_REORDER)); - elm_transit_objects_final_state_keep_set(transit_layout, EINA_TRUE); - if (transit_fadein != NULL) { - elm_transit_chain_transit_add(transit_fadein, transit_layout); - } - } else { - ERR("failed to create a transit"); - } - } - index_child++; - } - - if (item_list != NULL) { - eina_list_free(item_list); - } - - if (transit_layout != NULL) { - elm_transit_del_cb_set(transit_layout, quickpanel_vi_done_cb_for_transit, vi); - } else if (transit_fadein != NULL) { - elm_transit_del_cb_set(transit_fadein, quickpanel_vi_done_cb_for_transit, vi); - } else { - ERR("failed to create a transit"); - quickpanel_vi_done(vi); - } -} - -static void _anim_done_delete(void *data) -{ - QP_VI *vi = data; - retif(vi == NULL, , "invalid parameter"); - retif(vi->container == NULL, , "invalid parameter"); - retif(vi->target == NULL, , "invalid parameter"); - - Evas_Object *gridbox = vi->container; - Evas_Object *item = vi->target; - - elm_box_unpack(gridbox, item); - quickpanel_noti_box_remove(item); - _gridbox_call_item_deleted_cb(gridbox, quickpanel_noti_box_node_get(item), NULL); -} - -HAPI void quickpanel_noti_gridbox_remove_item(Evas_Object *gridbox, Evas_Object *item, int with_animation) -{ - QP_VI *vi = NULL; - retif(gridbox == NULL, , "invalid parameter"); - retif(item == NULL, , "invalid parameter"); - - if (with_animation == 1) { - vi = quickpanel_vi_new_with_data( - VI_OP_DELETE, - QP_ITEM_TYPE_NOTI, - gridbox, - item, - _anim_init_cb, - _anim_job_cb, - _anim_done_cb, - _anim_done_cb, - vi, - NULL, - 0, - 0); - quickpanel_vi_start(vi); - } else { - void *node = quickpanel_noti_box_node_get(item); - elm_box_unpack(gridbox, item); - quickpanel_noti_box_remove(item); - _gridbox_call_item_deleted_cb(gridbox, - node, NULL); - } -} - -static void _anim_job_delete_all(void *data) -{ - QP_VI *vi = data; - retif(vi == NULL, , "invalid parameter"); - - quickpanel_vi_done(vi); -} - -static void _anim_done_delete_all(void *data) -{ - QP_VI *vi = data; - Eina_List *l; - Eina_List *l_next; - Evas_Object *obj = NULL; - Eina_List *item_list = NULL; - - retif(vi == NULL, , "invalid parameter"); - retif(vi->container == NULL, , "invalid parameter"); - - Evas_Object *gridbox = vi->container; - - item_list = elm_box_children_get(gridbox); - retif(item_list == NULL, , "invalid parameter"); - - EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) { - if (obj != NULL) { - DBG("try to remove:%p", obj); - quickpanel_noti_gridbox_remove_item(gridbox, obj, EINA_TRUE); - } - } - - if (item_list != NULL) { - eina_list_free(item_list); - } -} - -HAPI void quickpanel_noti_gridbox_remove_all_item(Evas_Object *gridbox, int with_animation) -{ - QP_VI *vi = NULL; - retif(gridbox == NULL, , "invalid parameter"); - - vi = quickpanel_vi_new_with_data( - VI_OP_DELETE_ALL, - QP_ITEM_TYPE_NOTI, - gridbox, - NULL, - _anim_init_cb, - _anim_job_cb, - _anim_done_cb, - _anim_done_cb, - vi, - NULL, - 0, - 0); - quickpanel_vi_start(vi); -} - -static void _anim_job_update(void *data) -{ - QP_VI *vi = data; - retif(vi == NULL, , "invalid parameter"); - retif(vi->container == NULL, , "invalid parameter"); - retif(vi->target == NULL, , "invalid parameter"); - - quickpanel_vi_done(data); -} - -static void _anim_done_update(void *data) -{ - QP_VI *vi = data; - retif(vi == NULL, , "invalid parameter"); - retif(vi->container == NULL, , "invalid parameter"); - retif(vi->target == NULL, , "invalid parameter"); - - Evas_Object *gridbox = vi->container; - Evas_Object *item = vi->target; - - if (quickpanel_noti_gridbox_get_item_exist(gridbox, item) == 1) { - quickpanel_noti_box_item_update(item); - } -} - -HAPI void quickpanel_noti_gridbox_update_item(Evas_Object *gridbox, Evas_Object *item) -{ - QP_VI *vi = NULL; - retif(gridbox == NULL, , "invalid parameter"); - retif(item == NULL, , "invalid parameter"); - - vi = quickpanel_vi_new_with_data( - VI_OP_UPDATE, - QP_ITEM_TYPE_NOTI, - gridbox, - item, - _anim_init_cb, - _anim_job_cb, - _anim_done_cb, - _anim_done_cb, - vi, - NULL, - 0, - 0); - - retif(vi == NULL, , "quickpanel_vi_new_with_data returns NULL"); - vi->disable_interrupt_userevent = 1; - vi->disable_freezing = 1; - quickpanel_vi_start(vi); -} - -HAPI void quickpanel_noti_gridbox_remove_and_add_item(Evas_Object *gridbox, Evas_Object *item ,void (*update_cb)(Evas_Object *list, void *data, int is_prepend) ,void *container, void *data, int pos) -{ - QP_VI *vi = NULL; - retif(gridbox == NULL, , "invalid parameter"); - retif(item == NULL, , "invalid parameter"); - retif(update_cb == NULL, , "invalid parameter"); - retif(container == NULL, , "invalid parameter"); - retif(data == NULL, , "invalid parameter"); - - vi = quickpanel_vi_new_with_data( - VI_OP_DELETE, - QP_ITEM_TYPE_NOTI, - gridbox, - item, - _anim_init_cb, - _anim_job_cb, - _anim_done_cb, - _anim_done_cb, - vi, - NULL, - 0, - 0); - quickpanel_vi_start(vi); -} - -HAPI void gridbox_finalize_rotation_cb(void *data) -{ - retif(data == NULL, , "invalid parameter"); - Evas_Object *gridbox = data; - - elm_box_recalculate(gridbox); -} - -HAPI void quickpanel_noti_gridbox_rotation(Evas_Object *gridbox, int angle) -{ - const char *signal = NULL; - - retif(gridbox == NULL, , "invalid parameter"); - - gridbox_info_layout *info_layout_portrait = evas_object_data_get(gridbox, - E_DATA_LAYOUT_PORTRAIT); - gridbox_info_layout *info_layout_landscape = evas_object_data_get(gridbox, - E_DATA_LAYOUT_LANDSCAPE); - - retif(info_layout_portrait == NULL || info_layout_landscape == NULL, , - "gridbox is crashed"); - - Eina_List *l; - Eina_List *l_next; - Evas_Object *obj; - Eina_List *item_list = elm_box_children_get(gridbox); - - if (angle == 270 || angle == 90) { - signal = "box.landscape"; - } else { - signal = "box.portrait"; - } - - EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) { - if (obj != NULL) { - elm_object_signal_emit(obj, signal, "box.prog"); - edje_object_message_signal_process(_EDJ(obj)); - DBG("set to %s, %x", signal, obj); - } - } - - if (item_list != NULL) { - eina_list_free(item_list); - } - - elm_box_layout_set(gridbox, _gridbox_layout, gridbox, NULL); - DBG("rotation angle is %d", angle); -} - -HAPI int quickpanel_noti_gridbox_get_item_count(Evas_Object *gridbox) -{ - int item_count = 0; - Eina_List *items = NULL; - retif(gridbox == NULL, 0, "invalid parameter"); - - if ((items = elm_box_children_get(gridbox)) != NULL) { - item_count = eina_list_count(items); - eina_list_free(items); - return item_count; - } else { - return 0; - } -} - -HAPI int quickpanel_noti_gridbox_get_item_exist(Evas_Object *gridbox, Evas_Object *box) -{ - int ret = 0; - Eina_List *items = NULL; - retif(gridbox == NULL, 0, "invalid parameter"); - - if ((items = elm_box_children_get(gridbox)) != NULL) { - if (eina_list_data_find(items, box) != NULL) { - ret = 1; - } - eina_list_free(items); - } - - return ret; -} - -static Eina_Bool _anim_init_cb(void *data) -{ - int i = 0; - QP_VI *vi = data; - retif(vi == NULL, EINA_FALSE, "invalid parameter"); - - static qp_vi_op_table anim_init_table[] = { - { - .op_type = VI_OP_INSERT, - .handler = _anim_init_insert, - }, - { - .op_type = VI_OP_NONE, - .handler = NULL, - }, - }; - - for (i = 0; anim_init_table[i].op_type != VI_OP_NONE; i++) { - if (anim_init_table[i].op_type != vi->op_type) { - continue; - } - - anim_init_table[i].handler(vi); - break; - } - - return EINA_TRUE; -} - -static Eina_Bool _anim_job_cb(void *data) -{ - int i = 0; - QP_VI *vi = data; - retif(vi == NULL, EINA_FALSE, "invalid parameter"); - - static qp_vi_op_table anim_job_table[] = { - { - .op_type = VI_OP_INSERT, - .handler = _anim_job_insert, - }, - { - .op_type = VI_OP_DELETE, - .handler = _anim_job_delete, - }, - { - .op_type = VI_OP_DELETE_ALL, - .handler = _anim_job_delete_all, - }, - { - .op_type = VI_OP_UPDATE, - .handler = _anim_job_update, - }, - { - .op_type = VI_OP_NONE, - .handler = NULL, - }, - }; - - for (i = 0; anim_job_table[i].op_type != VI_OP_NONE; i++) { - if (anim_job_table[i].op_type != vi->op_type) { - continue; - } - - anim_job_table[i].handler(vi); - break; - } - - return EINA_TRUE; -} - -static Eina_Bool _anim_done_cb(void *data) -{ - int i = 0; - QP_VI *vi = data; - retif(vi == NULL, EINA_FALSE, "invalid parameter"); - - static qp_vi_op_table anim_done_table[] = { - { - .op_type = VI_OP_INSERT, - .handler = _anim_done_insert, - }, - { - .op_type = VI_OP_DELETE, - .handler = _anim_done_delete, - }, - { - .op_type = VI_OP_DELETE_ALL, - .handler = _anim_done_delete_all, - }, - { - .op_type = VI_OP_UPDATE, - .handler = _anim_done_update, - }, - { - .op_type = VI_OP_NONE, - .handler = NULL, - }, - }; - - for (i = 0; anim_done_table[i].op_type != VI_OP_NONE; i++) { - if (anim_done_table[i].op_type != vi->op_type) { - continue; - } - - anim_done_table[i].handler(vi); - break; - } - - return EINA_TRUE; -} - -HAPI int quickpanel_noti_gridbox_get_geometry(Evas_Object *gridbox, int *limit_h, int *limit_partial_h, int *limit_partial_w) -{ - - int count = 0; - int num_last = 0; - int x = 0, y = 0, w = 0, h = 0; - Eina_List *list = NULL; - gridbox_info_layout *info_layout = NULL; - - retif(gridbox == NULL, 0, "invalid parameter"); - retif(limit_h == NULL, 0, "invalid parameter"); - retif(limit_partial_h == NULL, 0, "invalid parameter"); - retif(limit_partial_w == NULL, 0, "invalid parameter"); - evas_object_geometry_get(gridbox, &x, &y, &w, &h); - - info_layout = _gridbox_get_layout(gridbox); - retif(info_layout == NULL, 0, "invalid parameter"); - - list = elm_box_children_get(gridbox); - if (list != NULL) { - count = eina_list_count(list); - num_last = count % info_layout->n_per_rows; - eina_list_free(list); - } else { - num_last = 0; - } - - *limit_h = y + h; - if (num_last > 0) { - *limit_partial_h = *limit_h - info_layout->child_h; - *limit_partial_w = num_last * info_layout->child_w; - } else { - *limit_partial_h = *limit_h; - *limit_partial_w = 0; - } - - return 1; -} - -static void _notibox_deleted_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) -{ - quickpanel_uic_close_quickpanel(EINA_FALSE, EINA_FALSE); -} - -HAPI void quickpanel_noti_gridbox_closing_trigger_set(Evas_Object *gridbox) -{ - Evas_Object *item = NULL; - Eina_List *items = NULL; - retif(gridbox == NULL, , "invalid parameter"); - - if ((items = elm_box_children_get(gridbox)) != NULL) { - item = eina_list_nth(items, 0); - if (item != NULL) { - evas_object_event_callback_add(item, - EVAS_CALLBACK_DEL, _notibox_deleted_cb, NULL); - } - eina_list_free(items); - } -} diff --git a/daemon/notifications/noti_gridbox.h b/daemon/notifications/noti_gridbox.h deleted file mode 100755 index ea36e65..0000000 --- a/daemon/notifications/noti_gridbox.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * 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_GRIDBOX_H__ -#define __QUICKPANEL_GRIDBOX_H__ - -#define GRIDBOX_PREPEND 1 -#define GRIDBOX_APPEND 0 - -extern Evas_Object *quickpanel_noti_gridbox_create(Evas_Object *parent, void *data); -extern void quickpanel_noti_gridbox_remove(Evas_Object *gridbox); -extern void quickpanel_noti_gridbox_add_item(Evas_Object *gridbox, Evas_Object *item, int is_prepend); -extern void quickpanel_noti_gridbox_remove_item(Evas_Object *gridbox, Evas_Object *item, int with_animation); -extern void quickpanel_noti_gridbox_rotation(Evas_Object *gridbox, int angle); -extern void quickpanel_noti_gridbox_remove_and_add_item(Evas_Object *gridbox, Evas_Object *item ,void (*update_cb)(Evas_Object *list, void *data, int is_prepend) ,void *container, void *data, int pos); -extern void quickpanel_noti_gridbox_remove_all_item(Evas_Object *gridbox, int with_animation); -extern void quickpanel_noti_gridbox_set_item_deleted_cb(Evas_Object *gridbox, void(*deleted_cb)(void *data, Evas_Object *obj)); -extern int quickpanel_noti_gridbox_get_item_count(Evas_Object *gridbox); -extern int quickpanel_noti_gridbox_get_geometry(Evas_Object *gridbox, int *limit_h, int *limit_partial_h, int *limit_partial_w); -extern void quickpanel_noti_gridbox_update_item(Evas_Object *gridbox, Evas_Object *item); -extern void quickpanel_noti_gridbox_closing_trigger_set(Evas_Object *gridbox); -extern int quickpanel_noti_gridbox_get_item_exist(Evas_Object *gridbox, Evas_Object *box); -#endif diff --git a/daemon/notifications/noti_view_boxtype.c b/daemon/notifications/noti_view_boxtype.c deleted file mode 100755 index c651fe2..0000000 --- a/daemon/notifications/noti_view_boxtype.c +++ /dev/null @@ -1,1014 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "quickpanel-ui.h" -#include "common_uic.h" -#include "common.h" -#include "list_util.h" -#include "quickpanel_def.h" -#include "vi_manager.h" -#include "noti_box.h" -#include "noti_node.h" -#include "noti.h" -#include "noti_util.h" -#include "noti_list_item.h" -#include "animated_icon.h" - -#ifdef QP_SCREENREADER_ENABLE -#include "accessibility.h" -#endif - -#ifdef QP_ANIMATED_IMAGE_ENABLE -#include "animated_image.h" -#endif - -#define IMAGE_NO_RESIZE 0 -#define IMAGE_RESIZE 1 - -#define IMAGE_BY_FILE 0 -#define IMAGE_BY_BUFFER 1 - -#define TEXT_NO_CR 0 -#define TEXT_CR 1 - -#define THRESHOLD_DRAGGING_TIME_LIMIT 1.0 -#define LIMIT_ZOOM_RATIO 0.55 -#define LIMIT_FADEOUT_RATIO 0.1 -#define THRESHOLD_DELETE_START 80 -#define THRESHOLD_DELETE_START_Y_LIMIT 60 -#define THRESHOLD_DISTANCE ((BOX_WIDTH_P >> 1)) - -static Evas_Object *_check_duplicated_image_loading(Evas_Object *obj, const char *part, const char *file_path) -{ - Evas_Object *old_ic = NULL; - const char *old_ic_path = NULL; - - retif(obj == NULL, NULL, "Invalid parameter!"); - retif(part == NULL, NULL, "Invalid parameter!"); - retif(file_path == NULL, NULL, "Invalid parameter!"); - - old_ic = elm_object_part_content_get(obj, part); - - if (quickpanel_animated_icon_is_same_icon(old_ic, file_path) == 1) { - return old_ic; - } - - if (old_ic != NULL) { - elm_image_file_get(old_ic, &old_ic_path, NULL); - if (old_ic_path != NULL) { - if (strcmp(old_ic_path, file_path) == 0) { - return old_ic; - } - } - - elm_object_part_content_unset(obj, part); - evas_object_del(old_ic); - old_ic = NULL; - } - - return NULL; -} - -static void _attach_memfile(Evas_Object *noti_box, notification_image_type_e image_type, void *memfile) -{ - char buf[32] = {0,}; - - snprintf(buf, sizeof(buf), "%s_%d", E_DATA_NOTI_BOX_MB_BG, image_type); - - void *memfile_attached = evas_object_data_get(noti_box, buf); - if (memfile_attached != NULL) { - free(memfile_attached); - } - evas_object_data_set(noti_box, buf, memfile); -} - -static void _deattach_memfile_all(Evas_Object *noti_box) -{ - char buf[32] = {0,}; - void *memfile = NULL; - int i = NOTIFICATION_TEXT_TYPE_NONE + 1; - - for ( ; i < NOTIFICATION_TEXT_TYPE_MAX; i++) { - snprintf(buf, sizeof(buf), "%s_%d", E_DATA_NOTI_BOX_MB_BG, i); - - memfile = evas_object_data_get(noti_box, buf); - if (memfile != NULL) { - free(memfile); - } - evas_object_data_set(noti_box, buf, NULL); - evas_object_data_del(noti_box, buf); - } -} - -static void _text_clean_all(Evas_Object *noti_box) -{ - int i = 0; - const char *text_parts[] = { - "object.text.title", - "object.text.contents", - "object.text.contents.multiline.short", - "object.text.contents.multiline", - "object.text.count", - "object.text.time", - "object.text.info.1", - "object.text.info.1.short", - "object.text.info.1.multiline", - "object.text.info.sub.1", - "object.text.info.2", - "object.text.info.2.short", - "object.text.info.sub.2", - NULL - }; - - for (i = 0; text_parts[i] != NULL; i++) { - elm_object_part_text_set(noti_box, text_parts[i], ""); - elm_object_part_text_set(noti_box, text_parts[i], NULL); - } -} - -#ifdef QP_SCREENREADER_ENABLE -static inline void _check_and_add_to_buffer(notification_h noti, notification_text_type_e text_type, Eina_Strbuf *str_buf) -{ - char buf[256] = { 0, }; - char buf_number[QP_UTIL_PHONE_NUMBER_MAX_LEN * 2] = { 0, }; - - char *text = NULL; - time_t time = 0; - - if (notification_get_time_from_text(noti, text_type, &time) == NOTIFICATION_ERROR_NONE) { - if ((int)time > 0) { - quickpanel_noti_util_get_time(time, buf, sizeof(buf)); - text = buf; - } - } else { - notification_get_text(noti, text_type, &text); - } - - if (text != NULL) { - if (strlen(text) > 0) { - if (quickpanel_common_util_is_phone_number(text)) { - quickpanel_common_util_phone_number_tts_make(buf_number, text, - (QP_UTIL_PHONE_NUMBER_MAX_LEN * 2) - 1); - DBG("[%s]", buf_number); - eina_strbuf_append(str_buf, buf_number); - } else { - eina_strbuf_append(str_buf, text); - } - eina_strbuf_append_char(str_buf, '\n'); - } - } -} - -static void _noti_box_set_rs_layout_single(Evas_Object *noti_box, notification_h noti) -{ - Evas_Object *ao = NULL; - Eina_Strbuf *str_buf = NULL; - char *dir = NULL; - char *domain = NULL; - - notification_get_text_domain(noti, &domain, &dir); - if (domain != NULL && dir != NULL) { - bindtextdomain(domain, dir); - } - - str_buf = eina_strbuf_new(); - retif(str_buf == NULL, , "invalid parameter"); - - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_TITLE, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_CONTENT, str_buf); - - time_t noti_time = 0.0; - char buf[512] = {0,}; - notification_get_time(noti, ¬i_time); - if (noti_time == 0.0) { - notification_get_insert_time(noti, ¬i_time); - } - quickpanel_noti_util_get_time(noti_time, buf, 512); - eina_strbuf_append(str_buf, buf); - eina_strbuf_append_char(str_buf, '\n'); - - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_1, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_2, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2, str_buf); - - if (str_buf != NULL) { - ao = quickpanel_accessibility_screen_reader_object_get(noti_box, - SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", noti_box); - if (ao != NULL) { - elm_access_info_set(ao, ELM_ACCESS_TYPE, _("IDS_QP_BUTTON_NOTIFICATION")); - elm_access_info_set(ao, ELM_ACCESS_INFO, eina_strbuf_string_get(str_buf)); - } - - eina_strbuf_free(str_buf); - } -} - -static void _noti_box_set_rs_layout_multi(Evas_Object *noti_box, notification_h noti) -{ - DBG(""); - - Evas_Object *ao = NULL; - Eina_Strbuf *str_buf = NULL; - char *dir = NULL; - char *domain = NULL; - - notification_get_text_domain(noti, &domain, &dir); - if (domain != NULL && dir != NULL) { - bindtextdomain(domain, dir); - } - - str_buf = eina_strbuf_new(); - retif(str_buf == NULL, , "invalid parameter"); - - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_TITLE, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_CONTENT, str_buf); - - time_t noti_time = 0.0; - char buf[512] = {0,}; - notification_get_time(noti, ¬i_time); - if (noti_time == 0.0) { - notification_get_insert_time(noti, ¬i_time); - } - quickpanel_noti_util_get_time(noti_time, buf, 512); - eina_strbuf_append(str_buf, buf); - eina_strbuf_append_char(str_buf, '\n'); - - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_1, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_2, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2, str_buf); - - if (str_buf != NULL) { - ao = quickpanel_accessibility_screen_reader_object_get(noti_box, - SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", noti_box); - if (ao != NULL) { - elm_access_info_set(ao, ELM_ACCESS_TYPE, _("IDS_QP_BUTTON_NOTIFICATION")); - elm_access_info_set(ao, ELM_ACCESS_INFO, eina_strbuf_string_get(str_buf)); - } - - eina_strbuf_free(str_buf); - } -} - -static void _noti_box_set_rs_layout_thumbnail(Evas_Object *noti_box, notification_h noti) -{ - DBG(""); - - Evas_Object *ao = NULL; - Eina_Strbuf *str_buf = NULL; - char *dir = NULL; - char *domain = NULL; - - notification_get_text_domain(noti, &domain, &dir); - if (domain != NULL && dir != NULL) { - bindtextdomain(domain, dir); - } - - str_buf = eina_strbuf_new(); - retif(str_buf == NULL, , "invalid parameter"); - - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_TITLE, str_buf); - _check_and_add_to_buffer(noti, NOTIFICATION_TEXT_TYPE_CONTENT, str_buf); - - time_t noti_time = 0.0; - char buf[512] = {0,}; - notification_get_time(noti, ¬i_time); - if (noti_time == 0.0) { - notification_get_insert_time(noti, ¬i_time); - } - quickpanel_noti_util_get_time(noti_time, buf, 512); - eina_strbuf_append(str_buf, buf); - eina_strbuf_append_char(str_buf, '\n'); - - if (str_buf != NULL) { - DBG("access:%s", eina_strbuf_string_get(str_buf)); - - ao = quickpanel_accessibility_screen_reader_object_get(noti_box, - SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", noti_box); - if (ao != NULL) { - elm_access_info_set(ao, ELM_ACCESS_TYPE, _("IDS_QP_BUTTON_NOTIFICATION")); - elm_access_info_set(ao, ELM_ACCESS_INFO, eina_strbuf_string_get(str_buf)); - } - - eina_strbuf_free(str_buf); - } -} -#endif - -static Evas_Object *_set_image(Evas_Object *noti_box, notification_h noti, char *image_path, notification_image_type_e image_type, const char *part, int is_stretch, int is_use_buffer) -{ - Evas_Object *content = NULL; - char *image = NULL; - char ext[32] = {0,}; - void *memfile = NULL; - size_t memfile_size = 0; - retif(part == NULL, NULL,"invalid parameter"); - - notification_get_image(noti, image_type, &image); - if (image == NULL && image_path != NULL) { - image = image_path; - } - - if (image != NULL) { - if (is_use_buffer == IMAGE_BY_BUFFER) { - content = quickpanel_animated_icon_get(noti_box, image); - if (content == NULL) { - content = elm_image_add(noti_box); - - memfile = quickpanel_common_ui_get_buffer_from_image(image, &memfile_size, ext, sizeof(ext)); - if (memfile != NULL && memfile_size > 0) { - _attach_memfile(noti_box, image_type, memfile); - if (elm_image_memfile_set(content, memfile, memfile_size, ext, - quickpanel_animated_image_get_groupname(image)) == EINA_FALSE) { - ERR("failed to set memfile set"); - elm_image_file_set(content, image, - quickpanel_animated_image_get_groupname(image)); - } - } else { - if (memfile) { - free(memfile); // due to prevent - } - elm_image_file_set(content, image, - quickpanel_animated_image_get_groupname(image)); - } - } - } else { - content = _check_duplicated_image_loading(noti_box, part, image); - if (content == NULL) { - content = quickpanel_animated_icon_get(noti_box, image); - if (content == NULL) { - content = elm_image_add(noti_box); - - elm_image_file_set(content, image, - quickpanel_animated_image_get_groupname(image)); - } - } else { - return content; - } - } - if (is_stretch == IMAGE_RESIZE) { - elm_image_aspect_fixed_set(content, EINA_FALSE); - elm_image_resizable_set(content, EINA_TRUE, EINA_TRUE); - } else { - if (strcmp(part, BOX_PART_ICON) == 0 || strcmp(part, BOX_PART_ICON_SUB) == 0) { - elm_image_resizable_set(content, EINA_FALSE, EINA_TRUE); - } else { - elm_image_aspect_fixed_set(content, EINA_TRUE); - elm_image_fill_outside_set(content, EINA_TRUE); - } - } - - 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, notification_text_type_e text_type, const char *part, char *str, int is_need_effect, int is_support_cr) -{ - char buf[128] = { 0, }; - - char *text = NULL; - char *text_utf8 = NULL; - time_t time = 0; - - if (str != NULL) { - text = str; - } else if (notification_get_time_from_text(noti, text_type, &time) == NOTIFICATION_ERROR_NONE) { - if ((int)time > 0) { - quickpanel_noti_util_get_time(time, buf, sizeof(buf)); - text = buf; - } - } else { - notification_get_text(noti, text_type, &text); - } - - if (text != NULL) { - if (strlen(text) > 0) { - - if (is_support_cr == TEXT_CR) { - text_utf8 = elm_entry_utf8_to_markup(text); - if (text_utf8 != NULL) { - elm_object_part_text_set(noti_box, part, text_utf8); - free(text_utf8); - } else { - elm_object_part_text_set(noti_box, part, text); - } - } else { - quickpanel_common_util_char_replace(text, _NEWLINE, _SPACE); - elm_object_part_text_set(noti_box, part, text); - } - - if (is_need_effect == 1) { - elm_object_signal_emit(noti_box, "object.show.effect", part); - } else { - elm_object_signal_emit(noti_box, "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; - - 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; - - notification_get_image(noti, image_type, &image); - - if (image == NULL) { - return 1; - } - - if (strncasecmp(image, "(null)", strlen(image)) == 0) { - return 1; - } - - return 0; -} - -static void _noti_box_set_layout_single(Evas_Object *noti_box, notification_h noti) -{ - char *dir = NULL; - char *domain = NULL; - char *pkgname = NULL; - char *icon_path = NULL; - int is_need_effect = 0; - int is_contents_only = 0; - int is_sub_info_1_only = 0; - int is_contents_and_sub_info_2 = 0; - Evas_Object *icon = NULL; - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) { - is_need_effect = 1; - } - - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2) == 1) { - is_contents_only = 1; - } - - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) != 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2) == 1) { - is_sub_info_1_only = 1; - } - - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1 - && (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) != 1 - || _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2) != 1)) { - is_contents_and_sub_info_2 = 1; - } - - DBG("is_contents_only:%d is_sub_info_1_only:%d", is_contents_only, is_sub_info_1_only); - - notification_get_pkgname(noti, &pkgname); - notification_get_text_domain(noti, &domain, &dir); - if (domain != NULL && dir != NULL) { - bindtextdomain(domain, dir); - } - - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_TITLE, - "object.text.title", NULL, is_need_effect, TEXT_CR); - - if (is_contents_only == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, - "object.text.contents", NULL, is_need_effect, TEXT_CR); - } else { - if (is_contents_and_sub_info_2 == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, - "object.text.contents", NULL, is_need_effect, TEXT_NO_CR); - } - - if (is_sub_info_1_only == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1.multiline", NULL, is_need_effect, TEXT_CR); - } else { - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) == 0) { - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1", NULL, is_need_effect, TEXT_NO_CR); - } else { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1.short", NULL, is_need_effect, TEXT_NO_CR); - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1, - "object.text.info.sub.1", NULL, is_need_effect, TEXT_NO_CR); - } - } - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_2, - "object.text.info.2", NULL, is_need_effect, TEXT_NO_CR); - } - } - - time_t noti_time = 0.0; - char buf[512] = {0,}; - notification_get_time(noti, ¬i_time); - if (noti_time == 0.0) { - notification_get_insert_time(noti, ¬i_time); - } - quickpanel_noti_util_get_time(noti_time, buf, 512); - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_NONE, - "object.text.time", buf, is_need_effect, TEXT_NO_CR); - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) { - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon.sub", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - icon = _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_THUMBNAIL, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); -#ifdef QP_ANIMATED_IMAGE_ENABLE - quickpanel_animated_image_add(icon); -#endif - } else { - icon = _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); -#ifdef QP_ANIMATED_IMAGE_ENABLE - quickpanel_animated_image_add(icon); -#endif - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON_SUB, - "object.icon.sub", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - } - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_BACKGROUND, - "object.icon.background", IMAGE_NO_RESIZE, IMAGE_BY_BUFFER); - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) { - - icon_path = quickpanel_common_ui_get_pkginfo_icon(pkgname); - if (icon_path != NULL) { - _set_image(noti_box, NULL, - icon_path, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - free(icon_path); - } - } else { - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) { - elm_object_signal_emit(noti_box, "box.show.dim", "box.prog"); - } - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) { - elm_object_signal_emit(noti_box, "box.hide.icon.bg", "box.prog"); - elm_object_signal_emit(noti_box, "box.title.without.icon", "box.prog"); - } - if (((_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 0 - || _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 0)) { - elm_object_signal_emit(noti_box, "box.show.sub.bg", "box.prog"); - } - } - -#ifdef QP_SCREENREADER_ENABLE - _noti_box_set_rs_layout_single(noti_box, noti); -#endif -} - -static void _noti_box_set_layout_multi(Evas_Object *noti_box, notification_h noti) -{ - char *pkgname = NULL; - char *icon_path = NULL; - char *dir = NULL; - char *domain = NULL; - int is_need_effect = 0; - int is_contents_only = 0; - int is_sub_info_1_only = 0; - int is_contents_and_sub_info_2 = 0; - Evas_Object *icon = NULL; - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) { - is_need_effect = 1; - } - - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2) == 1) { - is_contents_only = 1; - } - - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) != 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2) == 1) { - is_sub_info_1_only = 1; - } - - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) == 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1 - && (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) != 1 - || _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2) != 1)) { - is_contents_and_sub_info_2 = 1; - } - - DBG("is_sub_info_1_only:%d", is_sub_info_1_only); - - notification_get_pkgname(noti, &pkgname); - notification_get_text_domain(noti, &domain, &dir); - if (domain != NULL && dir != NULL) { - bindtextdomain(domain, dir); - } - - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_TITLE, - "object.text.title", NULL, is_need_effect, TEXT_CR); - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT) == 0) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT, "object.text.count", NULL, - is_need_effect, TEXT_NO_CR); - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, "object.text.contents", NULL, - is_need_effect, TEXT_NO_CR); - } else { - if (is_contents_only == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, - "object.text.contents", NULL, is_need_effect, TEXT_CR); - } else if (is_contents_and_sub_info_2 == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, - "object.text.contents", NULL, is_need_effect, TEXT_NO_CR); - } else { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, - "object.text.contents", NULL, is_need_effect, TEXT_NO_CR); - } - } - - time_t noti_time = 0.0; - char buf[512] = {0,}; - - notification_get_time(noti, ¬i_time); - if (noti_time == 0.0) { - notification_get_insert_time(noti, ¬i_time); - } - quickpanel_noti_util_get_time(noti_time, buf, 512); - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_NONE, - "object.text.time", buf, is_need_effect, TEXT_NO_CR); - - if (is_sub_info_1_only == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1.multiline", NULL, is_need_effect, TEXT_CR); - } else { - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) == 0) { - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1) == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1", NULL, is_need_effect, TEXT_NO_CR); - } else { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1.short", NULL, is_need_effect, TEXT_NO_CR); - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1, - "object.text.info.sub.1", NULL, is_need_effect, TEXT_NO_CR); - } - } - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) == 0) { - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2) == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_2, - "object.text.info.2", NULL, is_need_effect, TEXT_NO_CR); - } else { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_2, - "object.text.info.2.short", NULL, is_need_effect, TEXT_NO_CR); - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2, - "object.text.info.sub.2", NULL, is_need_effect, TEXT_NO_CR); - } - } - } - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) { - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon.sub", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - icon = _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_THUMBNAIL, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); -#ifdef QP_ANIMATED_IMAGE_ENABLE - quickpanel_animated_image_add(icon); -#endif - } else { - icon = _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); -#ifdef QP_ANIMATED_IMAGE_ENABLE - quickpanel_animated_image_add(icon); -#endif - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON_SUB, - "object.icon.sub", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - } - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_BACKGROUND, - "object.icon.background", IMAGE_NO_RESIZE, IMAGE_BY_BUFFER); - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) { - - icon_path = quickpanel_common_ui_get_pkginfo_icon(pkgname); - if (icon_path != NULL) { - _set_image(noti_box, NULL, - icon_path, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - free(icon_path); - } - } else { - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) { - elm_object_signal_emit(noti_box, "box.show.dim", "box.prog"); - } - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) { - elm_object_signal_emit(noti_box, "box.hide.icon.bg", "box.prog"); - elm_object_signal_emit(noti_box, "box.title.without.icon", "box.prog"); - } - if (((_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 0 - || _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 0)) { - elm_object_signal_emit(noti_box, "box.show.sub.bg", "box.prog"); - } - } - -#ifdef QP_SCREENREADER_ENABLE - _noti_box_set_rs_layout_multi(noti_box, noti); -#endif -} - -static void _noti_box_set_layout_thumbnail(Evas_Object *noti_box, notification_h noti) -{ - char *pkgname = NULL; - char *icon_path = NULL; - char *dir = NULL; - char *domain = NULL; - int is_need_effect = 0; - int is_sub_info_1_only = 0; - int is_show_info = 0; - Evas_Object *icon = NULL; - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) { - is_need_effect = 1; - } else { - is_need_effect = 0; - } - - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) != 1 - && _check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) == 1) { - is_sub_info_1_only = 1; - } - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_LIST_1)!= 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_LIST_2) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_LIST_3) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_LIST_4) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_LIST_5) == 1) { - is_show_info = 1; - } - - notification_get_pkgname(noti, &pkgname); - notification_get_text_domain(noti, &domain, &dir); - if (domain != NULL && dir != NULL) { - bindtextdomain(domain, dir); - } - - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_TITLE, - "object.text.title", NULL, is_need_effect, TEXT_CR); - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT) == 0) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT, "object.text.count", NULL, - is_need_effect, TEXT_NO_CR); - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, "object.text.contents", NULL, - is_need_effect, TEXT_NO_CR); - } else { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_CONTENT, - "object.text.contents", NULL, is_need_effect, TEXT_NO_CR); - } - - time_t noti_time = 0.0; - char buf[512] = {0,}; - notification_get_time(noti, ¬i_time); - if (noti_time == 0.0) { - notification_get_insert_time(noti, ¬i_time); - } - quickpanel_noti_util_get_time(noti_time, buf, 512); - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_NONE, - "object.text.time", buf, is_need_effect, TEXT_NO_CR); - - if (is_show_info == 1) { - if (is_sub_info_1_only == 1) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1.multiline", NULL, is_need_effect, TEXT_CR); - } else { - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_1) == 0) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_1, - "object.text.info.1", NULL, is_need_effect, TEXT_NO_CR); - } - if (_check_text_null(noti, NOTIFICATION_TEXT_TYPE_INFO_2) == 0) { - _set_text(noti_box, noti, NOTIFICATION_TEXT_TYPE_INFO_2, - "object.text.info.2", NULL, is_need_effect, TEXT_NO_CR); - } - } - } - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) { - icon = _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_THUMBNAIL, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); -#ifdef QP_ANIMATED_IMAGE_ENABLE - quickpanel_animated_image_add(icon); -#endif - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) { - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon.sub", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - } - } else { - icon = _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); -#ifdef QP_ANIMATED_IMAGE_ENABLE - quickpanel_animated_image_add(icon); -#endif - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 0) { - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_ICON_SUB, - "object.icon.sub", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - } - } - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_BACKGROUND, - "object.icon.background", IMAGE_NO_RESIZE, IMAGE_BY_BUFFER); - - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_LIST_1, - "object.thumbnail.list.1", IMAGE_RESIZE, IMAGE_BY_BUFFER); - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_LIST_2, - "object.thumbnail.list.2", IMAGE_RESIZE, IMAGE_BY_BUFFER); - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_LIST_3, - "object.thumbnail.list.3", IMAGE_RESIZE, IMAGE_BY_BUFFER); - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_LIST_4, - "object.thumbnail.list.4", IMAGE_RESIZE, IMAGE_BY_BUFFER); - _set_image(noti_box, noti, NULL, NOTIFICATION_IMAGE_TYPE_LIST_5, - "object.thumbnail.list.5", IMAGE_RESIZE, IMAGE_BY_BUFFER); - - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) { - - icon_path = quickpanel_common_ui_get_pkginfo_icon(pkgname); - if (icon_path != NULL) { - _set_image(noti_box, NULL, - icon_path, NOTIFICATION_IMAGE_TYPE_ICON, - "object.icon", IMAGE_NO_RESIZE, IMAGE_BY_FILE); - free(icon_path); - } - } else { - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) { - elm_object_signal_emit(noti_box, "box.show.dim", "box.prog"); - } - if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 1 - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) { - elm_object_signal_emit(noti_box, "box.hide.icon.bg", "box.prog"); - elm_object_signal_emit(noti_box, "box.title.without.icon", "box.prog"); - } - if (((_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON) == 0 - || _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 0) - && _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 0)) { - elm_object_signal_emit(noti_box, "box.show.sub.bg", "box.prog"); - } - } - -#ifdef QP_SCREENREADER_ENABLE - _noti_box_set_rs_layout_thumbnail(noti_box, noti); -#endif -} - -static void _noti_box_set_layout(Evas_Object *noti_box, notification_h noti, notification_ly_type_e layout) -{ - DBG("notification box layout:%d", layout); - - switch (layout) { - case NOTIFICATION_LY_NOTI_EVENT_SINGLE: - _noti_box_set_layout_single(noti_box, noti); - break; - case NOTIFICATION_LY_NOTI_EVENT_MULTIPLE: - _noti_box_set_layout_multi(noti_box, noti); - break; - case NOTIFICATION_LY_NOTI_THUMBNAIL: - _noti_box_set_layout_thumbnail(noti_box, noti); - break; - case NOTIFICATION_LY_NONE: - case NOTIFICATION_LY_ONGOING_EVENT: - case NOTIFICATION_LY_ONGOING_PROGRESS: - case NOTIFICATION_LY_MAX: - ERR("not supported layout type:%d", layout); - break; - } - - if (elm_object_part_text_get(noti_box, "object.text.count") != NULL) { - elm_object_signal_emit(noti_box, "title.short", "prog"); - } else { - elm_object_signal_emit(noti_box, "title.long", "prog"); - } -} - -static Evas_Object *_create(notification_h noti, Evas_Object *parent) -{ - Evas_Object *box = NULL; - retif(parent == NULL, NULL, "Invalid parameter!"); - retif(noti == NULL, NULL, "Invalid parameter!"); - - notification_ly_type_e layout = NOTIFICATION_LY_NOTI_EVENT_SINGLE; - notification_get_layout(noti, &layout); - - box = elm_layout_add(parent); - - if (layout == NOTIFICATION_LY_NOTI_EVENT_SINGLE - || layout == NOTIFICATION_LY_NOTI_EVENT_MULTIPLE) { - elm_layout_file_set(box, DEFAULT_EDJ, - "quickpanel/listitem_legacy/single_multi"); - } else if (layout == NOTIFICATION_LY_NOTI_THUMBNAIL) { - elm_layout_file_set(box, DEFAULT_EDJ, "quickpanel/listitem_legacy/thumbnail"); - } else { - elm_layout_file_set(box, DEFAULT_EDJ, - "quickpanel/listitem_legacy/single_multi"); - } - - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); - quickpanel_uic_initial_resize(box, QP_THEME_LIST_ITEM_NOTIFICATION_LEGACY_SINGLE_MULTI_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT); - evas_object_show(box); - - Evas_Object *focus = quickpanel_accessibility_ui_get_focus_object(box); - elm_object_part_content_set(box, "focus", focus); - - return box; -} - -static void _update(noti_node_item *noti_node, notification_ly_type_e layout, Evas_Object *item) -{ - noti_node_item *noti_node_find = NULL; - retif(item == NULL, , "Invalid parameter!"); - retif(noti_node == NULL, , "Invalid parameter!"); - - noti_list_item_h *handler = quickpanel_noti_list_item_handler_get(item); - if (handler != NULL) { - noti_node_find = quickpanel_noti_node_get_by_priv_id(handler->priv_id); - - if (noti_node_find != NULL) { - notification_ly_type_e layout = NOTIFICATION_LY_NOTI_EVENT_SINGLE; - notification_get_layout(noti_node_find->noti, &layout); - - _deattach_memfile_all(item); - _text_clean_all(item); - - _noti_box_set_layout(item, noti_node_find->noti, layout); - } - } -} - -static void _remove(noti_node_item *node_item, notification_ly_type_e layout, Evas_Object *item) -{ - retif(item == NULL, , "Invalid parameter!"); - retif(node_item == NULL, , "Invalid parameter!"); - - _deattach_memfile_all(item); -} - -Noti_View_H noti_view_boxtype_h = { - .name = "noti_view_boxtype", - - .create = _create, - .update = _update, - .remove = _remove, -}; diff --git a/daemon/notifications/noti_win.c b/daemon/notifications/noti_win.c index 9ab395f..75c4dc7 100755 --- a/daemon/notifications/noti_win.c +++ b/daemon/notifications/noti_win.c @@ -31,7 +31,7 @@ #include "common.h" #include "noti_win.h" -#include "dbus_utility.h" + struct Internal_Data { Evas_Object *content; diff --git a/daemon/quickpanel-ui.c b/daemon/quickpanel-ui.c index eab3240..1eb1871 100755 --- a/daemon/quickpanel-ui.c +++ b/daemon/quickpanel-ui.c @@ -46,11 +46,7 @@ #include "vi_manager.h" #include "pager.h" #include "page_base.h" -#ifdef QP_ENABLE_PAGE_EDIT -#include "page_edit.h" -#else #include "page_setting_all.h" -#endif #include "sim_controller.h" #include "noti.h" diff --git a/daemon/service/configuration.c b/daemon/service/configuration.c deleted file mode 100644 index 7ddc6cf..0000000 --- a/daemon/service/configuration.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - - -#include -#include "common.h" -#include "configuration.h" - -static struct _s_configuration_info { - int longpress_threshold; -} s_configuration_info = { -#ifdef HAVE_X - .longpress_threshold = SYSTEM_SETTINGS_TAP_AND_HOLD_DELAY_SHORT, -#else - .longpress_threshold = 0, -#endif -}; - -static void _conf_longpress_threshold_cb(system_settings_key_e key, void *user_data) -{ -#ifdef HAVE_X - int delay = SYSTEM_SETTINGS_TAP_AND_HOLD_DELAY_SHORT; /* default 0.5 sec */ -#else - int delay = 0.5; -#endif - -#ifdef HAVE_X - if (SYSTEM_SETTINGS_KEY_TAP_AND_HOLD_DELAY == key) -#endif - { -#ifdef HAVE_X - if (system_settings_get_value_int(SYSTEM_SETTINGS_KEY_TAP_AND_HOLD_DELAY, &delay) != 0) { - ERR("Failed to get tap and hold delay"); - return; - } -#endif - if (s_configuration_info.longpress_threshold != delay) { - s_configuration_info.longpress_threshold = delay; - } - - DBG("Current tap and hold delay : [%d] msec", delay); - } -} - -HAPI void quickpanel_conf_init(void *data) -{ -#ifdef HAVE_X - if (system_settings_get_value_int(SYSTEM_SETTINGS_KEY_TAP_AND_HOLD_DELAY, - &s_configuration_info.longpress_threshold) != 0) { - ERR("Failed to get tap and hold delay"); - } - - if (system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_TAP_AND_HOLD_DELAY, - _conf_longpress_threshold_cb, NULL) != 0) { - ERR("Failed to set tap and hold delay changed callback"); - } -#endif -} - -HAPI void quickpanel_conf_fini(void *data) -{ -#ifdef HAVE_X - if (system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_TAP_AND_HOLD_DELAY) != 0) { - ERR("Failed to unset tab and hold delay changed callback"); - } -#endif -} - -HAPI double quickpanel_conf_longpress_time_get(void) -{ - return (double)(s_configuration_info.longpress_threshold)/(double)1000.0; -} diff --git a/daemon/service/configuration.h b/daemon/service/configuration.h deleted file mode 100644 index df37014..0000000 --- a/daemon/service/configuration.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * 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 _QP_SERVICE_CONFIGURATION_DEF_ -#define _QP_SERVICE_CONFIGURATION_DEF_ - -#include "quickpanel-ui.h" - -void quickpanel_conf_init(void *data); -void quickpanel_conf_fini(void *data); -double quickpanel_conf_longpress_time_get(void); - -#endif diff --git a/daemon/service/smart_alert.c b/daemon/service/smart_alert.c deleted file mode 100755 index f60f4b9..0000000 --- a/daemon/service/smart_alert.c +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include - -#include -#include - -#include "common.h" -#include "noti_util.h" -#include "smart_alert.h" - -static inline int __quickpanel_service_update_event_count(const char *pkgname, const char *vconfkey) -{ - int ret = 0, count = 0; - notification_h noti = NULL; - notification_list_h noti_list = NULL; - - retif(pkgname == NULL, 0, "Invalid parameter!"); - retif(vconfkey == 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_util_get_event_count_from_noti(noti); - ret = vconf_set_int(vconfkey, count); - - ERR("event set:%s, count:%d", pkgname, count); - - if (ret != 0) { - ERR("failed to set vconf key[%s] : %d", vconfkey, ret); - } - } else { - ERR("no data found:%s", pkgname); - } - notification_free_list(noti_list); - return count; - } else { - ret = vconf_set_int(vconfkey, 0); - - ERR("event unset:%s", pkgname); - - if (ret != 0) { - ERR("failed to set vconf key[%s] : %d", vconfkey, ret); - } - } - - return 0; -} - -HAPI void quickpanel_smart_alert_update_info(notification_h noti) -{ - char *pkgname = NULL; - int event_count_call = 0; - int event_count_vtcall = 0; - - if (noti == NULL) { - event_count_call = quickpanel_noti_util_get_event_count_by_pkgname(SMART_ALARM_CALL_PKGNAME); - event_count_vtcall = quickpanel_noti_util_get_event_count_by_pkgname(SMART_ALARM_VTCALL_PKGNAME); - ERR("call event set, count:%d, %d", event_count_call, event_count_vtcall); - } else { - notification_get_pkgname(noti, &pkgname); - retif(pkgname == NULL, , "Invalid parameter!"); - - if (strncmp(pkgname, SMART_ALARM_CALL_PKGNAME, strlen(pkgname)) == 0 || strncmp(pkgname, SMART_ALARM_VTCALL_PKGNAME, strlen(pkgname)) == 0) { - event_count_call = quickpanel_noti_util_get_event_count_by_pkgname(SMART_ALARM_CALL_PKGNAME); - event_count_vtcall = quickpanel_noti_util_get_event_count_by_pkgname(SMART_ALARM_VTCALL_PKGNAME); - - ERR("call event set, count:%d, %d", event_count_call, event_count_vtcall); - } - } -} diff --git a/daemon/service/smart_alert.h b/daemon/service/smart_alert.h deleted file mode 100755 index 397b1e0..0000000 --- a/daemon/service/smart_alert.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * 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 _QP_SMART_ALERT_DEF_ -#define _QP_SMART_ALERT_DEF_ - - -#if !defined(VENDOR) -#define SMART_ALARM_CALL_PKGNAME "org.tizen.call-notification" -#define SMART_ALARM_VTCALL_PKGNAME "org.tizen.vtmain" -#define SMART_ALARM_MSG_PKGNAME "org.tizen.message" -#else -#define SMART_ALARM_CALL_PKGNAME VENDOR".call-notification" -#define SMART_ALARM_VTCALL_PKGNAME VENDOR".vtmain" -#define SMART_ALARM_MSG_PKGNAME VENDOR".message" -#endif - -extern void quickpanel_smart_alert_update_info(notification_h noti); - -#endif diff --git a/daemon/settings/modules/assistive_light.c b/daemon/settings/modules/assistive_light.c deleted file mode 100755 index 9d8610a..0000000 --- a/daemon/settings/modules/assistive_light.c +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include - -#include -#include -#include -#include -#include -#include - -#include "common.h" -#include "quickpanel-ui.h" -#include "settings.h" -#include "setting_utils.h" -#include "setting_module_api.h" - -#define E_DATA_POPUP_MODULE_ITEM "mobule_item" -#define BUTTON_LABEL _("IDS_ST_BUTTON2_TORCH_ABB") -#define BUTTON_ICON_NORMAL "quick_icon_torch.png" - -static void _status_update(QP_Module_Setting *module, int light_status, int flag_extra_2); - -static const char *_label_get(void) -{ - return BUTTON_LABEL; -} - -static void _on_vconf_assetive_light_changed(keynode_t *node, void *user_data) -{ - Eina_Bool mode = EINA_FALSE; - - if (!node) { - ERR("node == NULL"); - return; - } - - mode = node->value.b; - - quickpanel_setting_module_icon_state_set(user_data, mode); - _status_update(user_data, mode, FLAG_VALUE_VOID); -} - -static int _init(void *data) -{ - vconf_notify_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_TORCH_LIGHT, _on_vconf_assetive_light_changed, data); - - return QP_OK; -} - -static void _set_assetive_light_mode(Eina_Bool mode) -{ - int max_brightness; - int ret = device_flash_get_max_brightness(&max_brightness); - - if (ret != 0) { - ERR("TORCH LIGHT CHANGE: ret != 0 -> %d", ret); - return; - } else { - ERR("TORCH LIGHT OK[%d]", max_brightness); - } - - int ret_set = -1; - - if(mode == EINA_TRUE) { - ret_set = device_flash_set_brightness(max_brightness); - if (ret_set != 0) { - ERR("Failed to set brightness(%d)[%d]", max_brightness, ret_set); - } else { - if (vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TORCH_LIGHT, 1) < 0) { - ERR("Failed to set tourch light vconf key"); - } - } - } else { - ret_set = device_flash_set_brightness(0); - if (ret_set != 0) { - ERR("Failed to set brightness(0)[%d]", ret_set); - } else { - if (vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TORCH_LIGHT, 0) < 0) { - ERR("Failed to set tourch light vconf key"); - } - } - } -} - -static void _view_update(Evas_Object *view, int state, int flag_extra_1, int flag_extra_2) -{ - Evas_Object *image = NULL; - const char *icon_path = NULL; - - quickpanel_setting_icon_state_set(view, state); - icon_path = BUTTON_ICON_NORMAL; - image = quickpanel_setting_icon_image_new(view, icon_path); - quickpanel_setting_icon_content_set(view, image); - quickpanel_setting_icon_text_set(view, BUTTON_LABEL, state); -} - -static void _status_update(QP_Module_Setting *module, int light_status, int flag_extra_2) -{ - int ret = -1; - retif(module == NULL, , "Invalid parameter!"); - - int brightness = 0; - ret = device_flash_get_brightness(&brightness); - if (ret != 0) { - ERR("Failed to get brightness[%d]", ret); - } - - if (brightness > 0) { - quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON); - } else { - quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF); - } - - quickpanel_setting_module_icon_view_update(module, - quickpanel_setting_module_icon_state_get(module), FLAG_VALUE_VOID); -} - -static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) { - _set_assetive_light_mode(FLAG_TURN_OFF); - } else { - _set_assetive_light_mode(FLAG_TURN_ON); - } - - _status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID); -} - -static void _lang_changed(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *) data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_icon_view_update_text(module); -} - -static void _refresh(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_icon_view_update_text(module); -} - -static int _fini(void *data) -{ - return QP_OK; -} - -QP_Module_Setting assistive_light = -{ - .name = "assisitvelight", - .init = _init, - .fini = _fini, - .lang_changed = _lang_changed, - .refresh = _refresh, - .icon_get = NULL, - .label_get = _label_get, - .supported_get = NULL, - .view_update = _view_update, - .status_update = _status_update, - .handler_longpress = NULL, - .handler_press = _mouse_clicked_cb, -}; - diff --git a/daemon/settings/modules/flightmode.c b/daemon/settings/modules/flightmode.c deleted file mode 100755 index 73a8558..0000000 --- a/daemon/settings/modules/flightmode.c +++ /dev/null @@ -1,420 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "common.h" -#include "quickpanel-ui.h" -#include "settings.h" -#include "setting_utils.h" -#include "setting_module_api.h" -#include "settings_icon_common.h" - -#define BUTTON_LABEL _("IDS_ST_BUTTON2_FLIGHT_NMODE") -#define BUTTON_ICON_NORMAL "quick_icon_flightmode.png" -#define BUTTON_ICON_HIGHLIGHT NULL -#define BUTTON_ICON_DIM NULL -#define PACKAGE_SETTING_MENU "setting-flightmode-efl" -#define SYSPOPUP_NAME "mode-syspopup" - -static Eina_Bool fly_icon_is_locked = EINA_FALSE; -static Ecore_Timer *timer = NULL; - -static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); - -static const char *_label_get(void) -{ - return BUTTON_LABEL; -} - -static const char *_icon_get(qp_setting_icon_image_type type) -{ - if (type == QP_SETTING_ICON_NORMAL) { - return BUTTON_ICON_NORMAL; - } else if (type == QP_SETTING_ICON_HIGHLIGHT) { - return BUTTON_ICON_HIGHLIGHT; - } else if (type == QP_SETTING_ICON_DIM) { -#ifdef BUTTON_ICON_DIM - return BUTTON_ICON_DIM; -#endif - } - - return NULL; -} - -static Eina_Bool _unlock_fly_icon(void *data) -{ - fly_icon_is_locked = EINA_FALSE; - ecore_timer_del(timer); - timer = NULL; - - return ECORE_CALLBACK_CANCEL; -} - -static void _long_press_cb(void *data) -{ -#ifdef PACKAGE_SETTING_MENU - if (fly_icon_is_locked == EINA_TRUE) { - LOGD("Fly icon is locked"); - return; - } - quickpanel_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, NULL); -#endif -} - -static void _view_update(Evas_Object *view, int state, int flag_extra_1, int flag_extra_2) -{ - Evas_Object *image = NULL; - const char *icon_path = NULL; - - quickpanel_setting_icon_state_set(view, state); - - if (state == ICON_VIEW_STATE_ON) { -#ifdef BUTTON_ICON_HIGHLIGHT - icon_path = BUTTON_ICON_HIGHLIGHT; -#endif - } else if (state == ICON_VIEW_STATE_DIM) { -#ifdef BUTTON_ICON_DIM - icon_path = BUTTON_ICON_DIM; -#endif - } else { - icon_path = BUTTON_ICON_NORMAL; - } - - if (icon_path == NULL) { - icon_path = BUTTON_ICON_NORMAL; - } - image = quickpanel_setting_icon_image_new(view, icon_path); - quickpanel_setting_icon_content_set(view, image); - quickpanel_setting_icon_text_set(view, BUTTON_LABEL, state); -} - -static void _status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2) -{ - LOGD(""); - int ret = 0; - bool status = false; - retif(module == NULL, , "Invalid parameter!"); - - ret = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_NETWORK_FLIGHT_MODE, &status); - msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "fail to get VCONFKEY_TELEPHONY_FLIGHT_MODE:%d", ret); - - if (status == true) { - quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON); - } else { - quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF); - } - - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_del(module); - - quickpanel_setting_module_icon_view_update(module, quickpanel_setting_module_icon_state_get(module), FLAG_VALUE_VOID); -} - -static void _tapi_flight_mode_cb(TapiHandle *handle, int result, void *data, void *user_data) -{ - ERR("flight mode result:%d", result); - _status_update(user_data, FLAG_VALUE_VOID, FLAG_VALUE_VOID); -} - -static int _tapi_flight_mode_set(int on, void *data) -{ - LOGD(""); - int ret = QP_OK; - int ret_t = TAPI_API_SUCCESS; - TapiHandle *tapi_handle = NULL; - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, QP_FAIL, "Invalid parameter!"); - - tapi_handle = tel_init(NULL); - retif(tapi_handle == NULL, QP_FAIL, "failed to initialized tapi handler"); - - if (on == 1) { - ret_t = tel_set_flight_mode(tapi_handle, - TAPI_POWER_FLIGHT_MODE_ENTER, _tapi_flight_mode_cb, data); - if (ret_t != TAPI_API_SUCCESS) { - ret = QP_FAIL; - ERR("tel_set_flight_mode enter error:%d", ret_t); - } - } else { - ret_t = tel_set_flight_mode(tapi_handle, - TAPI_POWER_FLIGHT_MODE_LEAVE, _tapi_flight_mode_cb, data); - if (ret_t != TAPI_API_SUCCESS) { - ret = QP_FAIL; - ERR("tel_set_flight_mode leave error:%d", ret_t); - } - } - - if ((ret_t = tel_deinit(tapi_handle)) != TAPI_API_SUCCESS) { - ERR("failed to deinitialized tapi handler:%d", ret_t); - } - - return ret; -} - -static void _turn_on(int is_on) -{ - LOGD(""); - bundle *b = NULL; - b = bundle_create(); - if (b != NULL) { - if (is_on) { - bundle_add(b, "_MODE_SYSTEM_POPUP_TYPE_", "MODE_SYSTEM_FLIGHTMODE_ON"); - } else { - bundle_add(b, "_MODE_SYSTEM_POPUP_TYPE_", "MODE_SYSTEM_FLIGHTMODE_OFF"); - } - syspopup_launch(SYSPOPUP_NAME, b); - bundle_free(b); - } else { - ERR("failed to create a bundle"); - } - - timer = ecore_timer_add(1.0, _unlock_fly_icon, NULL); -} - -static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - LOGD(""); - retif(module == NULL, , "Invalid parameter!"); - - if (fly_icon_is_locked == EINA_TRUE) { - LOGD("Fly icon is locked"); - return; - } - - if (quickpanel_setting_module_is_icon_clickable(module) == 0) { - LOGD("Fly icon is not clickable"); - return; - } - - fly_icon_is_locked = EINA_TRUE; - - if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) { - _turn_on(1); - } else { - _turn_on(0); - } -} - -static void _tapi_flight_mode_vconf_cb(system_settings_key_e key, void *data) -{ - _status_update(data, FLAG_VALUE_VOID, FLAG_VALUE_VOID); -} - -static int _register_module_event_handler(void *data) -{ - int ret = 0; - - ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_NETWORK_FLIGHT_MODE, _tapi_flight_mode_vconf_cb, data); - msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to notify key(SYSTEM_SETTINGS_KEY_NETWORK_FLIGHT_MODE) : %d", ret); - - return QP_OK; -} - -static int _unregister_module_event_handler(void *data) -{ - int ret = 0; - - ret = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_NETWORK_FLIGHT_MODE); - msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to ignore key(SYSTEM_SETTINGS_KEY_NETWORK_FLIGHT_MODE) : %d", ret); - - return QP_OK; -} - -/**************************************************************************** - * - * Quickpanel Item functions - * - ****************************************************************************/ - -static int _init(void *data) -{ - int ret = QP_OK; - - ret = _register_module_event_handler(data); - - return ret; -} - -static int _fini(void *data) -{ - int ret = QP_OK; - - ret = _unregister_module_event_handler(data); - - return ret; -} - -static void _lang_changed(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_icon_view_update_text(module); -} - -static void _refresh(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_icon_view_update_text(module); -} - -static void _reset_icon(QP_Module_Setting *module) -{ - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_VALUE_VOID); - _status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID); -} - -static void _handler_on(void *data) -{ - int ret = 0; - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_del(module); - - if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) { - ret = _tapi_flight_mode_set(1, module); - - if (ret == QP_OK) { - quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON); - quickpanel_setting_module_icon_timer_add(module); - } else { - ERR("op failed:%d", ret); - } - } else { - ERR("the button is already turned on"); - _reset_icon(module); - } -} - -static void _handler_off(void *data) -{ - int ret = 0; - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_del(module); - - if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) { - ret = _tapi_flight_mode_set(0, module); - - if (ret == QP_OK) { - quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_add(module); - } else { - ERR("op failed:%d", ret); - } - } else { - ERR("the button is already turned off"); - _reset_icon(module); - } -} - -static void _handler_progress_on(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_VALUE_VOID); -} - -static void _handler_progress_off(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - _reset_icon(module); -} - -static int _handler_ipc(const char *command, void *data) -{ - int i = 0; - retif(data == NULL, EINA_FALSE, "item data is NULL"); - retif(command == NULL, EINA_FALSE, "command is NULL"); - - static Setting_Activity_Handler __table_handler[] = { - { - .command = "on", - .handler = _handler_on, - }, - { - .command = "off", - .handler = _handler_off, - }, - { - .command = "progress_on", - .handler = _handler_progress_on, - }, - { - .command = "progress_off", - .handler = _handler_progress_off, - }, - { - .command = NULL, - .handler = NULL, - }, - }; - - for (i = 0; __table_handler[i].command; i++) { - if (strcmp(__table_handler[i].command, command)) { - continue; - } - - if (__table_handler[i].handler != NULL) { - DBG("process:%s", command); - __table_handler[i].handler(data); - } - break; - } - - return EINA_TRUE; -} - -QP_Module_Setting flightmode = { - .name = "flightmode", - .init = _init, - .fini = _fini, - .lang_changed = _lang_changed, - .refresh = _refresh, - .icon_get = _icon_get, - .label_get = _label_get, - .view_update = _view_update, - .status_update = _status_update, - .handler_longpress = _long_press_cb, - .handler_ipc = _handler_ipc, - .handler_press = _mouse_clicked_cb, -}; diff --git a/daemon/settings/modules/mobile_data.c b/daemon/settings/modules/mobile_data.c deleted file mode 100755 index 527e8f8..0000000 --- a/daemon/settings/modules/mobile_data.c +++ /dev/null @@ -1,495 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include - -#include -#include -#include -#include -#include -#include -#include - -#include "common_uic.h" -#include "common.h" -#include "quickpanel-ui.h" -#include "settings.h" -#include "setting_utils.h" -#include "setting_module_api.h" -#include "settings_icon_common.h" - -#define BUTTON_LABEL _("IDS_ST_BUTTON2_MOBILE_NDATA") -#define BUTTON_ICON_NORMAL "quick_icon_mobile_data.png" -#define BUTTON_ICON_HIGHLIGHT NULL -#define BUTTON_ICON_DIM NULL -#define PACKAGE_SETTING_MENU "setting-network-efl" -#define SYSPOPUP_NAME "mode-syspopup" - -#ifndef VCONFKEY_SETAPPL_MOBILE_DATA_ON_REMINDER -#define VCONFKEY_SETAPPL_MOBILE_DATA_ON_REMINDER "db/setting/network/mobile_data_on_reminder" -#endif -#ifndef VCONFKEY_SETAPPL_MOBILE_DATA_OFF_REMINDER -#define VCONFKEY_SETAPPL_MOBILE_DATA_OFF_REMINDER "db/setting/network/mobile_data_off_reminder" -#endif - -static int _is_simcard_inserted(void); -static int _is_in_flightmode(void); -static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); - -static const char *_label_get(void) -{ - return BUTTON_LABEL; -} - -static const char *_icon_get(qp_setting_icon_image_type type) -{ - if (type == QP_SETTING_ICON_NORMAL) { - return BUTTON_ICON_NORMAL; - } else if (type == QP_SETTING_ICON_HIGHLIGHT) { - return BUTTON_ICON_HIGHLIGHT; - } else if (type == QP_SETTING_ICON_DIM) { -#ifdef BUTTON_ICON_DIM - return BUTTON_ICON_DIM; -#endif - } - - return NULL; -} - -static void _long_press_cb(void *data) -{ -#ifdef PACKAGE_SETTING_MENU - struct appdata *ad = quickpanel_get_app_data(); - retif(ad == NULL, , "invalid data."); - - if (_is_in_flightmode() == 1) { - quickpanel_setting_create_timeout_popup(ad->win, _("IDS_SCP_BODY_UNABLE_TO_CONNECT_TO_MOBILE_NETWORKS_WHILE_FLIGHT_MODE_IS_ENABLED_CONNECT_TO_A_WI_FI_NETWORK_INSTEAD_OR_DISABLE_FLIGHT_MODE_AND_TRY_AGAIN")); - return; - } - - if (_is_simcard_inserted() == 0) { - quickpanel_setting_create_timeout_popup(ad->win, _("IDS_ST_BODY_INSERT_SIM_CARD_TO_ACCESS_NETWORK_SERVICES")); - return; - } - - quickpanel_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, NULL); -#endif -} - -static int _need_display_popup(int is_on) -{ - int ret = -1; - int status = 0; - - if (is_on == 1) { - ret = vconf_get_bool(VCONFKEY_SETAPPL_MOBILE_DATA_ON_REMINDER, &status); - msgif(ret != 0, "failed to get VCONFKEY_SETAPPL_MOBILE_DATA_ON_REMINDER %d %d", ret, is_on); - if (ret == 0 && status == true) { - return 1; - } - } else { - ret = vconf_get_bool(VCONFKEY_SETAPPL_MOBILE_DATA_OFF_REMINDER, &status); - msgif(ret != 0, "failed to get VCONFKEY_SETAPPL_MOBILE_DATA_OFF_REMINDER %d %d", ret, is_on); - if (ret == 0 && status == 1) { - return 1; - } - } - - return 0; -} - -static void _turn_on(int is_on) -{ - int ret = 0; - - if (is_on) { - ret = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_3G_DATA_NETWORK_ENABLED, 1); - msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to set SYSTEM_SETTINGS_KEY_3G_DATA_NETWORK_ENABLED %d %d", ret, is_on); - } else { - ret = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_3G_DATA_NETWORK_ENABLED, 0); - msgif(ret != SYSTEM_SETTINGS_ERROR_NONE,"failed to set SYSTEM_SETTINGS_KEY_3G_DATA_NETWORK_ENABLED: %d %d", ret, is_on); - } -} - -static void _turn_on_with_popup(int is_on) -{ - bundle *b = NULL; - b = bundle_create(); - if (b != NULL) { - if (is_on) { - bundle_add(b, "_MODE_SYSTEM_POPUP_TYPE_", "MODE_SYSTEM_MOBILEDATA_ON"); - } else { - bundle_add(b, "_MODE_SYSTEM_POPUP_TYPE_", "MODE_SYSTEM_MOBILEDATA_OFF"); - } - syspopup_launch(SYSPOPUP_NAME, b); - bundle_free(b); - } else { - ERR("failed to create a bundle"); - } -} - -static void _view_update(Evas_Object *view, int state, int flag_extra_1, int flag_extra_2) -{ - Evas_Object *image = NULL; - const char *icon_path = NULL; - - quickpanel_setting_icon_state_set(view, state); - - if (state == ICON_VIEW_STATE_ON) { -#ifdef BUTTON_ICON_HIGHLIGHT - icon_path = BUTTON_ICON_HIGHLIGHT; -#endif - } else if (state == ICON_VIEW_STATE_DIM) { -#ifdef BUTTON_ICON_DIM - icon_path = BUTTON_ICON_DIM; -#endif - } else { - icon_path = BUTTON_ICON_NORMAL; - } - - if (icon_path == NULL) { - icon_path = BUTTON_ICON_NORMAL; - } - image = quickpanel_setting_icon_image_new(view, icon_path); - quickpanel_setting_icon_content_set(view, image); - quickpanel_setting_icon_text_set(view, BUTTON_LABEL, state); -} - -static int _is_simcard_inserted(void) -{ - int ret_1 = QP_FAIL; - int ret_2 = QP_FAIL; - int sim_status_1 = VCONFKEY_TELEPHONY_SIM_UNKNOWN; - int sim_status_2 = VCONFKEY_TELEPHONY_SIM_UNKNOWN; - - ret_1 = vconf_get_int(VCONFKEY_TELEPHONY_SIM_SLOT, &sim_status_1); - msgif(ret_1 != QP_OK, "failed to get the VCONFKEY_TELEPHONY_SIM_SLOT : %d", ret_1); - - ret_2 = vconf_get_int(VCONFKEY_TELEPHONY_SIM_SLOT2, &sim_status_2); - msgif(ret_2 != QP_OK, "failed to get the VCONFKEY_TELEPHONY_SIM_SLOT2 : %d", ret_2); - - INFO("MOBILE DATA SIM CARD: %d %d", sim_status_1, sim_status_2); - - if ((ret_1 == QP_OK && sim_status_1 == VCONFKEY_TELEPHONY_SIM_INSERTED) || - (ret_2 == QP_OK && sim_status_2 == VCONFKEY_TELEPHONY_SIM_INSERTED)) { - return 1; - } - - return 0; -} - -static int _is_in_flightmode(void) -{ - int ret = QP_FAIL; - bool flight_mode = false; - - ret = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_NETWORK_FLIGHT_MODE, &flight_mode); - msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to get the SYSTEM_SETTINGS_KEY_NETWORK_FLIGHT_MODE : %d", ret); - if (ret == QP_OK && flight_mode == true) { - return 1; - } - - return 0; -} - -static void _status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2) -{ - int ret = 0; - bool status = false; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_icon_timer_del(module); - - if (quickpanel_uic_is_emul() == 1) { - status = true; - } else if (_is_in_flightmode() == 1) { - status = false; - } else if (_is_simcard_inserted() == 0) { - status = false; - } else { - ret = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_3G_DATA_NETWORK_ENABLED, &status); - msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "fail to get SYSTEM_SETTINGS_KEY_3G_DATA_NETWORK_ENABLED:%d", ret); - } - - if (status == true) { - quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON); - } else { - quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF); - } - - quickpanel_setting_module_icon_view_update(module, - quickpanel_setting_module_icon_state_get(module), - FLAG_VALUE_VOID); -} - -static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - if (quickpanel_setting_module_is_icon_clickable(module) == 0) { - return; - } - - struct appdata *ad = quickpanel_get_app_data(); - retif(ad == NULL, , "invalid data."); - - if (quickpanel_uic_is_emul() == 1) { - quickpanel_setting_create_timeout_popup(ad->win, _NOT_LOCALIZED("Unsupported.")); - return; - } - - if (_is_in_flightmode() == 1) { - quickpanel_setting_create_timeout_popup(ad->win, _("IDS_SCP_BODY_UNABLE_TO_CONNECT_TO_MOBILE_NETWORKS_WHILE_FLIGHT_MODE_IS_ENABLED_CONNECT_TO_A_WI_FI_NETWORK_INSTEAD_OR_DISABLE_FLIGHT_MODE_AND_TRY_AGAIN")); - return; - } - - if (_is_simcard_inserted() == 0) { - quickpanel_setting_create_timeout_popup(ad->win, _("IDS_ST_BODY_INSERT_SIM_CARD_TO_ACCESS_NETWORK_SERVICES")); - return; - } - - if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) { - /* disable */ - if (_need_display_popup(0) == 1) { - _turn_on_with_popup(0); - } else { - _turn_on(0); - } - } else { - /* enable */ - if (_need_display_popup(1) == 1) { - _turn_on_with_popup(1); - } else { - _turn_on(1); - } - } -} - -static void _mobiledata_vconf_cb(keynode_t *key, void *data) -{ - _status_update(data, FLAG_VALUE_VOID, FLAG_VALUE_VOID); -} - -static void _mobiledata_setting_cb(system_settings_key_e key, void *data) -{ - _status_update(data, FLAG_VALUE_VOID, FLAG_VALUE_VOID); -} - -static int _register_module_event_handler(void *data) -{ - int ret = 0; - - ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_3G_DATA_NETWORK_ENABLED, _mobiledata_setting_cb, data); - msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to notify key(%s) : %d", SYSTEM_SETTINGS_KEY_3G_DATA_NETWORK_ENABLED, ret); - - ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_SIM_SLOT, _mobiledata_vconf_cb, data); - msgif(ret != 0, "failed to notify key(%s) : %d", VCONFKEY_TELEPHONY_SIM_SLOT, ret); - - ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_NETWORK_FLIGHT_MODE, _mobiledata_setting_cb, data); - msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to notify key(%s) : %d", SYSTEM_SETTINGS_KEY_NETWORK_FLIGHT_MODE, ret); - - return QP_OK; -} - -static int _unregister_module_event_handler(void *data) -{ - int ret = 0; - - ret = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_3G_DATA_NETWORK_ENABLED); - msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to ignore key(%s) : %d", SYSTEM_SETTINGS_KEY_3G_DATA_NETWORK_ENABLED, ret); - - ret = vconf_ignore_key_changed(VCONFKEY_TELEPHONY_SIM_SLOT, _mobiledata_vconf_cb); - msgif(ret != 0, "failed to ignore key(%s) : %d", VCONFKEY_TELEPHONY_SIM_SLOT, ret); - - ret = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_NETWORK_FLIGHT_MODE); - msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to ignore key(%s) : %d", SYSTEM_SETTINGS_KEY_NETWORK_FLIGHT_MODE, ret); - - return QP_OK; -} - -/**************************************************************************** - * - * Quickpanel Item functions - * - ****************************************************************************/ - -static int _init(void *data) -{ - int ret = QP_OK; - - ret = _register_module_event_handler(data); - - return ret; -} - -static int _fini(void *data) -{ - int ret = QP_OK; - - ret = _unregister_module_event_handler(data); - - return ret; -} - -static void _lang_changed(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_icon_view_update_text(module); -} - -static void _refresh(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_icon_view_update_text(module); -} - -static void _reset_icon(QP_Module_Setting *module) -{ - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_VALUE_VOID); - _status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID); -} - -static void _handler_on(void *data) -{ - int ret = 0; - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_del(module); - - if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) { - ret = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_3G_DATA_NETWORK_ENABLED, 1); - - if (ret == SYSTEM_SETTINGS_ERROR_NONE) { - quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON); - quickpanel_setting_module_icon_timer_add(module); - } else { - ERR("op failed:%d", ret); - } - } else { - ERR("the button is already turned on"); - _reset_icon(module); - } -} - -static void _handler_off(void *data) -{ - int ret = 0; - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_del(module); - - if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) { - ret = vconf_set_bool(VCONFKEY_3G_ENABLE, 0); - - if (ret == 0) { - quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_add(module); - } else { - ERR("op failed:%d", ret); - } - } else { - ERR("the button is already turned off"); - _reset_icon(module); - } -} - -static void _handler_progress_on(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_VALUE_VOID); -} - -static void _handler_progress_off(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - _reset_icon(module); -} - -static int _handler_ipc(const char *command, void *data) -{ - int i = 0; - retif(data == NULL, EINA_FALSE, "item data is NULL"); - retif(command == NULL, EINA_FALSE, "command is NULL"); - - static Setting_Activity_Handler __table_handler[] = { - { - .command = "on", - .handler = _handler_on, - }, - { - .command = "off", - .handler = _handler_off, - }, - { - .command = "progress_on", - .handler = _handler_progress_on, - }, - { - .command = "progress_off", - .handler = _handler_progress_off, - }, - { - .command = NULL, - .handler = NULL, - }, - }; - - for (i = 0; __table_handler[i].command; i++) { - if (strcasecmp(__table_handler[i].command, command)) { - continue; - } - - if (__table_handler[i].handler != NULL) { - DBG("process:%s", command); - __table_handler[i].handler(data); - } - break; - } - - return EINA_TRUE; -} - -QP_Module_Setting mobile_data = { - .name = "mobile_data", - .init = _init, - .fini = _fini, - .lang_changed = _lang_changed, - .refresh = _refresh, - .icon_get = _icon_get, - .label_get = _label_get, - .view_update = _view_update, - .status_update = _status_update, - .handler_longpress = _long_press_cb, - .handler_ipc = _handler_ipc, - .handler_press = _mouse_clicked_cb, -}; diff --git a/daemon/settings/modules/tethering.c b/daemon/settings/modules/tethering.c deleted file mode 100755 index bd1fb53..0000000 --- a/daemon/settings/modules/tethering.c +++ /dev/null @@ -1,466 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "common.h" -#include "quickpanel-ui.h" -#include "settings.h" -#include "setting_utils.h" -#include "setting_module_api.h" -#include "settings_icon_common.h" - -#define MOBILE_AP_SYSPOPUP_NAME "mobileap-syspopup" -#define BUTTON_LABEL _("IDS_ST_BUTTON2_WI_FI_NTETHERING") -#define BUTTON_ICON_NORMAL "quick_icon_wifi_tethering.png" -#define BUTTON_ICON_HIGHLIGHT NULL -#define BUTTON_ICON_DIM NULL -#define PACKAGE_SETTING_MENU "setting-mobileap-efl" - -static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); - -static const char *_label_get(void) -{ - return BUTTON_LABEL; -} - -static const char *_icon_get(qp_setting_icon_image_type type) -{ - if (type == QP_SETTING_ICON_NORMAL) { - return BUTTON_ICON_NORMAL; - } else if (type == QP_SETTING_ICON_HIGHLIGHT) { - return BUTTON_ICON_HIGHLIGHT; - } else if (type == QP_SETTING_ICON_DIM) { -#ifdef BUTTON_ICON_DIM - return BUTTON_ICON_DIM; -#endif - } - - return NULL; -} - -static void _long_press_cb(void *data) -{ -#ifdef PACKAGE_SETTING_MENU - quickpanel_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, NULL); -#endif -} - -static void _view_update(Evas_Object *view, int state, int flag_extra_1, int flag_extra_2) -{ - Evas_Object *image = NULL; - const char *icon_path = NULL; - - quickpanel_setting_icon_state_set(view, state); - - if (state == ICON_VIEW_STATE_ON) { -#ifdef BUTTON_ICON_HIGHLIGHT - icon_path = BUTTON_ICON_HIGHLIGHT; -#endif - } else if (state == ICON_VIEW_STATE_DIM) { -#ifdef BUTTON_ICON_DIM - icon_path = BUTTON_ICON_DIM; -#endif - } else { - icon_path = BUTTON_ICON_NORMAL; - } - - if (icon_path == NULL) { - icon_path = BUTTON_ICON_NORMAL; - } - image = quickpanel_setting_icon_image_new(view, icon_path); - quickpanel_setting_icon_content_set(view, image); - quickpanel_setting_icon_text_set(view, BUTTON_LABEL, state); -} - -static void _status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2) -{ - retif(module == NULL, , "Invalid parameter!"); - retif(module->loader->extra_handler_1 == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_icon_timer_del(module); - - if (tethering_is_enabled(module->loader->extra_handler_1, TETHERING_TYPE_WIFI)) { - quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON); - } else { - quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF); - } - - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_del(module); - - quickpanel_setting_module_icon_view_update(module, - quickpanel_setting_module_icon_state_get(module), - FLAG_VALUE_VOID); -} - -static void _tethering_enabled_cb(tethering_error_e result, tethering_type_e type, bool is_requested, void *user_data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)user_data; - retif(module == NULL, , "Invalid parameter!"); - - retif(type != TETHERING_TYPE_WIFI, , "Another type of tethering is enabled - type:%d", type); - - if (result != TETHERING_ERROR_NONE) { - if (is_requested == TRUE) { - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_del(module); - } - _status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID); - - WARN("Failed to enable tethering - error:%x", result); - return; - } - - if (is_requested == TRUE) { - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_del(module); - } - _status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID); - WARN("WIFI tethering is enabled - type:%d", type); - - return; -} - -static void _tethering_disabled_cb(tethering_error_e result, tethering_type_e type, tethering_disabled_cause_e cause, void *user_data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)user_data; - retif(module == NULL, , "Invalid parameter!"); - retif(module->loader == NULL, , "Invalid parameter!"); - - if (result != TETHERING_ERROR_NONE && type == TETHERING_TYPE_WIFI) { - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_del(module); - _status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID); - - WARN("Failed to disable tethering - error:%x", result); - return; - } - - if (type == TETHERING_TYPE_WIFI) { - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_del(module); - _status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID); - WARN("WIFI tethering is disabled - cause:%x", cause); - } else { - WARN("Ignored tethering event - result:%x type:%d cause:%x", result, type, cause); - } - - return; -} - -static int _tethering_enabled_set(void *data, Eina_Bool state) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - - if (module == NULL || module->loader->extra_handler_1 == NULL) { - ERR("invalid parameter\n"); - return QP_FAIL; - } - - if (state) { - if (tethering_is_enabled(NULL, TETHERING_TYPE_WIFI) == FALSE) { - // for checking pre-conditions, popup will be provided by mobileap-syspopup - bundle *b = bundle_create(); - if (!b) { - ERR("Failed to create bundle."); - return QP_FAIL; - } - bundle_add(b, "msg", "Confirm WiFi tethering on"); - syspopup_launch(MOBILE_AP_SYSPOPUP_NAME, b); - bundle_free(b); - } - } else { - if (tethering_is_enabled(NULL, TETHERING_TYPE_WIFI) == TRUE) { - bundle *b = bundle_create(); - if (!b) { - ERR("Failed to create bundle."); - return QP_FAIL; - } - bundle_add(b, "msg", "Confirm WiFi tethering off"); - syspopup_launch(MOBILE_AP_SYSPOPUP_NAME, b); - bundle_free(b); - } - } - - return QP_OK; -} - -static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) -{ - int ret = 0; - int is_on = 0; - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - if (quickpanel_setting_module_is_icon_clickable(module) == 0) { - DBG("Icon is not clickable"); - return; - } - - if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) { - ret = _tethering_enabled_set(module, EINA_TRUE); - if (ret != QP_OK) { - ERR("Failed to enable tethering"); - return; - } - is_on = 1; - } else { - ret = _tethering_enabled_set(module, EINA_FALSE); - if (ret != QP_OK) { - ERR("Failed to disable tethering"); - return; - } - is_on = 0; - } - - if (ret == QP_OK) { - if (is_on == 1) { - quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON); - } else { - quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF); - } - quickpanel_setting_module_icon_timer_add(module); - } - return; -} - -static int _register_module_event_handler(void *data) -{ - tethering_error_e ret = TETHERING_ERROR_NONE; - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, ret, "Invalid parameter!"); - - ret = tethering_create(&(module->loader->extra_handler_1)); - msgif(ret != TETHERING_ERROR_NONE, "fail to create tethering handler"); - - ret = tethering_set_enabled_cb(module->loader->extra_handler_1, - TETHERING_TYPE_WIFI, _tethering_enabled_cb, data); - msgif(ret != TETHERING_ERROR_NONE, "fail to register enabled callback"); - - ret = tethering_set_disabled_cb(module->loader->extra_handler_1, - TETHERING_TYPE_WIFI, _tethering_disabled_cb, data); - msgif(ret != TETHERING_ERROR_NONE, "fail to register disabled callback"); - - return QP_OK; -} - -static int _unregister_module_event_handler(void *data) -{ - tethering_error_e ret =TETHERING_ERROR_NONE; - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, ret, "Invalid parameter!"); - - if (module->loader->extra_handler_1 != NULL) { - - tethering_destroy(module->loader->extra_handler_1); - module->loader->extra_handler_1 = NULL; - } - - return QP_OK; -} - -/**************************************************************************** - * - * Quickpanel Item functions - * - ****************************************************************************/ -static int _init(void *data) -{ - int ret = QP_OK; - - ret = _register_module_event_handler(data); - - return ret; -} - -static int _fini(void *data) -{ - int ret = QP_OK; - - ret = _unregister_module_event_handler(data); - - return ret; -} - -static void _lang_changed(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_icon_view_update_text(module); -} - -static void _refresh(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_icon_view_update_text(module); -} - -static void _reset_icon(QP_Module_Setting *module) -{ - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_VALUE_VOID); - _status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID); -} - -static void _handler_on(void *data) -{ - tethering_error_e ret = TETHERING_ERROR_NONE; - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_del(module); - - if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) { - ret = _tethering_enabled_set(module, EINA_TRUE); - - if (ret == QP_OK) { - quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON); - quickpanel_setting_module_icon_timer_add(module); - } else { - ERR("op failed:%d", ret); - } - } else { - ERR("the button is already turned on"); - _reset_icon(module); - } -} - -static void _handler_off(void *data) -{ - int ret = TETHERING_ERROR_NONE; - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_del(module); - - if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) { - ret = _tethering_enabled_set(module, EINA_FALSE); - if (ret == QP_OK) { - quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF); - quickpanel_setting_module_icon_timer_add(module); - } else { - ERR("op failed:%d", ret); - } - } else { - ERR("the button is already turned off"); - _reset_icon(module); - } -} - -static void _handler_progress_on(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON); -} - -static void _handler_progress_off(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - _reset_icon(module); -} - -static void _handler_progress_reset(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - _reset_icon(module); -} - -static int _handler_ipc(const char *command, void *data) -{ - int i = 0; - retif(data == NULL, EINA_FALSE, "item data is NULL"); - retif(command == NULL, EINA_FALSE, "command is NULL"); - - static Setting_Activity_Handler __table_handler[] = { - { - .command = "on", - .handler = _handler_on, - }, - { - .command = "off", - .handler = _handler_off, - }, - { - .command = "progress_on", - .handler = _handler_progress_on, - }, - { - .command = "progress_off", - .handler = _handler_progress_off, - }, - { - .command = "progress_reset", - .handler = _handler_progress_reset, - }, - { - .command = NULL, - .handler = NULL, - }, - }; - - for (i = 0; __table_handler[i].command; i++) { - if (strcasecmp(__table_handler[i].command, command)) { - continue; - } - - if (__table_handler[i].handler != NULL) { - DBG("process:%s", command); - __table_handler[i].handler(data); - } - break; - } - - return EINA_TRUE; -} - -QP_Module_Setting tethering = { - .name = "wifi_hotspot", - .init = _init, - .fini = _fini, - .lang_changed = _lang_changed, - .refresh = _refresh, - .icon_get = _icon_get, - .label_get = _label_get, - .view_update = _view_update, - .status_update = _status_update, - .handler_longpress = _long_press_cb, - .handler_ipc = _handler_ipc, - .handler_press = _mouse_clicked_cb, -}; diff --git a/daemon/settings/modules/ultra_power_saving.c b/daemon/settings/modules/ultra_power_saving.c deleted file mode 100755 index bd0f8c7..0000000 --- a/daemon/settings/modules/ultra_power_saving.c +++ /dev/null @@ -1,260 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - - -#include - -#include -#include -//#include -#include -#include -#include -#include - -#include "common.h" -#include "quickpanel-ui.h" -#include "settings.h" -#include "setting_utils.h" -#include "setting_module_api.h" -#include "settings_icon_common.h" - -#define BUTTON_LABEL _("IDS_QP_BUTTON2_U_POWER_NSAVING_ABB") -#define BUTTON_ICON_NORMAL "quick_icon_ultra_power_saving.png" -#define BUTTON_ICON_HIGHLIGHT NULL -#define BUTTON_ICON_DIM NULL -#define PACKAGE_SETTING_MENU "setting-powersaving-efl" -#define SYSPOPUP_NAME "mode-syspopup" - -static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); - -static const char *_label_get(void) -{ - return BUTTON_LABEL; -} - -static const char *_icon_get(qp_setting_icon_image_type type) -{ - if (type == QP_SETTING_ICON_NORMAL) { - return BUTTON_ICON_NORMAL; - } else if (type == QP_SETTING_ICON_HIGHLIGHT) { - return BUTTON_ICON_HIGHLIGHT; - } else if (type == QP_SETTING_ICON_DIM) { -#ifdef BUTTON_ICON_DIM - return BUTTON_ICON_DIM; -#endif - } - - return NULL; -} - -static void _long_press_cb(void *data) -{ -#ifdef PACKAGE_SETTING_MENU - bundle *kb = bundle_create(); - if (kb != NULL) { - bundle_add(kb, "power_saving", "upsm"); - quickpanel_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, kb); - bundle_free(kb); - } else { - ERR("failed to create the bunlde"); - } -#endif -} - -#if 0 -static int _is_need_to_show_disclaimer(void) { - int ret = 0, status = 0; - - ret = vconf_get_bool(VCONFKEY_SETAPPL_UPSM_DO_NOT_SHOW_DISCLAIMER, &status); - if (ret == 0 && status) { - return 0; - } - - return 1; -} -#endif - -static void _turn_on(int is_on) -{ - bundle *b = NULL; - - //if(_is_need_to_show_disclaimer() == 1) - { - b = bundle_create(); - if (b != NULL) { - bundle_add(b, "viewtype", "disc"); - - quickpanel_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, b); - bundle_free(b); - } - } - /*else - { - b = bundle_create(); - if (b != NULL) { - if (is_on) { - bundle_add(b, "_MODE_SYSTEM_POPUP_TYPE_", "POPUP_EMERGENCY_PSMODE_SETTING"); - } else { - bundle_add(b, "_MODE_SYSTEM_POPUP_TYPE_", "POPUP_NORMAL_PSMODE"); - } - syspopup_launch(SYSPOPUP_NAME, b); - bundle_free(b); - } else { - ERR("failed to create a bundle"); - } - }*/ -} - -static void _view_update(Evas_Object *view, int state, int flag_extra_1, int flag_extra_2) -{ - Evas_Object *image = NULL; - const char *icon_path = NULL; - - quickpanel_setting_icon_state_set(view, state); - - if (state == ICON_VIEW_STATE_ON) { -#ifdef BUTTON_ICON_HIGHLIGHT - icon_path = BUTTON_ICON_HIGHLIGHT; -#endif - } else if (state == ICON_VIEW_STATE_DIM) { -#ifdef BUTTON_ICON_DIM - icon_path = BUTTON_ICON_DIM; -#endif - } else { - icon_path = BUTTON_ICON_NORMAL; - } - - if (icon_path == NULL) { - icon_path = BUTTON_ICON_NORMAL; - } - image = quickpanel_setting_icon_image_new(view, icon_path); - quickpanel_setting_icon_content_set(view, image); - quickpanel_setting_icon_text_set(view, BUTTON_LABEL, state); -} - -static void _status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2) -{ - int ret = 0; - int status = 0; - retif(module == NULL, , "Invalid parameter!"); - - ret = vconf_get_int(VCONFKEY_SETAPPL_PSMODE, &status); - msgif(ret != 0, "fail to get VCONFKEY_SETAPPL_PSMODE:%d", ret); - - if (status == SETTING_PSMODE_EMERGENCY) { - quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON); - } else { - quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF); - } - - quickpanel_setting_module_icon_view_update(module, - quickpanel_setting_module_icon_state_get(module), - FLAG_VALUE_VOID); -} - -static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) { - _turn_on(0); - } else { - _turn_on(1); - } -} - -static void _powersave_vconf_cb(keynode_t *node, void *data) -{ - _status_update(data, FLAG_VALUE_VOID, FLAG_VALUE_VOID); -} - -static int _register_module_event_handler(void *data) -{ - int ret = 0; - - ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_PSMODE, - _powersave_vconf_cb, data); - msgif(ret != 0, "failed to notify key(VCONFKEY_SETAPPL_PSMODE) : %d", ret); - - return QP_OK; -} - -static int _unregister_module_event_handler(void *data) -{ - int ret = 0; - - ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_PSMODE, - _powersave_vconf_cb); - msgif(ret != 0, "failed to ignore key(VCONFKEY_SETAPPL_PSMODE) : %d", ret); - - return QP_OK; -} - -/**************************************************************************** - * - * Quickpanel Item functions - * - ****************************************************************************/ -static int _init(void *data) -{ - int ret = QP_OK; - - ret = _register_module_event_handler(data); - - return ret; -} - -static int _fini(void *data) -{ - int ret = QP_OK; - - ret = _unregister_module_event_handler(data); - - return ret; -} - -static void _lang_changed(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_icon_view_update_text(module); -} - -static void _refresh(void *data) -{ - QP_Module_Setting *module = (QP_Module_Setting *)data; - retif(module == NULL, , "Invalid parameter!"); - - quickpanel_setting_module_icon_view_update_text(module); -} - -QP_Module_Setting u_power_saving = { - .name = "u_power_saving", - .init = _init, - .fini = _fini, - .lang_changed = _lang_changed, - .refresh = _refresh, - .icon_get = _icon_get, - .label_get = _label_get, - .view_update = _view_update, - .status_update = _status_update, - .handler_longpress = _long_press_cb, - .handler_press = _mouse_clicked_cb, -}; diff --git a/daemon/settings/settings.c b/daemon/settings/settings.c index ad9c209..e688dfb 100755 --- a/daemon/settings/settings.c +++ b/daemon/settings/settings.c @@ -58,11 +58,6 @@ extern QP_Module_Setting gps; extern QP_Module_Setting bluetooth; extern QP_Module_Setting sound; extern QP_Module_Setting rotate; -extern QP_Module_Setting mobile_data; -extern QP_Module_Setting flightmode; -extern QP_Module_Setting u_power_saving; -extern QP_Module_Setting tethering; -extern QP_Module_Setting assistive_light; QP_Module settings = { .name = "settings", diff --git a/icons/quickpanel_icon_default.png b/data/images/quickpanel_icon_default.png similarity index 100% rename from icons/quickpanel_icon_default.png rename to data/images/quickpanel_icon_default.png diff --git a/data/images_icon/btn_mw_circlization_dim.png b/data/images_icon/btn_mw_circlization_dim.png deleted file mode 100644 index 1be6828c65218a20caf50436db1cd5915236178d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7124 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 KMNUMnLSTZrL6dO+ diff --git a/data/images_icon/btn_mw_circlization_nor.png b/data/images_icon/btn_mw_circlization_nor.png deleted file mode 100644 index 59fe947744b07b521364fb078c49492170d8c50b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7175 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

I##IP{;0{GqwuQqH zXqpa5l5i;tr4+8~Ae~Mj@Pqk^qP*X6WPiW;2kgT;j_ijhi8}({UuxSnJkK5R1?5A9 z<9Tj&%ee0^6(w=UKyU^H1OUg59wdSwyzaT~Dm$INWFh6@q|@+RcaoVz72Kx09ajplym+> zD5O1={T@fwCS4pWL;4w^=WR|Jp69L-1Yz}`I*%5;C9|Z^VfTesI!YnSkSDmI7F*>qerK>y#W@{qq05utiZ^?>Nr$8qM1qPX5PO*)kW40a1VJ!MQPlS%5sO437DAy=X}(o?fFh728Md7|c$}0BqHDJ!zT|7={j6R!X*)WdV|91>vv+MUf%P zN-~qNH&IGIOs7*nahyzx-aRE83WXrcSy01m$a7OPgb;Y12gk|4aWbHkt_83`lB7<< zFcA)i5ejK#KSOz6e*qwgBD9bOS&|V_RoJ%O={T7uC?WrrP9-0()2U^era{wmghCn= zML{-vQa-H0d8;4@;CU`w*U9Z^TL)k>fDTZWtys-9RqjCkVojW=n?U3sgDHP!t84uETR( zo^diKT*ukKIp53}t8-mvj_W#i0%#Nj0kWL`qoU0+190fvceqw2+37mc3s#95ej3PWba@0tc4=9{{x$dXK7ZFn$04002ov JPDHLkV1lXTlPdrK diff --git a/data/images_icon/btn_mw_circlization_press.png b/data/images_icon/btn_mw_circlization_press.png deleted file mode 100644 index a517c569bf1ba324c006b9b082ebb1cb64e18ecc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5715 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 FV1nnL?#TcE diff --git a/data/images_icon/btn_mw_close_nor.png b/data/images_icon/btn_mw_close_nor.png deleted file mode 100644 index 3d68c69c04a4931500d5cd1ee54db2992b8aa275..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4936 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 GMgI>?{IhES diff --git a/data/images_icon/btn_mw_close_press.png b/data/images_icon/btn_mw_close_press.png deleted file mode 100644 index d00efd26e5587e1a0760b3ddab4c54f1b90e43dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3761 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 diff --git a/data/images_icon/btn_mw_squarization_nor.png b/data/images_icon/btn_mw_squarization_nor.png deleted file mode 100644 index f0f73bd015907a3584d8f4888ebc14f158d5a739..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7405 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 diff --git a/data/images_icon/btn_mw_squarization_press.png b/data/images_icon/btn_mw_squarization_press.png deleted file mode 100644 index ab009bc1b5d9efee06c64e0c5d250964a8f952de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5853 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 FngB)ZNeKV| diff --git a/data/images_icon/quick_standard_btn_press.png b/data/images_icon/quick_standard_btn_press.png deleted file mode 100644 index c94d05215d4da8143fa8fca9e9b9cd44ffbf4f61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1816 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 Z9{_>SRGqS$Ay5DS002ovPDHLkV1l?A`j-Fz diff --git a/data/images_icon/toggle_mw_show_nor.png b/data/images_icon/toggle_mw_show_nor.png deleted file mode 100644 index af9cad6e68aa7affbd235e066bbe7e97e57007e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8061 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 bZvQs`Qo&c7&P7ms00000NkvXXu0mjfw6APk diff --git a/data/quickpanel.edc b/data/quickpanel.edc index 1c47429..8cde33a 100755 --- a/data/quickpanel.edc +++ b/data/quickpanel.edc @@ -528,14 +528,11 @@ collections { } #include "quickpanel_setting.edc" -#include "quickpanel_page_edit.edc" #include "quickpanel_datetime.edc" #include "quickpanel_brightness.edc" #include "quickpanel_minictrl.edc" #include "quickpanel_noti_section.edc" -#include "quickpanel_notibox.edc" #include "quickpanel_listitem_noti.edc" -#include "quickpanel_listitem_noti_legacy.edc" #include "quickpanel_listitem_ongoing.edc" #include "quickpanel_animated_icon.edc" #include "quickpanel_images.edc" diff --git a/data/quickpanel_listbox.edc b/data/quickpanel_listbox.edc deleted file mode 100755 index f7c09b3..0000000 --- a/data/quickpanel_listbox.edc +++ /dev/null @@ -1,675 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * 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. - * - */ - -//#define DEBUG -//#define DEBUG_TEXT - - styles { - style { - name: "ongoing_content_text"; - base: "font=Tizen:style=Roman text_class=tizen align=left valign=top font_size=28 linegap=-6 ellipsis=1.0 color=#828384FF wrap=mixed"; - } - } - - group { - name: "quickpanel/listitem/default"; - - images { - image: "quick_icon_bg_02.png" COMP; - } - - script { - public ctnt_shown; - public ctnt_multiline_shown; - } - - parts { - part { name: "base"; - type: RECT; - repeat_events: 1; - scale: 1; - description { - state: "default" 0.0; - min: 0 QP_THEME_LIST_ITEM_ONGOING_HEIGHT + QP_THEME_LIST_ITEM_ONGOING_SEPERATOR_HEIGHT; - max: 9999 QP_THEME_LIST_ITEM_ONGOING_HEIGHT + QP_THEME_LIST_ITEM_ONGOING_SEPERATOR_HEIGHT; - rel1 { - relative: 0.0 0.0; - } - rel2 { - relative: 1.0 0.0; - } - align: 0.0 0.0; - color: QP_THEME_BG_COLOR; - visible: QP_THEME_BG_VISIBILITY; - } - } - part { name: "bg_image"; - mouse_events: 0; - description { - state: "default" 0.0; - rel1.to:"base"; - rel2.to:"base"; - color: QP_THEME_NOTI_BG_COLOR; - } - description { - state: "selected" 0.0; - inherit: "default" 0.0; - color: QP_THEME_NOTI_BG_COLOR; - } - } - part { name: "elm.padding.top"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 16 + QP_THEME_LIST_ITEM_ONGOING_SEPERATOR_HEIGHT; - fixed: 0 1; - visible: 0; - rel1.to:"base"; - rel2.to:"base"; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 0.0; - align: 0.0 0.0; - } - } - part { name: "elm.padding.top.text.contents"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 61 + QP_THEME_LIST_ITEM_ONGOING_SEPERATOR_HEIGHT; - fixed: 0 1; - visible: 0; - rel1.to:"base"; - rel2.to:"base"; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 0.0; - align: 0.0 0.0; - } - } - part { name: "elm.padding.bottom.mutiline.content"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 0; - fixed: 0 1; - visible: 0; - rel1.to:"base"; - rel2.to:"base"; - rel1.relative: 0.0 1.0; - align: 0.0 1.0; - } - } - part { name: "elm.padding.bottom.time"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 82; - fixed: 0 1; -#ifdef DEBUG - visible: 1; - color: 0 255 0 255; -#else - visible: 0; -#endif - rel1.to:"base"; - rel2.to:"base"; - rel1.relative: 0.0 1.0; - rel2.relative: 1.0 1.0; - align: 0.0 1.0; - } - } - part { name: "elm.padding.bottom.progress"; - type: RECT; - scale: 1; - description { state: "default" 0.0; - min: 0 52; - fixed: 0 1; - rel1.to:"base"; - rel2.to:"base"; - rel1.relative: 0.0 1.0; - rel2.relative: 1.0 1.0; - align: 0.0 1.0; -#ifdef DEBUG - visible: 1; - color: 0 0 255 255; -#else - visible: 0; -#endif - } - } - part { name: "elm.padding.bottom.icon"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 31; - fixed: 0 1; - rel1.to:"base"; - rel2.to:"base"; - rel1.relative: 0.0 1.0; - rel2.relative: 1.0 1.0; - align: 0.0 1.0; - visible: 0; - } - } - part { name: "elm.padding.left.bg"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 14 0; - fixed: 1 0; - rel1.to:"base"; - rel2.to:"base"; - rel1.relative: 0.0 0.0; - rel2.relative: 0.0 1.0; - align: 0.0 0.0; - color: QP_THEME_BG_COLOR; - visible: QP_THEME_BG_VISIBILITY; - } - } - part { name: "elm.padding.right.bg"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 14 0; - fixed: 1 0; - rel1.to:"base"; - rel2.to:"base"; - rel1.relative: 1.0 0.0; - rel2.relative: 1.0 1.0; - align: 1.0 0.0; - color: QP_THEME_BG_COLOR; - visible: QP_THEME_BG_VISIBILITY; - } - } - part { name: "elm.padding.top.bg"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 QP_THEME_LIST_ITEM_ONGOING_SEPERATOR_HEIGHT; - fixed: 0 1; - rel1.to:"base"; - rel2.to:"base"; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 0.0; - align: 0.0 0.0; - color: QP_THEME_BG_COLOR; - visible: QP_THEME_BG_VISIBILITY; - } - } - part { name: "elm.content.bg"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - rel1 { - to_x:"elm.padding.left.bg"; - to_y:"elm.padding.top.bg"; - relative: 1.0 1.0; - } - rel2 { - to_x:"elm.padding.right.bg"; - to_y:"base"; - relative: 0.0 1.0; - } - align: 0.0 0.0; - visible: 1; - color: QP_THEME_NOTI_BG_COLOR; - } - } - part { name: "elm.padding.left"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 28 0; - fixed: 1 0; - rel1.to:"base"; - rel2.to:"base"; - rel1.relative: 0.0 0.0; - rel2.relative: 0.0 1.0; - align: 0.0 0.0; - visible: 0; - } - } - part { name: "elm.padding.right"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 20 0; - fixed: 1 0; - rel1.to:"base"; - rel2.to:"base"; - rel1.relative: 1.0 0.0; - rel2.relative: 1.0 1.0; - align: 1.0 0.0; -#ifdef DEBUG - visible: 1; - color: 255 0 0 190; -#else - visible: 0; -#endif - } - } - part { name: "elm.rect.thumbnail"; - type: RECT; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - min: 124 124; - fixed: 1 1; - rel1 { - relative: 0.0 0.0; - to_x: "elm.padding.right"; - to_y: "elm.padding.bottom.icon"; - } - rel2 { - relative: 0.0 0.0; - to_x: "elm.padding.right"; - to_y: "elm.padding.bottom.icon"; - } - align: 1.0 1.0; - visible: 0; - } - } - part { name: "elm.thumbnail.bg"; - type: IMAGE; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "elm.rect.thumbnail";} - rel2 {to: "elm.rect.thumbnail";} - image { - normal:"quick_icon_bg_02.png"; - border: 0 0 0 0; - border_scale: 1; - } - } - } - part { name: "elm.swallow.thumbnail"; - type: SWALLOW; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - rel1 { - to: "elm.rect.thumbnail"; - } - rel2 { - to: "elm.rect.thumbnail"; - } - align: 0.5 0.5; - } - } - part { name: "elm.swallow.icon"; - type: SWALLOW; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - min: 40 40; - fixed: 1 1; - rel1 { - relative: 1.0 1.0; - to: "elm.rect.thumbnail"; - } - rel2 { - relative: 1.0 1.0; - to: "elm.rect.thumbnail"; - } - align: 1.0 1.0; - } - } - part { name: "elm.padding.right.slider.bounder"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 202 0; - fixed: 1 0; - rel1 { - relative: 0.0 0.0; - to_x: "elm.padding.right"; - } - rel2 { - relative: 0.0 1.0; - to_x: "elm.padding.right"; - } - visible: 0; - align: 1.0 0.0; - } - } - part { name: "elm.padding.right.text.bounder"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 144 0; - fixed: 1 0; - rel1 { - relative: 0.0 0.0; - to_x: "elm.padding.right"; - } - rel2 { - relative: 0.0 1.0; - to_x: "elm.padding.right"; - } - visible: 0; - align: 1.0 0.0; - } - } - part { name: "elm.text.title"; - type: TEXT; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - min: 0 36; - align: 0.0 0.0; - fixed: 0 1; - rel1 { - relative: 1.0 1.0; - to_x: "elm.padding.left"; - to_y: "elm.padding.top"; - } - rel2 { - relative: 0.0 1.0; - to_x: "elm.padding.right.text.bounder"; - to_y: "elm.padding.top"; - } - color: 248 246 239 255; - text { - font: "Tizen:style=Regular"; - text_class: "tizen"; - size: 32; - fit: 0 1; - ellipsis: 0.0; - align: 0.0 0.5; - size_range: 34 44; - } - } - description { - state: "selected" 0.0; - inherit: "default" 0.0; - color: 248 246 239 255; - } - } - part { name: "elm.text.time"; - type: TEXT; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 1; - min: 0 28; - align: 0.0 1.0; - rel1 { - relative: 1.0 0.0; - to_x: "elm.padding.left"; - to_y: "elm.padding.bottom.time"; - } - rel2 { - relative: 0.0 0.0; - to_x: "elm.padding.right.slider.bounder"; - to_y: "elm.padding.bottom.time"; - } - color: 255 255 255 255; - text { - font: "Tizen:style=Medium"; - text_class: "tizen"; - size: 28; - align: 1.0 0.0; - } - } - description { - state: "selected" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - } - } - part { - name: "elm.rect.content"; - type: RECT; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - align: 0.0 0.0; - min: 0 28; - fixed: 0 1; - rel1 { - relative: 1.0 1.0; - to_x: "elm.padding.left"; - to_y: "elm.padding.top.text.contents"; - } - rel2 { - relative: 0.0 1.0; - to_x: "elm.padding.right.text.bounder"; - to_y: "elm.padding.top.text.contents"; - } - visible: 0; - } - } - part { - name: "elm.text.content"; - type: TEXT; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - align: 0.0 0.0; - fixed: 0 1; - rel1 { - to: "elm.rect.content"; - } - rel2 { - to: "elm.rect.content"; - } - color: 130 131 132 255; - text { - font: "Tizen:style=Roman"; - text_class: "tizen"; - size: 28; - fit: 0 1; - ellipsis: 0.0; - size_range: 26 30; - align: 0.0 0.5; - } - visible: 0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "selected" 0.0; - inherit: "default" 0.0; - color: 130 131 132 255; - visible: 1; - } - } - part { - name: "elm.rect.content.multiline"; - type: RECT; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - align: 0.0 0.0; - min: 0 0; - fixed: 1 1; - rel1 { - relative: 1.0 1.0; - to_x: "elm.padding.left"; - to_y: "elm.text.title"; - } - rel2 { - relative: 0.0 0.0; - to_x: "elm.padding.right.text.bounder"; - to_y: "elm.padding.bottom.mutiline.content"; - } - visible: 0; - } - } - part { - name: "elm.text.content.multiline"; - type: TEXTBLOCK; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - align: 0.0 0.0; - fixed: 1 1; - rel1 { - to: "elm.rect.content.multiline"; - } - rel2 { - to: "elm.rect.content.multiline"; - } - text { - style: "ongoing_content_text"; - align: 0.0 0.0; - fit: 0 0; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "selected" 0.0; - inherit: "default" 0.0; - color: 130 131 132 255; - visible: 1; - } - } - part { - name: "elm.box.progress"; - type: BOX; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - min: 0 20; - fixed: 0 1; - align: 0.0 1.0; - rel1 { - relative: 1.0 0.0; - to_x: "elm.padding.left"; - to_y: "elm.padding.bottom.progress"; - } - rel2 { - relative: 0.0 0.0; - to_x: "elm.padding.right.slider.bounder"; - to_y: "elm.padding.bottom.progress"; - } -#ifdef DEBUG - visible: 1; - color: 100 100 100 200; -#else - visible: 0; -#endif - } - } - part { - name: "elm.swallow.progress"; - type: SWALLOW; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - rel1 { - to: "elm.box.progress"; - } - rel2 { - to: "elm.box.progress"; - } - align: 0.0 0.0; - } - } - part { - name: "object.layer.touch.background"; - mouse_events: 1; - repeat_events: 1; - scale: 1; - type: RECT; - description { - state: "default" 0.0; - rel1 {to: "base";} - rel2 {to: "base";} - color: 0 0 0 0; - } - } - part { - name: "accessibility"; - type: RECT; - mouse_events: 1; - repeat_events: 1; - scale: 1; - description { - state: "default" 0.0; - rel1 { - to: "elm.content.bg"; - } - rel2 { - to: "elm.content.bg"; - } - color: QP_ACCESSIBILITY_TEST_COLOR; - visible: 1; - } - } - } - - programs { - program{ - name: "listbox.touch.down"; - signal: "mouse,clicked,1"; - source: "object.layer.touch.background"; - action: SIGNAL_EMIT "selected" "edje"; - } - program { name: "show_content"; - signal: "elm,state,elm.text.content,active"; - source: "elm"; - script { - set_state(PART:"elm.text.content", "show", 0.0); - set_int(ctnt_shown, 1); - } - } - program { name: "show_content_multiline"; - signal: "elm,state,elm.text.content.multiline,active"; - source: "elm"; - script { - set_state(PART:"elm.text.content.multiline", "show", 0.0); - set_int(ctnt_multiline_shown, 1); - } - } - } - } \ No newline at end of file diff --git a/data/quickpanel_listitem_noti_legacy.edc b/data/quickpanel_listitem_noti_legacy.edc deleted file mode 100755 index 12eb4fe..0000000 --- a/data/quickpanel_listitem_noti_legacy.edc +++ /dev/null @@ -1,2814 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * 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. - * - */ - -//#define DEBUG -//#define DEBUG_TEXT - -#define MAKE_PART_SHOW_PROGRAM(PARTNAME)\ - program{\ - name: PARTNAME".object.show";\ - signal: "object.show";\ - source: PARTNAME;\ - action: STATE_SET "show" 0.0;\ - target: PARTNAME;\ - }\ - -#define MAKE_PART_SHOW_TEXT_PROGRAM(PARTNAME)\ - program{\ - name: PARTNAME".text.show";\ - signal: "object.show";\ - source: PARTNAME;\ - action: STATE_SET "show" 0.0;\ - target: PARTNAME;\ - }\ - program{\ - name: PARTNAME".text.show.efect";\ - signal: "object.show.effect";\ - source: PARTNAME;\ - action: STATE_SET "show.effect" 0.0;\ - target: PARTNAME;\ - }\ - -images { - image: "quick_image_dimmed_port.png" COMP; - image: "quick_image_dimmed_land.png" COMP; - image: "icon_press.png" COMP; -} - -#define BOX_FONT_SHADOW_COLOR 0 0 0 191 -#define BOX_FONT_OUTLINE_COLOR 0 0 0 191 -#define BOX_FONT_NO_SHADOW_COLOR 0 0 0 0 -#define BOX_FONT_NO_OUTLINE_COLOR 0 0 0 0 - -#define BOX_CONTENTS_FONT "Tizen:style=Bold" -#define BOX_CONTENTS_FONT_SIZE 30 - -#define BOX_INFO_FONT "Tizen:style=Bold" -#define BOX_INFO_FONT_SIZE 28 - -#define BOX_INFO_SHORT_FONT "Tizen:style=Bold" -#define BOX_INFO_SHORT_FONT_SIZE 28 - -#define BOX_INFO_SUB_FONT "Tizen:style=Regular" -#define BOX_INFO_SUB_FONT_SIZE 24 - -#define TEXT_CLASS_TIZEN "tizen" -#define TEXT_EFFECT "OUTLINE_SHADOW" - -#define QP_NOTI_LEGACY_TITLE_COLOR "T023" -#define QP_NOTI_LEGACY_CONTENTS_COLOR "T024" -#define QP_NOTI_LEGACY_COUNT_COLOR "ATO017" -#define QP_NOTI_LEGACY_TIME_COLOR "T024L1" -#define QP_NOTI_LEGACY_INFO_COLOR "ATO019" -#define QP_NOTI_LEGACY_INFO_SUB_COLOR "T024" - -#define QP_NOTI_LEGACY_TITLE_FONT_SIZE 30 -#define QP_NOTI_LEGACY_CONTENTS_FONT_SIZE 24 -#define QP_NOTI_LEGACY_COUNT_FONT_SIZE 30 -#define QP_NOTI_LEGACY_TIME_FONT_SIZE 22 -#define QP_NOTI_LEGACY_INFO_FONT_SIZE 26 -#define QP_NOTI_LEGACY_INFO_SUB_FONT_SIZE 26 - -styles { - style { - name: "noti_list_title"; - base: "font=Tizen:style=Regular text_class=tizen font_size="QP_NOTI_LEGACY_TITLE_FONT_SIZE" color=#FFFFFF color_class="QP_NOTI_LEGACY_TITLE_COLOR" ellipsis=1.0 wrap=mixed"; - } - style { - name: "noti_list_title_effect"; - base: "font=Tizen:style=Regular text_class=tizen font_size="QP_NOTI_LEGACY_TITLE_FONT_SIZE" color=#FFFFFF color_class="QP_NOTI_LEGACY_TITLE_COLOR" ellipsis=1.0 wrap=mixed"; - } - - style { - name: "noti_list_contents"; - base: "font=Tizen:style=Regular text_class=tizen font_size="QP_NOTI_LEGACY_CONTENTS_FONT_SIZE" color=#FFFFFF color_class="QP_NOTI_LEGACY_CONTENTS_COLOR" ellipsis=1.0 wrap=mixed"; - } - style { - name: "noti_list_contents_effect"; - base: "font=Tizen:style=Regular text_class=tizen font_size="QP_NOTI_LEGACY_CONTENTS_FONT_SIZE" color=#FFFFFF color_class="QP_NOTI_LEGACY_CONTENTS_COLOR" ellipsis=1.0 wrap=mixed"; - } - - style { - name: "noti_list_count"; - base: "font=Tizen:style=Regular text_class=tizen font_size="QP_NOTI_LEGACY_COUNT_FONT_SIZE" color=#FFFFFF color_class="QP_NOTI_LEGACY_COUNT_COLOR" ellipsis=1.0 wrap=mixed"; - } - style { - name: "noti_list_count_effect"; - base: "font=Tizen:style=Regular text_class=tizen font_size="QP_NOTI_LEGACY_COUNT_FONT_SIZE" color=#FFFFFF color_class="QP_NOTI_LEGACY_COUNT_COLOR" ellipsis=1.0 wrap=mixed"; - } - - style { - name: "noti_list_time"; - base: "font=Tizen:style=Regular text_class=tizen font_size="QP_NOTI_LEGACY_TIME_FONT_SIZE" color=#FFFFFF color_class="QP_NOTI_LEGACY_TIME_COLOR" ellipsis=1.0 wrap=mixed"; - } - style { - name: "noti_list_time_effect"; - base: "font=Tizen:style=Regular text_class=tizen font_size="QP_NOTI_LEGACY_TIME_FONT_SIZE" color=#FFFFFF color_class="QP_NOTI_LEGACY_TIME_COLOR" ellipsis=1.0 wrap=mixed"; - } - - style { - name: "noti_list_info"; - base: "font=Tizen:style=Regular text_class=tizen font_size="QP_NOTI_LEGACY_INFO_FONT_SIZE" color=#FFFFFF color_class="QP_NOTI_LEGACY_INFO_COLOR" ellipsis=1.0 wrap=mixed"; - } - style { - name: "noti_list_info_effect"; - base: "font=Tizen:style=Regular text_class=tizen font_size="QP_NOTI_LEGACY_INFO_FONT_SIZE" color=#FFFFFF color_class="QP_NOTI_LEGACY_INFO_COLOR" ellipsis=1.0 wrap=mixed"; - } - - style { - name: "noti_list_info_sub"; - base: "font=Tizen:style=Regular text_class=tizen font_size="QP_NOTI_LEGACY_INFO_SUB_FONT_SIZE" color=#FFFFFF color_class="QP_NOTI_LEGACY_INFO_SUB_COLOR" ellipsis=1.0 wrap=mixed"; - } - style { - name: "noti_list_info_sub_effect"; - base: "font=Tizen:style=Regular text_class=tizen font_size="QP_NOTI_LEGACY_INFO_SUB_FONT_SIZE" color=#FFFFFF color_class="QP_NOTI_LEGACY_INFO_SUB_COLOR" ellipsis=1.0 wrap=mixed"; - } -} - -group { - name: "quickpanel/listitem_legacy/single_multi"; - - script { - public g_is_show_dim_bg; - - public init_variables() { - set_int(g_is_show_dim_bg, 0); - } - } - - parts { - part { - name: "background"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 (QP_THEME_LIST_ITEM_NOTIFICATION_LEGACY_SINGLE_MULTI_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT); - max: -1 (QP_THEME_LIST_ITEM_NOTIFICATION_LEGACY_SINGLE_MULTI_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT); - } - } - part { - name: "seperator.top"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT; - fixed: 0 1; - rel1 { - to: "background"; - relative: 0.0 0.0; - } - rel2 { - to: "background"; - relative: 1.0 0.0; - } - align: 0.0 0.0; - } - } - part { - name: "seperator.left"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 0; - fixed: 1 0; - rel1 { - to: "background"; - relative: 0.0 0.0; - } - rel2 { - to: "background"; - relative: 0.0 1.0; - } - align: 0.0 0.0; - } - } - part { - name: "seperator.right"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 0; - fixed: 1 0; - rel1 { - to: "background"; - relative: 1.0 0.0; - } - rel2 { - to: "background"; - relative: 1.0 1.0; - } - align: 1.0 0.0; - } - } - part{ - name: "clip.background"; - type:RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "base";} - rel2 {to: "base";} - visible:1; - } - } - part { - name: "base"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 1; - min: 0 QP_THEME_LIST_ITEM_NOTIFICATION_LEGACY_SINGLE_MULTI_HEIGHT; - max: -1 QP_THEME_LIST_ITEM_NOTIFICATION_LEGACY_SINGLE_MULTI_HEIGHT; - rel1 { - relative: 1.0 1.0; - to_x: "seperator.left"; - to_y: "seperator.top"; - //offset: -5 -5; - } - rel2 { - relative: 0.0 1.0; - to_x: "seperator.right"; - to_y: "seperator.top"; - //offset: 5 5; - } - align: 0.0 0.0; - color_class: QP_THEME_ITEM_BG_COLOR; - color: 255 255 255 235; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - } - } - - //section layout for margin - - part { - name: "margin.left"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 9 0; - fixed: 1 0; - rel1 { - to: "base"; - relative: 0.0 0.0; - } - rel2 { - to: "base"; - relative: 0.0 1.0; - } - align: 0.0 0.0; - } - } - part { - name: "margin.right"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 8 0; - fixed: 1 0; - rel1 { - to: "base"; - relative: 1.0 0.0; - } - rel2 { - to: "base"; - relative: 1.0 1.0; - } - align: 1.0 0.0; - } - } - part { - name: "margin.left.icon"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 9 0; - fixed: 1 0; - rel1 { - to: "base"; - relative: 0.0 0.0; - } - rel2 { - to: "base"; - relative: 0.0 1.0; - } - align: 0.0 0.0; - } - } - part { - name: "margin.top.icon"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 21; - fixed: 0 1; - rel1 { - to: "base"; - relative: 0.0 0.0; - } - rel2 { - to: "base"; - relative: 1.0 0.0; - } - align: 0.0 0.0; - } - } - part { - name: "margin.top.text"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 12; - fixed: 0 1; - rel1 { - to: "base"; - relative: 0.0 0.0; - } - rel2 { - to: "base"; - relative: 1.0 0.0; - } - align: 0.0 0.0; - } - } - part { - name: "margin.bottom"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 14; - fixed: 0 1; - rel1 { - to: "base"; - relative: 0.0 1.0; - } - rel2 { - to: "base"; - relative: 1.0 1.0; - } - align: 0.0 1.0; - } - } - part { - name: "margin.bottom.thin"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 2; - fixed: 0 1; - rel1 { - to: "base"; - relative: 0.0 1.0; - } - rel2 { - to: "base"; - relative: 1.0 1.0; - } - align: 0.0 1.0; - } - } - - //section layout for elements - //section layout for icon - part { - name: "rect.icon.bg"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 46 46; - max: 46 46; - fixed: 1 1; - rel1 { - to_x:"margin.left.icon"; - to_y:"margin.top.icon"; - relative: 1.0 1.0; - } - rel2 { - to_x:"margin.left.icon"; - to_y:"margin.top.icon"; - relative: 1.0 1.0; - } - align: 0.0 0.0; - } - } - part { - name: "rect.icon"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: 46 46; - max: 46 46; - rel1 { - to:"rect.icon.bg"; - relative: 0.5 0.5; - } - rel2 { - to:"rect.icon.bg"; - relative: 0.5 0.5; - } - align: 0.5 0.5; - } - } - part { - name: "rect.icon.sub.padding"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 10; - fixed: 0 1; - rel1 { - to:"rect.icon.bg"; - relative: 0.0 1.0; - } - rel2 { - to:"rect.icon.bg"; - relative: 1.0 1.0; - } - align: 0.0 0.0; - } - } - part { - name: "rect.icon.sub"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 29 29; - max: 29 29; - fixed: 1 1; - rel1 { - to:"rect.icon.sub.padding"; - relative: 1.0 1.0; - } - rel2 { - to:"rect.icon.sub.padding"; - relative: 1.0 1.0; - } - align: 1.0 1.0; - } - } - - //section layout for texts - part { - name: "rect.text.title"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 36; - max: 9999 36; - fixed: 1 1; - rel1 { - to_x:"rect.icon.bg"; - to_y:"margin.top.text"; - relative: 1.0 1.0; - offset: +17 0; - } - rel2 { - to_x:"margin.right"; - to_y:"margin.top.text"; - relative: 0.0 1.0; - } - align: 0.0 0.0; - } - description { - state: "short" 0.0; - inherit: "default" 0.0; - rel1 { - to_x:"rect.icon.bg"; - to_y:"margin.top.text"; - relative: 1.0 1.0; - offset: +17 0; - } - rel2 { - to_x:"object.text.count"; - to_y:"margin.top.text"; - relative: 0.0 1.0; - offset: -13 0; - } - align: 0.0 0.0; - } - } - part { - name: "rect.text.contents"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 27; - max: 9999 36; - fixed: 1 1; - rel1 { - to:"rect.text.title"; - relative: 0.0 1.0; - } - rel2 { - to_x:"object.text.time"; - to_y:"rect.text.title"; - relative: 0.0 1.0; - } - align: 0.0 0.0; - } - } - part { - name: "rect.text.info.2"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 27; - fixed: 0 1; - rel1 { - to_x:"margin.left"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"margin.bottom"; - relative: 0.0 0.0; - } - align: 0.0 1.0; - } - } - part { - name: "rect.text.info.sub.2"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 27; - max: 0 27; - fixed: 1 1; - rel1 { - to_x:"margin.right"; - to_y:"margin.bottom"; - relative: 0.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"margin.bottom"; - relative: 0.0 0.0; - } - align: 1.0 1.0; - } - } - part { - name: "rect.text.info.2.short"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - rel1 { - to_x:"margin.left"; - to_y:"rect.text.info.2"; - relative: 1.0 0.0; - } - rel2 { - to_x:"object.text.info.sub.2"; - to_y:"rect.text.info.2"; - relative: 0.0 1.0; - offset: -20 0; - } - align: 0.0 1.0; - } - } - part { - name: "rect.text.info.1"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 27; - fixed: 0 1; - rel1 { - to_x:"margin.left"; - to_y:"rect.text.info.2"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.text.info.2"; - relative: 0.0 0.0; - } - align: 0.0 1.0; - } - } - part { - name: "rect.text.info.1.multiline"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - rel1 { - to_x:"margin.left"; - to_y:"rect.text.info.1"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"margin.bottom.thin"; - relative: 0.0 0.0; - } - align: 0.0 0.0; - } - } - part { - name: "rect.text.info.sub.1"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 27; - max: 0 27; - fixed: 1 1; - rel1 { - to_x:"margin.right"; - to_y:"rect.text.info.2"; - relative: 0.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.text.info.2"; - relative: 0.0 0.0; - } - align: 1.0 1.0; - } - } - part { - name: "rect.text.info.1.short"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - rel1 { - to_x:"margin.left"; - to_y:"rect.text.info.1"; - relative: 1.0 0.0; - } - rel2 { - to_x:"object.text.info.sub.1"; - to_y:"rect.text.info.1"; - relative: 0.0 1.0; - offset: -13 0; - } - align: 0.0 1.0; - } - } - - //section objects - part{ - name: "object.icon.background"; - type:SWALLOW; - scale: 1; - clip_to: "clip.background"; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "base";} - rel2 {to: "base";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:0; - } - } - part { - name: "object.touch.effect"; - type: RECT; - mouse_events: 0; - description { - state: "default" 0.0; - rel1.to:"base"; - rel2.to:"base"; - color: 0 0 0 0; - visible: 0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - color_class: BOX_COLOR_BG_HIGHLIGHT; - visible:0; - } - description { - state: "show.dim" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - color_class: BOX_COLOR_BG_HIGHLIGHT_DIM; - visible:0; - } - } - part{ - name: "object.icon.bg.dim"; - type:IMAGE; - scale:1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "base";} - rel2 {to: "base";} - image { - normal:"quick_image_dimmed_port.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:0; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - image { - normal:"quick_image_dimmed_port.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - image { - normal:"quick_image_dimmed_land.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:1; - } - } - part{ - name: BOX_PART_ICON; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - rel1 {to: "rect.icon";} - rel2 {to: "rect.icon";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part{ - name: "object.icon.press"; - type:IMAGE; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - rel1 {to: "rect.icon.bg";} - rel2 {to: "rect.icon.bg";} - image { - normal:"icon_press.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - visible:0; - } - } - part{ - name: BOX_PART_ICON_SUB; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: BOX_ICON_SUB_SIZE_W BOX_ICON_SUB_SIZE_H; - max: BOX_ICON_SUB_SIZE_W BOX_ICON_SUB_SIZE_H; - rel1 {to: "rect.icon.sub";} - rel2 {to: "rect.icon.sub";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - - part { - name: "object.text.title"; - scale: 1; - type: TEXTBLOCK; - multiline: 1; - description { - state: "default" 0.0; - rel1 {to: "rect.text.title";} - rel2 {to: "rect.text.title";} - text { - style: "noti_list_title"; - align: 0.0 0.5; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_title_effect"; - } - visible:1; - } - } - - part { - name: "object.text.contents"; - scale: 1; - type: TEXTBLOCK; - description { - state: "default" 0.0; - rel1 {to: "rect.text.contents";} - rel2 {to: "rect.text.contents";} - text { - style: "noti_list_contents"; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_contents_effect"; - } - visible:1; - } - } - part { - name: "object.text.count"; - scale: 1; - type: TEXTBLOCK; - description { - state: "default" 0.0; - min: 0 36; - max: 79 36; - rel1 { - to_x:"margin.right"; - to_y:"rect.text.title"; - relative: 0.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.text.title"; - relative: 0.0 0.0; - } - text { - style: "noti_list_count"; - align: 1.0 0.5; - min: 1 0; - } - visible:0; - align: 1.0 0.0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_count_effect"; - align: 1.0 0.5; - min: 1 0; - } - visible:1; - } - } - part { - name: "object.text.time"; - type: TEXTBLOCK; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - min: 0 27; - max: 100 36; - rel1 { - to_x:"margin.right"; - to_y:"rect.text.title"; - relative: 0.0 1.0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.text.title"; - relative: 0.0 1.0; - } - text { - style: "noti_list_time"; - align: 1.0 0.5; - min: 1 0; - } - visible:0; - align: 1.0 0.0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_time_effect"; - align: 1.0 0.5; - min: 1 0; - } - visible:1; - } - } - part { - name: "object.text.info.1"; - scale: 1; - type: TEXTBLOCK; - description { - state: "default" 0.0; - rel1 {to: "rect.text.info.1";} - rel2 {to: "rect.text.info.1";} - text { - style: "noti_list_info"; - align: 0.0 0.5; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:0; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_info_effect"; - align: 0.0 0.5; - } - visible:0; - } - } - part { - name: "object.text.info.1.short"; - scale: 1; - type: TEXTBLOCK; - description { - state: "default" 0.0; - rel1 {to: "rect.text.info.1.short";} - rel2 {to: "rect.text.info.1.short";} - text { - style: "noti_list_info"; - align: 0.0 0.5; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:0; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_info_effect"; - align: 0.0 0.5; - } - visible:0; - } - } - part { - name: "object.text.info.1.multiline"; - scale: 1; - type: TEXTBLOCK; - multiline: 1; - description { - state: "default" 0.0; - align: 0.0 0.0; - fixed: 1 1; - rel1 { - to: "rect.text.info.1.multiline"; - } - rel2 { - to: "rect.text.info.1.multiline"; - } - text { - style: "noti_list_info"; - align: 0.0 0.0; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:0; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_info_effect"; - } - visible:0; - } - } - part { - name: "object.text.info.sub.1"; - scale: 1; - type: TEXTBLOCK; - description { - state: "default" 0.0; - rel1 { - to: "rect.text.info.sub.1"; - relative: 1.0 0.0; - } - rel2 { - to: "rect.text.info.sub.1"; - relative: 1.0 1.0; - } - text { - style: "noti_list_info_sub"; - align: 1.0 0.5; - min: 1 0; - } - visible:0; - align:1.0 0.0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:0; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_info_sub_effect"; - align: 1.0 0.5; - min: 1 0; - } - visible:0; - } - } - - part { - name: "object.text.info.2"; - scale: 1; - type: TEXTBLOCK; - description { - state: "default" 0.0; - rel1 {to: "rect.text.info.2";} - rel2 {to: "rect.text.info.2";} - text { - style: "noti_list_info"; - align: 0.0 0.5; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:0; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_info_effect"; - align: 0.0 0.5; - } - visible:0; - } - } - part { - name: "object.text.info.2.short"; - scale: 1; - type: TEXTBLOCK; - description { - state: "default" 0.0; - rel1 {to: "rect.text.info.2.short";} - rel2 {to: "rect.text.info.2.short";} - text { - style: "noti_list_info"; - align: 0.0 0.5; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:0; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_info_effect"; - align: 0.0 0.5; - } - visible:0; - } - } - part { - name: "object.text.info.sub.2"; - scale: 1; - type: TEXTBLOCK; - description { - state: "default" 0.0; - rel1 { - to: "rect.text.info.sub.2"; - relative: 1.0 0.0; - } - rel2 { - to: "rect.text.info.sub.2"; - relative: 1.0 1.0; - } - text { - style: "noti_list_info_sub"; - align: 1.0 0.5; - min: 1 0; - } - visible:0; - align:1.0 0.0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:0; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_info_sub_effect"; - align: 1.0 0.5; - min: 1 0; - } - visible:0; - } - } - part { - name: "object.layer.touch.background"; - mouse_events: 1; - repeat_events: 1; - scale: 1; - type: RECT; - description { - state: "default" 0.0; - rel1 {to: "base";} - rel2 {to: "base";} - color: 0 0 0 0; - } - } - QUICKPANEL_FOCUS_OBJECT("focus", "base", "base") - part { - name: "object.layer.touch.button.1"; - mouse_events: 1; - repeat_events: 0; - scale: 1; - type: RECT; - description { - state: "default" 0.0; - rel1 { - to: "rect.icon"; - } - rel2 {to: "rect.icon";} - color: 0 0 0 0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - } - - programs { - program { - name: "init.layout"; - signal: "load"; - source: ""; - in: 0.0 0.0; - script{ - init_variables(); - } - } - program{ - name: "box.show.dim"; - signal: "box.show.dim"; - source: "box.prog"; - script { - set_int(g_is_show_dim_bg, 1); - } - } - program{ - name: "box.hide.dim"; - signal: "box.hide.dim"; - source: "box.prog"; - script { - set_int(g_is_show_dim_bg, 0); - } - } - program{ - name: "box.portrait"; - signal: "box.portrait"; - source: "box.prog"; - action: STATE_SET "portrait" 0.0; - target: "base"; - after: "box.portrait.custom"; - } - program{ - name: "box.landscape"; - signal: "box.landscape"; - source: "box.prog"; - action: STATE_SET "landscape" 0.0; - target: "base"; - after: "box.landscape.custom"; - } - program{ - name: "box.portrait.custom"; - source: "box.prog"; - script { - if (get_int(g_is_show_dim_bg) == 1) { - set_state(PART:"object.icon.bg.dim", "portrait", 0.0); - } - } - } - program{ - name: "box.landscape.custom"; - source: "box.prog"; - script { - if (get_int(g_is_show_dim_bg) == 1) { - set_state(PART:"object.icon.bg.dim", "landscape", 0.0); - } - } - } -#ifdef TBD - program{ - name: "box.touch.down"; - signal: "mouse,clicked,1"; - source: "object.layer.touch.background"; - action: SIGNAL_EMIT "selected" "edje"; - } -#endif - program{ - name: "effect,mouse,down"; - signal: "mouse,down,1"; - source: "object.layer.touch.background"; - script { - if (get_int(g_is_show_dim_bg) == 1) { - set_state(PART:"object.touch.effect", "show.dim", 0.0); - } else { - set_state(PART:"object.touch.effect", "show", 0.0); - } - } - } - program{ - name: "effect,mouse,up"; - signal: "mouse,up,1"; - source: "object.layer.touch.background"; - action: STATE_SET "default" 0.0; - transition: ACCELERATE 0.20; - target: "object.touch.effect"; - } - program{ - name: "box.button.1.touch.clicked"; - signal: "mouse,clicked,1"; - source: "object.layer.touch.button.1"; - action: SIGNAL_EMIT "button_1" "edje"; - } - program{ - name: "box.button.1.touch.down"; - signal: "mouse,down,1"; - source: "object.layer.touch.button.1"; - action: STATE_SET "show" 0.0; - target: "object.icon.press"; - } - program{ - name: "box.button.1.touch.up"; - signal: "mouse,up,1"; - source: "object.layer.touch.button.1"; - action: STATE_SET "hide" 0.0; - target: "object.icon.press"; - } - program{ - name: "box.show.icon.bg"; - signal: "box.show.icon.bg"; - source: "box.prog"; - action: STATE_SET "show" 0.0; - target: "object.layer.touch.button.1"; - } - program{ - name: "box.hide.icon.bg"; - signal: "box.hide.icon.bg"; - source: "box.prog"; - action: STATE_SET "hide" 0.0; - target: "object.layer.touch.button.1"; - } - program{ - name: "box.title.with.icon"; - signal: "box.title.with.icon"; - source: "box.prog"; - action: STATE_SET "default" 0.0; - target: "rect.text.title"; - } - program{ - name: "box.title.without.icon"; - signal: "box.title.without.icon"; - source: "box.prog"; - action: STATE_SET "without_icon" 0.0; - target: "rect.text.title"; - } - program{ - name: "title.long"; - signal: "title.long"; - source: "prog"; - action: STATE_SET "default" 0.0; - target: "rect.text.title"; - } - program{ - name: "title.short"; - signal: "title.short"; - source: "prog"; - action: STATE_SET "short" 0.0; - target: "rect.text.title"; - } - MAKE_PART_SHOW_PROGRAM("object.icon.background") - MAKE_PART_SHOW_PROGRAM("object.icon") - MAKE_PART_SHOW_PROGRAM("object.icon.sub") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.title") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.contents") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.count") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.time") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.1") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.1.short") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.1.multiline") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.sub.1") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.2") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.2.short") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.sub.2") - } -} - - -group { - name: "quickpanel/listitem_legacy/thumbnail"; - - script { - public g_is_show_dim_bg; - - public init_variables() { - set_int(g_is_show_dim_bg, 0); - } - } - - parts { - part { - name: "background"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 (QP_THEME_LIST_ITEM_NOTIFICATION_LEGACY_SINGLE_MULTI_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT); - max: -1 (QP_THEME_LIST_ITEM_NOTIFICATION_LEGACY_SINGLE_MULTI_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT); - } - } - part { - name: "seperator.top"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT; - fixed: 0 1; - rel1 { - to: "background"; - relative: 0.0 0.0; - } - rel2 { - to: "background"; - relative: 1.0 0.0; - } - align: 0.0 0.0; - } - } - part { - name: "seperator.left"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 0; - fixed: 1 0; - rel1 { - to: "background"; - relative: 0.0 0.0; - } - rel2 { - to: "background"; - relative: 0.0 1.0; - } - align: 0.0 0.0; - } - } - part { - name: "seperator.right"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 0; - fixed: 1 0; - rel1 { - to: "background"; - relative: 1.0 0.0; - } - rel2 { - to: "background"; - relative: 1.0 1.0; - } - align: 1.0 0.0; - } - } - part{ - name: "clip.background"; - type:RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "base";} - rel2 {to: "base";} - visible:1; - } - } - part { - name: "base"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 1; - min: 0 QP_THEME_LIST_ITEM_NOTIFICATION_LEGACY_SINGLE_MULTI_HEIGHT; - max: -1 QP_THEME_LIST_ITEM_NOTIFICATION_LEGACY_SINGLE_MULTI_HEIGHT; - rel1 { - relative: 1.0 1.0; - to_x: "seperator.left"; - to_y: "seperator.top"; - } - rel2 { - relative: 0.0 1.0; - to_x: "seperator.right"; - to_y: "seperator.top"; - } - align: 0.0 0.0; - color_class: QP_THEME_ITEM_BG_COLOR; - color: 255 255 255 235; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - } - } - - //section layout for margin - - part { - name: "margin.left"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 10 0; - fixed: 1 0; - rel1 { - to: "base"; - relative: 0.0 0.0; - } - rel2 { - to: "base"; - relative: 0.0 1.0; - } - align: 0.0 0.0; - } - } - part { - name: "margin.right"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 8 0; - fixed: 1 0; - rel1 { - to: "base"; - relative: 1.0 0.0; - } - rel2 { - to: "base"; - relative: 1.0 1.0; - } - align: 1.0 0.0; - } - } - part { - name: "margin.left.icon"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 10 0; - fixed: 1 0; - rel1 { - to: "base"; - relative: 0.0 0.0; - } - rel2 { - to: "base"; - relative: 0.0 1.0; - } - align: 0.0 0.0; - } - } - part { - name: "margin.top.icon"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 21; - fixed: 0 1; - rel1 { - to: "base"; - relative: 0.0 0.0; - } - rel2 { - to: "base"; - relative: 1.0 0.0; - } - align: 0.0 0.0; - } - } - part { - name: "margin.top.text"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 12; - fixed: 0 1; - rel1 { - to: "base"; - relative: 0.0 0.0; - } - rel2 { - to: "base"; - relative: 1.0 0.0; - } - align: 0.0 0.0; - } - } - part { - name: "margin.bottom"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 10; - fixed: 0 1; - rel1 { - to: "base"; - relative: 0.0 1.0; - } - rel2 { - to: "base"; - relative: 1.0 1.0; - } - align: 0.0 1.0; - } - } - part { - name: "margin.bottom.thin"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 2; - fixed: 0 1; - rel1 { - to: "base"; - relative: 0.0 1.0; - } - rel2 { - to: "base"; - relative: 1.0 1.0; - } - align: 0.0 1.0; - } - } - - //section layout for elements - //section layout for icon - part { - name: "rect.icon.bg"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 46 46; - max: 46 46; - fixed: 1 1; - rel1 { - to_x:"margin.left.icon"; - to_y:"margin.top.icon"; - relative: 1.0 1.0; - } - rel2 { - to_x:"margin.left.icon"; - to_y:"margin.top.icon"; - relative: 1.0 1.0; - } - align: 0.0 0.0; - } - } - part { - name: "rect.icon"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: 46 46; - max: 46 46; - rel1 { - to:"rect.icon.bg"; - relative: 0.5 0.5; - } - rel2 { - to:"rect.icon.bg"; - relative: 0.5 0.5; - } - align: 0.5 0.5; - } - } - part { - name: "rect.icon.sub.padding"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 10; - fixed: 0 1; - rel1 { - to:"rect.icon.bg"; - relative: 0.0 1.0; - } - rel2 { - to:"rect.icon.bg"; - relative: 1.0 1.0; - } - align: 0.0 0.0; - } - } - part { - name: "rect.icon.sub"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 29 29; - max: 29 29; - fixed: 1 1; - rel1 { - to:"rect.icon.sub.padding"; - relative: 1.0 1.0; - } - rel2 { - to:"rect.icon.sub.padding"; - relative: 1.0 1.0; - } - align: 1.0 1.0; - } - } - - //section layout for texts - part { - name: "rect.text.title"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 36; - max: 9999 36; - fixed: 1 1; - rel1 { - to_x:"rect.icon.bg"; - to_y:"margin.top.text"; - relative: 1.0 1.0; - offset: +17 0; - } - rel2 { - to_x:"margin.right"; - to_y:"margin.top.text"; - relative: 0.0 1.0; - } - align: 0.0 0.0; - } - description { - state: "short" 0.0; - inherit: "default" 0.0; - rel1 { - to_x:"rect.icon.bg"; - to_y:"margin.top.text"; - relative: 1.0 1.0; - offset: +17 0; - } - rel2 { - to_x:"object.text.count"; - to_y:"margin.top.text"; - relative: 0.0 1.0; - offset: -13 0; - } - align: 0.0 0.0; - } - } - part { - name: "rect.text.contents"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 27; - max: 9999 36; - fixed: 1 1; - rel1 { - to_x:"rect.icon.bg"; - to_y:"rect.text.title"; - relative: 1.0 1.0; - } - rel2 { - to_x:"object.text.time"; - to_y:"rect.text.title"; - relative: 0.0 1.0; - } - align: 0.0 0.0; - } - } - part { - name: "rect.text.info.2"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 27; - fixed: 0 1; - rel1 { - to_x:"rect.thumbnail.list.1.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"margin.bottom"; - relative: 0.0 0.0; - } - align: 0.0 1.0; - } - } - part { - name: "rect.text.info.1"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 27; - fixed: 0 1; - rel1 { - to_x:"rect.thumbnail.list.1.padding"; - to_y:"rect.text.info.2"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.text.info.2"; - relative: 0.0 0.0; - } - align: 0.0 1.0; - } - } - part { - name: "rect.text.info.1.multiline"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - rel1 { - to_x:"rect.thumbnail.list.1.padding"; - to_y:"rect.text.info.1"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"margin.bottom.thin"; - relative: 0.0 0.0; - } - align: 0.0 0.0; - } - } - - //section layout for thumbnail - part { - name: "rect.thumbnail.list.1"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 64 64; - rel1 { - to_x:"margin.left.icon"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.left.icon"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - align: 0.0 1.0; - } - } - part { - name: "rect.thumbnail.list.1.padding"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 8 0; - rel1 { - to:"rect.thumbnail.list.1"; - relative: 1.0 0.0; - } - rel2 { - to:"rect.thumbnail.list.1"; - relative: 1.0 1.0; - } - align: 0.0 0.0; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - min: 0 0; - } - } - part { - name: "rect.thumbnail.list.2"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 64 64; - rel1 { - to_x:"rect.thumbnail.list.1.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - rel2 { - to_x:"rect.thumbnail.list.1.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - align: 0.0 1.0; - } - } - part { - name: "rect.thumbnail.list.2.padding"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 8 0; - rel1 { - to:"rect.thumbnail.list.2"; - relative: 1.0 0.0; - } - rel2 { - to:"rect.thumbnail.list.2"; - relative: 1.0 1.0; - } - align: 0.0 0.0; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - min: 0 0; - } - } - part { - name: "rect.thumbnail.list.3"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 64 64; - rel1 { - to_x:"rect.thumbnail.list.2.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - rel2 { - to_x:"rect.thumbnail.list.2.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - align: 0.0 1.0; - } - } - part { - name: "rect.thumbnail.list.3.padding"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 8 0; - rel1 { - to:"rect.thumbnail.list.3"; - relative: 1.0 0.0; - } - rel2 { - to:"rect.thumbnail.list.3"; - relative: 1.0 1.0; - } - align: 0.0 0.0; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - min: 0 0; - } - } - part { - name: "rect.thumbnail.list.4"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 64 64; - rel1 { - to_x:"rect.thumbnail.list.3.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - rel2 { - to_x:"rect.thumbnail.list.3.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - align: 0.0 1.0; - } - } - part { - name: "rect.thumbnail.list.4.padding"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 8 0; - rel1 { - to:"rect.thumbnail.list.4"; - relative: 1.0 0.0; - } - rel2 { - to:"rect.thumbnail.list.4"; - relative: 1.0 1.0; - } - align: 0.0 0.0; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - min: 0 0; - } - } - part { - name: "rect.thumbnail.list.5"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 64 64; - rel1 { - to_x:"rect.thumbnail.list.4.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - rel2 { - to_x:"rect.thumbnail.list.4.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - align: 0.0 1.0; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - } - } - - part{ - name: "object.icon.background"; - type:SWALLOW; - scale: 1; - clip_to: "clip.background"; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "base";} - rel2 {to: "base";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part { name: "object.touch.effect"; - type: RECT; - mouse_events: 0; - description { - state: "default" 0.0; - rel1.to:"base"; - rel2.to:"base"; - color: 0 0 0 0; - visible: 0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - color_class: BOX_COLOR_BG_HIGHLIGHT; - visible:1; - } - description { - state: "show.dim" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - color_class: BOX_COLOR_BG_HIGHLIGHT_DIM; - visible:1; - } - } - part{ - name: "object.icon.bg.dim"; - type:IMAGE; - scale:1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "base";} - rel2 {to: "base";} - image { - normal:"quick_image_dimmed_port.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:0; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - image { - normal:"quick_image_dimmed_port.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:1; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - image { - normal:"quick_image_dimmed_land.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:1; - } - } - part{ - name: BOX_PART_ICON; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - rel1 {to: "rect.icon";} - rel2 {to: "rect.icon";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part{ - name: "object.icon.press"; - type:IMAGE; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - rel1 {to: "rect.icon.bg";} - rel2 {to: "rect.icon.bg";} - image { - normal:"icon_press.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - visible:0; - } - } - part{ - name: BOX_PART_ICON_SUB; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: BOX_ICON_SUB_SIZE_W BOX_ICON_SUB_SIZE_H; - max: BOX_ICON_SUB_SIZE_W BOX_ICON_SUB_SIZE_H; - rel1 {to: "rect.icon.sub";} - rel2 {to: "rect.icon.sub";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - - //section thumbnail - part{ - name: "object.thumbnail.list.1"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "rect.thumbnail.list.1";} - rel2 {to: "rect.thumbnail.list.1";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part{ - name: "object.thumbnail.list.2"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "rect.thumbnail.list.2";} - rel2 {to: "rect.thumbnail.list.2";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part{ - name: "object.thumbnail.list.3"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "rect.thumbnail.list.3";} - rel2 {to: "rect.thumbnail.list.3";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part{ - name: "object.thumbnail.list.4"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "rect.thumbnail.list.4";} - rel2 {to: "rect.thumbnail.list.4";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part{ - name: "object.thumbnail.list.5"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "rect.thumbnail.list.5";} - rel2 {to: "rect.thumbnail.list.5";} - visible: 1; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - - part { - name: "object.text.title"; - scale: 1; - type: TEXTBLOCK; - multiline: 1; - description { - state: "default" 0.0; - rel1 {to: "rect.text.title";} - rel2 {to: "rect.text.title";} - text { - style: "noti_list_title"; - align: 0.0 0.5; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_title_effect"; - } - visible:1; - } - } - - part { - name: "object.text.contents"; - scale: 1; - type: TEXTBLOCK; - description { - state: "default" 0.0; - rel1 {to: "rect.text.contents";} - rel2 {to: "rect.text.contents";} - text { - style: "noti_list_contents"; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_contents_effect"; - } - visible:1; - } - } - part { - name: "object.text.count"; - scale: 1; - type: TEXTBLOCK; - description { - state: "default" 0.0; - min: 0 36; - max: 79 36; - rel1 { - to_x:"margin.right"; - to_y:"rect.text.title"; - relative: 0.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.text.title"; - relative: 0.0 0.0; - } - text { - style: "noti_list_count"; - align: 1.0 0.5; - min: 1 0; - } - visible:0; - align: 1.0 0.0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_count_effect"; - align: 1.0 0.5; - min: 1 0; - } - visible:1; - } - } - part { - name: "object.text.time"; - type: TEXTBLOCK; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - min: 0 42; - max: 100 36; - rel1 { - to_x:"margin.right"; - to_y:"rect.text.title"; - relative: 0.0 1.0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.text.title"; - relative: 0.0 1.0; - } - text { - style: "noti_list_time"; - align: 1.0 0.5; - min: 1 0; - } - visible:0; - align: 1.0 0.0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_time_effect"; - align: 1.0 0.5; - min: 1 0; - } - visible:1; - } - } - part { - name: "object.text.info.1"; - scale: 1; - type: TEXTBLOCK; - description { - state: "default" 0.0; - rel1 {to: "rect.text.info.1";} - rel2 {to: "rect.text.info.1";} - text { - style: "noti_list_info"; - align: 0.0 0.5; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:0; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_info_effect"; - align: 0.0 0.5; - } - visible:0; - } - } - - part { - name: "object.text.info.1.multiline"; - scale: 1; - type: TEXTBLOCK; - multiline: 1; - description { - state: "default" 0.0; - align: 0.0 0.0; - fixed: 1 1; - rel1 { - to: "rect.text.info.1.multiline"; - } - rel2 { - to: "rect.text.info.1.multiline"; - } - text { - style: "noti_list_info"; - align: 0.0 0.0; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:0; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_info_effect"; - } - visible:0; - } - } - - part { - name: "object.text.info.2"; - scale: 1; - type: TEXTBLOCK; - description { - state: "default" 0.0; - rel1 {to: "rect.text.info.2";} - rel2 {to: "rect.text.info.2";} - text { - style: "noti_list_info"; - align: 0.0 0.5; - - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:0; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "noti_list_info_effect"; - align: 0.0 0.5; - } - visible:0; - } - } - - part { - name: "object.layer.touch.background"; - mouse_events: 1; - repeat_events: 1; - scale: 1; - type: RECT; - description { - state: "default" 0.0; - rel1 {to: "base";} - rel2 {to: "base";} - color: 0 0 0 0; - } - } - QUICKPANEL_FOCUS_OBJECT("focus", "base", "base") - part { - name: "object.layer.touch.button.1"; - mouse_events: 1; - repeat_events: 0; - scale: 1; - type: RECT; - description { - state: "default" 0.0; - rel1 { - to: "rect.icon"; - } - rel2 {to: "rect.icon";} - color: 0 0 0 0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - } - - programs { - program { - name: "init.layout"; - signal: "load"; - source: ""; - in: 0.0 0.0; - script{ - init_variables(); - } - } - program{ - name: "box.show.dim"; - signal: "box.show.dim"; - source: "box.prog"; - script { - set_int(g_is_show_dim_bg, 1); - } - } - program{ - name: "box.hide.dim"; - signal: "box.hide.dim"; - source: "box.prog"; - script { - set_int(g_is_show_dim_bg, 0); - } - } - program{ - name: "box.portrait"; - signal: "box.portrait"; - source: "box.prog"; - action: STATE_SET "portrait" 0.0; - target: "base"; - - target: "rect.thumbnail.list.1.padding"; - target: "rect.thumbnail.list.2.padding"; - target: "rect.thumbnail.list.3.padding"; - target: "rect.thumbnail.list.4.padding"; - target: "rect.thumbnail.list.5"; - - target: "object.thumbnail.list.5"; - after: "box.portrait.custom"; - } - program{ - name: "box.landscape"; - signal: "box.landscape"; - source: "box.prog"; - action: STATE_SET "landscape" 0.0; - target: "base"; - - target: "rect.thumbnail.list.1.padding"; - target: "rect.thumbnail.list.2.padding"; - target: "rect.thumbnail.list.3.padding"; - target: "rect.thumbnail.list.4.padding"; - target: "rect.thumbnail.list.5"; - target: "object.thumbnail.list.5"; - after: "box.landscape.custom"; - } - program{ - name: "box.portrait.custom"; - source: "box.prog"; - script { - if (get_int(g_is_show_dim_bg) == 1) { - set_state(PART:"object.icon.bg.dim", "portrait", 0.0); - } - } - } - program{ - name: "box.landscape.custom"; - source: "box.prog"; - script { - if (get_int(g_is_show_dim_bg) == 1) { - set_state(PART:"object.icon.bg.dim", "landscape", 0.0); - } - } - } -#ifdef TBD - program{ - name: "box.touch.down"; - signal: "mouse,clicked,1"; - source: "object.layer.touch.background"; - action: SIGNAL_EMIT "selected" "edje"; - } -#endif - program{ - name: "effect,mouse,down"; - signal: "mouse,down,1"; - source: "object.layer.touch.background"; - script { - if (get_int(g_is_show_dim_bg) == 1) { - set_state(PART:"object.touch.effect", "show.dim", 0.0); - } else { - set_state(PART:"object.touch.effect", "show", 0.0); - } - } - } - program{ - name: "effect,mouse,up"; - signal: "mouse,up,1"; - source: "object.layer.touch.background"; - action: STATE_SET "default" 0.0; - transition: ACCELERATE 0.20; - target: "object.touch.effect"; - } - program{ - name: "box.button.1.touch.clicked"; - signal: "mouse,clicked,1"; - source: "object.layer.touch.button.1"; - action: SIGNAL_EMIT "button_1" "edje"; - } - program{ - name: "box.button.1.touch.down"; - signal: "mouse,down,1"; - source: "object.layer.touch.button.1"; - action: STATE_SET "show" 0.0; - target: "object.icon.press"; - } - program{ - name: "box.button.1.touch.up"; - signal: "mouse,up,1"; - source: "object.layer.touch.button.1"; - action: STATE_SET "hide" 0.0; - target: "object.icon.press"; - } - program{ - name: "box.show.icon.bg"; - signal: "box.show.icon.bg"; - source: "box.prog"; - action: STATE_SET "show" 0.0; - - target: "object.layer.touch.button.1"; - } - program{ - name: "box.hide.icon.bg"; - signal: "box.hide.icon.bg"; - source: "box.prog"; - action: STATE_SET "hide" 0.0; - target: "object.layer.touch.button.1"; - } - program{ - name: "box.title.with.icon"; - signal: "box.title.with.icon"; - source: "box.prog"; - action: STATE_SET "default" 0.0; - target: "rect.text.title"; - } - program{ - name: "box.title.without.icon"; - signal: "box.title.without.icon"; - source: "box.prog"; - action: STATE_SET "without_icon" 0.0; - target: "rect.text.title"; - } - program{ - name: "title.long"; - signal: "title.long"; - source: "prog"; - action: STATE_SET "default" 0.0; - target: "rect.text.title"; - } - program{ - name: "title.short"; - signal: "title.short"; - source: "prog"; - action: STATE_SET "short" 0.0; - target: "rect.text.title"; - } - MAKE_PART_SHOW_PROGRAM("object.icon.background") - MAKE_PART_SHOW_PROGRAM("object.icon") - MAKE_PART_SHOW_PROGRAM("object.icon.sub") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.title") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.contents") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.count") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.time") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.1") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.1.multiline") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.2") - MAKE_PART_SHOW_PROGRAM("object.thumbnail.list.1") - MAKE_PART_SHOW_PROGRAM("object.thumbnail.list.2") - MAKE_PART_SHOW_PROGRAM("object.thumbnail.list.3") - MAKE_PART_SHOW_PROGRAM("object.thumbnail.list.4") - } -} \ No newline at end of file diff --git a/data/quickpanel_notibox.edc b/data/quickpanel_notibox.edc deleted file mode 100755 index 783d6b3..0000000 --- a/data/quickpanel_notibox.edc +++ /dev/null @@ -1,2915 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * 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. - * - */ - - -//#define DEBUG -//#define DEBUG_TEXT - -#define MAKE_PART_SHOW_PROGRAM(PARTNAME)\ - program{\ - name: PARTNAME".object.show";\ - signal: "object.show";\ - source: PARTNAME;\ - action: STATE_SET "show" 0.0;\ - target: PARTNAME;\ - }\ - -#define MAKE_PART_SHOW_TEXT_PROGRAM(PARTNAME)\ - program{\ - name: PARTNAME".text.show";\ - signal: "object.show";\ - source: PARTNAME;\ - action: STATE_SET "show" 0.0;\ - target: PARTNAME;\ - }\ - program{\ - name: PARTNAME".text.show.efect";\ - signal: "object.show.effect";\ - source: PARTNAME;\ - action: STATE_SET "show.effect" 0.0;\ - target: PARTNAME;\ - }\ - -images { - image: "quick_image_dimmed_port.png" COMP; - image: "quick_image_dimmed_land.png" COMP; - image: "icon_press.png" COMP; -} - -#define NOTIBOX_FONT_SHADOW_COLOR 0 0 0 191 -#define NOTIBOX_FONT_OUTLINE_COLOR 0 0 0 191 -#define NOTIBOX_FONT_NO_SHADOW_COLOR 0 0 0 0 -#define NOTIBOX_FONT_NO_OUTLINE_COLOR 0 0 0 0 - -#define NOTIBOX_CONTENTS_FONT "Tizen:style=Bold" -#define NOTIBOX_CONTENTS_FONT_SIZE 20 -#define NOTIBOX_CONTENTS_FONT_COLOR 248 246 239 255 - -#define NOTIBOX_INFO_FONT "Tizen:style=Bold" -#define NOTIBOX_INFO_FONT_SIZE 18 -#define NOTIBOX_INFO_FONT_COLOR 180 180 180 255 - -#define NOTIBOX_INFO_SHORT_FONT "Tizen:style=Bold" -#define NOTIBOX_INFO_SHORT_FONT_SIZE 18 -#define NOTIBOX_INFO_SHORT_FONT_COLOR 180 180 180 255 - -#define NOTIBOX_INFO_SUB_FONT "Tizen:style=Regular" -#define NOTIBOX_INFO_SUB_FONT_SIZE 16 -#define NOTIBOX_INFO_SUB_FONT_COLOR 180 180 180 255 - -#define TEXT_CLASS_TIZEN "tizen" -#define TEXT_EFFECT "OUTLINE_SHADOW" - -styles { - style { - name: "notibox_title"; - base: "font=Tizen:style=Regular text_class=tizen font_size=22 color=#F8F6EF ellipsis=1.0 linegap=-6 wrap=mixed"; - } - - style { - name: "notibox_title_effect"; - base: "font=Tizen:style=Regular text_class=tizen font_size=22 color=#F8F6EF ellipsis=1.0 linegap=-6 wrap=mixed style=outline_shadow outline_color=#000000BF shadow_color=#000000BF"; - } - - style { - name: "notibox_contents"; - base: "font=Tizen:style=Bold text_class=tizen font_size=20 color=#F8F6EF ellipsis=1.0 linegap=-6 wrap=mixed"; - } - - style { - name: "notibox_contents_effect"; - base: "font=Tizen:style=Bold text_class=tizen font_size=20 color=#F8F6EF ellipsis=1.0 linegap=-6 wrap=mixed style=outline_shadow outline_color=#000000BF shadow_color=#000000BF"; - } - - style { - name: "notibox_info"; - base: "font=Tizen:style=Bold text_class=tizen font_size=18 color=#BFBFBFFF ellipsis=1.0 linegap=-6 wrap=mixed"; - } - - style { - name: "notibox_info_effect"; - base: "font=Tizen:style=Bold text_class=tizen font_size=18 color=#BFBFBFFF ellipsis=1.0 linegap=-6 wrap=mixed style=outline_shadow outline_color=#000000BF shadow_color=#000000BF"; - } - - style { - name: "notibox_info_short"; - base: "font=Tizen:style=Bold text_class=tizen font_size=18 color=#BFBFBFFF ellipsis=1.0 linegap=-6 wrap=mixed"; - } - - style { - name: "notibox_info_short_effect"; - base: "font=Tizen:style=Regular text_class=tizen font_size=18 color=#BFBFBFFF ellipsis=1.0 linegap=-6 wrap=mixed style=outline_shadow outline_color=#000000BF shadow_color=#000000BF"; - } - - style { - name: "notibox_info_sub"; - base: "font=Tizen:style=Regular text_class=tizen font_size=12 color=#BFBFBFFF ellipsis=1.0 linegap=-6 wrap=mixed"; - } - - style { - name: "notibox_info_sub_effect"; - base: "font=Tizen:style=Regular text_class=tizen font_size=12 color=#BFBFBFFF ellipsis=1.0 linegap=-6 wrap=mixed style=outline_shadow outline_color=#000000BF shadow_color=#000000BF"; - } -} - -group { - name: "quickpanel/notibox/single_multi"; - - script { - public g_is_show_dim_bg; - - public init_variables() { - set_int(g_is_show_dim_bg, 0); - } - } - - parts { - part{ - name: "clip.background"; - type:RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "background";} - rel2 {to: "background";} - visible:1; - } - } - part { - name: "background"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - align: 0.0 0.0; - color_class: BOX_COLOR_BG; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - } - } - - //section layout for margin - - part { - name: "margin.left"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: BOX_MARGIN_L_TEXT_H 0; - fixed: 1 0; - rel1 { - relative: 0.0 0.0; - } - rel2 { - relative: 0.0 1.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 0 0 255 255; -#else - visible:0; -#endif - } - } - part { - name: "margin.right"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: BOX_MARGIN_R_TEXT_H 0; - fixed: 1 0; - rel1 { - relative: 1.0 0.0; - } - rel2 { - relative: 1.0 1.0; - } - align: 1.0 0.0; -#ifdef DEBUG - color: 0 0 255 255; -#else - visible:0; -#endif - } - } - part { - name: "margin.left.icon"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 10 0; - fixed: 1 0; - rel1 { - relative: 0.0 0.0; - } - rel2 { - relative: 0.0 1.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 0 255 255 255; -#else - visible:0; -#endif - } - } - part { - name: "margin.top.icon"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 10; - fixed: 0 1; - rel1 { - relative: 0.0 0.0; - } - rel2 { - relative: 1.0 0.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 255 0 255 255; -#else - visible:0; -#endif - } - } - part { - name: "margin.top.text"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 10; - fixed: 0 1; - rel1 { - relative: 0.0 0.0; - } - rel2 { - relative: 1.0 0.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 0 0 255 255; -#else - visible:0; -#endif - } - } - part { - name: "margin.bottom"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 8; - fixed: 0 1; - rel1 { - relative: 0.0 1.0; - } - rel2 { - relative: 1.0 1.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 0 0 255 255; -#else - visible:0; -#endif - } - } - part { - name: "margin.bottom.thin"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 2; - fixed: 0 1; - rel1 { - relative: 0.0 1.0; - } - rel2 { - relative: 1.0 1.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 0 0 255 255; -#else - visible:0; -#endif - } - } - - //section layout for elements - //section layout for icon - part { - name: "rect.icon.bg"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - fixed: 1 1; - rel1 { - to_x:"margin.left.icon"; - to_y:"margin.top.icon"; - relative: 1.0 1.0; - } - rel2 { - to_x:"margin.left.icon"; - to_y:"margin.top.icon"; - relative: 1.0 1.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 255 0 0 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.icon"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - rel1 { - to:"rect.icon.bg"; - relative: 0.5 0.5; - } - rel2 { - to:"rect.icon.bg"; - relative: 0.5 0.5; - } - align: 0.5 0.5; -#ifdef DEBUG - color: 205 205 255 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.icon.sub.padding"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 10; - fixed: 0 1; - rel1 { - to:"rect.icon.bg"; - relative: 0.0 1.0; - } - rel2 { - to:"rect.icon.bg"; - relative: 1.0 1.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 235 215 235 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.icon.sub"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: BOX_ICON_SUB_SIZE_W BOX_ICON_SUB_SIZE_H; - max: BOX_ICON_SUB_SIZE_W BOX_ICON_SUB_SIZE_H; - fixed: 1 1; - rel1 { - to:"rect.icon.sub.padding"; - relative: 1.0 1.0; - } - rel2 { - to:"rect.icon.sub.padding"; - relative: 1.0 1.0; - } - align: 1.0 1.0; -#ifdef DEBUG - color: 255 0 100 255; -#else - visible:0; -#endif - } - } - - //section layout for texts - part { - name: "rect.text.title"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 125 81; - max: 9999 81; - fixed: 1 1; - rel1 { - to_x:"rect.icon.bg"; - to_y:"rect.icon.bg"; - relative: 1.0 0.5; - offset: +6 0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.icon"; - relative: 0.0 0.5; - } - align: 0.0 0.5; -#ifdef DEBUG - color: 100 100 100 255; -#else - visible:0; -#endif - } - description { - state: "without_icon" 0.0; - min: 125 81; - max: 9999 81; - fixed: 1 1; - rel1 { - to_x:"margin.left"; - to_y:"rect.icon.bg"; - relative: 1.0 0.5; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.icon.bg"; - relative: 0.0 0.5; - } - align: 0.0 0.5; -#ifdef DEBUG - color: 100 100 100 255; -#else - visible:0; -#endif - } - } - - part { - name: "rect.text.info.2"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 BOX_TEXT_INFO_HEIGHT; - fixed: 0 1; - rel1 { - to_x:"margin.left"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"margin.bottom"; - relative: 0.0 0.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 100 100 100 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.text.info.sub.2"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 BOX_TEXT_INFO_HEIGHT; - max: 0 BOX_TEXT_INFO_HEIGHT; - fixed: 1 1; - rel1 { - to_x:"margin.right"; - to_y:"margin.bottom"; - relative: 0.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"margin.bottom"; - relative: 0.0 0.0; - } - align: 1.0 1.0; -#ifdef DEBUG - color: 76 76 76 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.text.info.2.short"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - rel1 { - to_x:"margin.left"; - to_y:"rect.text.info.2"; - relative: 1.0 0.0; - } - rel2 { - to_x:"object.text.info.sub.2"; - to_y:"rect.text.info.2"; - relative: 0.0 1.0; - offset: BOX_TEXT_SUB_PADDING_WIDTH 0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 102 103 104 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.text.info.1"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 BOX_TEXT_INFO_HEIGHT; - fixed: 0 1; - rel1 { - to_x:"margin.left"; - to_y:"rect.text.info.2"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.text.info.2"; - relative: 0.0 0.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 100 150 100 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.text.info.1.multiline"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - rel1 { - to_x:"margin.left"; - to_y:"rect.text.info.1"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"margin.bottom.thin"; - relative: 0.0 0.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 255 150 100 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.text.info.sub.1"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 BOX_TEXT_INFO_HEIGHT; - max: 0 BOX_TEXT_INFO_HEIGHT; - fixed: 1 1; - rel1 { - to_x:"margin.right"; - to_y:"rect.text.info.2"; - relative: 0.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.text.info.2"; - relative: 0.0 0.0; - } - align: 1.0 1.0; -#ifdef DEBUG - color: 76 76 76 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.text.info.1.short"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - rel1 { - to_x:"margin.left"; - to_y:"rect.text.info.1"; - relative: 1.0 0.0; - } - rel2 { - to_x:"object.text.info.sub.1"; - to_y:"rect.text.info.1"; - relative: 0.0 1.0; - offset: BOX_TEXT_SUB_PADDING_WIDTH 0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 102 103 104 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.text.contents"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 BOX_TEXT_CONTENTS_HEIGHT; - fixed: 0 1; - rel1 { - to_x:"margin.left"; - to_y:"rect.text.info.1"; - relative: 1.0 0.0; - } - rel2 { - to_x:"object.text.count"; - to_y:"rect.text.info.1"; - relative: 0.0 0.0; - offset: -8 0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 100 150 100 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.text.contents.multiline.short"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - rel1 { - to_x:"margin.left"; - to_y:"rect.text.contents"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.text.info.2"; - relative: 0.0 0.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 100 150 100 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.text.contents.multiline"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - rel1 { - to_x:"margin.left"; - to_y:"rect.text.contents"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"margin.bottom.thin"; - relative: 0.0 0.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 100 150 100 255; -#else - visible:0; -#endif - } - } - //section objects - part{ - name: "object.icon.background"; - type:SWALLOW; - scale: 1; - clip_to: "clip.background"; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "background";} - rel2 {to: "background";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part{ - name: "object.touch.effect"; - type:RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "background";} - rel2 {to: "background";} - color: 0 0 0 0; - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - color_class: BOX_COLOR_BG_HIGHLIGHT; - visible:1; - } - description { - state: "show.dim" 0.0; - inherit: "default" 0.0; - color_class: BOX_COLOR_BG_HIGHLIGHT_DIM; - visible:1; - } - } - part{ - name: "object.icon.bg.dim"; - type:IMAGE; - scale:1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "background";} - rel2 {to: "background";} - image { - normal:"quick_image_dimmed_port.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:0; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - image { - normal:"quick_image_dimmed_port.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:1; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - image { - normal:"quick_image_dimmed_land.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:1; - } - } - part{ - name: BOX_PART_ICON; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - rel1 {to: "rect.icon";} - rel2 {to: "rect.icon";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part{ - name: "object.icon.press"; - type:IMAGE; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - rel1 {to: "rect.icon.bg";} - rel2 {to: "rect.icon.bg";} - image { - normal:"icon_press.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - visible:0; - } - } - part{ - name: BOX_PART_ICON_SUB; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: BOX_ICON_SUB_SIZE_W BOX_ICON_SUB_SIZE_H; - max: BOX_ICON_SUB_SIZE_W BOX_ICON_SUB_SIZE_H; - rel1 {to: "rect.icon.sub";} - rel2 {to: "rect.icon.sub";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - - part { - name: "object.text.title"; - scale: 1; - type: TEXTBLOCK; - multiline: 1; - description { - state: "default" 0.0; - rel1 {to: "rect.text.title";} - rel2 {to: "rect.text.title";} - text { - style: "notibox_title"; - size: 34; - align: 0.0 0.5; -#ifdef DEBUG_TEXT - text: "some string of text to display"; -#endif - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "notibox_title_effect"; - } - visible:1; - } - } - - part { - name: "object.text.contents"; - scale: 1; - type: TEXT; - effect: TEXT_EFFECT; - description { - state: "default" 0.0; - rel1 {to: "rect.text.contents";} - rel2 {to: "rect.text.contents";} - color: NOTIBOX_CONTENTS_FONT_COLOR; - text { - font: NOTIBOX_CONTENTS_FONT; - text_class: TEXT_CLASS_TIZEN; - size: NOTIBOX_CONTENTS_FONT_SIZE; - align: 0.0 0.5; -#ifdef DEBUG_TEXT - text: "some string of text to display"; -#endif - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - color2: NOTIBOX_FONT_SHADOW_COLOR; - color3: NOTIBOX_FONT_OUTLINE_COLOR; - visible:1; - } - } - part { - name: "object.text.contents.multiline.short"; - scale: 1; - type: TEXTBLOCK; - multiline: 1; - description { - state: "default" 0.0; - align: 0.0 0.0; - fixed: 1 1; - rel1 { - to: "rect.text.contents.multiline.short"; - } - rel2 { - to: "rect.text.contents.multiline.short"; - } - text { - style: "notibox_contents"; - align: 0.0 0.0; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "notibox_contents_effect"; - } - visible:1; - } - } - part { - name: "object.text.contents.multiline"; - scale: 1; - type: TEXTBLOCK; - multiline: 1; - description { - state: "default" 0.0; - align: 0.0 0.0; - fixed: 1 1; - rel1 { - to: "rect.text.contents.multiline"; - } - rel2 { - to: "rect.text.contents.multiline"; - } - text { - style: "notibox_contents"; - align: 0.0 0.0; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "notibox_contents_effect"; - } - visible:1; - } - } - part { - name: "object.text.count"; - scale: 1; - type: TEXT; - effect: TEXT_EFFECT; - description { - state: "default" 0.0; - min: 0 BOX_TEXT_CONTENTS_HEIGHT; - max: 79 BOX_TEXT_CONTENTS_HEIGHT; - rel1 { - to_x:"margin.right"; - to_y:"rect.text.info.1"; - relative: 0.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.text.info.1"; - relative: 0.0 0.0; - } - color: NOTIBOX_CONTENTS_FONT_COLOR; - text { - font: NOTIBOX_CONTENTS_FONT; - text_class: TEXT_CLASS_TIZEN; - size: NOTIBOX_CONTENTS_FONT_SIZE; - align: 1.0 0.5; - min: 1 0; -#ifdef DEBUG_TEXT - text: "some string of text to display"; -#endif - } - visible:0; - align: 1.0 1.0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - color2: NOTIBOX_FONT_SHADOW_COLOR; - color3: NOTIBOX_FONT_OUTLINE_COLOR; - visible:1; - } - } - part { - name: "object.text.info.1"; - scale: 1; - type: TEXT; - effect: TEXT_EFFECT; - description { - state: "default" 0.0; - rel1 {to: "rect.text.info.1";} - rel2 {to: "rect.text.info.1";} - color: NOTIBOX_INFO_FONT_COLOR; - text { - font: NOTIBOX_INFO_FONT; - text_class: TEXT_CLASS_TIZEN; - size: NOTIBOX_INFO_FONT_SIZE; - align: 0.0 0.5; -#ifdef DEBUG_TEXT - text: "some string of text to display"; -#endif - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - color2: NOTIBOX_FONT_SHADOW_COLOR; - color3: NOTIBOX_FONT_OUTLINE_COLOR; - visible:1; - } - } - part { - name: "object.text.info.1.short"; - scale: 1; - type: TEXT; - effect: TEXT_EFFECT; - description { - state: "default" 0.0; - rel1 {to: "rect.text.info.1.short";} - rel2 {to: "rect.text.info.1.short";} - color: NOTIBOX_INFO_SHORT_FONT_COLOR; - text { - font: NOTIBOX_INFO_SHORT_FONT; - text_class: TEXT_CLASS_TIZEN; - size: NOTIBOX_INFO_SHORT_FONT_SIZE; - align: 0.0 0.5; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - color2: NOTIBOX_FONT_SHADOW_COLOR; - color3: NOTIBOX_FONT_OUTLINE_COLOR; - visible:1; - } - } - part { - name: "object.text.info.1.multiline"; - scale: 1; - type: TEXTBLOCK; - multiline: 1; - description { - state: "default" 0.0; - align: 0.0 0.0; - fixed: 1 1; - rel1 { - to: "rect.text.info.1.multiline"; - } - rel2 { - to: "rect.text.info.1.multiline"; - } - text { - style: "notibox_info"; - align: 0.0 0.0; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "notibox_info_effect"; - } - visible:1; - } - } - part { - name: "object.text.info.sub.1"; - scale: 1; - type: TEXT; - effect: TEXT_EFFECT; - description { - state: "default" 0.0; - rel1 { - to: "rect.text.info.sub.1"; - relative: 1.0 0.0; - } - rel2 { - to: "rect.text.info.sub.1"; - relative: 1.0 1.0; - } - color: NOTIBOX_INFO_SUB_FONT_COLOR; - text { - font: NOTIBOX_INFO_SUB_FONT; - text_class: TEXT_CLASS_TIZEN; - size: NOTIBOX_INFO_SUB_FONT_SIZE; - align: 1.0 0.5; - min: 1 0; -#ifdef DEBUG_TEXT - text: "some string of text to display"; -#endif - } - visible:0; - align:1.0 0.0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - color2: NOTIBOX_FONT_SHADOW_COLOR; - color3: NOTIBOX_FONT_OUTLINE_COLOR; - visible:1; - } - } - - part { - name: "object.text.info.2"; - scale: 1; - type: TEXT; - effect: TEXT_EFFECT; - description { - state: "default" 0.0; - rel1 {to: "rect.text.info.2";} - rel2 {to: "rect.text.info.2";} - color: NOTIBOX_INFO_FONT_COLOR; - text { - font: NOTIBOX_INFO_FONT; - text_class: TEXT_CLASS_TIZEN; - size: NOTIBOX_INFO_FONT_SIZE; - align: 0.0 0.5; -#ifdef DEBUG_TEXT - text: "some string of text to display"; -#endif - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - color2: NOTIBOX_FONT_SHADOW_COLOR; - color3: NOTIBOX_FONT_OUTLINE_COLOR; - visible:1; - } - } - part { - name: "object.text.info.2.short"; - scale: 1; - type: TEXT; - effect: TEXT_EFFECT; - description { - state: "default" 0.0; - rel1 {to: "rect.text.info.2.short";} - rel2 {to: "rect.text.info.2.short";} - color: NOTIBOX_INFO_SHORT_FONT_COLOR; - text { - font: NOTIBOX_INFO_SHORT_FONT; - text_class: TEXT_CLASS_TIZEN; - size: NOTIBOX_INFO_SHORT_FONT_SIZE; - align: 0.0 0.5; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - color2: NOTIBOX_FONT_SHADOW_COLOR; - color3: NOTIBOX_FONT_OUTLINE_COLOR; - visible:1; - } - } - part { - name: "object.text.info.sub.2"; - scale: 1; - type: TEXT; - effect: TEXT_EFFECT; - description { - state: "default" 0.0; - rel1 { - to: "rect.text.info.sub.2"; - relative: 1.0 0.0; - } - rel2 { - to: "rect.text.info.sub.2"; - relative: 1.0 1.0; - } - color: NOTIBOX_INFO_SUB_FONT_COLOR; - text { - font: NOTIBOX_INFO_SUB_FONT; - text_class: TEXT_CLASS_TIZEN; - size: NOTIBOX_INFO_SUB_FONT_SIZE; - align: 1.0 0.5; - min: 1 0; -#ifdef DEBUG_TEXT - text: "some string of text to display"; -#endif - } - visible:0; - align:1.0 0.0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - color2: NOTIBOX_FONT_SHADOW_COLOR; - color3: NOTIBOX_FONT_OUTLINE_COLOR; - visible:1; - } - } - part { - name: "object.layer.touch.background"; - mouse_events: 1; - repeat_events: 1; - scale: 1; - type: RECT; - description { - state: "default" 0.0; - rel1 {to: "background";} - rel2 {to: "background";} - color: 0 0 0 0; - } - } - QUICKPANEL_FOCUS_OBJECT("focus", "background", "background") - part { - name: "object.layer.touch.button.1"; - mouse_events: 1; - repeat_events: 0; - scale: 1; - type: RECT; - description { - state: "default" 0.0; - rel1 { - to: "rect.icon"; - } - rel2 {to: "rect.icon";} - color: 0 0 0 0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - } - - programs { - program { - name: "init.layout"; - signal: "load"; - source: ""; - in: 0.0 0.0; - script{ - init_variables(); - } - } - program{ - name: "box.show.dim"; - signal: "box.show.dim"; - source: "box.prog"; - script { - set_int(g_is_show_dim_bg, 1); - } - } - program{ - name: "box.hide.dim"; - signal: "box.hide.dim"; - source: "box.prog"; - script { - set_int(g_is_show_dim_bg, 0); - } - } - program{ - name: "box.portrait"; - signal: "box.portrait"; - source: "box.prog"; - action: STATE_SET "portrait" 0.0; - target: "background"; - after: "box.portrait.custom"; - } - program{ - name: "box.landscape"; - signal: "box.landscape"; - source: "box.prog"; - action: STATE_SET "landscape" 0.0; - target: "background"; - after: "box.landscape.custom"; - } - program{ - name: "box.portrait.custom"; - source: "box.prog"; - script { - if (get_int(g_is_show_dim_bg) == 1) { - set_state(PART:"object.icon.bg.dim", "portrait", 0.0); - } - } - } - program{ - name: "box.landscape.custom"; - source: "box.prog"; - script { - if (get_int(g_is_show_dim_bg) == 1) { - set_state(PART:"object.icon.bg.dim", "landscape", 0.0); - } - } - } -#ifdef TBD - program{ - name: "box.touch.down"; - signal: "mouse,clicked,1"; - source: "object.layer.touch.background"; - action: SIGNAL_EMIT "selected" "edje"; - } -#endif - program{ - name: "effect,mouse,down"; - signal: "mouse,down,1"; - source: "object.layer.touch.background"; - script { - if (get_int(g_is_show_dim_bg) == 1) { - set_state(PART:"object.touch.effect", "show.dim", 0.0); - } else { - set_state(PART:"object.touch.effect", "show", 0.0); - } - } - } - program{ - name: "effect,mouse,up"; - signal: "mouse,up,1"; - source: "object.layer.touch.background"; - action: STATE_SET "default" 0.0; - transition: ACCELERATE 0.20; - target: "object.touch.effect"; - } - program{ - name: "box.button.1.touch.clicked"; - signal: "mouse,clicked,1"; - source: "object.layer.touch.button.1"; - action: SIGNAL_EMIT "button_1" "edje"; - } - program{ - name: "box.button.1.touch.down"; - signal: "mouse,down,1"; - source: "object.layer.touch.button.1"; - action: STATE_SET "show" 0.0; - target: "object.icon.press"; - } - program{ - name: "box.button.1.touch.up"; - signal: "mouse,up,1"; - source: "object.layer.touch.button.1"; - action: STATE_SET "hide" 0.0; - target: "object.icon.press"; - } - program{ - name: "box.show.icon.bg"; - signal: "box.show.icon.bg"; - source: "box.prog"; - action: STATE_SET "show" 0.0; - target: "object.layer.touch.button.1"; - } - program{ - name: "box.hide.icon.bg"; - signal: "box.hide.icon.bg"; - source: "box.prog"; - action: STATE_SET "hide" 0.0; - target: "object.layer.touch.button.1"; - } - program{ - name: "box.title.with.icon"; - signal: "box.title.with.icon"; - source: "box.prog"; - action: STATE_SET "default" 0.0; - target: "rect.text.title"; - } - program{ - name: "box.title.without.icon"; - signal: "box.title.without.icon"; - source: "box.prog"; - action: STATE_SET "without_icon" 0.0; - target: "rect.text.title"; - } - MAKE_PART_SHOW_PROGRAM("object.icon.background") - MAKE_PART_SHOW_PROGRAM("object.icon") - MAKE_PART_SHOW_PROGRAM("object.icon.sub") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.title") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.contents") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.contents.multiline.short") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.contents.multiline") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.count") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.1") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.1.short") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.1.multiline") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.sub.1") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.2") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.2.short") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.sub.2") - } -} - - -group { - name: "quickpanel/notibox/thumbnail"; - - script { - public g_is_show_dim_bg; - - public init_variables() { - set_int(g_is_show_dim_bg, 0); - } - } - - parts { - part{ - name: "clip.background"; - type:RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "background";} - rel2 {to: "background";} - visible:1; - } - } - part { - name: "background"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - color_class: BOX_COLOR_BG; - align: 0.0 0.0; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - } - } - - //section layout for margin - - part { - name: "margin.left"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: BOX_MARGIN_L_TEXT_H 0; - fixed: 1 0; - rel1 { - relative: 0.0 0.0; - } - rel2 { - relative: 0.0 1.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 0 0 255 255; -#else - visible:0; -#endif - } - } - part { - name: "margin.right"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: BOX_MARGIN_R_TEXT_H 0; - fixed: 1 0; - rel1 { - relative: 1.0 0.0; - } - rel2 { - relative: 1.0 1.0; - } - align: 1.0 0.0; -#ifdef DEBUG - color: 0 0 255 255; -#else - visible:0; -#endif - } - } - part { - name: "margin.left.icon"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 10 0; - fixed: 1 0; - rel1 { - relative: 0.0 0.0; - } - rel2 { - relative: 0.0 1.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 0 255 255 255; -#else - visible:0; -#endif - } - } - part { - name: "margin.top.icon"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 10; - fixed: 0 1; - rel1 { - relative: 0.0 0.0; - } - rel2 { - relative: 1.0 0.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 255 0 255 255; -#else - visible:0; -#endif - } - } - part { - name: "margin.top.text"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 10; - fixed: 0 1; - rel1 { - relative: 0.0 0.0; - } - rel2 { - relative: 1.0 0.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 0 0 255 255; -#else - visible:0; -#endif - } - } - part { - name: "margin.bottom"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 8; - fixed: 0 1; - rel1 { - relative: 0.0 1.0; - } - rel2 { - relative: 1.0 1.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 0 0 255 255; -#else - visible:0; -#endif - } - } - part { - name: "margin.bottom.thin"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 2; - fixed: 0 1; - rel1 { - relative: 0.0 1.0; - } - rel2 { - relative: 1.0 1.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 0 0 255 255; -#else - visible:0; -#endif - } - } - - //section layout for elements - //section layout for icon - part { - name: "rect.icon.bg"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - fixed: 1 1; - rel1 { - to_x:"margin.left.icon"; - to_y:"margin.top.icon"; - relative: 1.0 1.0; - } - rel2 { - to_x:"margin.left.icon"; - to_y:"margin.top.icon"; - relative: 1.0 1.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 255 0 0 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.icon"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - rel1 { - to:"rect.icon.bg"; - relative: 0.5 0.5; - } - rel2 { - to:"rect.icon.bg"; - relative: 0.5 0.5; - } - align: 0.5 0.5; -#ifdef DEBUG - color: 205 205 255 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.icon.sub.padding"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 9; - fixed: 0 1; - rel1 { - to:"rect.icon.bg"; - relative: 0.0 1.0; - } - rel2 { - to:"rect.icon.bg"; - relative: 1.0 1.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 235 215 235 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.icon.sub"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: BOX_ICON_SUB_SIZE_W BOX_ICON_SUB_SIZE_H; - max: BOX_ICON_SUB_SIZE_W BOX_ICON_SUB_SIZE_H; - fixed: 1 1; - rel1 { - to:"rect.icon.sub.padding"; - relative: 1.0 1.0; - } - rel2 { - to:"rect.icon.sub.padding"; - relative: 1.0 1.0; - } - align: 1.0 1.0; -#ifdef DEBUG - color: 255 0 100 255; -#else - visible:0; -#endif - } - } - - //section layout for texts - part { - name: "rect.text.title"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 125 81; - max: 9999 81; - fixed: 1 1; - rel1 { - to_x:"rect.icon.bg"; - to_y:"rect.icon.bg"; - relative: 1.0 0.5; - offset: +10 0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.icon.bg"; - relative: 0.0 0.5; - } - align: 0.0 0.5; -#ifdef DEBUG - color: 100 100 100 255; -#else - visible:0; -#endif - } - description { - state: "without_icon" 0.0; - min: 125 81; - max: 9999 81; - fixed: 1 1; - rel1 { - to_x:"margin.left"; - to_y:"rect.icon.bg"; - relative: 1.0 0.5; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.icon.bg"; - relative: 0.0 0.5; - } - align: 0.0 0.5; -#ifdef DEBUG - color: 100 100 100 255; -#else - visible:0; -#endif - } - } - - part { - name: "rect.text.info.2"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 BOX_TEXT_INFO_HEIGHT; - fixed: 0 1; - rel1 { - to_x:"rect.thumbnail.list.1.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"margin.bottom"; - relative: 0.0 0.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 100 100 100 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.text.info.1"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 BOX_TEXT_INFO_HEIGHT; - fixed: 0 1; - rel1 { - to_x:"rect.thumbnail.list.1.padding"; - to_y:"rect.text.info.2"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.text.info.2"; - relative: 0.0 0.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 100 150 100 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.text.info.1.multiline"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - rel1 { - to_x:"rect.thumbnail.list.1.padding"; - to_y:"rect.text.info.1"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"margin.bottom.thin"; - relative: 0.0 0.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 255 150 100 255; -#else - visible:0; -#endif - } - } - - part { - name: "rect.text.contents"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 BOX_TEXT_CONTENTS_HEIGHT; - rel1 { - to_x:"margin.left"; - to_y:"rect.thumbnail.list.1"; - relative: 1.0 0.0; - } - rel2 { - to_x:"object.text.count"; - to_y:"rect.thumbnail.list.1"; - relative: 0.0 0.0; - offset: -8 0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 100 150 100 255; -#else - visible:0; -#endif - } - } - //section layout for thumbnail - part { - name: "rect.thumbnail.list.1"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 50 50; - rel1 { - to_x:"margin.left.icon"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - rel2 { - to_x:"margin.left.icon"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 255 0 0 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.thumbnail.list.1.padding"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 3 0; - rel1 { - to:"rect.thumbnail.list.1"; - relative: 1.0 0.0; - } - rel2 { - to:"rect.thumbnail.list.1"; - relative: 1.0 1.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 0 0 0 255; -#else - visible:0; -#endif - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - min: 0 0; - } - } - part { - name: "rect.thumbnail.list.2"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 50 50; - rel1 { - to_x:"rect.thumbnail.list.1.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - rel2 { - to_x:"rect.thumbnail.list.1.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 255 0 0 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.thumbnail.list.2.padding"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 2 0; - rel1 { - to:"rect.thumbnail.list.2"; - relative: 1.0 0.0; - } - rel2 { - to:"rect.thumbnail.list.2"; - relative: 1.0 1.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 0 0 0 255; -#else - visible:0; -#endif - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - min: 0 0; - } - } - part { - name: "rect.thumbnail.list.3"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 50 50; - rel1 { - to_x:"rect.thumbnail.list.2.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - rel2 { - to_x:"rect.thumbnail.list.2.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 255 0 0 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.thumbnail.list.3.padding"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 2 0; - rel1 { - to:"rect.thumbnail.list.3"; - relative: 1.0 0.0; - } - rel2 { - to:"rect.thumbnail.list.3"; - relative: 1.0 1.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 0 0 0 255; -#else - visible:0; -#endif - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - min: 0 0; - } - } - part { - name: "rect.thumbnail.list.4"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 50 50; - rel1 { - to_x:"rect.thumbnail.list.3.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - rel2 { - to_x:"rect.thumbnail.list.3.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 255 0 0 255; -#else - visible:0; -#endif - } - } - part { - name: "rect.thumbnail.list.4.padding"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 2 0; - rel1 { - to:"rect.thumbnail.list.4"; - relative: 1.0 0.0; - } - rel2 { - to:"rect.thumbnail.list.4"; - relative: 1.0 1.0; - } - align: 0.0 0.0; -#ifdef DEBUG - color: 0 0 0 255; -#else - visible:0; -#endif - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - min: 0 0; - } - } - part { - name: "rect.thumbnail.list.5"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 50 50; - rel1 { - to_x:"rect.thumbnail.list.4.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - rel2 { - to_x:"rect.thumbnail.list.4.padding"; - to_y:"margin.bottom"; - relative: 1.0 0.0; - } - align: 0.0 1.0; -#ifdef DEBUG - color: 255 0 0 255; -#else - visible:0; -#endif - - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - } - } - - part{ - name: "object.icon.background"; - type:SWALLOW; - scale: 1; - clip_to: "clip.background"; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "background";} - rel2 {to: "background";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part{ - name: "object.touch.effect"; - type:RECT; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "background";} - rel2 {to: "background";} - color: 0 0 0 0; - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - color_class: BOX_COLOR_BG_HIGHLIGHT; - visible:1; - } - description { - state: "show.dim" 0.0; - inherit: "default" 0.0; - color_class: BOX_COLOR_BG_HIGHLIGHT_DIM; - visible:1; - } - } - part{ - name: "object.icon.bg.dim"; - type:IMAGE; - scale:1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "background";} - rel2 {to: "background";} - image { - normal:"quick_image_dimmed_port.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:0; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - image { - normal:"quick_image_dimmed_port.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:1; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - image { - normal:"quick_image_dimmed_land.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:1; - } - } - part{ - name: BOX_PART_ICON; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - rel1 {to: "rect.icon";} - rel2 {to: "rect.icon";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part{ - name: "object.icon.press"; - type:IMAGE; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H; - rel1 {to: "rect.icon.bg";} - rel2 {to: "rect.icon.bg";} - image { - normal:"icon_press.png"; - border: 0 0 0 0; - border_scale: 1; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - visible:0; - } - } - part{ - name: BOX_PART_ICON_SUB; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - min: BOX_ICON_SUB_SIZE_W BOX_ICON_SUB_SIZE_H; - max: BOX_ICON_SUB_SIZE_W BOX_ICON_SUB_SIZE_H; - rel1 {to: "rect.icon.sub";} - rel2 {to: "rect.icon.sub";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - - //section thumbnail - part{ - name: "object.thumbnail.list.1"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "rect.thumbnail.list.1";} - rel2 {to: "rect.thumbnail.list.1";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part{ - name: "object.thumbnail.list.2"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "rect.thumbnail.list.2";} - rel2 {to: "rect.thumbnail.list.2";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part{ - name: "object.thumbnail.list.3"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "rect.thumbnail.list.3";} - rel2 {to: "rect.thumbnail.list.3";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part{ - name: "object.thumbnail.list.4"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "rect.thumbnail.list.4";} - rel2 {to: "rect.thumbnail.list.4";} - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - } - part{ - name: "object.thumbnail.list.5"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "rect.thumbnail.list.5";} - rel2 {to: "rect.thumbnail.list.5";} - visible: 0; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - - part { - name: "object.text.title"; - scale: 1; - type: TEXTBLOCK; - multiline: 1; - description { - state: "default" 0.0; - rel1 {to: "rect.text.title";} - rel2 {to: "rect.text.title";} - text { - style: "notibox_title"; - size: 34; - align: 0.0 0.5; -#ifdef DEBUG_TEXT - text: "some string of text to display"; -#endif - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "notibox_title_effect"; - } - visible:1; - } - } - - part { - name: "object.text.contents"; - scale: 1; - type: TEXT; - effect: TEXT_EFFECT; - description { - state: "default" 0.0; - rel1 {to: "rect.text.contents";} - rel2 {to: "rect.text.contents";} - color: NOTIBOX_CONTENTS_FONT_COLOR; - text { - font: NOTIBOX_CONTENTS_FONT; - text_class: TEXT_CLASS_TIZEN; - size: NOTIBOX_CONTENTS_FONT_SIZE; - align: 0.0 0.5; -#ifdef DEBUG_TEXT - text: "some string of text to display"; -#endif - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - color2: NOTIBOX_FONT_SHADOW_COLOR; - color3: NOTIBOX_FONT_OUTLINE_COLOR; - visible:1; - } - } - part { - name: "object.text.count"; - scale: 1; - type: TEXT; - effect: TEXT_EFFECT; - description { - state: "default" 0.0; - min: 0 BOX_TEXT_CONTENTS_HEIGHT; - max: 790 BOX_TEXT_CONTENTS_HEIGHT; - rel1 { - to_x:"margin.right"; - to_y:"rect.thumbnail.list.1"; - relative: 0.0 0.0; - } - rel2 { - to_x:"margin.right"; - to_y:"rect.thumbnail.list.1"; - relative: 0.0 0.0; - } - color: NOTIBOX_CONTENTS_FONT_COLOR; - text { - font: NOTIBOX_CONTENTS_FONT; - text_class: TEXT_CLASS_TIZEN; - size: NOTIBOX_CONTENTS_FONT_SIZE; - align: 1.0 0.5; - min: 1 0; -#ifdef DEBUG_TEXT - text: "some string of text to display"; -#endif - } - visible:0; - align: 1.0 1.0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - color2: NOTIBOX_FONT_SHADOW_COLOR; - color3: NOTIBOX_FONT_OUTLINE_COLOR; - visible:1; - } - } - part { - name: "object.text.info.1"; - scale: 1; - type: TEXT; - effect: TEXT_EFFECT; - description { - state: "default" 0.0; - rel1 {to: "rect.text.info.1";} - rel2 {to: "rect.text.info.1";} - color: NOTIBOX_INFO_FONT_COLOR; - text { - font: NOTIBOX_INFO_FONT; - text_class: TEXT_CLASS_TIZEN; - size: NOTIBOX_INFO_FONT_SIZE; - align: 0.0 0.5; -#ifdef DEBUG_TEXT - text: "some string of text to display"; -#endif - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - color2: NOTIBOX_FONT_SHADOW_COLOR; - color3: NOTIBOX_FONT_OUTLINE_COLOR; - visible:1; - } - } - - part { - name: "object.text.info.1.multiline"; - scale: 1; - type: TEXTBLOCK; - multiline: 1; - description { - state: "default" 0.0; - align: 0.0 0.0; - fixed: 1 1; - rel1 { - to: "rect.text.info.1.multiline"; - } - rel2 { - to: "rect.text.info.1.multiline"; - } - text { - style: "notibox_info"; - align: 0.0 0.0; - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - text { - style: "notibox_info_effect"; - } - visible:1; - } - } - - part { - name: "object.text.info.2"; - scale: 1; - type: TEXT; - effect: TEXT_EFFECT; - description { - state: "default" 0.0; - rel1 {to: "rect.text.info.2";} - rel2 {to: "rect.text.info.2";} - color: NOTIBOX_INFO_FONT_COLOR; - text { - font: NOTIBOX_INFO_FONT; - text_class: TEXT_CLASS_TIZEN; - size: NOTIBOX_INFO_FONT_SIZE; - align: 0.0 0.5; -#ifdef DEBUG_TEXT - text: "some string of text to display"; -#endif - } - visible:0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "show.effect" 0.0; - inherit: "default" 0.0; - color2: NOTIBOX_FONT_SHADOW_COLOR; - color3: NOTIBOX_FONT_OUTLINE_COLOR; - visible:1; - } - } - - part { - name: "object.layer.touch.background"; - mouse_events: 1; - repeat_events: 1; - scale: 1; - type: RECT; - description { - state: "default" 0.0; - rel1 {to: "background";} - rel2 {to: "background";} - color: 0 0 0 0; - } - } - QUICKPANEL_FOCUS_OBJECT("focus", "background", "background") - part { - name: "object.layer.touch.button.1"; - mouse_events: 1; - repeat_events: 0; - scale: 1; - type: RECT; - description { - state: "default" 0.0; - rel1 { - to: "rect.icon"; - } - rel2 {to: "rect.icon";} - color: 0 0 0 0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible:1; - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - } - - programs { - program { - name: "init.layout"; - signal: "load"; - source: ""; - in: 0.0 0.0; - script{ - init_variables(); - } - } - program{ - name: "box.show.dim"; - signal: "box.show.dim"; - source: "box.prog"; - script { - set_int(g_is_show_dim_bg, 1); - } - } - program{ - name: "box.hide.dim"; - signal: "box.hide.dim"; - source: "box.prog"; - script { - set_int(g_is_show_dim_bg, 0); - } - } - program{ - name: "box.portrait"; - signal: "box.portrait"; - source: "box.prog"; - action: STATE_SET "portrait" 0.0; - target: "background"; - - target: "rect.thumbnail.list.1.padding"; - target: "rect.thumbnail.list.2.padding"; - target: "rect.thumbnail.list.3.padding"; - target: "rect.thumbnail.list.4.padding"; - target: "rect.thumbnail.list.5"; - - target: "object.thumbnail.list.5"; - after: "box.portrait.custom"; - } - program{ - name: "box.landscape"; - signal: "box.landscape"; - source: "box.prog"; - action: STATE_SET "landscape" 0.0; - target: "background"; - - target: "rect.thumbnail.list.1.padding"; - target: "rect.thumbnail.list.2.padding"; - target: "rect.thumbnail.list.3.padding"; - target: "rect.thumbnail.list.4.padding"; - target: "rect.thumbnail.list.5"; - target: "object.thumbnail.list.5"; - after: "box.landscape.custom"; - } - program{ - name: "box.portrait.custom"; - source: "box.prog"; - script { - if (get_int(g_is_show_dim_bg) == 1) { - set_state(PART:"object.icon.bg.dim", "portrait", 0.0); - } - } - } - program{ - name: "box.landscape.custom"; - source: "box.prog"; - script { - if (get_int(g_is_show_dim_bg) == 1) { - set_state(PART:"object.icon.bg.dim", "landscape", 0.0); - } - } - } -#ifdef TBD - program{ - name: "box.touch.down"; - signal: "mouse,clicked,1"; - source: "object.layer.touch.background"; - action: SIGNAL_EMIT "selected" "edje"; - } -#endif - program{ - name: "effect,mouse,down"; - signal: "mouse,down,1"; - source: "object.layer.touch.background"; - script { - if (get_int(g_is_show_dim_bg) == 1) { - set_state(PART:"object.touch.effect", "show.dim", 0.0); - } else { - set_state(PART:"object.touch.effect", "show", 0.0); - } - } - } - program{ - name: "effect,mouse,up"; - signal: "mouse,up,1"; - source: "object.layer.touch.background"; - action: STATE_SET "default" 0.0; - transition: ACCELERATE 0.20; - target: "object.touch.effect"; - } - program{ - name: "box.button.1.touch.clicked"; - signal: "mouse,clicked,1"; - source: "object.layer.touch.button.1"; - action: SIGNAL_EMIT "button_1" "edje"; - } - program{ - name: "box.button.1.touch.down"; - signal: "mouse,down,1"; - source: "object.layer.touch.button.1"; - action: STATE_SET "show" 0.0; - target: "object.icon.press"; - } - program{ - name: "box.button.1.touch.up"; - signal: "mouse,up,1"; - source: "object.layer.touch.button.1"; - action: STATE_SET "hide" 0.0; - target: "object.icon.press"; - } - program{ - name: "box.show.icon.bg"; - signal: "box.show.icon.bg"; - source: "box.prog"; - action: STATE_SET "show" 0.0; - - target: "object.layer.touch.button.1"; - } - program{ - name: "box.hide.icon.bg"; - signal: "box.hide.icon.bg"; - source: "box.prog"; - action: STATE_SET "hide" 0.0; - - target: "object.layer.touch.button.1"; - } - program{ - name: "box.title.with.icon"; - signal: "box.title.with.icon"; - source: "box.prog"; - action: STATE_SET "default" 0.0; - target: "rect.text.title"; - } - program{ - name: "box.title.without.icon"; - signal: "box.title.without.icon"; - source: "box.prog"; - action: STATE_SET "without_icon" 0.0; - target: "rect.text.title"; - } - MAKE_PART_SHOW_PROGRAM("object.icon.background") - MAKE_PART_SHOW_PROGRAM("object.icon") - MAKE_PART_SHOW_PROGRAM("object.icon.sub") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.title") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.contents") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.count") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.1") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.1.multiline") - MAKE_PART_SHOW_TEXT_PROGRAM("object.text.info.2") - MAKE_PART_SHOW_PROGRAM("object.thumbnail.list.1") - MAKE_PART_SHOW_PROGRAM("object.thumbnail.list.2") - MAKE_PART_SHOW_PROGRAM("object.thumbnail.list.3") - MAKE_PART_SHOW_PROGRAM("object.thumbnail.list.4") - } -} \ No newline at end of file diff --git a/data/quickpanel_page_edit.edc b/data/quickpanel_page_edit.edc deleted file mode 100755 index e4de510..0000000 --- a/data/quickpanel_page_edit.edc +++ /dev/null @@ -1,636 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * 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 "quickpanel_def.h" - - styles { - style { - name: "help"; - base: "font=Tizen:style=Bold text_class=tizen font_size=30 color=#6e6f76FF ellipsis=1.0 wrap=mixed"; - } -} - - group { - name: "quickpanel/page_edit_base"; - parts { - part { - name: "background"; - type: RECT; - scale: 1; - mouse_events: 1; - description { - state: "default" 0.0; - min: QP_WIN_W (QP_WIN_H - QP_DATE_H - QP_HANDLE_H); - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - min: QP_WIN_H (QP_WIN_W - QP_DATE_H - QP_HANDLE_H); - } - } - part{ - name: "object.layout"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "background";} - rel2 {to: "background";} - align: 0.0 0.0; - visible:1; - } - } - } - programs { - program{ - name: "portrait"; - signal: "portrait"; - source: "prog"; - action: STATE_SET "portrait" 0.0; - target: "background"; - } - program{ - name: "landscape"; - signal: "landscape"; - source: "prog"; - action: STATE_SET "landscape" 0.0; - target: "background"; - } - } - } - group { - name: "quickpanel/page_edit"; - parts { - part { - name: "background"; - type: SPACER; - scale: 1; - mouse_events: 1; - description { - state: "default" 0.0; - min: QP_WIN_W (QP_WIN_H - QP_DATE_H - QP_HANDLE_H); - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - min: QP_WIN_H (QP_WIN_W - QP_DATE_H - QP_HANDLE_H); - } - } - part { - name: "rect.section.title.1"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 55; - max: 9999 55; - rel1 { - relative: 0.0 0.0; - to: "background"; - } - rel2 { - relative: 1.0 0.0; - to: "background"; - } - align: 0.0 0.0; - } - } - part { - name: "rect.active.buttons"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 180; - rel1 { - relative: 0.0 1.0; - to_x: "background"; - to_y: "rect.section.title.1"; - } - rel2 { - relative: 1.0 1.0; - to_x: "background"; - to_y: "rect.section.title.1"; - } - align: 0.0 0.0; - color: QP_COLOR_BLACK; - visible: 1; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - min: 0 89; - } - } - part { - name: "rect.section.title.2"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 55; - max: 9999 55; - rel1 { - relative: 0.0 1.0; - to_x: "background"; - to_y: "rect.active.buttons"; - } - rel2 { - relative: 1.0 1.0; - to_x: "background"; - to_y: "rect.active.buttons"; - } - align: 0.0 0.0; - } - } - part { - name: "rect.reserved.buttons"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 271; - rel1 { - relative: 0.0 1.0; - to_x: "background"; - to_y: "rect.section.title.2"; - } - rel2 { - relative: 1.0 1.0; - to_x: "background"; - to_y: "rect.section.title.2"; - } - align: 0.0 0.0; - color: QP_COLOR_BLACK; - visible: 1; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - min: 0 180; - } - } - part { - name: "margin.help.left"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 16 0; - max: 16 9999; - rel1 { - relative: 0.0 1.0; - to_x: "background"; - to_y: "rect.reserved.buttons"; - } - rel2 { - relative: 0.0 1.0; - to: "background"; - } - color: QP_COLOR_BLACK; - visible: 1; - } - } - part { - name: "margin.help.right"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 8 0; - max: 8 9999; - rel1 { - relative: 1.0 1.0; - to_x: "background"; - to_y: "rect.reserved.buttons"; - } - rel2 { - relative: 1.0 1.0; - to: "background"; - } - color: QP_COLOR_BLACK; - visible: 1; - } - } - part { - name: "margin.help.top"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 8; - max: 9999 8; - rel1 { - relative: 0.0 1.0; - to_x: "background"; - to_y: "rect.reserved.buttons"; - } - rel2 { - relative: 1.0 1.0; - to_x: "background"; - to_y: "rect.reserved.buttons"; - } - align: 0.0 0.0; - color: QP_COLOR_BLACK; - visible: 1; - } - } - part { - name: "rect.section.help"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 281; - max: 9999 281; - rel1 { - relative: 1.0 1.0; - to_x: "margin.help.left"; - to_y: "margin.help.top"; - } - rel2 { - relative: 0.0 1.0; - to_x: "margin.help.right"; - to_y: "margin.help.top"; - } - align: 0.0 0.0; - color: QP_COLOR_BLACK; - visible: 1; - } - description { - state: "portrait" 0.0; - inherit: "default" 0.0; - } - description { - state: "landscape" 0.0; - inherit: "default" 0.0; - min: 0 160; - } - } - part{ - name: "object.section.1"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "rect.section.title.1";} - rel2 {to: "rect.section.title.1";} - align: 0.0 0.0; - visible:1; - } - } - part{ - name: "object.active.buttons"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "rect.active.buttons";} - rel2 {to: "rect.active.buttons";} - visible:1; - } - } - part{ - name: "object.section.2"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "rect.section.title.2";} - rel2 {to: "rect.section.title.2";} - visible:1; - } - } - part{ - name: "object.reserved.buttons"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 0; - rel1 {to: "rect.reserved.buttons";} - rel2 {to: "rect.reserved.buttons";} - visible:1; - } - } - part { name: "object.text.help"; - type: TEXTBLOCK; - scale: 1; - description { - state: "default" 0.0; - rel1 { - to: "rect.section.help"; - } - rel2 { - to: "rect.section.help"; - } - text { - style: "help"; - size: 22; - size_range: 21 22; - align: 0.0 0.0; - } - } - } - QUICKPANEL_FOCUS_OBJECT("focus.help", "rect.section.help", "rect.section.help") - } - - programs { - program{ - name: "portrait"; - signal: "portrait"; - source: "prog"; - action: STATE_SET "portrait" 0.0; - target: "background"; - target: "rect.active.buttons"; - target: "rect.reserved.buttons"; - target: "rect.section.help"; - } - program{ - name: "landscape"; - signal: "landscape"; - source: "prog"; - action: STATE_SET "landscape" 0.0; - target: "background"; - target: "rect.active.buttons"; - target: "rect.reserved.buttons"; - target: "rect.section.help"; - } - } - } - - group { - name: "quickpanel/page_edit_section"; - parts { - part { - name: "background"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 55; - max: 9999 55; - fixed: 0 1; - rel1 { - relative: 0.0 0.0; - } - rel2 { - relative: 1.0 1.0; - } - align: 0.0 0.0; - visible: 1; - color: QP_COLOR_BLACK; - } - } - part { - name: "margin.left.label"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 13 0; - max: 13 0; - fixed: 1 0; - rel1 { - relative: 0.0 0.0; - to: "background"; - } - rel2 { - relative: 0.0 1.0; - to: "background"; - } - align: 0.0 0.0; - } - } - part { - name: "margin.top.label"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 27; - max: 0 27; - fixed: 0 1; - rel1 { - relative: 0.0 0.0; - to: "background"; - } - rel2 { - relative: 1.0 0.0; - to: "background"; - } - align: 0.0 0.0; - } - } - part { - name: "margin.right.label"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 129 0; - max: 129 0; - fixed: 1 0; - rel1 { - relative: 1.0 0.0; - to: "background"; - } - rel2 { - relative: 1.0 1.0; - to: "background"; - } - align: 1.0 0.0; - } - } - part { - name: "margin.bottom.label"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 4; - max: 0 4; - fixed: 0 1; - rel1 { - relative: 0.0 1.0; - to: "background"; - } - rel2 { - relative: 1.0 1.0; - to: "background"; - } - align: 0.0 1.0; - } - } - part { - name: "margin.top.button"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 0 16; - max: 0 16; - fixed: 0 1; - rel1 { - relative: 0.0 0.0; - to: "background"; - } - rel2 { - relative: 1.0 0.0; - to: "background"; - } - align: 0.0 0.0; - } - } - part { - name: "margin.right.button"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 8 0; - max: 8 0; - fixed: 1 0; - rel1 { - relative: 1.0 0.0; - to: "background"; - } - rel2 { - relative: 1.0 1.0; - to: "background"; - } - align: 1.0 0.0; - } - } - part { - name: "rect.title"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - fixed: 0 1; - min: 0 25; - rel1 { - relative: 1.0 0.0; - to_x: "margin.left.label"; - to_y: "margin.bottom.label"; - } - rel2 { - relative: 0.0 0.0; - to_x: "margin.right.label"; - to_y: "margin.bottom.label"; - } - align: 1.0 1.0; - } - } - part { - name: "rect.title.accessibility"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - rel1 { - relative: 0.0 0.0; - to: "rect.title"; - } - rel2 { - relative: 1.0 1.0; - to: "rect.title"; - offset: 0 -20; - } - align: 0.0 0.0; - } - } - part { - name: "rect.button"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 106 35; - min: 106 35; - fixed: 1 1; - rel1 { - relative: 0.0 1.0; - to_x: "margin.right.button"; - to_y: "margin.top.button"; - } - rel2 { - relative: 0.0 1.0; - to_x: "margin.right.button"; - to_y: "margin.top.button"; - } - align: 1.0 0.0; - } - } - part { name: "object.text.title"; - type: TEXT; - scale: 1; - description { - state: "default" 0.0; - rel1 { - to: "rect.title"; - } - rel2 { - to: "rect.title"; - } - color: 59 115 182 255; - text { - font: "Tizen:style=Bold"; - text_class: "tizen"; - size: 21; - align: 0.0 1.0; - ellipsis: 0.0; - } - } - } - part{ - name: "object.button"; - type:SWALLOW; - scale: 1; - description { - state: "default" 0.0; - fixed: 1 1; - rel1 {to: "rect.button";} - rel2 {to: "rect.button";} - visible:1; - } - } - QUICKPANEL_FOCUS_OBJECT("focus.title", "rect.title.accessibility", "rect.title.accessibility") - } - } \ No newline at end of file diff --git a/data/quickpanel_textblock_slide_style.edc b/data/quickpanel_textblock_slide_style.edc deleted file mode 100755 index 74f3fb9..0000000 --- a/data/quickpanel_textblock_slide_style.edc +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 - * - * 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 "color_classes.edc" - -collections -{ - base_scale: 1.8; - - group { - name: "slide_short"; - - styles { - style - { - name: "dual_sim_text_style"; - base: "font=Tizen:style=Regular font_size=17 text_class=ATO007D color=#FFFFFF color_class=ATO007D align=center wrap=none "; // unconnected - tag: "icon_0" "+ text_class=ATO007E1 color=#FFFFFF color_class=ATO007E1 "; // SIM1 - tag: "icon_1" "+ text_class=ATO007E2 color=#FFFFFF color_class=ATO007E2 "; // SIM2 - tag: "icon_2" "+ text_class=ATO007E9 color=#FFFFFF color_class=ATO007E9 "; // Call - tag: "icon_3" "+ text_class=ATO007E4 color=#FFFFFF color_class=ATO007E4 "; // SMS - tag: "icon_4" "+ text_class=ATO007E5 color=#FFFFFF color_class=ATO007E5 "; // MMS - tag: "icon_5" "+ text_class=ATO007E6 color=#FFFFFF color_class=ATO007E6 "; // Internet - tag: "icon_6" "+ text_class=ATO007E7 color=#FFFFFF color_class=ATO007E7 "; // Home - tag: "icon_7" "+ text_class=ATO007E3 color=#FFFFFF color_class=ATO007E3 "; // Office - tag: "icon_8" "+ text_class=ATO007E8 color=#FFFFFF color_class=ATO007E8 "; // Heart - } - } - - parts { - part { - name: "base"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: 84 (4 + 19 + 4); - max: 84 (4 + 19 + 4); - fixed: 1 1; - } - } - part { - name: "clip"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - rel1 { - relative: 0.0 0.0; - to: "base"; - } - rel2 { - relative: 1.0 1.0; - to: "base"; - } - } - } - part { - name: "text"; - type: TEXTBLOCK; - mouse_events: 0; - repeat_events: 1; - scale: 1; - clip_to: "clip"; - description { - state: "default" 0.0; - min: 84 (4 + 19 + 4); - fixed: 1 1; - align: 0.5 0.5; - rel1 { - relative: 0.0 0.0; - to: "clip"; - } - rel2 { - relative: 1.0 1.0; - to: "clip"; - } - text { - style: "dual_sim_text_style"; - min: 1 1; - align: 0.5 0.5; - } - } - description { - state: "slide_end" 0.0; - inherit: "default" 0.0; - align: 1.0 0.5; - } - description { - state: "slide_begin" 0.0; - inherit: "default" 0.0; - align: 0.0 0.5; - } - } - } - - programs { - program - { - name: "play_slide"; - source: "elm"; - signal: "elm,state,slide,start"; - action: STATE_SET "slide_begin" 0.0; - target: "text"; - after: "start_slide"; - } - - program - { - name: "stop_slide"; - source: "elm"; - signal: "elm,state,slide,stop"; - action: STATE_SET "default" 0.0; - target: "text"; - } - - program - { - name: "start_slide"; - - action: STATE_SET "slide_end" 0.0; - transition: LINEAR 5.0; - target: "text"; - filter: "text" "slide_begin"; - in: 0.5 0.0; - after: "end_slide"; - } - - program - { - name: "end_slide"; - action: STATE_SET "slide_begin" 0.0; - filter: "text" "slide_end"; - target: "text"; - in: 0.5 0.0; - - after: "start_slide"; - } - } - } -} diff --git a/icons/settings_noti_panel.png b/icons/settings_noti_panel.png deleted file mode 100644 index fa80b177594e29b703fe2a19954746e5bac0c073..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6408 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 -- 2.7.4