CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(quickpanel C)
-FILE(GLOB_RECURSE DAEMON_SRCS daemon/*.c)
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/test TEST_SRCS)
-SET(SRCS ${DAEMON_SRCS} ${TEST_SRCS})
-SET(VENDOR "org.tizen")
+IF(${WINSYS} STREQUAL "x11")
+SET(EXTRA_SRCS
+ daemon/service/keyboard_x.c
+)
+ELSE (${WINSYS} STREQUAL "x11")
+SET(EXTRA_SRCS
+)
+ENDIF (${WINSYS} STREQUAL "x11")
+
+SET(SRCS
+ daemon/modules.c
+ daemon/dbus_utility.c
+ daemon/accessibility.c
+ daemon/voice_control.c
+ daemon/media.c
+ daemon/datetime/util-time.c
+ daemon/datetime/datetime.c
+ daemon/sim_controller.c
+ daemon/minictrl/minictrl.c
+ daemon/preference.c
+ daemon/notifications/noti_list_item.c
+ daemon/notifications/animated_image.c
+ daemon/notifications/activenoti.c
+ daemon/notifications/noti_view_listype.c
+ daemon/notifications/noti_box.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
+ daemon/settings/settings_view_featured.c
+ daemon/settings/settings_ipc.c
+ daemon/settings/setting_module_api.c
+ daemon/settings/settings.c
+ daemon/settings/setting_utils.c
+ daemon/vi/vi_manager.c
+ daemon/common_uic.c
+ daemon/handler_controller.c
+ daemon/service/animated_icon.c
+ daemon/service/emergency_mode.c
+ daemon/service/uninstall.c
+ 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
+ ${EXTRA_SRCS}
+ ${TEST_SRCS}
+)
+
SET(PACKAGE ${PROJECT_NAME})
-SET(PKGNAME "${VENDOR}.${PACKAGE}")
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET(PREFIX "${CMAKE_INSTALL_PREFIX}/apps/${PKGNAME}")
SET(BINDIR "${PREFIX}/bin")
SET(RESDIR "${PREFIX}/res")
SET(LOCALEDIR "${RESDIR}/locale")
SET(ICONDIR "${RESDIR}/icons")
SET(EDJDIR "${RESDIR}/edje")
SET(DATADIR "${PREFIX}/data")
-SET(DATADIR_RW "${PREFIX_RW}/data")
+SET(DATADIR_RW "/opt/usr/apps/${PKGNAME}/data")
SET(DESKTOPDIR "/usr/share/applications")
SET(MANIFESTXMLDIR "/usr/share/packages")
SET(SHARED_DIR "${PREFIX}/shared/res")
capi-system-runtime-info
capi-system-info
capi-system-device
+ capi-location-manager
capi-network-tethering
capi-network-bluetooth
capi-network-connection
capi-media-sound-manager
capi-media-metadata-extractor
capi-system-system-settings
+ capi-base-utils-i18n
+ capi-ui-efl-util
tapi
feedback
appcore-common
badge
vconf
libprivilege-control
- ecore-x
edbus
evas
ecore
ecore-input
icu-i18n
elementary
- efl-assist
dlog
syspopup-caller
minicontrol-viewer
minicontrol-monitor
- utilX
pkgmgr
pkgmgr-info
iniparser
alarm-service
+ voice-control-setting
+ tzsh-quickpanel-service
+)
+
+IF(${WINSYS} STREQUAL "x11")
+pkg_check_modules(x11_pkgs REQUIRED
+ ecore-x
+ utilX
inputproto
xi
)
+ENDIF(${WINSYS} STREQUAL "x11")
-FOREACH(flag ${pkgs_CFLAGS})
+
+FOREACH(flag ${pkgs_CFLAGS} ${x11_pkgs_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -g -O2 -fpie")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -g -O2 -fpie -Werror")
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
SET(CMAKE_C_FLAGS_RELEASE "-O2")
MESSAGE("add -DTARGET")
ENDIF("${ARCH}" STREQUAL "arm")
-IF("${VENDOR}" STREQUAL "org.tizen")
-# 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")
- ADD_DEFINITIONS("-DQP_EMERGENCY_MODE_ENABLE")
-ENDIF("${VENDOR}" STREQUAL "org.tizen")
-MESSAGE("##### VENDOR: ${VENDOR}")
-
-ADD_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
+IF(${WINSYS} STREQUAL "x11")
+ADD_DEFINITIONS("-DWINSYS_X11=1")
+ENDIF(${WINSYS} STREQUAL "x11")
+
+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")
+ADD_DEFINITIONS("-DQP_EMERGENCY_MODE_ENABLE")
+ADD_DEFINITIONS("-DQP_VOICE_CONTROL_ENABLE")
+
ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-pie")
-#-lefence
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${x11_pkgs_LDFLAGS} "-pie")
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
INSTALL(DIRECTORY DESTINATION ${DATADIR})
# i18n
ADD_SUBDIRECTORY(data)
ADD_SUBDIRECTORY(po)
-
#include <stdio.h>
+
+#include <Elementary.h>
+#include <E_DBus.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
#include "common.h"
#include "quickpanel-ui.h"
#include "accessibility.h"
-HAPI Evas_Object *
-quickpanel_screen_reader_object_get(void *obj, screen_reader_object_type_e type, const char *part, Evas_Object *parent)
+HAPI Evas_Object *quickpanel_accessibility_screen_reader_object_get(void *obj, screen_reader_object_type_e type, const char *part, Evas_Object *parent)
{
Evas_Object *to = NULL;
Evas_Object *ao = NULL;
to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get((Evas_Object *)obj), part);
break;
- default: // evas, icon
+ default:// evas, icon
to = (Evas_Object *)obj;
}
return ao;
}
-HAPI Evas_Object *quickpanel_ui_get_focus_object(Evas_Object *parent) {
+HAPI Evas_Object *quickpanel_accessibility_ui_get_focus_object(Evas_Object *parent)
+{
Evas_Object *focus = elm_button_add(parent);
retif(focus == NULL, NULL, "failed to create focus object");
return focus;
}
-char *quickpanel_access_info_cb(void *data, Evas_Object *obj) {
+HAPI char *quickpanel_accessibility_info_cb(void *data, Evas_Object *obj)
+{
char *str = NULL;
retif(data == NULL, NULL, "invalid parameter");
return NULL;
}
-char *quickpanel_access_info_cb_s(void *data, Evas_Object *obj) {
+HAPI char *quickpanel_accessibility_info_cb_s(void *data, Evas_Object *obj)
+{
char *str = NULL;
retif(data == NULL, NULL, "invalid parameter");
- // system string is not supported. data should be DID from application po files.
+ /**
+ * @note
+ * system string is not supported.
+ * data should be DID from application po files.
+ */
str = _(data);
if (str != NULL) {
return strdup(str);
return NULL;
}
-HAPI void
-quickpanel_screen_reader_data_set(Evas_Object *view, const char *part, char *type, char *info)
+HAPI void quickpanel_accessibility_screen_reader_data_set(Evas_Object *view, const char *part, char *type, char *info)
{
Evas_Object *ao = NULL;
retif(view == NULL, , "invalid parameter");
retif(part == NULL, , "invalid parameter");
- ao = quickpanel_screen_reader_object_get(view,
+ ao = quickpanel_accessibility_screen_reader_object_get(view,
SCREEN_READER_OBJ_TYPE_ELM_OBJECT, part, view);
if (ao != NULL) {
elm_access_info_set(ao, ELM_ACCESS_TYPE, type);
SCREEN_READER_OBJ_TYPE_EDJ_OBJECT,
} screen_reader_object_type_e;
-Evas_Object *
-quickpanel_screen_reader_object_get(void *obj, screen_reader_object_type_e type, const char *part, Evas_Object *parent);
-Evas_Object *quickpanel_ui_get_focus_object(Evas_Object *parent);
-
-char *quickpanel_access_info_cb(void *data, Evas_Object *obj);
-char *quickpanel_access_info_cb_s(void *data, Evas_Object *obj);
-
-void quickpanel_screen_reader_data_set(Evas_Object *view, const char *part, char *type, char *info);
+extern Evas_Object *quickpanel_accessibility_screen_reader_object_get(void *obj, screen_reader_object_type_e type, const char *part, Evas_Object *parent);
+extern Evas_Object *quickpanel_accessibility_ui_get_focus_object(Evas_Object *parent);
+extern char *quickpanel_accessibility_info_cb(void *data, Evas_Object *obj);
+extern char *quickpanel_accessibility_info_cb_s(void *data, Evas_Object *obj);
+extern void quickpanel_accessibility_screen_reader_data_set(Evas_Object *view, const char *part, char *type, char *info);
#endif /* __ACCESSIBILITY_H__ */
+++ /dev/null
-/*
- * 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 <stdio.h>
-#include <efl_assist.h>
-#include <vconf.h>
-#include "common.h"
-#include "quickpanel-ui.h"
-
-#define PATH_XML_COLOR_TABLE SHARED_DIR"/tables/"PACKAGE_NAME"_ChangeableColorInfo.xml"
-#define PATH_XML_FONT_TABLE SHARED_DIR"/tables/"PACKAGE_NAME"_ChangeableColorInfo_font.xml"
-
-static struct info {
- Ea_Theme_Color_Table *table_color;
- Eina_List *table_font;
-} s_info = {
- .table_color = NULL,
- .table_font = NULL,
-};
-
-static void _color_table_register(void) {
- Ea_Theme_Color_Table *table_color = NULL;
-
- if (s_info.table_color == NULL) {
- table_color = ea_theme_color_table_new(PATH_XML_COLOR_TABLE);
- if (table_color != NULL) {
- ea_theme_colors_set(table_color, EA_THEME_STYLE_LIGHT);
- s_info.table_color = table_color;
- } else {
- ERR("failed to create color table:%s", PATH_XML_COLOR_TABLE);
- }
- }
-}
-
-static void _color_table_unregister(void) {
- if (s_info.table_color != NULL) {
- ea_theme_color_table_free(s_info.table_color);
- s_info.table_color = NULL;
- }
-}
-
-static void _font_table_register(void) {
- Eina_List *table_font = NULL;
-
- if (s_info.table_font == NULL) {
- table_font = ea_theme_font_table_new(PATH_XML_FONT_TABLE);
- if (table_font != NULL) {
- ea_theme_fonts_set(table_font);
- s_info.table_font = table_font;
- } else {
- ERR("failed to create font table:%s", PATH_XML_FONT_TABLE);
- }
- }
-}
-
-static void _font_table_unregister(void) {
- if (s_info.table_font != NULL) {
- ea_theme_font_table_free(s_info.table_font);
- s_info.table_font = NULL;
- }
-}
-
-void quickpanel_chg_init(void) {
- ea_theme_changeable_ui_enabled_set(EINA_TRUE);
-
- _color_table_register();
- _font_table_register();
-}
-
-void quickpanel_chg_fini(void) {
- _color_table_unregister();
- _font_table_unregister();
-}
+++ /dev/null
-/*
- * 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 __CHANGEABLE_GUI_H__
-#define __CHANGEABLE_GUI_H__
-
-void quickpanel_chg_init(void);
-void quickpanel_chg_fini(void);
-
-#endif /* __CHANGEABLE_GUI_H__ */
\ No newline at end of file
*
*/
+#include <stdio.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include <Elementary.h>
#include <pkgmgr-info.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
#include "common.h"
#include "quickpanel-ui.h"
-static inline int _is_space( char in )
+static inline int _is_space(char in)
{
- if ( ( in == _SPACE ))
- {
+ if ((in == _SPACE)) {
return 1;
- }
- else
- {
+ } else {
return 0;
- }
+ }
}
-static inline int _l_trim( char *in )
+static inline int _l_trim(char *in)
{
- int i, j;
- short int done;
+ int i, j;
+ short int done;
- i = 0;
- done = 0;
+ i = 0;
+ done = 0;
- while ( !done && in[i] != '\0')
- {
- if ( _is_space( in[i] ) )
- {
+ while (!done && in[i] != '\0') {
+ if (_is_space(in[i])) {
i++;
- }
- else
- {
+ } else {
done = 1;
}
- }
+ }
- j = 0;
- while ( in[i] != '\0' )
- {
+ j = 0;
+ while (in[i] != '\0') {
in[j++] = in[i++];
- }
+ }
- in[j] = '\0';
+ in[j] = '\0';
- return 0;
+ return 0;
}
-static inline int _r_trim( char *in )
+static inline int _r_trim(char *in)
{
- int i;
- short int done;
+ int i;
+ short int done;
- i = strlen(in) - 1;
- done = 0;
+ i = strlen(in) - 1;
+ done = 0;
- while ( !done && !( i < 0 ) )
- {
- if ( _is_space( in[i] ) )
- {
+ while (!done && !(i < 0)) {
+ if (_is_space(in[i])) {
in[i--] = '\0';
- }
- else
- {
+ } else {
done = 1;
}
- }
+ }
- return(0);
+ return(0);
}
-HAPI void quickpanel_util_char_trim(char *text) {
+HAPI void quickpanel_common_util_char_trim(char *text)
+{
retif(text == NULL, , "invalid argument");
_l_trim(text);
_r_trim(text);
}
-HAPI void quickpanel_util_char_replace(char *text, char s, char t) {
+HAPI void quickpanel_common_util_char_replace(char *text, char s, char t)
+{
retif(text == NULL, , "invalid argument");
int i = 0, text_len = 0;
}
}
-HAPI void quickpanel_util_add_char_to_each_charactor(char *dst, const char *src, char t) {
+HAPI void quickpanel_common_util_add_char_to_each_charactor(char *dst, const char *src, char t)
+{
retif(dst == NULL, , "invalid argument");
retif(src == NULL, , "invalid argument");
}
}
-static void _char_set(char *dst, char s, int index, int size) {
+static void _char_set(char *dst, char s, int index, int size)
+{
if (index < size) {
*(dst + index) = s;
}
}
-HAPI void quickpanel_util_phone_number_tts_make(char *dst, const char *src, int size) {
+HAPI void quickpanel_common_util_phone_number_tts_make(char *dst, const char *src, int size)
+{
retif(dst == NULL, , "invalid argument");
retif(src == NULL, , "invalid argument");
}
}
-HAPI int quickpanel_util_is_phone_number(const char *address)
+HAPI int quickpanel_common_util_is_phone_number(const char *address)
{
int digit_count = 0;
retif(address == NULL, 0, "address is NULL");
int addr_len = 0;
addr_len = strlen(address);
- if (addr_len == 0)
+ if (addr_len == 0) {
return 0;
+ }
/* length check phone address should be longer than 2 and shorter than 40 */
if (addr_len > 2 && addr_len <= QP_UTIL_PHONE_NUMBER_MAX_LEN) {
pszOneChar = address;
- if (*pszOneChar == '+')
+ if (*pszOneChar == '+') {
++pszOneChar;
+ }
while (*pszOneChar) {
if (!isdigit(*pszOneChar)
&& (*pszOneChar != '*') && (*pszOneChar != '#')
&& (*pszOneChar != ' ')
- && !((*pszOneChar == '-') && digit_count >= 7))
+ && !((*pszOneChar == '-') && digit_count >= 7)) {
return 0;
+ }
++pszOneChar;
}
}
}
-void _current_popup_default_backkey_cb(void *data, Evas_Object *obj, void *event_info) {
+static void _current_popup_default_backkey_cb(void *data, Evas_Object *obj, void *event_info)
+{
Evas_Object *popup = data;
retif(popup == NULL, , "invalid argument");
}
}
-HAPI void quickpanel_ui_set_current_popup(Evas_Object *popup, Evas_Smart_Cb func_back) {
+HAPI void quickpanel_common_ui_set_current_popup(Evas_Object *popup, Evas_Smart_Cb func_back)
+{
retif(popup == NULL, , "invalid argument");
struct appdata *ad = quickpanel_get_app_data();
}
}
-HAPI void quickpanel_ui_del_current_popup(void) {
+HAPI void quickpanel_common_ui_del_current_popup(void)
+{
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, , "invalid argument");
}
}
-HAPI void *quickpanel_ui_get_buffer_from_image(const char *file_path, size_t *memfile_size, char *ext, int ext_size)
+HAPI void *quickpanel_common_ui_get_buffer_from_image(const char *file_path, size_t *memfile_size, char *ext, int ext_size)
{
FILE *fp = NULL;
void *buffer = NULL;
return buffer;
}
-HAPI char *quickpanel_ui_get_pkginfo_icon(const char *pkgid) {
+HAPI char *quickpanel_common_ui_get_pkginfo_icon(const char *pkgid)
+{
int ret = 0;
char *icon_path = NULL;
char *icon_ret = NULL;
if (ret < 0) {
ERR("pkgmgrinfo_appinfo_get_icon is failed %d", ret);
}
- if(icon_path) {
+ if (icon_path) {
icon_ret = (char*)strdup(icon_path);
}
if (appinfo_h) {
return icon_ret;
}
-HAPI char *quickpanel_ui_get_pkginfo_label(const char *pkgid) {
+HAPI char *quickpanel_common_ui_get_pkginfo_label(const char *pkgid)
+{
int ret = 0;
char *label = NULL;
char *value_ret = NULL;
if (ret < 0) {
ERR("pkgmgrinfo_appinfo_get_icon is failed %d", ret);
}
- if(label) {
+ if (label) {
value_ret = (char*)strdup(label);
}
if (appinfo_h) {
return value_ret;
}
-HAPI int quickpanel_ui_is_package_exist(const char *pkgid) {
+HAPI int quickpanel_common_ui_is_package_exist(const char *pkgid)
+{
int ret = 0;
retif(pkgid == NULL, 0, "invalid parameter");
#ifndef __QP_COMMON_H_
#define __QP_COMMON_H_
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <Elementary.h>
-#include "quickpanel_debug_util.h"
#define QP_OK (0)
#define QP_FAIL (-1)
#define DBG(fmt , args...) \
do { \
debug_printf("[D]%s : %d] "fmt"\n", \
- __func__, __LINE__, ##args); \
+ __func__, __LINE__, ##args); \
} while (0)
#define INFO(fmt , args...) \
do { \
debug_printf("[I][%s : %d] "fmt"\n",\
- __func__, __LINE__, ##args); \
+ __func__, __LINE__, ##args); \
} while (0)
#define WARN(fmt , args...) \
do { \
debug_printf("[W][%s : %d] "fmt"\n", \
- __func__, __LINE__, ##args); \
+ __func__, __LINE__, ##args); \
} while (0)
#define ERR(fmt , args...) \
do { \
debug_printf("[E][%s : %d] "fmt"\n", \
- __func__, __LINE__, ##args); \
+ __func__, __LINE__, ##args); \
} while (0)
#else /*_DLOG_USED*/
} \
} while (0);
-
-void quickpanel_util_char_trim(char *text);
-void quickpanel_util_char_replace(char *text, char s, char t);
-void quickpanel_util_add_char_to_each_charactor(char *dst, const char *src, char t);
-int quickpanel_util_is_phone_number(const char *address);
-void quickpanel_util_phone_number_tts_make(char *dst, const char *src, int size);
-void quickpanel_ui_set_current_popup(Evas_Object *popup, Evas_Smart_Cb func_close);
-void quickpanel_ui_del_current_popup(void);
-void *quickpanel_ui_get_buffer_from_image(const char *file_path, size_t *memfile_size, char *ext, int ext_size);
-char *quickpanel_ui_get_pkginfo_icon(const char *pkgid);
-char *quickpanel_ui_get_pkginfo_label(const char *pkgid);
-int quickpanel_ui_is_package_exist(const char *pkgid);
+extern void quickpanel_common_util_char_trim(char *text);
+extern void quickpanel_common_util_char_replace(char *text, char s, char t);
+extern void quickpanel_common_util_add_char_to_each_charactor(char *dst, const char *src, char t);
+extern int quickpanel_common_util_is_phone_number(const char *address);
+extern void quickpanel_common_util_phone_number_tts_make(char *dst, const char *src, int size);
+extern void quickpanel_common_ui_set_current_popup(Evas_Object *popup, Evas_Smart_Cb func_close);
+extern void quickpanel_common_ui_del_current_popup(void);
+extern void *quickpanel_common_ui_get_buffer_from_image(const char *file_path, size_t *memfile_size, char *ext, int ext_size);
+extern char *quickpanel_common_ui_get_pkginfo_icon(const char *pkgid);
+extern char *quickpanel_common_ui_get_pkginfo_label(const char *pkgid);
+extern int quickpanel_common_ui_is_package_exist(const char *pkgid);
#endif /* __QP_COMMON_H_ */
*/
-#include <app.h>
+#include <Elementary.h>
#include <sys/utsname.h>
-#include <X11/Xlib.h>
-#include <utilX.h>
#include <Ecore_Input.h>
-#include <system_info_internal.h>
+
+#include <app.h>
#include <vconf.h>
#include <notification.h>
#include <app_control_internal.h>
+#include <bundle_internal.h>
+#include <system_info.h>
+#include <common_uic.h>
+
+#if defined(WINSYS_X11)
+#include <Ecore_X.h>
+#include <X11/Xlib.h>
+#include <utilX.h>
+#endif
+
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
#include "common.h"
#include "quickpanel-ui.h"
+
/* binary information */
#define QP_EMUL_STR "Emulator"
+#define DEL_TIMER_VALUE 0.480
+#define SYSTEM_INFO_KEY_MODEL "http://tizen.org/system/model_name"
+static Ecore_Timer *_close_timer = NULL;
+
static void _quickpanel_move_data_to_service(const char *key, const char *val, void *data)
{
app_control_add_extra_data(service, key, val);
}
-HAPI Evas_Object *quickpanel_ui_load_edj(Evas_Object * parent, const char *file,
- const char *group, int is_just_load)
+HAPI Evas_Object *quickpanel_uic_load_edj(Evas_Object * parent, const char *file, const char *group, int is_just_load)
{
Eina_Bool r;
Evas_Object *eo = NULL;
retif(eo == NULL, NULL, "Failed to add layout object!");
r = elm_layout_file_set(eo, file, group);
- retif(r != EINA_TRUE, NULL,
- "Failed to set edje object file[%s-%s]!", file, group);
+ retif(r != EINA_TRUE, NULL, "Failed to set edje object file[%s-%s]!", file, group);
- evas_object_size_hint_weight_set(eo,
- EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(eo,
- EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(eo, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(eo, EVAS_HINT_FILL, EVAS_HINT_FILL);
if (is_just_load == 1) {
elm_win_resize_object_add(parent, eo);
return eo;
}
-HAPI int quickpanel_is_opened(void)
+HAPI int quickpanel_uic_is_opened(void)
{
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, 0, "invalid data.");
return ad->is_opened;
}
-HAPI int quickpanel_is_suspended(void)
+HAPI int quickpanel_uic_is_suspended(void)
{
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, 0, "invalid data.");
return ad->is_suspended;
}
-HAPI int quickpanel_is_emul(void)
+HAPI int quickpanel_uic_is_emul(void)
{
int is_emul = 0;
char *info = NULL;
- if (system_info_get_value_string(SYSTEM_INFO_KEY_MODEL, &info) == 0) {
- if (info == NULL) return 0;
+ if (system_info_get_platform_string(SYSTEM_INFO_KEY_MODEL, &info) == 0) {
+ if (info == NULL) {
+ return 0;
+ }
if (!strncmp(QP_EMUL_STR, info, strlen(info))) {
is_emul = 1;
}
}
- if (info != NULL) free(info);
+ free(info);
return is_emul;
}
-HAPI void quickpanel_initial_resize(Evas_Object *obj, int height)
+HAPI void quickpanel_uic_initial_resize(Evas_Object *obj, int height)
{
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, , "invalid data.");
}
}
-HAPI int quickpanel_launch_app(char *app_id, void *data)
+HAPI int quickpanel_uic_launch_app(char *app_id, void *data)
{
int ret = APP_CONTROL_ERROR_NONE;
app_control_h service = NULL;
bundle_iterate((bundle *)data, _quickpanel_move_data_to_service, service);
}
} else {
- if (data != NULL)
- {
+ if (data != NULL) {
ret = app_control_import_from_bundle(service, data);
- if (ret != APP_CONTROL_ERROR_NONE)
- {
+ if (ret != APP_CONTROL_ERROR_NONE) {
ERR("Failed to import[%d]", ret);
}
}
ERR("app_control_send_launch_request() is failed : %d", ret);
app_control_get_app_id(service, &app_id_from_service);
if (app_id_from_service != NULL) {
- quickpanel_launch_app_inform_result(app_id_from_service, ret);
+ quickpanel_uic_launch_app_inform_result(app_id_from_service, ret);
free(app_id_from_service);
} else {
- quickpanel_launch_app_inform_result(app_id, ret);
+ quickpanel_uic_launch_app_inform_result(app_id, ret);
}
app_control_destroy(service);
return ret;
return ret;
}
-HAPI int quickpanel_launch_ug_by_appcontrol(const char *package, void *data)
+HAPI int quickpanel_uic_launch_ug_by_appcontrol(const char *package, void *data)
{
int ret = APP_CONTROL_ERROR_NONE;
app_control_h service = NULL;
return ret;
}
-HAPI void quickpanel_launch_app_inform_result(const char *pkgname, int retcode)
+HAPI void quickpanel_uic_launch_app_inform_result(const char *pkgname, int retcode)
{
- retif(retcode == APP_CONTROL_ERROR_NONE, , "Invialid parameter!");
+ retif(retcode == APP_CONTROL_ERROR_NONE, , "retcode = APP_CONTROL_ERROR_NONE!");
retif(pkgname == NULL && retcode != APP_CONTROL_ERROR_APP_NOT_FOUND, , "Invialid parameter!");
const char *msg = NULL;
char *format = _("IDS_QP_TPOP_UNABLE_TO_OPEN_PS");
if (strbuf != NULL) {
- app_label = quickpanel_ui_get_pkginfo_label(pkgname);
+ app_label = quickpanel_common_ui_get_pkginfo_label(pkgname);
if (app_label != NULL) {
eina_strbuf_append_printf(strbuf, format, app_label);
free(app_label);
}
}
-HAPI void quickpanel_open_quickpanel(int reason) {
- Ecore_X_Window xwin;
- Ecore_X_Window zone;
+HAPI void quickpanel_uic_open_quickpanel(int reason)
+{
struct appdata *ad = quickpanel_get_app_data();
DBG("reason:%d", reason);
retif(ad == NULL, , "Invalid parameter!");
retif(ad->win == NULL, , "Invalid parameter!");
+#if defined(WINSYS_X11)
+ Ecore_X_Window xwin;
+ Ecore_X_Window zone;
xwin = elm_win_xwindow_get(ad->win);
if (xwin != 0) {
if ((zone = ecore_x_e_illume_zone_get(xwin)) != 0) {
if (ecore_x_e_illume_quickpanel_state_get(zone) == ECORE_X_ILLUME_QUICKPANEL_STATE_OFF) {
ecore_x_e_illume_quickpanel_state_send(zone, ECORE_X_ILLUME_QUICKPANEL_STATE_ON);
- quickpanel_opened_reason_set(reason);
+ quickpanel_uic_opened_reason_set(reason);
}
} else {
ERR("failed to get zone");
} else {
ERR("failed to get xwin");
}
+#else
+ ERR("Not yet implemented");
+#endif
}
-HAPI void quickpanel_opened_reason_set(int reason) {
+HAPI void quickpanel_uic_opened_reason_set(int reason)
+{
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, , "Invalid parameter!");
ad->opening_reason = reason;
}
-HAPI int quickpanel_opened_reason_get(void) {
+HAPI int quickpanel_uic_opened_reason_get(void)
+{
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, OPENED_NO_REASON, "Invalid parameter!");
return ad->opening_reason;
}
-static void _quickpanel_close(void) {
- Ecore_X_Window xwin;
- Ecore_X_Window zone;
+static void _quickpanel_close(void)
+{
struct appdata *ad = quickpanel_get_app_data();
DBG("");
- retif(ad == NULL, , "Invalid parameter!");
- retif(ad->win == NULL, , "Invalid parameter!");
+ if (!ad || !ad->win) {
+ ERR("Invalid parameter");
+ return;
+ }
+#if defined(WINSYS_X11)
+ Ecore_X_Window xwin;
+ Ecore_X_Window zone;
xwin = elm_win_xwindow_get(ad->win);
if (xwin != 0) {
if ((zone = ecore_x_e_illume_zone_get(xwin)) != 0) {
} else {
ERR("failed to get xwin");
}
+#else
+ ERR("Not yet implemented");
+#endif
}
static Eina_Bool _quickpanel_close_timer_cb(void *data)
{
+ if (_close_timer != NULL) {
+ _close_timer = NULL;
+ }
_quickpanel_close();
return ECORE_CALLBACK_CANCEL;
}
-HAPI void quickpanel_close_quickpanel(bool is_check_lock, int is_delay_needed) {
+HAPI void quickpanel_uic_close_quickpanel(bool is_check_lock, int is_delay_needed) {
int ret = 0;
int is_lock_launched = VCONFKEY_IDLE_UNLOCK;
}
if (is_delay_needed) {
- ecore_timer_add(0.480, _quickpanel_close_timer_cb, NULL);
+ if( _close_timer == NULL ) {
+ _close_timer = ecore_timer_add(DEL_TIMER_VALUE, _quickpanel_close_timer_cb, NULL);
+ }
} else {
_quickpanel_close();
}
}
-HAPI void quickpanel_toggle_openning_quickpanel(void) {
+HAPI void quickpanel_uic_toggle_openning_quickpanel(void)
+{
Ecore_X_Window xwin;
Ecore_X_Window zone;
struct appdata *ad = quickpanel_get_app_data();
DBG("");
- retif(ad == NULL, , "Invalid parameter!");
- retif(ad->win == NULL, , "Invalid parameter!");
+ if (!ad || !ad->win) {
+ ERR("Invalid parameters");
+ return;
+ }
xwin = elm_win_xwindow_get(ad->win);
if (xwin != 0) {
OPENED_BY_CMD_SHOW_SETTINGS = 2,
} qp_open_reason;
-Evas_Object *quickpanel_ui_load_edj(Evas_Object * parent, const char *file,
- const char *group, int is_just_load);
-int quickpanel_launch_app(char *app_id, void *data);
-int quickpanel_launch_ug_by_appcontrol(const char *package, void *data);
-int quickpanel_is_emul(void);
-int quickpanel_is_suspended(void);
-int quickpanel_is_opened(void);
-void quickpanel_launch_app_inform_result(const char *pkgname, int retcode);
-void quickpanel_initial_resize(Evas_Object *obj, int height);
-void quickpanel_close_quickpanel(bool is_check_lock, int is_delay_needed);
-void quickpanel_open_quickpanel(int reason);
-void quickpanel_toggle_openning_quickpanel(void);
-void quickpanel_opened_reason_set(int reason);
-int quickpanel_opened_reason_get(void);
+extern Evas_Object *quickpanel_uic_load_edj(Evas_Object * parent, const char *file, const char *group, int is_just_load);
+extern int quickpanel_uic_launch_app(char *app_id, void *data);
+extern int quickpanel_uic_launch_ug_by_appcontrol(const char *package, void *data);
+extern int quickpanel_uic_is_emul(void);
+extern int quickpanel_uic_is_suspended(void);
+extern int quickpanel_uic_is_opened(void);
+extern void quickpanel_uic_launch_app_inform_result(const char *pkgname, int retcode);
+extern void quickpanel_uic_initial_resize(Evas_Object *obj, int height);
+extern void quickpanel_uic_close_quickpanel(bool is_check_lock, int is_delay_needed);
+extern void quickpanel_uic_open_quickpanel(int reason);
+extern void quickpanel_uic_toggle_openning_quickpanel(void);
+extern void quickpanel_uic_opened_reason_set(int reason);
+extern int quickpanel_uic_opened_reason_get(void);
#endif /* __QP_COMMON_UIC_H_ */
*
*/
-
-#include <app.h>
#include <glib.h>
#include <string.h>
+#include <Elementary.h>
+
+#include <app.h>
#include <vconf.h>
+#include <notification.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include <sound_manager.h>
+
#include "common.h"
+#include "common_uic.h"
#include "quickpanel-ui.h"
#include "list_util.h"
#include "quickpanel_def.h"
+#include "modules.h"
+#include "util-time.h"
+#include "media.h"
+
#ifdef QP_SCREENREADER_ENABLE
#include "accessibility.h"
#endif
-#include "modules.h"
+
#ifdef QP_EMERGENCY_MODE_ENABLE
#include "emergency_mode.h"
#endif
-#include "util-time.h"
static int _init(void *data);
static int _fini(void *data);
static Evas_Object *_datetime_view_get(void);
-static void _flag_set(Evas_Object *container, const char *key, int value) {
+static void _flag_set(Evas_Object *container, const char *key, int value)
+{
retif(container == NULL, , "invalid parameter");
retif(key == NULL, , "invalid parameter");
evas_object_data_set(container, key, (void *)value);
}
-static int _flag_get(Evas_Object *container, const char *key) {
+static int _flag_get(Evas_Object *container, const char *key)
+{
retif(container == NULL, 0, "invalid parameter");
retif(key == NULL, 0, "invalid parameter");
return (int)evas_object_data_get(container, key);
}
-static void _set_text_to_part(Evas_Object *obj, const char *part, const char *text) {
+static void _set_text_to_part(Evas_Object *obj, const char *part, const char *text)
+{
const char *old_text = NULL;
retif(obj == NULL, , "Invalid parameter!");
old_text = elm_object_part_text_get(obj, part);
if (old_text != NULL) {
if (strcmp(old_text, text) == 0) {
- return ;
+ return;
}
}
static void _text_time_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
Evas_Object *view = _datetime_view_get();
- if (view)
- {
- if (_flag_get(view, E_DATA_TIME_N_DATE_EVENT) == 0)
- {
+ int ret;
+
+ if (view) {
+ if (_flag_get(view, E_DATA_TIME_N_DATE_EVENT) == 0) {
DBG("Time & date area click is event disabled");
return;
}
}
- int ret;
- quickpanel_play_feedback();
+ quickpanel_media_play_feedback();
- ret = quickpanel_launch_ug_by_appcontrol(QP_TIMEDATE_SETTING_UG, NULL);
- quickpanel_launch_app_inform_result(QP_TIMEDATE_SETTING_UG, ret);
+ ret = quickpanel_uic_launch_ug_by_appcontrol(QP_TIMEDATE_SETTING_UG, NULL);
+ quickpanel_uic_launch_app_inform_result(QP_TIMEDATE_SETTING_UG, ret);
- quickpanel_close_quickpanel(true, 1);
+ quickpanel_uic_close_quickpanel(true, 1);
}
static void _button_setting_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
- quickpanel_play_feedback();
+ quickpanel_media_play_feedback();
#ifdef QP_EMERGENCY_MODE_ENABLE
if (quickpanel_emergency_mode_is_on()) {
- quickpanel_launch_app(PACKAGE_EMERGENCY_MODE_SETTING, NULL);
+ quickpanel_uic_launch_app(PACKAGE_EMERGENCY_MODE_SETTING, NULL);
} else {
- quickpanel_launch_app(QP_SETTING_PKG_SETTING, NULL);
+ quickpanel_uic_launch_app(QP_SETTING_PKG_SETTING, NULL);
}
#else
- quickpanel_launch_app(QP_SETTING_PKG_SETTING, NULL);
+ quickpanel_uic_launch_app(QP_SETTING_PKG_SETTING, NULL);
#endif
- quickpanel_close_quickpanel(true, 1);
+ quickpanel_uic_close_quickpanel(true, 1);
}
static Evas_Object *_datetime_view_create(Evas_Object *parent)
}
evas_object_size_hint_weight_set(view, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(view, EVAS_HINT_FILL, EVAS_HINT_FILL);
- quickpanel_initial_resize(view, QP_DATE_H);
+ quickpanel_uic_initial_resize(view, QP_DATE_H);
- focus = quickpanel_ui_get_focus_object(view);
+ focus = quickpanel_accessibility_ui_get_focus_object(view);
elm_object_part_content_set(view, "focus.datetime", focus);
evas_object_smart_callback_add(focus, "clicked", _text_time_clicked_cb, view);
-// focus = quickpanel_ui_get_focus_object(view);
-// elm_object_part_content_set(view, "focus.editing", focus);
-// evas_object_smart_callback_add(focus, "clicked", _button_editing_clicked_cb, view);
-
- focus = quickpanel_ui_get_focus_object(view);
+ focus = quickpanel_accessibility_ui_get_focus_object(view);
elm_object_part_content_set(view, "focus.setting", focus);
evas_object_smart_callback_add(focus, "clicked", _button_setting_clicked_cb, view);
-// focus = quickpanel_ui_get_focus_object(view);
-// elm_object_part_content_set(view, "focus.search", focus);
-// evas_object_smart_callback_add(focus, "clicked", _button_search_clicked_cb, view);
-
_flag_set(view, E_DATA_EDITING_VISIBILITT, 0);
- if (quickpanel_emergency_mode_is_on())
- {
+ if (quickpanel_emergency_mode_is_on()) {
_flag_set(view, E_DATA_TIME_N_DATE_EVENT, 0);
elm_object_signal_emit(view, "timendate.click.disable", "prog");
- }
- else
- {
+ } else {
_flag_set(view, E_DATA_TIME_N_DATE_EVENT, 1);
elm_object_signal_emit(view, "timendate.click.enable", "prog");
}
retif(ad->view_root == NULL, NULL, "invalid argument");
return elm_object_part_content_get(ad->view_root
- , "qp.base.datetime.swallow");
+ , "qp.base.datetime.swallow");
}
static void _datetime_view_attach(void *data)
DBG("date n time clickable set[%d]", is_clickable);
- if (view != NULL)
- {
- if (is_clickable == 1)
- {
- if (_flag_get(view, E_DATA_TIME_N_DATE_EVENT) == 0)
- {
+ if (view != NULL) {
+ if (is_clickable == 1) {
+ if (_flag_get(view, E_DATA_TIME_N_DATE_EVENT) == 0) {
_flag_set(view, E_DATA_TIME_N_DATE_EVENT, 1);
elm_object_signal_emit(view, "timendate.click.enable", "prog");
}
- }
- else
- {
- if (_flag_get(view, E_DATA_TIME_N_DATE_EVENT) == 1)
- {
+ } else {
+ if (_flag_get(view, E_DATA_TIME_N_DATE_EVENT) == 1) {
_flag_set(view, E_DATA_TIME_N_DATE_EVENT, 0);
elm_object_signal_emit(view, "timendate.click.disable", "prog");
}
}
}
-HAPI void quickpanel_datetime_editing_icon_visibility_set(int is_visible) {
+HAPI void quickpanel_datetime_editing_icon_visibility_set(int is_visible)
+{
Evas_Object *view = _datetime_view_get();
DBG("visibility set:%d", is_visible);
view = _datetime_view_get();
- if (!view)
- {
+ if (!view) {
ERR("view == NULL");
return;
}
strbuf_date = eina_strbuf_new();
- if(!strbuf_date)
- {
+ if(!strbuf_date) {
ERR("strbuf_date == NULL");
return;
}
strbuf_time = eina_strbuf_new();
- if(!strbuf_time)
- {
+ if(!strbuf_time) {
ERR("strbuf_time == NULL");
eina_strbuf_free(strbuf_date);
return;
}
strbuf_access = eina_strbuf_new();
- if(!strbuf_access)
- {
+ if(!strbuf_access) {
ERR("strbuf_access == NULL");
eina_strbuf_free(strbuf_date);
eina_strbuf_free(strbuf_time);
DBG("update time: %s %s %s", date, time, meridiem);
- if (date != NULL)
- {
+ if (date != NULL) {
eina_strbuf_append_printf(strbuf_date, "%s", date);
eina_strbuf_append_printf(strbuf_access, "%s ", date);
}
// -------------------------------------------------------------------------------------
- if (meridiem_type == UTIL_TIME_MERIDIEM_TYPE_PRE && meridiem != NULL && strlen(meridiem) != 0)
- {
+ if (meridiem_type == UTIL_TIME_MERIDIEM_TYPE_PRE && meridiem != NULL && strlen(meridiem) != 0) {
eina_strbuf_append_printf(strbuf_time, "<ampm>%s</> ", meridiem);
eina_strbuf_append_printf(strbuf_access, "%s ", meridiem);
}
- if (time != NULL)
- {
+ if (time != NULL) {
eina_strbuf_append_printf(strbuf_time, "<time>%s</>", time);
eina_strbuf_append_printf(strbuf_access, "%s ", time);
}
- if (meridiem_type == UTIL_TIME_MERIDIEM_TYPE_POST && meridiem != NULL && strlen(meridiem) != 0)
- {
+ if (meridiem_type == UTIL_TIME_MERIDIEM_TYPE_POST && meridiem != NULL && strlen(meridiem) != 0) {
eina_strbuf_append_printf(strbuf_time, " <ampm>%s</>", meridiem);
eina_strbuf_append_printf(strbuf_access, "%s ", meridiem);
}
_set_text_to_part(view, "text.date", eina_strbuf_string_get(strbuf_date));
_set_text_to_part(view, "text.time", eina_strbuf_string_get(strbuf_time));
- quickpanel_screen_reader_data_set(view, "focus.datetime", "", (char *)eina_strbuf_string_get(strbuf_access));
-
+ quickpanel_accessibility_screen_reader_data_set(view, "focus.datetime", "", (char *)eina_strbuf_string_get(strbuf_access));
eina_strbuf_free(strbuf_date);
eina_strbuf_free(strbuf_time);
eina_strbuf_free(strbuf_access);
-// quickpanel_screen_reader_data_set(view
-// , "focus.editing", "", _NOT_LOCALIZED("Set the quick setting buttons"));
- quickpanel_screen_reader_data_set(view
- , "focus.setting", "", _NOT_LOCALIZED("Settings"));
-// quickpanel_screen_reader_data_set(view
-// , "focus.search", "", quickpanel_ui_get_pkginfo_label(QP_SEARCH_PKG));
+ quickpanel_accessibility_screen_reader_data_set(view
+ , "focus.setting", "", _NOT_LOCALIZED("Settings"));
}
#ifndef __DATETIME_H__
#define __DATETIME_H__
-void quickpanel_datetime_datentime_event_set(int is_clickable);
-void quickpanel_datetime_editing_icon_visibility_set(int is_visible);
-void quickpanel_datetime_view_update(char *date, char *time, char *meridiem, int meridiem_type);
+extern void quickpanel_datetime_datentime_event_set(int is_clickable);
+extern void quickpanel_datetime_editing_icon_visibility_set(int is_visible);
+extern void quickpanel_datetime_view_update(char *date, char *time, char *meridiem, int meridiem_type);
#endif /* __DATETIME_H__ */
*/
-#include <appcore-common.h>
-#include <vconf.h>
-#include <vconf-keys.h>
-#include <dlog.h>
-#include <app_control.h>
+#include <Elementary.h>
#include <ctype.h>
+#include <glib.h>
#include <unicode/utypes.h>
#include <unicode/putil.h>
#include <unicode/udatpg.h>
#include <unicode/ustring.h>
+#include <appcore-common.h>
+#include <app_control.h>
+#include <vconf.h>
+#include <vconf-keys.h>
+#include <dlog.h>
+#include <system_settings.h>
+#include <utils_i18n.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include <notification.h>
+
#include "common.h"
#include "quickpanel-ui.h"
#include "util-time.h"
#include "datetime.h"
+#include "noti_node.h"
+#include "noti.h"
#define TIME_ZONEINFO_PATH "/usr/share/zoneinfo/"
#define TIME_ZONEINFO_PATH_LEN (strlen(TIME_ZONEINFO_PATH))
+#define BUF_FORMATTER 64
static const char *colon = ":";
static const char *ratio = "∶";
-
static int _init(void *data);
static int _fini(void *data);
static void _lang_changed(void *data);
+static void _util_time_heartbeat_do(void);
QP_Module qp_datetime_controller = {
.name = "qp_datetime_controller",
UChar *str = NULL;
len = strlen(chars);
str = (UChar *) malloc(sizeof(UChar) *(len + 1));
- if (!str)
+ if (!str) {
return NULL;
+ }
u_uastrcpy(str, chars);
return str;
}
DBG("ICU_set_timezone = %s ", timezone);
UErrorCode ec = U_ZERO_ERROR;
UChar *str = uastrcpy(timezone);
+ retif(str == NULL, , "uastrcpy error!");
ucal_setDefaultTimeZone(str, &ec);
if (U_SUCCESS(ec)) {
DBG("ucal_setDefaultTimeZone() SUCCESS ");
} else {
ERR("ucal_setDefaultTimeZone() FAILED : %s ",
- u_errorName(ec));
+ u_errorName(ec));
}
free(str);
}
static char *_get_locale(void)
{
char locale_tmp[32] = { 0, };
- char *locale = vconf_get_str(VCONFKEY_REGIONFORMAT);
- if (locale == NULL)
- {
+ char *locale = NULL; //vconf_get_str(VCONFKEY_REGIONFORMAT);
+ int ret = 0;
+
+ ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &locale);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to ignore key(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY) : %d", ret);
+
+ if (locale == NULL) {
ERR("vconf_get_str() failed : region format");
return strdup("en_GB");
}
strncpy(locale_tmp, locale, sizeof(locale_tmp) - 1);
// remove .UTF-8
- if (strlen(locale_tmp) > 0)
- {
+ if (strlen(locale_tmp) > 0) {
char *p = strstr(locale_tmp, ".UTF-8");
- if (p)
- {
+ if (p) {
*p = 0;
}
}
free(locale);
- if (strlen(locale_tmp) > 0)
- {
+ if (strlen(locale_tmp) > 0) {
return strdup(locale_tmp);
}
}
/*static char *_get_locale_for_date(void)
-{
- char *locale = vconf_get_str(VCONFKEY_REGIONFORMAT);
- if (locale == NULL)
- {
- ERR("vconf_get_str() failed : region format");
- return strdup("en_GB.UTF8");
- }
-
- if (strlen(locale) > 0)
- {
- return locale;
- }
-
- return strdup("en_GB.UTF8");
-}*/
-
-static UDateFormat *_get_formatter_time(void *data, int time_format, const char *timezone)
-{
- UErrorCode status = U_ZERO_ERROR;
- char buf[64] = {0,};
- char *locale = NULL;
- UChar u_pattern[64] = {0,};
- UChar u_timezone[64] = {0,};
- UDateFormat *formatter = NULL;
- struct appdata *ad = data;
- retif_nomsg(ad == NULL, NULL);
-
- UDateTimePatternGenerator *generator = NULL;
- UChar u_best_pattern[64] = {0,};
- int32_t u_best_pattern_capacity;
-
-#ifdef HAVE___SECURE_GETENV
- uloc_setDefault(__secure_getenv("LC_TIME"), &status);
-#elif defined HAVE_SECURE_GETENV
- uloc_setDefault(secure_getenv("LC_TIME"), &status);
-#else
- uloc_setDefault(getenv("LC_TIME"), &status);
-#endif
- if (U_FAILURE(status)) {
- ERR("uloc_setDefault() is failed.");
- return NULL;
- }
-
- if(time_format == APPCORE_TIME_FORMAT_24) {
- snprintf(buf, sizeof(buf)-1, "%s", "HH:mm");
- } else {
- /* set time format 12 */
- snprintf(buf, sizeof(buf)-1, "%s", "h:mm");
- }
- if(u_uastrncpy(u_pattern, buf, sizeof(u_pattern)) == NULL) {
- ERR("u_uastrncpy() is failed.");
- return NULL;
- }
-
- locale = _get_locale();
-
- if(time_format == APPCORE_TIME_FORMAT_12) {
- generator = udatpg_open(locale, &status);
- if(U_FAILURE(status)) {
- ERR("udatpg_open() failed");
- generator = NULL;
- if(locale) {
- free(locale);
- locale = NULL;
- }
- return NULL;
- }
-
- u_best_pattern_capacity =
- (int32_t) (sizeof(u_best_pattern) / sizeof((u_best_pattern)[0]));
-
- udatpg_getBestPattern(generator, u_pattern, u_strlen(u_pattern),
- u_best_pattern, u_best_pattern_capacity, &status);
- if(U_FAILURE(status)) {
- ERR("udatpg_getBestPattern() failed");
- if(locale) {
- free(locale);
- locale = NULL;
- }
- }
-
- /* remove am/pm of best pattern */
- char a_best_pattern[64] = {0.};
- u_austrcpy(a_best_pattern, u_best_pattern);
- char *a_best_pattern_fixed = strtok(a_best_pattern, "a");
- a_best_pattern_fixed = strtok(a_best_pattern_fixed, " ");
- if(a_best_pattern_fixed) {
- u_uastrcpy(u_best_pattern, a_best_pattern_fixed);
- }
- u_strncpy(u_pattern, u_best_pattern, sizeof(u_pattern));
- }
-
- if(timezone) {
- u_uastrncpy(u_timezone, timezone, sizeof(u_timezone));
- formatter = udat_open(UDAT_IGNORE, UDAT_IGNORE, locale, u_timezone, -1,
- u_pattern, -1, &status);
- } else {
- formatter = udat_open(UDAT_IGNORE, UDAT_IGNORE, locale, NULL, -1,
- u_pattern, -1, &status);
- }
- if (U_FAILURE(status)) {
- ERR("udat_open() is failed.");
- if(locale) {
- free(locale);
- locale = NULL;
- }
- return NULL;
- }
-
- if(locale) {
- free(locale);
- locale = NULL;
- }
-
- if(generator) {
- udat_close(generator);
- generator = NULL;
- }
-
- if(formatter) {
- return formatter;
- } else {
- return NULL;
- }
-}
-
-static UDateFormat *_get_formatter_ampm(void *data, const char *timezone)
-{
- UErrorCode status = U_ZERO_ERROR;
-
- char a_best_pattern[64] = {0.};
- char *locale = NULL;
-
- UChar u_timezone[64] = {0,};
- UChar u_skeleton[64] = {0,};
- int skeleton_len = 0;
-
- UDateFormat *formatter = NULL;
- UDateTimePatternGenerator *generator = NULL;
-
- UChar u_best_pattern[64] = {0,};
- int32_t u_best_pattern_capacity;
-
- struct appdata *ad = data;
- retif_nomsg(ad == NULL, NULL);
-
-#ifdef HAVE___SECURE_GETENV
- uloc_setDefault(__secure_getenv("LC_TIME"), &status);
-#elif defined HAVE_SECURE_GETENV
- uloc_setDefault(secure_getenv("LC_TIME"), &status);
-#else
- uloc_setDefault(getenv("LC_TIME"), &status);
-#endif
- if (U_FAILURE(status)) {
- ERR("uloc_setDefault() is failed.");
- return NULL;
- }
-
- locale = _get_locale();
-
- u_uastrncpy(u_skeleton, "hhmm", strlen("hhmm"));
- skeleton_len = u_strlen(u_skeleton);
-
- generator = udatpg_open(locale, &status);
- if(U_FAILURE(status)) {
- ERR("udatpg_open() failed");
- generator = NULL;
- if(locale) {
- free(locale);
- locale = NULL;
- }
- return NULL;
- }
-
- u_best_pattern_capacity =
- (int32_t) (sizeof(u_best_pattern) / sizeof((u_best_pattern)[0]));
-
- udatpg_getBestPattern(generator, u_skeleton, skeleton_len,
- u_best_pattern, u_best_pattern_capacity, &status);
- if(U_FAILURE(status)) {
- ERR("udatpg_getBestPattern() failed");
- if(locale) {
- free(locale);
- locale = NULL;
- }
- }
-
- u_austrcpy(a_best_pattern, u_best_pattern);
- u_uastrcpy(u_best_pattern, "a");
-
- if(a_best_pattern[0] == 'a') {
- s_info.is_pre_meridiem = EINA_TRUE;
- } else {
- s_info.is_pre_meridiem = EINA_FALSE;
- }
-
- if(timezone != NULL) {
- u_uastrncpy(u_timezone, timezone, sizeof(u_timezone));
- formatter = udat_open(UDAT_IGNORE, UDAT_IGNORE, locale, u_timezone, -1,
- u_best_pattern, -1, &status);
- } else {
- formatter = udat_open(UDAT_IGNORE, UDAT_IGNORE, locale, NULL, -1,
- u_best_pattern, -1, &status);
- }
-
- if(U_FAILURE(status)) {
- ERR("udat_open() failed");
- if(locale) {
- free(locale);
- locale = NULL;
- }
- return NULL;
- }
-
- if(locale) {
- free(locale);
- locale = NULL;
- }
-
- if(generator) {
- udat_close(generator);
- generator = NULL;
- }
-
- return formatter;
-}
-
-//static int _get_formatter_date(void *data, const char *timezone, Eina_Bool is_info, const char *skeleton)
-static UDateFormat *_get_formatter_date(void *data, const char *timezone, Eina_Bool is_info, const char *skeleton)
-{
- UErrorCode status = U_ZERO_ERROR;
- UChar u_timezone[64] = {0,};
- UChar u_skeleton[64] = {0,};
- int skeleton_len = 0;
- char *locale = NULL;
-
- UDateFormat *formatter = NULL;
- UDateTimePatternGenerator *generator = NULL;
-
- UChar u_best_pattern[64] = {0,};
- int32_t u_best_pattern_capacity;
-
- struct appdata *ad = data;
- retif_nomsg(ad == NULL, NULL);
-
-#ifdef HAVE___SECURE_GETENV
- uloc_setDefault(__secure_getenv("LC_TIME"), &status);
-#elif defined HAVE_SECURE_GETENV
- uloc_setDefault(secure_getenv("LC_TIME"), &status);
-#else
- uloc_setDefault(getenv("LC_TIME"), &status);
-#endif
- if (U_FAILURE(status)) {
- ERR("uloc_setDefault() is failed.");
- return NULL;
- }
-
- locale = _get_locale();
- if (locale == NULL)
- {
- ERR("vconf_get_str() failed : region format");
- locale = strdup("en_GB.UTF-8");
- }
-
- u_uastrncpy(u_skeleton, skeleton, strlen(skeleton));
- skeleton_len = u_strlen(u_skeleton);
-
- generator = udatpg_open(locale, &status);
- if(U_FAILURE(status)) {
- ERR("udatpg_open() failed");
- generator = NULL;
- if(locale) {
- free(locale);
- locale = NULL;
- }
- return NULL;
- }
-
- u_best_pattern_capacity =
- (int32_t) (sizeof(u_best_pattern) / sizeof((u_best_pattern)[0]));
-
- (void)udatpg_getBestPattern(generator, u_skeleton, skeleton_len,
- u_best_pattern, u_best_pattern_capacity, &status);
- if(U_FAILURE(status)) {
- ERR("udatpg_getBestPattern() failed");
- if(locale) {
- free(locale);
- locale = NULL;
- }
- }
-
- if(timezone) {
- u_uastrncpy(u_timezone, timezone, sizeof(u_timezone));
- formatter = udat_open(UDAT_IGNORE, UDAT_DEFAULT, locale, u_timezone, -1,
- u_best_pattern, u_strlen(u_best_pattern), &status);
- } else {
- formatter = udat_open(UDAT_IGNORE, UDAT_DEFAULT, locale, NULL, -1,
- u_best_pattern, u_strlen(u_best_pattern), &status);
- }
- if(U_FAILURE(status)) {
- ERR("udat_open() is failed.");
- if(locale) {
- free(locale);
- locale = NULL;
- }
- return NULL;
- }
+ {
+ char *locale = vconf_get_str(VCONFKEY_REGIONFORMAT);
+ if (locale == NULL) {
+ ERR("vconf_get_str() failed : region format");
+ return strdup("en_GB.UTF8");
+ }
- if(locale) {
- free(locale);
- locale = NULL;
- }
+ if (strlen(locale) > 0) {
+ return locale;
+ }
- if(generator) {
- udat_close(generator);
- generator = NULL;
- }
-
- return formatter;
-}
+ return strdup("en_GB.UTF8");
+ }*/
static inline char *_extend_heap(char *buffer, int *sz, int incsz)
{
STATE_END,
} state;
- if (!src || !pattern)
+ if (!src || !pattern) {
return NULL;
+ }
out_sz = strlen(src);
ret = strdup(src);
case STATE_CHECK:
if (!pattern[idx]) {
/*!
- * If there is no space for copying the replacement,
- * Extend size of the return buffer.
- */
+ * If there is no space for copying the replacement,
+ * Extend size of the return buffer.
+ */
if (out_sz - out_idx < strlen(replace) + 1) {
tmp = _extend_heap(ret, &out_sz, strlen(replace) + 1);
if (!tmp) {
return ret;
}
-int get_formatted_time_from_utc_time(time_t intime, char *buf, int buf_len, const char *timezone, int time_format, void *data)
-{
- struct appdata *ad = data;
- retif_nomsg(ad == NULL, -1);
-
- UDate u_time = (UDate)intime * 1000;
- UChar u_formatted_str[64] = {0,};
- int32_t u_formatted_str_capacity;
-
- UErrorCode status = U_ZERO_ERROR;
-
- UDateFormat *formatter = _get_formatter_time(ad, time_format, timezone);
- if(formatter == NULL) {
- ERR("_get_formatter_time() failed");
- return -1;
- }
-
- /* calculate formatted string capacity */
- u_formatted_str_capacity =
- (int32_t)(sizeof(u_formatted_str) / sizeof((u_formatted_str)[0]));
-
- /* fomatting date using formatter */
- (void)udat_format(formatter, u_time, u_formatted_str, u_formatted_str_capacity,
- NULL, &status);
- if(U_FAILURE(status)) {
- ERR("udat_format() failed");
- if(formatter) {
- udat_close(formatter);
- formatter = NULL;
- }
- return -1;
- }
-
- buf = u_austrncpy(buf, u_formatted_str, buf_len);
- DBG("time : %s %d", buf, intime);
- if(formatter) {
- udat_close(formatter);
- formatter = NULL;
- }
- return 0;
-}
-
-int get_formatted_ampm_from_utc_time(time_t intime, char *buf, int buf_len, int *ampm_len, const char *timezone, void *data)
-{
- struct appdata *ad = data;
- retif_nomsg(ad == NULL, -1);
-
- UDate u_time = (UDate)intime * 1000;
- UChar u_formatted_str[64] = {0,};
- int32_t u_formatted_str_capacity;
-
- UErrorCode status = U_ZERO_ERROR;
-
- UDateFormat *formatter = _get_formatter_ampm(ad, timezone);
-
- if(formatter == NULL){
- ERR("_get_formatter_ampm() failed");
- return -1;
- }
-
- u_formatted_str_capacity =
- (int32_t)(sizeof(u_formatted_str) / sizeof((u_formatted_str)[0]));
-
- (void)udat_format(formatter, u_time, u_formatted_str, u_formatted_str_capacity,
- NULL, &status);
-
- if(U_FAILURE(status)) {
- ERR("udat_format() failed");
- if(formatter) {
- udat_close(formatter);
- formatter = NULL;
- }
- return -1;
- }
-
- (*ampm_len) = u_strlen(u_formatted_str);
-
- buf = u_austrncpy(buf, u_formatted_str, buf_len);
- DBG("ampm : %s %d", buf, intime);
- if(formatter) {
- udat_close(formatter);
- formatter = NULL;
- }
- return 0;
-}
-
-int get_formatted_date_from_utc_time(time_t intime, char *buf, int buf_len, const char *timezone, void *data, const char *format)
-{
- struct appdata *ad = data;
- retif_nomsg(ad == NULL, -1);
-
- UDate u_time = (UDate)intime *1000;
- UChar u_formatted_str[64] = {0,};
- int32_t u_formatted_str_capacity;
- UErrorCode status = U_ZERO_ERROR;
-
- UDateFormat *formatter = NULL;
-
- if(format) {
- formatter = _get_formatter_date(ad, timezone, EINA_TRUE, format);
- } else {
- formatter = _get_formatter_date(ad, timezone, EINA_TRUE, "MMMEd");
- }
- if(formatter == NULL) {
- ERR("_get_formatter_time() failed");
- return -1;
- }
-
- u_formatted_str_capacity =
- (int32_t)(sizeof(u_formatted_str) / sizeof((u_formatted_str)[0]));
-
- (void)udat_format(formatter, u_time, u_formatted_str, u_formatted_str_capacity,
- NULL, &status);
- if(U_FAILURE(status)) {
- ERR("udat_format() failed");
- if(formatter) {
- udat_close(formatter);
- formatter = NULL;
- }
- return -1;
- }
-
- buf = u_austrncpy(buf, u_formatted_str, buf_len);
- DBG("time : %s %d", buf, intime);
- if(formatter) {
- udat_close(formatter);
- formatter = NULL;
- }
- return 0;
-}
-
-int get_simple_formatted_date_from_utc_time(time_t intime, char *buf, int buf_len, const char *timezone, void *data)
-{
- struct appdata *ad = data;
- retif_nomsg(ad == NULL, -1);
-
- time_t today;
- struct tm loc_time;
-
- today = time(NULL);
- localtime_r(&today, &loc_time);
-
- loc_time.tm_sec = 0;
- loc_time.tm_min = 0;
- loc_time.tm_hour = 0;
- today = mktime(&loc_time);
-
- localtime_r(&intime, &loc_time);
-
- char time_buf[64] = {0, };
- int time_buf_len = sizeof(time_buf);
- char ampm_buf[64] = {0, };
- int ampm_buf_len = sizeof(ampm_buf);
- int ampm_dst_len = 0;
- int r = 0;
- enum appcore_time_format timeformat = APPCORE_TIME_FORMAT_UNKNOWN;
-
- if(intime < today) {
- /* show only simple date */
- get_formatted_date_from_utc_time(intime, buf, buf_len, timezone, ad, UDAT_ABBR_MONTH_DAY);
- } else {
-
- /* ampm format */
- if(s_info.timeformat == APPCORE_TIME_FORMAT_UNKNOWN) {
- r = appcore_get_timeformat(&timeformat);
- if(r == 0) {
- s_info.timeformat = timeformat;
- } else {
- s_info.timeformat = APPCORE_TIME_FORMAT_UNKNOWN;
- }
- }
-
- /* show time */
- if(s_info.timeformat == APPCORE_TIME_FORMAT_24) {
- get_formatted_time_from_utc_time(intime, buf, buf_len, timezone, APPCORE_TIME_FORMAT_24, ad);
- } else {
- get_formatted_time_from_utc_time(intime, time_buf, time_buf_len, timezone, APPCORE_TIME_FORMAT_12, ad);
- get_formatted_ampm_from_utc_time(intime, ampm_buf, ampm_buf_len, &m_dst_len, timezone, ad);
- if(ampm_dst_len > 4) {
- if(loc_time.tm_hour > 12) {
- snprintf(ampm_buf, sizeof(ampm_buf)-1, "%s", "PM");
- } else {
- snprintf(ampm_buf, sizeof(ampm_buf)-1, "%s", "AM");
- }
- }
- if(strlen(ampm_buf) + strlen(time_buf) < buf_len - 1) {
- if(s_info.is_pre_meridiem) {
- snprintf(buf, buf_len-1, "%s %s", ampm_buf, time_buf);
- } else {
- snprintf(buf, buf_len-1, "%s %s", time_buf, ampm_buf);
- }
- } else {
- snprintf(buf, buf_len-1, "%s", time_buf);
- }
- }
- }
- DBG("%s %d", buf, intime);
- return 0;
-}
-
-int get_dbf_formatted_date_time_from_utc_time(time_t intime, char *buf, int buf_len, const char *timezone, void *data)
-{
- UErrorCode status = U_ZERO_ERROR;
- struct appdata *ad = data;
- retif_nomsg(ad == NULL, -1);
-
- UDate u_time = (UDate)intime*1000;
- UDateFormat *formatter_date = NULL;
- int32_t u_formatted_date_capacity;
- UChar u_formatted_date_str[64] = {0,};
- char buf_date[64] = {0,};
- char *locale = NULL;
- char buf_time[64] = {0,};
-
- locale = _get_locale();
-
- /* date */
- formatter_date = udat_open(UDAT_NONE, UDAT_SHORT, locale, NULL, -1, NULL, -1, &status);
- if(U_FAILURE(status)) {
- ERR("udat_open() failed");
- if(formatter_date) {
- udat_close(formatter_date);
- formatter_date = NULL;
- }
- if(locale) {
- free(locale);
- locale = NULL;
- }
- return -1;
- }
-
- u_formatted_date_capacity = (int32_t)(sizeof(u_formatted_date_str)/sizeof((u_formatted_date_str)[0]));
- (void)udat_format(formatter_date, u_time, u_formatted_date_str, u_formatted_date_capacity, NULL, &status);
- if(U_FAILURE(status)) {
- ERR("udat_format() failed");
- if(formatter_date) {
- udat_close(formatter_date);
- formatter_date = NULL;
- }
- if(locale) {
- free(locale);
- locale = NULL;
- }
- return -1;
- }
- u_austrncpy(buf_date, u_formatted_date_str, sizeof(buf_date)-1);
-
- if(formatter_date) {
- udat_close(formatter_date);
- formatter_date = NULL;
- }
- if(locale) {
- free(locale);
- locale = NULL;
- }
-
- /* time */
- get_formatted_time_from_utc_time(intime, buf_time, sizeof(buf_time)-1, timezone, s_info.timeformat, ad);
-
- /* integrate */
- if(strlen(buf_date) + strlen(buf_time) < buf_len-2) {
- snprintf(buf, buf_len-1, "%s %s", buf_date, buf_time);
- }
- DBG("%s", buf);
-
- return 0;
-}
-
-
-
static UDateTimePatternGenerator *__util_time_generator_get(void *data)
{
UErrorCode status = U_ZERO_ERROR;
retif_nomsg(s_info.timeregion_format == NULL, NULL);
generator = udatpg_open(s_info.timeregion_format, &status);
- if(U_FAILURE(status)) {
+ if (U_FAILURE(status)) {
ERR("udatpg_open() failed");
generator = NULL;
return NULL;
retif_nomsg(s_info.dateregion_format == NULL, NULL);
generator = udatpg_open(s_info.dateregion_format, &status);
- if(U_FAILURE(status)) {
+ if (U_FAILURE(status)) {
ERR("udatpg_open() failed");
generator = NULL;
return NULL;
{
UErrorCode status = U_ZERO_ERROR;
- UChar u_skeleton[64] = {0,};
+ UChar u_skeleton[BUF_FORMATTER] = {0,};
int skeleton_len = 0;
- UChar u_best_pattern[64] = {0,};
+ UChar u_best_pattern[BUF_FORMATTER] = {0,};
int32_t u_best_pattern_capacity;
UDateFormat *formatter = NULL;
skeleton_len = u_strlen(u_skeleton);
u_best_pattern_capacity =
- (int32_t) (sizeof(u_best_pattern) / sizeof((u_best_pattern)[0]));
+ (int32_t) (sizeof(u_best_pattern) / sizeof((u_best_pattern)[0]));
udatpg_getBestPattern(s_info.date_generator, u_skeleton, skeleton_len,
- u_best_pattern, u_best_pattern_capacity, &status);
- if(U_FAILURE(status)) {
+ u_best_pattern, u_best_pattern_capacity, &status);
+ if (U_FAILURE(status)) {
ERR("udatpg_getBestPattern() failed");
return NULL;
}
- UChar u_timezone_id[64] = {0,};
- if(timezone_id == NULL) {
+ UChar u_timezone_id[BUF_FORMATTER] = {0,};
+ if (timezone_id == NULL) {
u_uastrncpy(u_timezone_id, s_info.timezone_id, sizeof(u_timezone_id));
formatter = udat_open(UDAT_IGNORE, UDAT_IGNORE, s_info.dateregion_format, u_timezone_id, -1,
- u_best_pattern, -1, &status);
+ u_best_pattern, -1, &status);
} else {
u_uastrncpy(u_timezone_id, timezone_id, sizeof(u_timezone_id));
formatter = udat_open(UDAT_IGNORE, UDAT_IGNORE, s_info.dateregion_format, u_timezone_id, -1,
- u_best_pattern, -1, &status);
+ u_best_pattern, -1, &status);
}
- if(U_FAILURE(status)) {
+ if (U_FAILURE(status)) {
ERR("udat_open() failed");
return NULL;
}
- char a_best_pattern[64] = {0,};
+ char a_best_pattern[BUF_FORMATTER] = {0,};
u_austrcpy(a_best_pattern, u_best_pattern);
return formatter;
{
UErrorCode status = U_ZERO_ERROR;
- UChar u_best_pattern[64] = {0,};
+ UChar u_best_pattern[BUF_FORMATTER] = {0,};
UDateFormat *formatter = NULL;
struct appdata *ad = data;
u_uastrcpy(u_best_pattern, "a");
- UChar u_timezone_id[64] = {0,};
- if(timezone_id == NULL) {
+ UChar u_timezone_id[BUF_FORMATTER] = {0,};
+ if (timezone_id == NULL) {
u_uastrncpy(u_timezone_id, s_info.timezone_id, sizeof(u_timezone_id));
formatter = udat_open(UDAT_IGNORE, UDAT_IGNORE, s_info.timeregion_format, u_timezone_id, -1,
- u_best_pattern, -1, &status);
+ u_best_pattern, -1, &status);
} else {
u_uastrncpy(u_timezone_id, timezone_id, sizeof(u_timezone_id));
formatter = udat_open(UDAT_IGNORE, UDAT_IGNORE, s_info.timeregion_format, u_timezone_id, -1,
- u_best_pattern, -1, &status);
+ u_best_pattern, -1, &status);
}
- if(U_FAILURE(status)) {
+ if (U_FAILURE(status)) {
ERR("udat_open() failed");
return NULL;
}
- char a_best_pattern[64] = {0,};
+ char a_best_pattern[BUF_FORMATTER] = {0,};
u_austrcpy(a_best_pattern, u_best_pattern);
return formatter;
static UDateFormat *__util_time_time_formatter_get(void *data, int time_format, const char *timezone_id)
{
- char buf[64] = {0,};
+ char buf[BUF_FORMATTER] = {0,};
UErrorCode status = U_ZERO_ERROR;
- UChar u_pattern[64] = {0,};
- UChar u_best_pattern[64] = {0,};
+ UChar u_pattern[BUF_FORMATTER] = {0,};
+ UChar u_best_pattern[BUF_FORMATTER] = {0,};
int32_t u_best_pattern_capacity;
- char a_best_pattern[64] = {0,};
+ char a_best_pattern[BUF_FORMATTER] = {0,};
UDateFormat *formatter = NULL;
retif_nomsg(ad == NULL, NULL);
retif_nomsg(s_info.generator == NULL, NULL);
- if(time_format == APPCORE_TIME_FORMAT_24) {
+ if (time_format == APPCORE_TIME_FORMAT_24) {
snprintf(buf, sizeof(buf)-1, "%s", "HH:mm");
} else {
/* set time format 12 */
snprintf(buf, sizeof(buf)-1, "%s", "h:mm");
}
- if(u_uastrncpy(u_pattern, buf, sizeof(u_pattern)) == NULL) {
+ if (u_uastrncpy(u_pattern, buf, sizeof(u_pattern)) == NULL) {
ERR("u_uastrncpy() is failed.");
return NULL;
}
u_best_pattern_capacity =
- (int32_t) (sizeof(u_best_pattern) / sizeof((u_best_pattern)[0]));
+ (int32_t) (sizeof(u_best_pattern) / sizeof((u_best_pattern)[0]));
udatpg_getBestPattern(s_info.generator, u_pattern, u_strlen(u_pattern),
- u_best_pattern, u_best_pattern_capacity, &status);
- if(U_FAILURE(status)) {
+ u_best_pattern, u_best_pattern_capacity, &status);
+ if (U_FAILURE(status)) {
ERR("udatpg_getBestPattern() failed");
return NULL;
}
u_austrcpy(a_best_pattern, u_best_pattern);
- if(a_best_pattern[0] == 'a') {
+ if (a_best_pattern[0] == 'a') {
s_info.is_pre_meridiem = EINA_TRUE;
} else {
s_info.is_pre_meridiem = EINA_FALSE;
}
- char *a_best_pattern_fixed = strtok(a_best_pattern, "a");
- a_best_pattern_fixed = strtok(a_best_pattern_fixed, " ");
- if(a_best_pattern_fixed) {
- u_uastrcpy(u_best_pattern, a_best_pattern_fixed);
- }
+ u_uastrcpy(u_best_pattern, buf);
- UChar u_timezone_id[64] = {0,};
- if(timezone_id == NULL) {
+ UChar u_timezone_id[BUF_FORMATTER] = {0,};
+ if (timezone_id == NULL) {
u_uastrncpy(u_timezone_id, s_info.timezone_id, sizeof(u_timezone_id));
formatter = udat_open(UDAT_IGNORE, UDAT_IGNORE, s_info.timeregion_format, u_timezone_id, -1,
- u_best_pattern, -1, &status);
+ u_best_pattern, -1, &status);
} else {
u_uastrncpy(u_timezone_id, timezone_id, sizeof(u_timezone_id));
formatter = udat_open(UDAT_IGNORE, UDAT_IGNORE, s_info.timeregion_format, u_timezone_id, -1,
- u_best_pattern, -1, &status);
+ u_best_pattern, -1, &status);
}
- if(U_FAILURE(status)) {
+ if (U_FAILURE(status)) {
ERR("udat_open() failed");
return NULL;
}
s_info.formatter_date = __util_time_date_formatter_get(ad, NULL, "MMMMEd");
}
- if(s_info.timeformat == APPCORE_TIME_FORMAT_12) {
+ if (s_info.timeformat == APPCORE_TIME_FORMAT_12) {
if (s_info.formatter_ampm == NULL) {
s_info.formatter_ampm = __util_time_ampm_formatter_get(ad, NULL);
}
struct appdata *ad = data;
retif_nomsg(ad == NULL, );
- if(s_info.date_generator) {
+ if (s_info.date_generator) {
udat_close(s_info.date_generator);
s_info.date_generator = NULL;
}
- if(s_info.generator) {
+ if (s_info.generator) {
udat_close(s_info.generator);
s_info.generator = NULL;
}
- if(s_info.formatter_date) {
+ if (s_info.formatter_date) {
udat_close(s_info.formatter_date);
s_info.formatter_date = NULL;
}
- if(s_info.formatter_time) {
+ if (s_info.formatter_time) {
udat_close(s_info.formatter_time);
s_info.formatter_time = NULL;
}
- if(s_info.formatter_ampm) {
+ if (s_info.formatter_ampm) {
udat_close(s_info.formatter_ampm);
s_info.formatter_ampm = NULL;
}
{
char *szTimezone = NULL;
szTimezone = vconf_get_str(VCONFKEY_SETAPPL_TIMEZONE_ID);
- if(szTimezone == NULL || strlen(szTimezone) == 0)
+ if (szTimezone == NULL || strlen(szTimezone) == 0)
{
ERR("QUICKPANEL TIMEZONE - Cannot get time zone.");
return strdup("N/A");
INFO("QUICKPANEL TIMEZONE - %s", buf);
- if (len != -1)
- {
+ if (len != -1) {
buf[len] = '\0';
- }
- else
- {
+ } else {
ERR("QUICKPANEL TIMEZONE - failed to get a timezone information");
return _get_timezone_from_vconf();
}
return strdup(buf + 20);
}
-static int __util_time_formatted_time_get(UDateFormat *formatter, time_t tt, char *buf, int buf_len)
+static int _util_time_formatted_time_get(UDateFormat *formatter, time_t tt, char *buf, int buf_len)
{
- retif_nomsg(formatter == NULL, -1);
-
- UDate u_time = (UDate)tt * 1000;
- UChar u_formatted_str[64] = {0,};
+ i18n_udate u_time = (i18n_udate)(tt) * 1000;
+ i18n_uchar u_formatted_str[BUF_FORMATTER] = {0, };
int32_t u_formatted_str_capacity;
- UErrorCode status = U_ZERO_ERROR;
+ int32_t formatted_str_len = -1;
+ int status = I18N_ERROR_INVALID_PARAMETER;
- u_formatted_str_capacity = (int32_t)(sizeof(u_formatted_str) / sizeof((u_formatted_str)[0]));
+ u_formatted_str_capacity =
+ (int32_t)(sizeof(u_formatted_str) / sizeof((u_formatted_str)[0]));
- (void)udat_format(formatter, u_time, u_formatted_str, u_formatted_str_capacity, NULL, &status);
- if(U_FAILURE(status)) {
- ERR("udat_format() failed");
+ status = i18n_udate_format_date(formatter, u_time, u_formatted_str, u_formatted_str_capacity, NULL, &formatted_str_len);
+ if (status != I18N_ERROR_NONE) {
+ ERR("i18n_udate_format_date() failed");
return -1;
}
- u_austrncpy(buf, u_formatted_str, buf_len-1);
- DBG("time(%d) formatted(%s)", tt, buf);
+ if (formatted_str_len <= 0) {
+ ERR("formatted_str_len is less than 0");
+ }
+
+ buf = i18n_ustring_copy_au_n(buf, u_formatted_str, (int32_t)buf_len);
+ DBG("date:(%d)[%s][%d]", formatted_str_len, buf, tt);
return (int)u_strlen(u_formatted_str);
}
-static void _formatter_create(void *data) {
+static void _formatter_create(void *data)
+{
int ret = 0;
struct appdata *ad = data;
retif_nomsg(ad == NULL, );
+ bool status = false;
- ret = vconf_get_int(VCONFKEY_REGIONFORMAT_TIME1224, &s_info.timeformat);
- if(ret != 0) {
- ERR("vconf_get_int() failed");
+ ret = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, &status);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to ignore key(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR) : %d", ret);
+
+ if (status == true){
s_info.timeformat = APPCORE_TIME_FORMAT_24;
+ }else{
+ s_info.timeformat = APPCORE_TIME_FORMAT_12;
}
if (s_info.timeregion_format == NULL) {
DBG("%d %s %s", s_info.timeformat, s_info.timeregion_format, s_info.timezone_id);
}
-static void _formatter_destory(void *data) {
+static void _formatter_destory(void *data)
+{
struct appdata *ad = data;
retif_nomsg(ad == NULL, );
- if(s_info.timeregion_format) {
+ if (s_info.timeregion_format) {
free(s_info.timeregion_format);
s_info.timeregion_format = NULL;
}
- if(s_info.dateregion_format) {
+ if (s_info.dateregion_format) {
free(s_info.dateregion_format);
s_info.dateregion_format = NULL;
}
- if(s_info.timezone_id) {
+ if (s_info.timezone_id) {
free(s_info.timezone_id);
s_info.timezone_id = NULL;
}
s_info.is_initialized = 0;
}
+static void _util_time_setting_changed_cb(system_settings_key_e key, void *data)
+{
+ struct appdata *ad = data;
+
+ _formatter_destory(ad);
+ _formatter_create(ad);
+
+ _util_time_heartbeat_do();
+
+ //upate noti time information.
+ quickpanel_noti_update_by_system_time_changed_setting_cb(key, ad);
+}
+
static void _util_time_vconf_changed_cb(keynode_t *key, void *data)
{
- _formatter_destory(data);
- _formatter_create(data);
+ struct appdata *ad = data;
+
+ _formatter_destory(ad);
+ _formatter_create(ad);
+
+ _util_time_heartbeat_do();
- util_time_heartbeat_do();
+ //upate noti time information.
+ quickpanel_noti_update_by_system_time_changed_vconf_cb(key, ad);
}
static void _time_event_deattach(void *data)
retif_nomsg(ad == NULL, );
/* unregister vconf cbs */
- ret = vconf_ignore_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED, _util_time_vconf_changed_cb);
- retif_nomsg(ret != 0, );
- ret = vconf_ignore_key_changed(VCONFKEY_REGIONFORMAT_TIME1224, _util_time_vconf_changed_cb);
- retif_nomsg(ret != 0, );
ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_TIMEZONE_INT, _util_time_vconf_changed_cb);
- retif_nomsg(ret != 0, );
+ msgif(ret != 0, "failed to set key(%s) : %d", VCONFKEY_SETAPPL_TIMEZONE_INT, ret);
ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_TIMEZONE_ID, _util_time_vconf_changed_cb);
- retif_nomsg(ret != 0, );
- ret = vconf_ignore_key_changed(VCONFKEY_REGIONFORMAT, _util_time_vconf_changed_cb);
- retif_nomsg(ret != 0, );
+ msgif(ret != 0, "failed to set key(%s) : %d", VCONFKEY_SETAPPL_TIMEZONE_ID, ret);
ret = vconf_ignore_key_changed(VCONFKEY_TELEPHONY_SVC_ROAM, _util_time_vconf_changed_cb);
- retif_nomsg(ret != 0, );
+ msgif(ret != 0, "failed to set key(%s) : %d", VCONFKEY_TELEPHONY_SVC_ROAM, ret);
+
+ ret = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_TIME_CHANGED);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to set key(%d) : %d", SYSTEM_SETTINGS_KEY_TIME_CHANGED, ret);
+ ret = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to set key(%d) : %d", SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, ret);
+ ret = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to set key(%d) : %d", SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, ret);
}
static void _time_event_attach(void *data)
retif_nomsg(ad == NULL, );
/* register vconf cbs */
- ret = vconf_notify_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED, _util_time_vconf_changed_cb, data);
- retif_nomsg(ret != 0, );
- ret = vconf_notify_key_changed(VCONFKEY_REGIONFORMAT_TIME1224, _util_time_vconf_changed_cb, data);
- retif_nomsg(ret != 0, );
ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_TIMEZONE_INT, _util_time_vconf_changed_cb, data);
- retif_nomsg(ret != 0, );
+ msgif(ret != 0, "failed to set key(%s) : %d", VCONFKEY_SETAPPL_TIMEZONE_INT, ret);
ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_TIMEZONE_ID, _util_time_vconf_changed_cb, data);
- retif_nomsg(ret != 0, );
- ret = vconf_notify_key_changed(VCONFKEY_REGIONFORMAT, _util_time_vconf_changed_cb, data);
- retif_nomsg(ret != 0, );
+ msgif(ret != 0, "failed to set key(%s) : %d", VCONFKEY_SETAPPL_TIMEZONE_ID, ret);
ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_SVC_ROAM, _util_time_vconf_changed_cb, data);
- retif_nomsg(ret != 0, );
+ msgif(ret != 0, "failed to set key(%s) : %d", VCONFKEY_TELEPHONY_SVC_ROAM, ret);
+
+ ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_TIME_CHANGED, _util_time_setting_changed_cb, data);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to set key(%d) : %d", SYSTEM_SETTINGS_KEY_TIME_CHANGED, ret);
+ ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, _util_time_setting_changed_cb, data);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to set key(%d) : %d", SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, ret);
+ ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, _util_time_setting_changed_cb, data);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to set key(%d) : %d", SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, ret);
+
}
static void _util_time_get(int is_current_time, time_t tt_a, char **str_date, char **str_time, char **str_meridiem)
localtime_r(&tt, &st);
/* date */
- __util_time_formatted_time_get(s_info.formatter_date, tt, buf_date, sizeof(buf_date));
+ _util_time_formatted_time_get(s_info.formatter_date, tt, buf_date, sizeof(buf_date));
/* time */
- if(s_info.timeformat == APPCORE_TIME_FORMAT_24) {
- __util_time_formatted_time_get(s_info.formatter_time, tt, buf_time, sizeof(buf_time)-1);
+ if (s_info.timeformat == APPCORE_TIME_FORMAT_24) {
+ _util_time_formatted_time_get(s_info.formatter_time, tt, buf_time, sizeof(buf_time)-1);
} else {
- __util_time_formatted_time_get(s_info.formatter_time, tt, buf_time, sizeof(buf_time)-1);
- int ampm_len = __util_time_formatted_time_get(s_info.formatter_ampm, tt, buf_ampm, sizeof(buf_ampm)-1);
- if(ampm_len > 4) {
- if(st.tm_hour >= 0 && st.tm_hour < 12) {
+ _util_time_formatted_time_get(s_info.formatter_time, tt, buf_time, sizeof(buf_time)-1);
+ int ampm_len = _util_time_formatted_time_get(s_info.formatter_ampm, tt, buf_ampm, sizeof(buf_ampm)-1);
+ if (ampm_len > 4) {
+ if (st.tm_hour >= 0 && st.tm_hour < 12) {
snprintf(buf_ampm, sizeof(buf_ampm)-1, "AM");
} else {
snprintf(buf_ampm, sizeof(buf_ampm)-1, "PM");
}
}
- convert_formatted_str = _string_replacer(buf_time, colon, ratio);
+ if (strstr(s_info.timeregion_format, "ar_")) {
+ convert_formatted_str = strdup(buf_time);
+ } else {
+ convert_formatted_str = _string_replacer(buf_time, colon, ratio);
+ }
if (str_date != NULL) {
*str_date = strdup(buf_date);
}
}
-static void _timer_add(void) {
+static void _timer_add(void)
+{
time_t tt;
struct tm st;
s_info.timer = ecore_timer_add(60 - st.tm_sec, _timer_cb, NULL);
}
-static void _timer_del(void) {
- if(s_info.timer != NULL) {
+static void _timer_del(void)
+{
+ if (s_info.timer != NULL) {
ecore_timer_del(s_info.timer);
s_info.timer = NULL;
}
static Eina_Bool _timer_cb(void *data)
{
- util_time_heartbeat_do();
+ _util_time_heartbeat_do();
if (s_info.is_timer_enabled ==1) {
_timer_del();
_util_time_vconf_changed_cb(NULL, data);
}
-void util_time_heartbeat_do(void) {
+static void _util_time_heartbeat_do(void)
+{
int type_meridiem = UTIL_TIME_MERIDIEM_TYPE_NONE;
char *str_date = NULL;
char *str_time = NULL;
}
quickpanel_datetime_view_update(str_date, str_time, str_meridiem, type_meridiem);
- if (str_date)
- {
+ if (str_date) {
free(str_date);
}
- if (str_time)
- {
+ if (str_time) {
free(str_time);
}
- if (str_meridiem)
- {
+ if (str_meridiem) {
free(str_meridiem);
}
}
-void util_time_timer_enable_set(int is_enable) {
+HAPI void quickpanel_util_time_timer_enable_set(int is_enable)
+{
_timer_del();
if (is_enable == 1) {
_timer_add();
}
- util_time_heartbeat_do();
+ _util_time_heartbeat_do();
s_info.is_timer_enabled = is_enable;
}
#define UTIL_TIME_MERIDIEM_TYPE_PRE 1
#define UTIL_TIME_MERIDIEM_TYPE_POST 2
-int get_formatted_time_from_utc_time(time_t intime, char *buf, int buf_len, const char *timezone, int time_format, void *data);
-int get_formatted_ampm_from_utc_time(time_t intime, char *buf, int buf_len, int *ampm_len, const char *timezone, void *data);
-int get_formatted_date_from_utc_time(time_t intime, char *buf, int buf_len, const char *timezone, void *data, const char *format);
-int get_simple_formatted_date_from_utc_time(time_t intime, char *buf, int buf_len, const char *timezone, void *data);
-int get_dbf_formatted_date_time_from_utc_time(time_t intime, char *buf, int buf_len, const char *timezone, void *data);
-
-void util_time_init(void *data);
-void util_time_fini(void *data);
-void util_time_set(void *data);
-void util_time_unset(void *data);
-
-void util_time_heartbeat_do(void);
-void util_time_timer_enable_set(int is_enable);
+extern void quickpanel_util_time_timer_enable_set(int is_enable);
#endif /* __UTIL_TIME_H__ */
*/
+#include <Elementary.h>
#include <glib.h>
+
+#include <E_DBus.h>
+
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
#include "common.h"
#include "quickpanel-ui.h"
-#define QP_DBUS_TICKER_NAME QP_DBUS_NAME".ticker"
-#define QP_DBUS_TICKER_PATH QP_DBUS_PATH"/ticker"
-#define QP_DBUS_TICKER_MEMBER_SHOW "show"
-#define QP_DBUS_TICKER_MEMBER_HIDE "hide"
+#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"
-void quickpanel_dbus_ticker_visibility_send(int is_visible)
+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_TICKER_MEMBER_SHOW;
+ member = QP_DBUS_ACTIVENOTI_MEMBER_SHOW;
} else {
- member = QP_DBUS_TICKER_MEMBER_HIDE;
+ member = QP_DBUS_ACTIVENOTI_MEMBER_HIDE;
}
signal =
- dbus_message_new_signal(QP_DBUS_TICKER_PATH
- , QP_DBUS_TICKER_NAME
- , member);
+ dbus_message_new_signal(QP_DBUS_ACTIVENOTI_PATH
+ , QP_DBUS_ACTIVENOTI_NAME
+ , member);
if (signal == NULL) {
ERR("Fail to dbus_message_new_signal");
- return ;
+ return;
}
DBG("status:%s", member);
#ifndef __QP_DBUS_UTILITY_H__
#define __QP_DBUS_UTILITY_H__
-void quickpanel_dbus_ticker_visibility_send(int is_visible);
+extern void quickpanel_dbus_activenoti_visibility_send(int is_visible);
-#endif
\ No newline at end of file
+#endif
*/
+#include <Elementary.h>
#include <glib.h>
#include <string.h>
+
+#include <notification.h>
#include <vconf.h>
#include <device/display.h>
#include <app_control.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
#include "common.h"
#include "quickpanel-ui.h"
#include "list_util.h"
#include "quickpanel_def.h"
+#include "settings_view_featured.h"
+#include "preference.h"
+#include "setting_utils.h"
+#include "page_setting_all.h"
+
#ifdef QP_SCREENREADER_ENABLE
#include "accessibility.h"
#endif
-#include "preference.h"
-#include "setting_utils.h"
-#include "dual_sim_view.h"
+
#ifdef QP_EMERGENCY_MODE_ENABLE
#include "emergency_mode.h"
#endif
-#include "page_setting_all.h"
-#include "settings_view_featured.h"
+
#define BRIGHTNESS_MIN 1
#define BRIGHTNESS_MAX 100
#define PREF_BRIGHTNESS_ON "ON"
#define PREF_BRIGHTNESS_OFF "OFF"
-#define FADE_TRESHOLD 5
-
-
typedef struct _brightness_ctrl_obj {
int min_level;
int max_level;
int last_requested_level;
Evas_Object *viewer;
void *data;
- int auto_changed;
int level_before;
int pos_x;
- int is_dimmed;
- Elm_Transit *transit_fadein;
- Elm_Transit *transit_fadeout;
Evas_Object *brighntess_slider;
} brightness_ctrl_obj;
Eina_Bool is_sliding = EINA_FALSE;
-static int quickpanel_brightness_init(void *data);
-static int quickpanel_brightness_fini(void *data);
-static void quickpanel_brightness_lang_changed(void *data);
-static void quickpanel_brightness_qp_opened(void *data);
-static void quickpanel_brightness_qp_closed(void *data);
+static int _init(void *data);
+static int _fini(void *data);
+static void _lang_changed(void *data);
+static void _qp_opened(void *data);
+static void _qp_closed(void *data);
static void _brightness_view_update(void);
static void _brightness_register_event_cb(brightness_ctrl_obj *ctrl_obj);
static void _brightness_deregister_event_cb(brightness_ctrl_obj *ctrl_obj);
static void _brightness_set_image(int level);
-static void quickpanel_brightness_refresh(void *data);
+static void _refresh(void *data);
QP_Module brightness_ctrl = {
.name = "brightness_ctrl",
- .init = quickpanel_brightness_init,
- .fini = quickpanel_brightness_fini,
+ .init = _init,
+ .fini = _fini,
.suspend = NULL,
.resume = NULL,
.hib_enter = NULL,
.hib_leave = NULL,
- .lang_changed = quickpanel_brightness_lang_changed,
- .refresh = quickpanel_brightness_refresh,
+ .lang_changed = _lang_changed,
+ .refresh = _refresh,
.get_height = NULL,
- .qp_opened = quickpanel_brightness_qp_opened,
- .qp_closed = quickpanel_brightness_qp_closed,
+ .qp_opened = _qp_opened,
+ .qp_closed = _qp_closed,
};
static brightness_ctrl_obj *g_ctrl_obj;
E_DBus_Signal_Handler *g_hdl_brightness;
-static Evas_Object *_controller_view_get(void) {
+static Evas_Object *_controller_view_get(void)
+{
Evas_Object *view = NULL;
if (g_ctrl_obj != NULL) {
return view;
}
-static void _controller_view_set(Evas_Object *wrapper, Evas_Object *view) {
+static void _controller_view_set(Evas_Object *wrapper, Evas_Object *view)
+{
retif(wrapper == NULL, , "invalid data");
retif(view == NULL, , "invalid data");
}
#ifdef QP_SCREENREADER_ENABLE
-static void _set_slider_accessiblity_state(Evas_Object *obj) {
+static void _set_slider_accessiblity_state(Evas_Object *obj)
+{
Evas_Object *ao = NULL;
brightness_ctrl_obj *ctrl_obj = g_ctrl_obj;
retif(ctrl_obj == NULL, , "Invalid parameter!");
retif(ctrl_obj->viewer == NULL, , "Invalid parameter!");
- ao = quickpanel_screen_reader_object_get(obj,
+ ao = quickpanel_accessibility_screen_reader_object_get(obj,
SCREEN_READER_OBJ_TYPE_ELM_OBJECT, NULL, NULL);
if (ao != NULL) {
elm_access_info_set(ao, ELM_ACCESS_INFO, _NOT_LOCALIZED("Brightness"));
}
#endif
-static void _set_text_to_part(Evas_Object *obj, const char *part, const char *text) {
- const char *old_text = NULL;
- retif(obj == NULL, , "Invalid parameter!");
- retif(part == NULL, , "Invalid parameter!");
- retif(text == NULL, , "Invalid parameter!");
-
- old_text = elm_object_part_text_get(obj, part);
- if (old_text != NULL) {
- if (strcmp(old_text, text) == 0) {
- return ;
- }
- }
-
- elm_object_part_text_set(obj, part, text);
-}
-
-static Evas_Object *_check_duplicated_loading(Evas_Object *obj, const char *part) {
+static Evas_Object *_check_duplicated_loading(Evas_Object *obj, const char *part)
+{
Evas_Object *old_content = NULL;
retif(obj == NULL, NULL, "Invalid parameter!");
retif(part == NULL, NULL, "Invalid parameter!");
old_content = elm_object_part_content_get(obj, part);
if (old_content != NULL) {
- return old_content;
+ return old_content;
}
return NULL;
}
-static int _brightness_get_automate_level(void) {
- int is_on = 0;
-
- if (vconf_get_int(VCONFKEY_SETAPPL_BRIGHTNESS_AUTOMATIC_INT, &is_on) == 0)
- return is_on;
- else
- return SETTING_BRIGHTNESS_AUTOMATIC_OFF;
-}
-
-static void _brightness_vconf_cb(keynode_t *key, void* data) {
+static void _brightness_vconf_cb(keynode_t *key, void* data)
+{
brightness_ctrl_obj *ctrl_obj = NULL;
retif(data == NULL, , "Data parameter is NULL");
}
}
-static int _brightness_get_outdoor_mode(void) {
- int is_checked = 0;
-
- if (vconf_get_bool(VCONFKEY_SETAPPL_OUTDOOR_MODE, &is_checked) == 0)
- return is_checked;
- else
- return 0;
-}
-
-static void _outdoor_vconf_cb(keynode_t *key, void* data) {
- Evas_Object *view = NULL;
- Evas_Object *check = NULL;
- Evas_Object *slider = NULL;
- int is_checked = 0;
-
- if (data) {
- view = data;
- } else {
- view = _controller_view_get();
- }
- retif(!view, , "view is NULL");
-
- check = elm_object_part_content_get(view, "elm.swallow.check");
- retif(!check, , "check is NULL");
-
- slider = elm_object_part_content_get(view, "elm.swallow.slider");
- retif(!slider, , "slider is NULL");
-
- is_checked = _brightness_get_outdoor_mode();
- if (is_checked) {
- DBG("Outdoor mode is enabled");
- elm_check_state_set(check, EINA_TRUE);
- elm_object_signal_emit(view, "enable", "disabler");
- elm_object_disabled_set(slider, EINA_TRUE);
- } else {
- DBG("Outdoor mode is disabled");
- elm_check_state_set(check, EINA_FALSE);
- elm_object_signal_emit(view, "disable", "disabler");
- elm_object_disabled_set(slider, EINA_FALSE);
- }
-}
-
-static int _brightness_set_level(int level) {
+static int _brightness_set_level(int level)
+{
int ret = DEVICE_ERROR_NONE;
ret = device_display_set_brightness(0, level);
int level = 0;
- if (vconf_get_int(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, &level) == 0)
+ if (vconf_get_int(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, &level) == 0) {
return level;
- else
+ } else {
return SETTING_BRIGHTNESS_LEVEL5;
+ }
}
Evas_Object *_slider_get(Evas_Object *view, brightness_ctrl_obj *ctrl_obj) {
Evas_Object *obj = elm_object_part_content_get(view, "elm.swallow.slider");
- if(obj)
- {
+ if (obj) {
return obj;
- }
- else
- {
+ } else {
return ctrl_obj->brighntess_slider;
}
}
-static void _fadein_set(void);
-
static void _slider_changed_job_cb(void *data)
{
int value = 0;
brightness_ctrl_obj *ctrl_obj = data;
double time_current = 0.0;
static double time_before = 0.0;
+
retif(ctrl_obj == NULL, , "Data parameter is NULL");
obj = _slider_get(_controller_view_get(), ctrl_obj);
retif(obj == NULL, , "obj is NULL");
time_current = ecore_loop_time_get();
- if (value != ctrl_obj->last_requested_level)
- {
+ if (value != ctrl_obj->last_requested_level) {
if (value >= ctrl_obj->min_level && value <= ctrl_obj->max_level) {
ctrl_obj->last_requested_level = value;
- if (time_current - time_before >= 0.045)
- {
+ if (time_current - time_before >= 0.045) {
_brightness_set_level(value);
time_before = time_current;
}
}
}
- if(ctrl_obj->is_dimmed == 0 && is_sliding == EINA_TRUE && abs(slider_drag_start - _brightness_get_level()) > FADE_TRESHOLD)
- {
- ctrl_obj->is_dimmed = 1;
- _fadein_set();
- }
-
}
-static void
-_brightness_ctrl_slider_changed_cb(void *data,
- Evas_Object *obj,
- void *event_info)
+static void _brightness_ctrl_slider_changed_cb(void *data, Evas_Object *obj, void *event_info)
{
int pos_new = (int)event_info;
LOGI("SLIDER_NEW_POS: %d", pos_new);
_slider_changed_job_cb(data);
}
-
-/*
- * temporary unused
- *
-
-static int _brightness_set_automate_level(int is_on) {
-
- return vconf_set_int(VCONFKEY_SETAPPL_BRIGHTNESS_AUTOMATIC_INT, is_on);
-}
-
-static void _do_checker_toggle_cb(void *data,
- Evas_Object * obj)
+static void _brightness_ctrl_overheat_check(Evas_Object *slider, void *data, int is_display_popup)
{
-
- retif(obj == NULL, , "obj parameter is NULL");
- int status = elm_check_state_get(obj);
-
- brightness_ctrl_obj *ctrl_obj = data;
- retif(ctrl_obj == NULL, , "Data parameter is NULL");
-
- _brightness_set_automate_level(status);
-
- if (ctrl_obj->viewer != NULL) {
- _brightness_view_update();
- }
-}
- */
-
-static void _brightness_ctrl_overheat_check(Evas_Object *slider, void *data, int is_display_popup) {
int value = 0;
int max_brightness = BRIGHTNESS_MAX;
brightness_ctrl_obj *ctrl_obj = data;
value = ctrl_obj->last_requested_level;
- if (_brightness_get_automate_level() == 0) {
- device_display_get_max_brightness(0, &max_brightness);
- if (value > max_brightness && max_brightness != BRIGHTNESS_MAX) {
- DBG("max brightness is limited");
- if (is_display_popup == 1) {
- if (ad->popup == NULL) {
- qp_setting_create_timeout_popup(ad->win, _("IDS_ST_POP_UNABLE_TO_INCREASE_BRIGHTNESS_FURTHER_BECAUSE_OF_PHONE_OVERHEATING"));
- }
+ device_display_get_max_brightness(0, &max_brightness);
+ if (value > max_brightness && max_brightness != BRIGHTNESS_MAX) {
+ DBG("max brightness is limited");
+ if (is_display_popup == 1) {
+ if (ad->popup == NULL) {
+ quickpanel_setting_create_timeout_popup(ad->win,
+ _("IDS_ST_POP_UNABLE_TO_INCREASE_BRIGHTNESS_FURTHER_BECAUSE_OF_PHONE_OVERHEATING"));
}
- elm_slider_value_set(slider, (double)max_brightness);
- ctrl_obj->last_requested_level = max_brightness;
- _brightness_set_level(max_brightness);
- _brightness_set_image(max_brightness);
- return ;
}
+ elm_slider_value_set(slider, (double)max_brightness);
+ ctrl_obj->last_requested_level = max_brightness;
+ _brightness_set_level(max_brightness);
+ _brightness_set_image(max_brightness);
+ return;
}
}
-void static _fadein_unset(void);
-
static void _slider_delayed_changed_job_cb(void *data)
{
int value = 0;
}
}
-static void
-_brightness_ctrl_slider_delayed_changed_cb(void *data,
- Evas_Object *obj,
- void *event_info)
+static void _brightness_ctrl_slider_delayed_changed_cb(void *data, Evas_Object *obj, void *event_info)
{
LOGI("");
ecore_job_add(_slider_delayed_changed_job_cb, data);
}
-static void
-_brightness_slider_drag_start_cb(void *data,
- Evas_Object *obj,
- void *event_info)
+static void _brightness_slider_drag_start_cb(void *data, Evas_Object *obj, void *event_info)
{
is_sliding = EINA_TRUE;
slider_drag_start = _brightness_get_level();
}
-static void
-_brightness_slider_drag_stop_cb(void *data,
- Evas_Object *obj,
- void *event_info)
+static void _brightness_slider_drag_stop_cb(void *data, Evas_Object *obj, void *event_info)
{
- brightness_ctrl_obj *ctrl_obj = data;
is_sliding = EINA_FALSE;
-
- if(ctrl_obj->is_dimmed == 1)
- {
- ctrl_obj->is_dimmed = 0;
- _fadein_unset();
- }
-
}
-/*
- * temporary unused
- *
-static void _brightness_ctrl_checker_toggle_cb(void *data,
- Evas_Object * obj,
- void *event_info)
-{
- SERR("auto.clicked");
- _do_checker_toggle_cb(data, obj);
-}
- */
-
-/*
- * temporary unused
- *
-static void _text_clicked_cb(void *data, Evas_Object *o, const char *emission, const char *source)
-{
- Evas_Object *check_obj = NULL;
- retif(data == NULL, , "invalid parameter");
- retif(o == NULL, , "invalid parameter");
- retif(emission == NULL, , "invalid parameter");
-
- check_obj = _check_duplicated_loading(_controller_view_get(),
- "elm.check.swallow");
-
- if (check_obj != NULL) {
- if (!strcmp(emission, "auto.clicked")) {
- SERR("auto.clicked");
- elm_check_state_set(check_obj, !elm_check_state_get(check_obj));
- quickpanel_play_feedback();
- _do_checker_toggle_cb(data, check_obj);
- }
- }
-}
- */
-
/*!
* workaround to avoid focus jump to other pages
*/
quickpanel_page_setting_all_focus_allow_set(EINA_TRUE);
}
-
static void _brightness_view_pos_set()
{
struct appdata *ad = quickpanel_get_app_data();
Evas_Coord base_y;
- Evas_Coord settings_y;
+ // Evas_Coord settings_y;
Evas_Coord brightness_y;
Eina_Bool ret = EINA_FALSE;
edje_object_part_geometry_get(_EDJ(ad->view_root), "qp.root.swallow", NULL, &base_y, NULL, NULL);
- edje_object_part_geometry_get(ad->ly, QP_SETTING_BASE_PART, NULL, &settings_y, NULL, NULL);
+ // edje_object_part_geometry_get(ad->ly, QP_SETTING_BASE_PART, NULL, &settings_y, NULL, NULL);
- Evas_Object *settings_swallow = qp_setting_layout_get(ad->ly, QP_SETTING_BASE_PART);
+ Evas_Object *settings_swallow = quickpanel_setting_layout_get(ad->ly, QP_SETTING_BASE_PART);
ret = edje_object_part_geometry_get(_EDJ(settings_swallow), QP_SETTING_BRIGHTNESS_PART_WVGA, NULL, &brightness_y, NULL, NULL);
msgif(!ret, "ret is EINA_FALSE");
- evas_object_move(g_ctrl_obj->viewer, 0, base_y + settings_y + brightness_y);
-}
-
-static void _button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Eina_Bool is_checked = EINA_FALSE;
- Evas_Object *view = data;
- Evas_Object *check = NULL;;
- Evas_Object *slider = NULL;
- int ret = 0;
- int is_reminder = 0;
- app_control_h appcontrol = NULL;
-
- retif(!view, , "view is NULL");
-
- quickpanel_play_feedback();
-
- check = elm_object_part_content_get(view, "elm.swallow.check");
- retif(!check, , "check is NULL");
-
- slider = elm_object_part_content_get(view, "elm.swallow.slider");
- retif(!slider, , "slider is NULL");
-
- is_checked = elm_check_state_get(check);
- if (is_checked) {
- ret = vconf_set_bool(VCONFKEY_SETAPPL_OUTDOOR_MODE, 0);
- } else {
- if (ret != 0)
- {
- ERR("Failed to get reminder[%d]", ret);
- }
-
- ret = vconf_set_bool(VCONFKEY_SETAPPL_OUTDOOR_MODE, 1);
- }
- msgif(ret != 0, "failed to set VCONFKEY_SETAPPL_OUTDOOR_MODE");
-
- DBG("check is [%d]", is_checked);
+ evas_object_move(g_ctrl_obj->viewer, 0, base_y + /*settings_y */+ brightness_y);
}
static Evas_Object *_brightness_view_create(Evas_Object *list)
evas_object_size_hint_weight_set(view, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(view, EVAS_HINT_FILL, EVAS_HINT_FILL);
- Evas_Object *focus = quickpanel_ui_get_focus_object(view);
- elm_access_info_cb_set(focus, ELM_ACCESS_TYPE, quickpanel_access_info_cb_s, _NOT_LOCALIZED("Brightness"));
+ Evas_Object *focus = quickpanel_accessibility_ui_get_focus_object(view);
+ elm_access_info_cb_set(focus, ELM_ACCESS_TYPE, quickpanel_accessibility_info_cb_s, _NOT_LOCALIZED("Brightness"));
elm_object_part_content_set(view, "focus", focus);
evas_object_smart_callback_add(focus, "focused", _frame_focused, NULL);
evas_object_smart_callback_add(focus, "unfocused", _frame_unfocused, NULL);
-
- Evas_Object *check = NULL;
- check = elm_check_add(view);
- if (check) {
- elm_object_part_text_set(view, "elm.text.outdoor", _("IDS_QP_OPT_OUTDOORS_M_OUTDOOR_MODE_ABB"));
- elm_object_domain_translatable_part_text_set(view, "elm.text.outdoor", PACKAGE, _("IDS_QP_OPT_OUTDOORS_M_OUTDOOR_MODE_ABB"));
-
- elm_object_part_content_set(view, "elm.swallow.check", check);
- evas_object_show(check);
-
- _outdoor_vconf_cb(NULL, view);
- } else {
- ERR("cannot add elm_check");
- }
-
- Evas_Object *button = NULL;
- button = elm_button_add(view);
- if (button) {
- elm_object_part_content_set(view, "elm.swallow.button", button);
- elm_object_style_set(button, "transparent");
-
- evas_object_pass_events_set(button, EINA_FALSE);
- evas_object_smart_callback_add(button, "clicked", _button_clicked_cb, view);
- evas_object_show(button);
- }
-
-// elm_object_signal_callback_add(view,
-// "auto.clicked",
-// "edje",
-// _text_clicked_cb,
-// g_ctrl_obj
-// );
evas_object_show(view);
_brightness_view_pos_set();
return view_wrapper;
}
-static void _brightness_set_text(void)
-{
- Evas_Object *view = _controller_view_get();
- retif(view == NULL, , "Invalid parameter!");
-
- _set_text_to_part(view, "elm.check.text", _NOT_LOCALIZED("Auto"));
- _set_text_to_part(view, "elm.text.label", _NOT_LOCALIZED("Brightness"));
- _set_text_to_part(view, "elm.text.outdoor", _("IDS_QP_OPT_OUTDOORS_M_OUTDOOR_MODE_ABB"));
-
-#ifdef QP_SCREENREADER_ENABLE
- Evas_Object *ao = NULL;
- ao = quickpanel_screen_reader_object_get(view,
- SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus.check.label", view);
- if (ao != NULL) {
- elm_access_info_set(ao, ELM_ACCESS_TYPE, "");
- elm_access_info_set(ao, ELM_ACCESS_INFO, _NOT_LOCALIZED("Auto"));
- }
-#endif
-}
-
static void _brightness_set_image(int level)
{
- int old_brightness_type = -1;
- int mapped_level = 0;
- char buf[128] = {0,};
- Evas_Object *view = _controller_view_get();
- brightness_ctrl_obj *ctrl_obj = g_ctrl_obj;
- retif(ctrl_obj == NULL, , "Invalid parameter!");
- retif(view == NULL, , "Invalid parameter!");
+ int mapped_level;
- old_brightness_type = ctrl_obj->auto_changed;
-
- if (_brightness_get_automate_level() == 1) {
- if (ctrl_obj->auto_changed != 1) {
- elm_object_signal_emit(view, "icon.state.auto", "prog");
- ctrl_obj->auto_changed = 1;
- }
- ctrl_obj->level_before = mapped_level;
- } else {
- ctrl_obj->auto_changed = 0;
-
- if (level <= 1) {
- mapped_level = 0;
- } else if (level >= 100) {
- mapped_level = 11;
- } else if (level > 1 && level <= 9){
- mapped_level = 1;
- } else {
- mapped_level = (level / 10);
- }
-
- if (ctrl_obj->level_before != mapped_level || old_brightness_type != ctrl_obj->auto_changed) {
- snprintf(buf, sizeof(buf) - 1, "icon.state.%d", mapped_level);
- elm_object_signal_emit(view, buf, "prog");
- ctrl_obj->level_before = mapped_level;
- }
+ if (!g_ctrl_obj) {
+ ERR("Ctrl Obj is not defined");
+ return;
}
-}
-
-/*
- * temporary unused
- *
-static void _brightness_set_checker(void)
-{
- Evas_Object *checker = NULL;
- Evas_Object *old_obj = NULL;
- Evas_Object *view = _controller_view_get();
- brightness_ctrl_obj *ctrl_obj = g_ctrl_obj;
- retif(ctrl_obj == NULL, , "Invalid parameter!");
- retif(view == NULL, , "Invalid parameter!");
-
- old_obj = _check_duplicated_loading(view,
- "elm.check.swallow");
- if (old_obj == NULL) {
- checker = elm_check_add(view);
-
- if (checker != NULL) {
- evas_object_smart_callback_add(checker,"changed",_brightness_ctrl_checker_toggle_cb , ctrl_obj);
- elm_object_part_content_set(view, "elm.check.swallow", checker);
- } else {
- ERR("failed to create checker");
- return ;
- }
+ if (level <= 1) {
+ mapped_level = 0;
+ } else if (level >= 100) {
+ mapped_level = 11;
+ } else if (level > 1 && level <= 9){
+ mapped_level = 1;
} else {
- checker = old_obj;
- }
-
- elm_check_state_set(checker, _brightness_get_automate_level());
-}
- */
-
-static void _transit_fadein_del(void) {
- brightness_ctrl_obj *ctrl_obj = g_ctrl_obj;
-
- if (ctrl_obj != NULL) {
- if (ctrl_obj->transit_fadein != NULL) {
- elm_transit_del(ctrl_obj->transit_fadein);
- ctrl_obj->transit_fadein = NULL;
- }
- }
-}
-
-static void _transit_fadeout_del(void) {
- brightness_ctrl_obj *ctrl_obj = g_ctrl_obj;
-
- if (ctrl_obj != NULL) {
- if (ctrl_obj->transit_fadeout != NULL) {
- elm_transit_del(ctrl_obj->transit_fadeout);
- ctrl_obj->transit_fadeout = NULL;
- }
- }
-}
-
-static void _transit_fadeout_del_cb(void *data, Elm_Transit *transit) {
- brightness_ctrl_obj *ctrl_obj = data;
- struct appdata *ad = quickpanel_get_app_data();
- retif(ad == NULL, , "Invalid parameter!");
- retif(ad->view_root == NULL, , "Invalid parameter!");
- retif(ad->background == NULL, , "Invalid parameter!");
-
- if (ctrl_obj != NULL) {
- if (ctrl_obj->is_dimmed == 0) {
- evas_object_color_set(ad->background, 255, 255, 255, 255);
- evas_object_color_set(ad->view_root, 255, 255, 255, 255);
- }
- ctrl_obj->transit_fadeout = NULL;
- }
-}
-
-void static _fadein_unset(void) {
- brightness_ctrl_obj *ctrl_obj = g_ctrl_obj;
- struct appdata *ad = quickpanel_get_app_data();
- retif(ad == NULL, , "Invalid parameter!");
- retif(ad->view_root == NULL, , "Invalid parameter!");
- retif(ad->background == NULL, , "Invalid parameter!");
- retif(ctrl_obj == NULL, , "Invalid parameter!");
-
- _transit_fadeout_del();
- _transit_fadein_del();
-
- evas_object_color_set(ad->background, 255, 255, 255, 255);
-
- Elm_Transit *transit_fadeout = elm_transit_add();
- if (transit_fadeout != NULL) {
- elm_transit_object_add(transit_fadeout, ad->background);
- elm_transit_object_add(transit_fadeout, ad->view_root);
- elm_transit_effect_color_add(transit_fadeout, 0, 0, 0, 0, 255, 255, 255, 255);
- elm_transit_duration_set(transit_fadeout, 0.15);
- elm_transit_tween_mode_set(transit_fadeout,
- ELM_TRANSIT_TWEEN_MODE_DECELERATE);
- elm_transit_objects_final_state_keep_set(transit_fadeout, EINA_TRUE);
- elm_transit_del_cb_set(transit_fadeout, _transit_fadeout_del_cb, ctrl_obj);
- ctrl_obj->transit_fadeout = transit_fadeout;
- elm_transit_go(transit_fadeout);
+ mapped_level = (level / 10);
}
-}
-static void _transit_fadein_del_cb(void *data, Elm_Transit *transit) {
- brightness_ctrl_obj *ctrl_obj = data;
- struct appdata *ad = quickpanel_get_app_data();
- retif(ad == NULL, , "Invalid parameter!");
- retif(ad->view_root == NULL, , "Invalid parameter!");
- retif(ad->background == NULL, , "Invalid parameter!");
+ if (g_ctrl_obj->level_before != mapped_level ) {
+ char buf[128] = {0,};
+ Evas_Object *view;
- if (ctrl_obj != NULL) {
- if (ctrl_obj->is_dimmed == 0) {
- evas_object_color_set(ad->background, 255, 255, 255, 255);
- evas_object_color_set(ad->view_root, 255, 255, 255, 255);
- }
- ctrl_obj->transit_fadein = NULL;
- }
-}
-
-void static _fadein_set(void) {
- brightness_ctrl_obj *ctrl_obj = g_ctrl_obj;
- struct appdata *ad = quickpanel_get_app_data();
- retif(ad == NULL, , "Invalid parameter!");
- retif(ad->view_root == NULL, , "Invalid parameter!");
- retif(ad->background == NULL, , "Invalid parameter!");
- retif(ctrl_obj == NULL, , "Invalid parameter!");
-
- _transit_fadein_del();
- _transit_fadeout_del();
-
- evas_object_color_set(ad->background, 0, 0, 0, 0);
-
- Elm_Transit *transit_fadein = elm_transit_add();
- if (transit_fadein != NULL) {
- elm_transit_object_add(transit_fadein, ad->background);
- elm_transit_object_add(transit_fadein, ad->view_root);
- elm_transit_effect_color_add(transit_fadein, 255, 255, 255, 255, 0, 0, 0, 0);
- elm_transit_duration_set(transit_fadein, 0.25);
- elm_transit_tween_mode_set(transit_fadein,
- ELM_TRANSIT_TWEEN_MODE_ACCELERATE);
- elm_transit_objects_final_state_keep_set(transit_fadein, EINA_TRUE);
- elm_transit_del_cb_set(transit_fadein, _transit_fadein_del_cb, ctrl_obj);
- ctrl_obj->transit_fadein = transit_fadein;
- elm_transit_go(transit_fadein);
+ view = _controller_view_get();
+ snprintf(buf, sizeof(buf) - 1, "icon.state.%d", mapped_level);
+ elm_object_signal_emit(view, buf, "prog");
+ g_ctrl_obj->level_before = mapped_level;
}
}
evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, 0.5);
elm_slider_min_max_set(slider, ctrl_obj->min_level, ctrl_obj->max_level);
- evas_object_smart_callback_add(slider, "changed",
- _brightness_ctrl_slider_changed_cb, ctrl_obj);
- evas_object_smart_callback_add(slider, "delay,changed",
- _brightness_ctrl_slider_delayed_changed_cb, ctrl_obj);
-
- evas_object_smart_callback_add(slider, "slider,drag,start",
- _brightness_slider_drag_start_cb, ctrl_obj);
-
-
- evas_object_smart_callback_add(slider, "slider,drag,stop",
- _brightness_slider_drag_stop_cb, ctrl_obj);
-
+ evas_object_smart_callback_add(slider, "changed", _brightness_ctrl_slider_changed_cb, ctrl_obj);
+ evas_object_smart_callback_add(slider, "delay,changed", _brightness_ctrl_slider_delayed_changed_cb, ctrl_obj);
+ evas_object_smart_callback_add(slider, "slider,drag,start", _brightness_slider_drag_start_cb, ctrl_obj);
+ evas_object_smart_callback_add(slider, "slider,drag,stop", _brightness_slider_drag_stop_cb, ctrl_obj);
elm_object_part_content_set(view, "elm.swallow.slider", slider);
} else {
ERR("failed to create slider");
- return ;
+ return;
}
} else {
slider = old_obj;
elm_slider_indicator_format_set(slider, NULL);
elm_slider_indicator_format_function_set(slider, NULL, NULL);
+ elm_slider_indicator_show_set(slider, EINA_FALSE);
#ifdef QP_SCREENREADER_ENABLE
_set_slider_accessiblity_state(slider);
static void _brightness_view_update(void)
{
_brightness_set_slider();
- //_brightness_set_checker();
- _brightness_set_text();
_focus_pair_set();
}
ctrl_obj->data = data;
_brightness_set_image(BRIGHTNESS_MIN);
- quickpanel_brightness_refresh(ad);
+ _refresh(ad);
}
static void _brightness_remove(brightness_ctrl_obj *ctrl_obj, void *data)
ERR("failed to register a cb key:%s err:%d",
"VCONFKEY_SETAPPL_LCD_BRIGHTNESS", ret);
}
- ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_LCD_AUTOMATIC_BRIGHTNESS,
- _brightness_vconf_cb, ctrl_obj);
- if (ret != 0) {
- ERR("failed to register a cb key:%s err:%d",
- "VCONFKEY_SETAPPL_LCD_AUTOMATIC_BRIGHTNESS", ret);
- }
- ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_OUTDOOR_MODE,
- _outdoor_vconf_cb, NULL);
- if (ret != 0) {
- ERR("failed to register a cb key:%s err:%d",
- "VCONFKEY_SETAPPL_OUTDOOR_MODE", ret);
- }
-
ctrl_obj->is_event_registered = 1;
}
}
if (ret != 0) {
ERR("failed to register a cb key:%s err:%d", "VCONFKEY_SETAPPL_LCD_BRIGHTNESS", ret);
}
- ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_LCD_AUTOMATIC_BRIGHTNESS, _brightness_vconf_cb);
- if (ret != 0) {
- ERR("failed to register a cb key:%s err:%d", "VCONFKEY_SETAPPL_LCD_AUTOMATIC_BRIGHTNESS", ret);
- }
- ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_OUTDOOR_MODE, _outdoor_vconf_cb);
- if (ret != 0) {
- ERR("failed to register a cb key:%s err:%d", "VCONFKEY_SETAPPL_OUTDOOR_MODE", ret);
- }
ctrl_obj->is_event_registered = 0;
}
}
-static void _brightness_create(void *data) {
+static void _brightness_create(void *data)
+{
if (g_ctrl_obj == NULL) {
g_ctrl_obj = (brightness_ctrl_obj *)calloc(1, sizeof(brightness_ctrl_obj));
if (g_ctrl_obj != NULL) {
}
}
-static void _brightness_destroy(void *data) {
+static void _brightness_destroy(void *data)
+{
if (g_ctrl_obj != NULL) {
_brightness_deregister_event_cb(g_ctrl_obj);
_brightness_remove(g_ctrl_obj, data);
retif(ad->dbus_connection == NULL, , "Invalid parameter!");
if (g_hdl_brightness != NULL) {
- e_dbus_signal_handler_del(ad->dbus_connection,
- g_hdl_brightness);
+ e_dbus_signal_handler_del(ad->dbus_connection, g_hdl_brightness);
g_hdl_brightness = NULL;
}
}
-static int quickpanel_brightness_init(void *data)
+static int _init(void *data)
{
char buf[PREF_LEN_VALUE_MAX] = {0,};
retif(data == NULL, QP_FAIL, "Invalid parameter!");
#endif
quickpanel_preference_get(PREF_BRIGHTNESS, buf);
- // if (strcmp(buf, PREF_BRIGHTNESS_ON) == 0) {
- // _brightness_create(data);
- // }
-
_brightness_create(data);
_ipc_init(data);
return QP_OK;
}
-static int quickpanel_brightness_fini(void *data)
+static int _fini(void *data)
{
retif(data == NULL, QP_FAIL, "Invalid parameter!");
return QP_OK;
}
-static void quickpanel_brightness_lang_changed(void *data)
+static void _lang_changed(void *data)
{
retif(data == NULL, , "Invalid parameter!");
}
}
-static void quickpanel_brightness_qp_opened(void *data)
+static void _qp_opened(void *data)
{
Evas_Object *slider = NULL;
Evas_Object *view = _controller_view_get();
}
}
-static void quickpanel_brightness_qp_closed(void *data)
+static void _qp_closed(void *data)
{
retif(g_ctrl_obj == NULL, , "Invalid parameter!");
}
}
-static void quickpanel_brightness_refresh(void *data) {
+static void _refresh(void *data)
+{
int h = 0;
struct appdata *ad = data;
Evas_Object *view = _controller_view_get();
+++ /dev/null
-/*
- * 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 <vconf.h>
-
-#include "dual_sim_view.h"
-
-static struct
-{
- Evas_Object *layout;
-
- qp_dualsim_number_e selected_sim_num;
-
- // sim name
- char *sim1_name;
- char *sim2_name;
- Eina_Bool sim1_name_event;
- Eina_Bool sim2_name_event;
-
- // sim icon
- int sim1_icon_num;
- int sim2_icon_num;
- Eina_Bool sim1_icon_event;
- Eina_Bool sim2_icon_event;
-
- // sim info
- char *sim1_info;
- char *sim2_info;
-
- dualsim_view_selected_cb func_selected_cb;
-}
-dual_sim_state_info =
-{
- .layout = NULL,
-
- .selected_sim_num = QP_DUALSIM_NUM_NONE,
-
- .sim1_name = NULL,
- .sim2_name = NULL,
- .sim1_name_event = EINA_FALSE,
- .sim2_name_event = EINA_FALSE,
-
- .sim1_icon_num = 0,
- .sim2_icon_num = 0,
- .sim1_icon_event = EINA_FALSE,
- .sim2_icon_event = EINA_FALSE,
-
- .sim1_info = NULL,
- .sim2_info = NULL,
-
- .func_selected_cb = NULL,
-};
-
-static int _dualsim_view_get_icon(qp_dualsim_number_e sim_num);
-static char *_dualsim_view_get_name(qp_dualsim_number_e sim_num);
-
-static void _dualsim_view_set_sim_name(qp_dualsim_number_e sim_num);
-static void _dualsim_view_set_sim_icon(qp_dualsim_number_e sim_num);
-static void _dualsim_view_set_sim_info(qp_dualsim_number_e sim_num);
-
-static void __dualsim_view_sim1_name_changed_cb(keynode_t *node, void *user_data)
-{
- if (dual_sim_state_info.sim1_name)
- {
- free(dual_sim_state_info.sim1_name);
- }
- dual_sim_state_info.sim1_name = _dualsim_view_get_name(QP_DUALSIM_NUM_SIM1);
-
- _dualsim_view_set_sim_name(QP_DUALSIM_NUM_SIM1);
-}
-
-static void __dualsim_view_sim2_name_changed_cb(keynode_t *node, void *user_data)
-{
- if (dual_sim_state_info.sim2_name)
- {
- free(dual_sim_state_info.sim2_name);
- }
- dual_sim_state_info.sim2_name = _dualsim_view_get_name(QP_DUALSIM_NUM_SIM2);
-
- _dualsim_view_set_sim_name(QP_DUALSIM_NUM_SIM2);
-}
-
-static void __dualsim_view_sim1_icon_changed_cb(keynode_t *node, void *user_data)
-{
- dual_sim_state_info.sim1_icon_num = _dualsim_view_get_icon(QP_DUALSIM_NUM_SIM1);
-
- // when icon is changed, other color should be changed.
- _dualsim_view_set_sim_icon(QP_DUALSIM_NUM_SIM1);
- _dualsim_view_set_sim_name(QP_DUALSIM_NUM_SIM1);
- _dualsim_view_set_sim_info(QP_DUALSIM_NUM_SIM1);
-}
-
-static void __dualsim_view_sim2_icon_changed_cb(keynode_t *node, void *user_data)
-{
- dual_sim_state_info.sim2_icon_num = _dualsim_view_get_icon(QP_DUALSIM_NUM_SIM2);
-
- _dualsim_view_set_sim_icon(QP_DUALSIM_NUM_SIM2);
- _dualsim_view_set_sim_name(QP_DUALSIM_NUM_SIM2);
- _dualsim_view_set_sim_info(QP_DUALSIM_NUM_SIM2);
-}
-
-static void __dualsim_view_button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- qp_dualsim_number_e sim_num = (qp_dualsim_number_e) data;
-
- DBG("Button[%d] clicked, current[%d]", sim_num, dual_sim_state_info.selected_sim_num);
- if (dual_sim_state_info.selected_sim_num != sim_num)
- {
- if (dual_sim_state_info.func_selected_cb)
- {
- dual_sim_state_info.func_selected_cb(sim_num);
- }
- }
-}
-
-static int _dualsim_view_get_icon(qp_dualsim_number_e sim_num)
-{
- int sim_icon = SIM_ICON_MAX;
- int ret = 0;
-
- if (sim_num == QP_DUALSIM_NUM_SIM1)
- {
- ret = vconf_get_int(VCONFKEY_SETAPPL_SIM1_ICON, &sim_icon);
- if (ret != 0)
- {
- ERR("Failed to get sim1 icon[%d]", ret);
- return SIM_ICON_SIM1;
- }
- return sim_icon;
- }
- else if (sim_num == QP_DUALSIM_NUM_SIM2)
- {
- ret = vconf_get_int(VCONFKEY_SETAPPL_SIM2_ICON, &sim_icon);
- if (ret != 0)
- {
- ERR("Failed to get sim2 icon[%d]", ret);
- return SIM_ICON_SIM2;
- }
- return sim_icon;
- }
- else
- {
- ERR("invalid sim number[%d]", sim_num);
- }
-
- return SIM_ICON_MAX;
-}
-
-static char *_dualsim_view_get_name(qp_dualsim_number_e sim_num)
-{
- if (sim_num == QP_DUALSIM_NUM_SIM1)
- {
- return vconf_get_str(VCONFKEY_SETAPPL_SIM1_NAME);
- }
- else if (sim_num == QP_DUALSIM_NUM_SIM2)
- {
- return vconf_get_str(VCONFKEY_SETAPPL_SIM2_NAME);
- }
-
- return NULL;
-}
-
-static void _dualsim_view_set_button(qp_dualsim_number_e sim_num, Evas_Object *parent, Evas_Object *button)
-{
- if (sim_num == QP_DUALSIM_NUM_SIM1)
- {
- elm_object_part_content_set(parent, "dual_sim_btn1", button);
- }
- else if (sim_num == QP_DUALSIM_NUM_SIM2)
- {
- elm_object_part_content_set(parent, "dual_sim_btn2", button);
- }
- else if (sim_num == QP_DUALSIM_NUM_ALWAYS_ASK)
- {
- elm_object_part_content_set(parent, "dual_sim_btn3", button);
- }
- else
- {
- ERR("invalid sim number[%d]", sim_num);
- }
-}
-
-static Evas_Object *_dualsim_view_get_button(qp_dualsim_number_e sim_num, Evas_Object *parent)
-{
- Evas_Object *button = NULL;
-
- if (sim_num == QP_DUALSIM_NUM_SIM1)
- {
- button = elm_object_part_content_get(parent, "dual_sim_btn1");
- }
- else if (sim_num == QP_DUALSIM_NUM_SIM2)
- {
- button = elm_object_part_content_get(parent, "dual_sim_btn2");
- }
- else if (sim_num == QP_DUALSIM_NUM_ALWAYS_ASK)
- {
- button = elm_object_part_content_get(parent, "dual_sim_btn3");
- }
- else
- {
- ERR("invalid sim number[%d]", sim_num);
- }
-
- return button;
-}
-
-static void _dualsim_view_set_info(Evas_Object *parent, Evas_Object *info)
-{
- elm_object_part_content_set(parent, "dual_sim_button,text,info", info);
-}
-
-static Evas_Object *_dualsim_view_get_info(Evas_Object *parent)
-{
- return elm_object_part_content_get(parent, "dual_sim_button,text,info");
-}
-
-static void _dualsim_view_set_sim_name(qp_dualsim_number_e sim_num)
-{
- if (dual_sim_state_info.layout == NULL)
- {
- ERR("Dual SIM layout is not created");
- return;
- }
-
- Evas_Object *button = NULL;
- char buf[1024] = { 0, };
- char *text = NULL;
- int sim_icon = 0;
-
- button = _dualsim_view_get_button(sim_num, dual_sim_state_info.layout);
- if (button == NULL)
- {
- ERR("No [%d] button", sim_num);
- return;
- }
-
- if (sim_num == QP_DUALSIM_NUM_SIM1 || sim_num == QP_DUALSIM_NUM_SIM2)
- {
- if (sim_num == QP_DUALSIM_NUM_SIM1)
- {
- sim_icon = dual_sim_state_info.sim1_icon_num;
- text = dual_sim_state_info.sim1_name;
- }
- else
- {
- sim_icon = dual_sim_state_info.sim2_icon_num;
- text = dual_sim_state_info.sim2_name;
- }
-
- DBG("Set SIM[%d] icon[%d] name[%s] active[%d]", sim_num, sim_icon, text, dual_sim_state_info.selected_sim_num);
-
- if (dual_sim_state_info.selected_sim_num == sim_num)
- {
- switch (sim_icon)
- {
- case SIM_ICON_SIM1:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_0", text);
- break;
- case SIM_ICON_SIM2:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_1", text);
- break;
- case SIM_ICON_CALL:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_2", text);
- break;
- case SIM_ICON_SMS:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_3", text);
- break;
- case SIM_ICON_MMS:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_4", text);
- break;
- case SIM_ICON_INTERNET:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_5", text);
- break;
- case SIM_ICON_HOME:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_6", text);
- break;
- case SIM_ICON_OFFICE:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_7", text);
- break;
- case SIM_ICON_HEART:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_8", text);
- break;
- default:
- snprintf(buf, sizeof(buf), "%s", text);
- break;
- }
- }
- else
- {
- // disconnect case, no tag
- snprintf(buf, sizeof(buf), "%s", text);
- }
- }
- else if (sim_num == QP_DUALSIM_NUM_ALWAYS_ASK)
- {
- DBG("Set SIM[%d] AlwaysAsk, active[%d]", sim_num, dual_sim_state_info.selected_sim_num);
- if (dual_sim_state_info.selected_sim_num == sim_num)
- {
- snprintf(buf, sizeof(buf), "<%s>%s</>", "on", _("IDS_QP_BUTTON_ALWAYS_ASK_ABB"));
-
- // underline on
- elm_layout_signal_emit(button, "dual_sim_button,state,on", "dual_sim_button");
- }
- else
- {
- snprintf(buf, sizeof(buf), "%s", _("IDS_QP_BUTTON_ALWAYS_ASK_ABB"));
-
- // underline off
- elm_layout_signal_emit(button, "dual_sim_button,state,off", "dual_sim_button");
- }
-
- edje_object_message_signal_process(elm_layout_edje_get(button));
- }
-
- elm_object_part_text_set(button, "dual_sim_button,text,main", buf);
-}
-
-static void _dualsim_view_set_sim_icon(qp_dualsim_number_e sim_num)
-{
- if (dual_sim_state_info.layout == NULL)
- {
- ERR("Dual SIM layout is not created");
- return;
- }
-
- Evas_Object *button = NULL;
- int sim_icon = 0;
-
- button = _dualsim_view_get_button(sim_num, dual_sim_state_info.layout);
- if (button == NULL)
- {
- ERR("No [%d] button", sim_num);
- return;
- }
-
- if (sim_num == QP_DUALSIM_NUM_SIM1 || sim_num == QP_DUALSIM_NUM_SIM2)
- {
- if (sim_num == QP_DUALSIM_NUM_SIM1)
- {
- sim_icon = dual_sim_state_info.sim1_icon_num;
- }
- else
- {
- sim_icon = dual_sim_state_info.sim2_icon_num;
- }
-
- DBG("Set SIM[%d] icon[%d] active[%d]", sim_num, sim_icon, dual_sim_state_info.selected_sim_num);
-
- if (dual_sim_state_info.selected_sim_num == sim_num)
- {
- switch (sim_icon)
- {
- case SIM_ICON_SIM1:
- elm_object_signal_emit(button, "icon_0.on", "dual_sim_button");
- break;
- case SIM_ICON_SIM2:
- elm_object_signal_emit(button, "icon_1.on", "dual_sim_button");
- break;
- case SIM_ICON_CALL:
- elm_object_signal_emit(button, "icon_2.on", "dual_sim_button");
- break;
- case SIM_ICON_SMS:
- elm_object_signal_emit(button, "icon_3.on", "dual_sim_button");
- break;
- case SIM_ICON_MMS:
- elm_object_signal_emit(button, "icon_4.on", "dual_sim_button");
- break;
- case SIM_ICON_INTERNET:
- elm_object_signal_emit(button, "icon_5.on", "dual_sim_button");
- break;
- case SIM_ICON_HOME:
- elm_object_signal_emit(button, "icon_6.on", "dual_sim_button");
- break;
- case SIM_ICON_OFFICE:
- elm_object_signal_emit(button, "icon_7.on", "dual_sim_button");
- break;
- case SIM_ICON_HEART:
- elm_object_signal_emit(button, "icon_8.on", "dual_sim_button");
- break;
- default:
- ERR("invalid icon[%d]", sim_icon);
- break;
- }
- }
- else
- {
- switch (sim_icon)
- {
- case SIM_ICON_SIM1:
- elm_object_signal_emit(button, "icon_0.off", "dual_sim_button");
- break;
- case SIM_ICON_SIM2:
- elm_object_signal_emit(button, "icon_1.off", "dual_sim_button");
- break;
- case SIM_ICON_CALL:
- elm_object_signal_emit(button, "icon_2.off", "dual_sim_button");
- break;
- case SIM_ICON_SMS:
- elm_object_signal_emit(button, "icon_3.off", "dual_sim_button");
- break;
- case SIM_ICON_MMS:
- elm_object_signal_emit(button, "icon_4.off", "dual_sim_button");
- break;
- case SIM_ICON_INTERNET:
- elm_object_signal_emit(button, "icon_5.off", "dual_sim_button");
- break;
- case SIM_ICON_HOME:
- elm_object_signal_emit(button, "icon_6.off", "dual_sim_button");
- break;
- case SIM_ICON_OFFICE:
- elm_object_signal_emit(button, "icon_7.off", "dual_sim_button");
- break;
- case SIM_ICON_HEART:
- elm_object_signal_emit(button, "icon_8.off", "dual_sim_button");
- break;
- default:
- ERR("invalid icon[%d]", sim_icon);
- break;
- }
- }
- }
-
- edje_object_message_signal_process(elm_layout_edje_get(button));
-}
-
-static void _dualsim_view_set_sim_info(qp_dualsim_number_e sim_num)
-{
- if (dual_sim_state_info.layout == NULL)
- {
- ERR("Dual SIM layout is not created");
- return;
- }
-
- Evas_Object *button = NULL;
- Evas_Object *info = NULL;
- char buf[1024] = { 0, };
- int sim_icon = 0;
- char *text = NULL;
-
- button = _dualsim_view_get_button(sim_num, dual_sim_state_info.layout);
- if (button == NULL)
- {
- ERR("No [%d] button", sim_num);
- return;
- }
- info = _dualsim_view_get_info(button);
- if (info == NULL)
- {
- ERR("No [%d] info", sim_num);
- return;
- }
-
- if (sim_num == QP_DUALSIM_NUM_SIM1 || sim_num == QP_DUALSIM_NUM_SIM2)
- {
- if (sim_num == QP_DUALSIM_NUM_SIM1)
- {
- sim_icon = dual_sim_state_info.sim1_icon_num;
- text = dual_sim_state_info.sim1_info;
- }
- else
- {
- sim_icon = dual_sim_state_info.sim2_icon_num;
- text = dual_sim_state_info.sim2_info;
- }
-
- DBG("Set SIM[%d] icon[%d] info[%s] active[%d]", sim_num, sim_icon, text, dual_sim_state_info.selected_sim_num);
-
- if (dual_sim_state_info.selected_sim_num == sim_num)
- {
- switch (sim_icon)
- {
- case SIM_ICON_SIM1:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_0", text);
- break;
- case SIM_ICON_SIM2:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_1", text);
- break;
- case SIM_ICON_CALL:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_2", text);
- break;
- case SIM_ICON_SMS:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_3", text);
- break;
- case SIM_ICON_MMS:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_4", text);
- break;
- case SIM_ICON_INTERNET:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_5", text);
- break;
- case SIM_ICON_HOME:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_6", text);
- break;
- case SIM_ICON_OFFICE:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_7", text);
- break;
- case SIM_ICON_HEART:
- snprintf(buf, sizeof(buf), "<%s>%s</>", "icon_8", text);
- break;
- default:
- snprintf(buf, sizeof(buf), "%s", text);
- break;
- }
- }
- else
- {
- // disconnect case, no tag
- snprintf(buf, sizeof(buf), "%s", text);
- }
- }
-
- elm_object_part_text_set(info, "text", buf);
-}
-
-static Evas_Object *_dualsim_view_button_create(qp_dualsim_number_e sim_num, Evas_Object *parent)
-{
- Evas_Object *layout = NULL;
- Evas_Object *info = NULL;
- Eina_Bool ret = EINA_FALSE;
-
- layout = elm_layout_add(parent);
- if (layout == NULL)
- {
- ERR("Failed to create layout");
- return layout;
- }
-
- if (sim_num == QP_DUALSIM_NUM_ALWAYS_ASK)
- {
- ret = elm_layout_file_set(layout, DUALSIM_BUTTON_EDJ, "quickpanel/dual_sim/button_no_image");
- if (ret == EINA_FALSE)
- {
- ERR("Failed to set layout[%d]", ret);
- evas_object_del(layout);
- return NULL;
- }
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- }
- else
- {
- ret = elm_layout_file_set(layout, DUALSIM_BUTTON_EDJ, "quickpanel/dual_sim/button");
- if (ret == EINA_FALSE)
- {
- ERR("Failed to set layout[%d]", ret);
- evas_object_del(layout);
- return NULL;
- }
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- info = elm_layout_add(layout);
- if (info == NULL)
- {
- ERR("Failed to create layout");
- evas_object_del(layout);
- return NULL;
- }
-
- ret = elm_layout_file_set(info, DUALSIM_INFOTEXT_EDJ, "slide_short");
- if (ret == EINA_FALSE)
- {
- ERR("Failed to set layout[%d]", ret);
- evas_object_del(layout);
- evas_object_del(info);
- return NULL;
- }
- _dualsim_view_set_info(layout, info);
-
- evas_object_show(info);
- }
-
- elm_layout_signal_callback_add(layout, "mouse,clicked,*", "dual_sim_button", __dualsim_view_button_clicked_cb, (void *) sim_num);
-
- evas_object_show(layout);
-
- return layout;
-}
-
-static void _dualsim_view_register_event(void)
-{
- int ret = 0;
-
- // sim name changed event
- if (dual_sim_state_info.sim1_name_event == EINA_FALSE)
- {
- ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_SIM1_NAME, __dualsim_view_sim1_name_changed_cb, NULL);
- if (ret != 0)
- {
- ERR("Failed to register sim1 name event callback[%d]", ret);
- }
- else
- {
- dual_sim_state_info.sim1_name_event = EINA_TRUE;
- }
- }
- if (dual_sim_state_info.sim2_name_event == EINA_FALSE)
- {
- ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_SIM2_NAME, __dualsim_view_sim2_name_changed_cb, NULL);
- if (ret != 0)
- {
- ERR("Failed to register sim2 name event callback[%d]", ret);
- }
- else
- {
- dual_sim_state_info.sim2_name_event = EINA_TRUE;
- }
- }
-
- // sim icon changed event
- if (dual_sim_state_info.sim1_icon_event == EINA_FALSE)
- {
- ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_SIM1_ICON, __dualsim_view_sim1_icon_changed_cb, NULL);
- if (ret != 0)
- {
- ERR("Failed to register sim1 icon event callback[%d]", ret);
- }
- else
- {
- dual_sim_state_info.sim1_icon_event = EINA_TRUE;
- }
- }
- if (dual_sim_state_info.sim2_icon_event == EINA_FALSE)
- {
- ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_SIM2_ICON, __dualsim_view_sim2_icon_changed_cb, NULL);
- if (ret != 0)
- {
- ERR("Failed to register sim2 icon event callback[%d]", ret);
- }
- else
- {
- dual_sim_state_info.sim2_icon_event = EINA_TRUE;
- }
- }
-}
-
-static void _dualsim_view_unregister_event(void)
-{
- int ret = 0;
-
- // sim name changed event
- if (dual_sim_state_info.sim1_name_event == EINA_TRUE)
- {
- ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_SIM1_NAME, __dualsim_view_sim1_name_changed_cb);
- if (ret != 0)
- {
- ERR("Failed to unregister sim1 name event callback[%d]", ret);
- }
- else
- {
- dual_sim_state_info.sim1_name_event = EINA_FALSE;
- }
- }
- if (dual_sim_state_info.sim2_name_event == EINA_TRUE)
- {
- ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_SIM2_NAME, __dualsim_view_sim2_name_changed_cb);
- if (ret != 0)
- {
- ERR("Failed to unregister sim2 name event callback[%d]", ret);
- }
- else
- {
- dual_sim_state_info.sim2_name_event = EINA_FALSE;
- }
- }
-
- // sim icon changed event
- if (dual_sim_state_info.sim1_icon_event == EINA_TRUE)
- {
- ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_SIM1_ICON, __dualsim_view_sim1_icon_changed_cb);
- if (ret != 0)
- {
- ERR("Failed to unregister sim1 icon event callback[%d]", ret);
- }
- else
- {
- dual_sim_state_info.sim1_icon_event = EINA_FALSE;
- }
- }
- if (dual_sim_state_info.sim2_icon_event == EINA_TRUE)
- {
- ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_SIM2_ICON, __dualsim_view_sim2_icon_changed_cb);
- if (ret != 0)
- {
- ERR("Failed to unregister sim2 icon event callback[%d]", ret);
- }
- else
- {
- dual_sim_state_info.sim2_icon_event = EINA_FALSE;
- }
- }
-}
-
-void dualsim_view_set_activated_button(qp_dualsim_number_e sim_num)
-{
- if (dual_sim_state_info.selected_sim_num == sim_num)
- {
- ERR("Already selected[%d]", sim_num);
- return;
- }
- dual_sim_state_info.selected_sim_num = sim_num;
-
- // update all
- _dualsim_view_set_sim_icon(QP_DUALSIM_NUM_SIM1);
- _dualsim_view_set_sim_icon(QP_DUALSIM_NUM_SIM2);
-
- _dualsim_view_set_sim_name(QP_DUALSIM_NUM_SIM1);
- _dualsim_view_set_sim_name(QP_DUALSIM_NUM_SIM2);
- _dualsim_view_set_sim_name(QP_DUALSIM_NUM_ALWAYS_ASK);
-
- _dualsim_view_set_sim_info(QP_DUALSIM_NUM_SIM1);
- _dualsim_view_set_sim_info(QP_DUALSIM_NUM_SIM2);
-}
-
-void dualsim_view_set_info_text(qp_dualsim_number_e sim_num, char *text)
-{
- if (sim_num == QP_DUALSIM_NUM_SIM1)
- {
- if (dual_sim_state_info.sim1_info)
- {
- dual_sim_state_info.sim1_info = NULL;
- }
- if (text)
- {
- dual_sim_state_info.sim1_info = strdup(text);
- }
- }
- else if (sim_num == QP_DUALSIM_NUM_SIM2)
- {
- if (dual_sim_state_info.sim2_info)
- {
- dual_sim_state_info.sim2_info = NULL;
- }
- if (text)
- {
- dual_sim_state_info.sim2_info = strdup(text);
- }
- }
-
- _dualsim_view_set_sim_info(sim_num);
-}
-
-void dualsim_view_set_selected_cb(dualsim_view_selected_cb func)
-{
- dual_sim_state_info.func_selected_cb = func;
-}
-
-void dualsim_view_activate(int call_state)
-{
- if (dual_sim_state_info.layout)
- {
- if (call_state)
- {
- elm_layout_signal_emit(dual_sim_state_info.layout, "dualsim.deactivate", "clipper");
- }
- else
- {
- elm_layout_signal_emit(dual_sim_state_info.layout, "dualsim.activate", "clipper");
- }
- }
-}
-
-Evas_Object* dualsim_view_create(Evas_Object *parent)
-{
- Evas_Object *layout = NULL;
- Evas_Object *button_sim1 = NULL;
- Evas_Object *button_sim2 = NULL;
- Evas_Object *button_always_ask = NULL;
- Eina_Bool ret = EINA_FALSE;
-
- if (parent == NULL)
- {
- ERR("invalid parent");
- return layout;
- }
-
- if (dual_sim_state_info.layout)
- {
- ERR("DualSim view is already created.");
- return dual_sim_state_info.layout;
- }
-
- _dualsim_view_register_event();
-
- layout = elm_layout_add(parent);
- if (layout == NULL)
- {
- ERR("Failed to create dualsim layout");
- return layout;
- }
-
- ret = elm_layout_file_set(layout, DUALSIM_EDJ, "quickpanel/dual_sim/default");
- if (ret == EINA_FALSE)
- {
- ERR("Failed to set layout file[%d]", ret);
- evas_object_del(layout);
- return NULL;
- }
-
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- evas_object_show(layout);
-
- button_sim1 = _dualsim_view_button_create(QP_DUALSIM_NUM_SIM1, layout);
- if (button_sim1)
- {
- _dualsim_view_set_button(QP_DUALSIM_NUM_SIM1, layout, button_sim1);
- }
- button_sim2 = _dualsim_view_button_create(QP_DUALSIM_NUM_SIM2, layout);
- if (button_sim2)
- {
- _dualsim_view_set_button(QP_DUALSIM_NUM_SIM2, layout, button_sim2);
- }
- button_always_ask = _dualsim_view_button_create(QP_DUALSIM_NUM_ALWAYS_ASK, layout);
- if (button_always_ask)
- {
- _dualsim_view_set_button(QP_DUALSIM_NUM_ALWAYS_ASK, layout, button_always_ask);
- }
-
- // store local value
- dual_sim_state_info.layout = layout;
- dual_sim_state_info.selected_sim_num = QP_DUALSIM_NUM_NONE;
- dual_sim_state_info.sim1_name = _dualsim_view_get_name(QP_DUALSIM_NUM_SIM1);
- dual_sim_state_info.sim2_name = _dualsim_view_get_name(QP_DUALSIM_NUM_SIM2);
- dual_sim_state_info.sim1_icon_num = _dualsim_view_get_icon(QP_DUALSIM_NUM_SIM1);
- dual_sim_state_info.sim2_icon_num = _dualsim_view_get_icon(QP_DUALSIM_NUM_SIM2);
-
- // set initial info
- _dualsim_view_set_sim_icon(QP_DUALSIM_NUM_SIM1);
- _dualsim_view_set_sim_icon(QP_DUALSIM_NUM_SIM2);
-
- _dualsim_view_set_sim_name(QP_DUALSIM_NUM_SIM1);
- _dualsim_view_set_sim_name(QP_DUALSIM_NUM_SIM2);
- _dualsim_view_set_sim_name(QP_DUALSIM_NUM_ALWAYS_ASK);
-
- dualsim_view_set_info_text(QP_DUALSIM_NUM_SIM1, _("IDS_IDLE_BODY_NO_SERVICE"));
- dualsim_view_set_info_text(QP_DUALSIM_NUM_SIM2, _("IDS_IDLE_BODY_NO_SERVICE"));
-
- // attach to list
- struct appdata *ad = quickpanel_get_app_data();
- qp_item_data *qid = quickpanel_list_util_item_new(QP_ITEM_TYPE_DUAL_SIM, layout);
- quickpanel_list_util_item_set_tag(layout, qid);
- quickpanel_list_util_sort_insert(ad->list, layout);
- quickpanel_initial_resize(layout, 80); // TODO: remove hardcode
-
- return layout;
-}
-
-void dualsim_view_destroy()
-{
- struct appdata *ad = NULL;
-
- ad = quickpanel_get_app_data();
- if (ad == NULL)
- {
- ERR("invalid data");
- return;
- }
-
- if (dual_sim_state_info.layout == NULL)
- {
- ERR("DualSim view is not exist");
- return;
- }
-
- _dualsim_view_unregister_event();
-
- quickpanel_list_util_item_unpack_by_object(ad->list, dual_sim_state_info.layout, 0, 0);
- dual_sim_state_info.layout = NULL;
- dual_sim_state_info.selected_sim_num = QP_DUALSIM_NUM_NONE;
-
- if (dual_sim_state_info.sim1_name)
- {
- free(dual_sim_state_info.sim1_name);
- }
- if (dual_sim_state_info.sim2_name)
- {
- free(dual_sim_state_info.sim2_name);
- }
- dual_sim_state_info.sim1_icon_num = 0;
- dual_sim_state_info.sim2_icon_num = 0;
-}
-
-void dualsim_view_resume()
-{
- Evas_Object *button = NULL;
- Evas_Object *info = NULL;
-
- if (dual_sim_state_info.layout)
- {
- button = _dualsim_view_get_button(QP_DUALSIM_NUM_SIM1, dual_sim_state_info.layout);
- if (button)
- {
- info = _dualsim_view_get_info(button);
- if (info)
- {
- elm_layout_signal_emit(info, "elm,state,slide,start", "elm");
- }
- }
- button = _dualsim_view_get_button(QP_DUALSIM_NUM_SIM2, dual_sim_state_info.layout);
- if (button)
- {
- info = _dualsim_view_get_info(button);
- if (info)
- {
- elm_layout_signal_emit(info, "elm,state,slide,start", "elm");
- }
- }
- }
-}
-
-void dualsim_view_pause()
-{
- Evas_Object *button = NULL;
- Evas_Object *info = NULL;
-
- if (dual_sim_state_info.layout)
- {
- button = _dualsim_view_get_button(QP_DUALSIM_NUM_SIM1, dual_sim_state_info.layout);
- if (button)
- {
- info = _dualsim_view_get_info(button);
- if (info)
- {
- elm_layout_signal_emit(info, "elm,state,slide,stop", "elm");
- }
- }
- button = _dualsim_view_get_button(QP_DUALSIM_NUM_SIM2, dual_sim_state_info.layout);
- if (button)
- {
- info = _dualsim_view_get_info(button);
- if (info)
- {
- elm_layout_signal_emit(info, "elm,state,slide,stop", "elm");
- }
- }
- }
-}
-
-void dualsim_view_language_changed()
-{
- _dualsim_view_set_sim_name(QP_DUALSIM_NUM_ALWAYS_ASK);
-}
+++ /dev/null
-/*
- * 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 DUAL_SIM_VIEW_H_
-#define DUAL_SIM_VIEW_H_
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <Evas.h>
-#include <Elementary.h>
-#include <Eina.h>
-#include <dlog.h>
-#include <vconf.h>
-
-#include "list_util.h"
-#include "quickpanel-ui.h"
-#include "common.h"
-
-#define EDJE_DIR "/usr/apps/org.tizen.quickpanel/res/edje/"
-
-#define DUALSIM_EDJ EDJE_DIR"/quickpanel_dual_sim.edj"
-#define DUALSIM_BUTTON_EDJ EDJE_DIR"/quickpanel_dual_sim_button.edj"
-#define DUALSIM_INFOTEXT_EDJ EDJE_DIR"/quickpanel_textblock_slide_style.edj"
-
-// internally used sim button number
-typedef enum
-{
- QP_DUALSIM_NUM_NONE = 0,
- QP_DUALSIM_NUM_SIM1,
- QP_DUALSIM_NUM_SIM2,
- QP_DUALSIM_NUM_ALWAYS_ASK,
- QP_DUALSIM_NUM_MAX,
-}qp_dualsim_number_e;
-
-typedef void (*dualsim_view_selected_cb)(qp_dualsim_number_e sim_num);
-
-/* properties */
-void dualsim_view_set_activated_button(qp_dualsim_number_e sim_num);
-void dualsim_view_set_info_text(qp_dualsim_number_e sim_num, char *text);
-void dualsim_view_set_selected_cb(dualsim_view_selected_cb func);
-
-void dualsim_view_activate(int call_state);
-
-/* application event */
-Evas_Object* dualsim_view_create(Evas_Object *parent);
-void dualsim_view_destroy();
-void dualsim_view_resume();
-void dualsim_view_pause();
-void dualsim_view_language_changed();
-
-#endif /* DUAL_SIM_VIEW_H_ */
*/
-#include "handler_controller.h"
+#include <Elementary.h>
#include <dlog.h>
#include <vconf.h>
#include <ITapiSim.h>
#include <TelCall.h>
#include <ITapiCall.h>
-#include "setting_utils.h"
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
+#include "handler_controller.h"
+#include "setting_utils.h"
#include "list_util.h"
#include "quickpanel-ui.h"
#include "common.h"
-void handler_text_set(char *text)
+HAPI void quickpanel_handler_text_set(char *text)
{
struct appdata *ad = quickpanel_get_app_data();
- if(!ad)
- {
+ if (!ad) {
ERR("Could not get application data");
return;
}
Evas_Object *layout = ad->view_root;
- if(!layout)
- {
+ if (!layout) {
ERR("Could not get view_root");
return;
}
- if (text)
- {
+ if (text) {
elm_object_part_text_set(layout, "qp.handler.text", text);
elm_object_signal_emit(layout, "show", "qp.handler.text");
- }
- else
- {
+ } else {
elm_object_part_text_set(layout, "qp.handler.text", " ");
elm_object_signal_emit(layout, "hide", "qp.handler.text");
}
}
-void handler_set_visibility(Eina_Bool visible)
+HAPI void quickpanel_handler_set_visibility(Eina_Bool visible)
{
struct appdata *ad = quickpanel_get_app_data();
- if(!ad)
- {
+ if (!ad) {
ERR("Could not get application data");
return;
}
Evas_Object *layout = ad->view_root;
- if(!layout)
- {
+ if (!layout) {
ERR("Could not get view_root");
return;
}
- if(visible == EINA_FALSE)
- {
+ if (visible == EINA_FALSE) {
elm_object_signal_emit(layout, "qp.handler.text,hide", "qp.handler.text");
- }
- else
- {
+ } else {
elm_object_signal_emit(layout, "qp.handler.text,show", "qp.handler.text");
}
}
#ifndef HANDLER_CONTROLLER_H_
#define HANDLER_CONTROLLER_H_
-#include <stdio.h>
-#include <stdlib.h>
-#include <Evas.h>
-#include <Elementary.h>
-#include <Eina.h>
-
-void handler_text_set(char *text);
-void handler_set_visibility(Eina_Bool visible);
+extern void quickpanel_handler_text_set(char *text);
+extern void quickpanel_handler_set_visibility(Eina_Bool visible);
#endif /* HANDLER_CONTROLLER_H_ */
#include <Elementary.h>
#include <stdlib.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
+#include "quickpanel-ui.h"
#include "common.h"
#include "list_util.h"
#include "vi_manager.h"
HAPI qp_item_data *quickpanel_list_util_item_new(qp_item_type_e type, void *data)
{
- qp_item_data *qid = NULL;
+ qp_item_data *qid;
- qid = malloc(sizeof(struct _qp_item_data));
+ qid = malloc(sizeof(*qid));
if (!qid) {
ERR("fail to alloc qid");
return NULL;
return qid;
}
+HAPI void quickpanel_list_util_item_del(qp_item_data *qid)
+{
+ free(qid);
+}
+
HAPI void quickpanel_list_util_item_set_tag(Evas_Object *item, qp_item_data *qid)
{
retif(item == NULL, , "invalid parameter");
{
void *user_data = NULL;
- if (!qid)
+ if (!qid) {
return NULL;
+ }
user_data = qid->data;
HAPI void quickpanel_list_util_item_set_data(qp_item_data *qid, void *data)
{
- if (!qid)
- return ;
+ if (!qid) {
+ return;
+ }
qid->data = data;
}
}
/* elm_genlist sort is not working as i expected */
- if (qid1->type == qid2->type)
+ if (qid1->type == qid2->type) {
return 1;
+ }
diff = qid1->type - qid2->type;
return item_data->type;
}
-static int __item_compare(const void *data1, const void *data2)
+static int _item_compare(const void *data1, const void *data2)
{
int diff = 0;
const Evas_Object *eo1 = data1;
return diff;
}
-static void _list_util_layout_get_coord(Evas_Object *container, Evas_Object *first,
- int *coord_x, int *coord_y) {
+static void _list_util_layout_get_coord(Evas_Object *container, Evas_Object *first, int *coord_x, int *coord_y)
+{
int x = 0;
int y = 0;
int h = 0;
Evas_Object *obj = NULL;
Eina_List *item_list = elm_box_children_get(container);
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
if (obj != NULL) {
item_type = quickpanel_list_util_item_type_get(obj);
if (item_type == QP_ITEM_TYPE_ONGOING_NOTI
- || item_type == QP_ITEM_TYPE_NOTI) {
+ || item_type == QP_ITEM_TYPE_NOTI) {
list_tmp = elm_box_children_get(obj);
if (list_tmp != NULL) {
if (eina_list_count(list_tmp) != 0 ) {
off_y += h;
h = 0;
- if (obj == first) break;
+ if (obj == first) {
+ break;
+ }
}
}
}
}
-Evas_Object *_list_util_get_first(Evas_Object *list,
- Evas_Object *new_obj)
+Evas_Object *_list_util_get_first(Evas_Object *list, Evas_Object *new_obj)
{
Eina_List *l;
Eina_List *l_next;
item_data = evas_object_data_get(new_obj, E_DATA_ITEM_LABEL_H);
retif(item_data == NULL, NULL, "invalid parameter");
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
if (obj != NULL) {
- if (__item_compare(obj, item_data) > 0)
+ if (_item_compare(obj, item_data) > 0) {
break;
+ }
}
first = obj;
return QP_ITEM_TYPE_NONE;
}
-HAPI void quickpanel_list_util_item_unpack_by_object(Evas_Object *list
- , Evas_Object *item, int is_unpack_only, int is_hide)
+HAPI void quickpanel_list_util_item_unpack_by_object(Evas_Object *list , Evas_Object *item, int is_unpack_only, int is_hide)
{
QP_VI *vi = NULL;
qp_item_data *qid = NULL;
quickpanel_vi_start(vi);
}
-HAPI void quickpanel_list_util_sort_insert(Evas_Object *list,
- Evas_Object *new_obj)
+HAPI void quickpanel_list_util_sort_insert(Evas_Object *list, Evas_Object *new_obj)
{
QP_VI *vi = NULL;
quickpanel_vi_start(vi);
}
-HAPI Elm_Transit *quickpanel_list_get_reorder_transit(Evas_Object *item, Elm_Transit *transit, int distance) {
+HAPI Elm_Transit *quickpanel_list_util_get_reorder_transit(Evas_Object *item, Elm_Transit *transit, int distance)
+{
Eina_List *l;
Eina_List *l_next;
Evas_Object *obj = NULL;
item_list = elm_box_children_get(container);
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
+ 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) {
return transit_layout;
}
-static void _anim_init_insert(void *data) {
-
-
+static void _anim_init_insert(void *data)
+{
QP_VI *vi = data;
int coord_x = 0, coord_y = 0;
retif(vi == NULL, , "invalid parameter");
evas_object_move(item, coord_x, coord_y);
}
-static void _anim_job_insert(void *data) {
+static void _anim_job_insert(void *data)
+{
QP_VI *vi = data;
Eina_List *l;
return;
}
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
if (obj == first) {
is_start_relayout = 1;
} else if (obj != NULL && is_start_relayout == 1) {
}
}
-static void _anim_done_insert(void *data) {
-
+static void _anim_done_insert(void *data)
+{
QP_VI *vi = data;
retif(data == NULL, , "invalid parameter");
retif(vi->container == NULL, , "invalid parameter");
}
}
-static void _anim_job_delete(void *data) {
+static void _anim_job_delete(void *data)
+{
QP_VI *vi = data;
Eina_List *l;
Eina_List *l_next;
quickpanel_vim_get_duration(VI_OP_DELETE));
elm_transit_go(transit_fadeout);
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
+ 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) {
}
}
-static void _anim_done_delete(void *data) {
+static void _anim_done_delete(void *data)
+{
QP_VI *vi = data;
retif(vi == NULL, , "invalid parameter");
}
}
-static Eina_Bool _anim_init_cb(void *data) {
+static Eina_Bool _anim_init_cb(void *data)
+{
int i = 0;
QP_VI *vi = data;
retif(vi == NULL, EINA_FALSE, "invalid parameter");
};
for (i = 0; anim_init_table[i].op_type != VI_OP_NONE; i++) {
- if (anim_init_table[i].op_type != vi->op_type)
+ 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) {
+static Eina_Bool _anim_job_cb(void *data)
+{
int i = 0;
QP_VI *vi = data;
retif(vi == NULL, EINA_FALSE, "invalid parameter");
};
for (i = 0; anim_job_table[i].op_type != VI_OP_NONE; i++) {
- if (anim_job_table[i].op_type != vi->op_type)
+ 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) {
+static Eina_Bool _anim_done_cb(void *data)
+{
int i = 0;
QP_VI *vi = data;
retif(vi == NULL, EINA_FALSE, "invalid parameter");
};
for (i = 0; anim_done_table[i].op_type != VI_OP_NONE; i++) {
- if (anim_done_table[i].op_type != vi->op_type)
+ if (anim_done_table[i].op_type != vi->op_type) {
continue;
+ }
anim_done_table[i].handler(vi);
break;
return EINA_TRUE;
}
-HAPI void quickpanel_list_scroll_freeze_set(Eina_Bool is_freeze)
+HAPI void quickpanel_list_util_scroll_freeze_set(Eina_Bool is_freeze)
{
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, , "invalid data.");
#ifndef _QP_LIST_UTIL_DEF_
#define _QP_LIST_UTIL_DEF_
-#include <Elementary.h>
-
typedef enum {
QP_ITEM_TYPE_NONE = -1,
QP_ITEM_TYPE_SETTING = 0,
QP_ITEM_TYPE_BRIGHTNESS,
- QP_ITEM_TYPE_DUAL_SIM,
+ QP_ITEM_TYPE_VOICE_CONTOL,
QP_ITEM_TYPE_FACTORY,
QP_ITEM_TYPE_MULTIWINDOW,
QP_ITEM_TYPE_EARJACK,
QP_ITEM_TYPE_MINICTRL_ONGOING,
- QP_ITEM_TYPE_MINICTRL_TOP,
QP_ITEM_TYPE_MINICTRL_MIDDLE,
- QP_ITEM_TYPE_MINICTRL_LOW,
QP_ITEM_TYPE_ONGOING_NOTI_GROUP,
QP_ITEM_TYPE_ONGOING_NOTI,
QP_ITEM_TYPE_NOTI_GROUP,
int minicontrol;
} qp_item_count;
+extern qp_item_data *quickpanel_list_util_item_new(qp_item_type_e type, void *data);
+extern void quickpanel_list_util_item_del(qp_item_data *qid);
+extern void quickpanel_list_util_item_set_tag(Evas_Object *item, qp_item_data *qid);
+extern void quickpanel_list_util_item_del_tag(Evas_Object *item);
-qp_item_data *quickpanel_list_util_item_new(qp_item_type_e type, void *data);
-void quickpanel_list_util_item_set_tag(Evas_Object *item, qp_item_data *qid);
-void quickpanel_list_util_item_del_tag(Evas_Object *item);
-
-void *quickpanel_list_util_item_get_data(qp_item_data *qid);
-void quickpanel_list_util_item_set_data(qp_item_data *qid, void *data);
-int quickpanel_list_util_item_compare(const void *data1, const void *data2);
-qp_item_type_e quickpanel_list_util_item_type_get(Evas_Object *item);
-
-void quickpanel_list_util_item_unpack_by_object(Evas_Object *list
- , Evas_Object *item, int is_unpack_only, int is_hide);
+extern void *quickpanel_list_util_item_get_data(qp_item_data *qid);
+extern void quickpanel_list_util_item_set_data(qp_item_data *qid, void *data);
+extern int quickpanel_list_util_item_compare(const void *data1, const void *data2);
+extern qp_item_type_e quickpanel_list_util_item_type_get(Evas_Object *item);
-void quickpanel_list_util_sort_insert(Evas_Object *list,
- Evas_Object *new_obj);
+extern void quickpanel_list_util_item_unpack_by_object(Evas_Object *list , Evas_Object *item, int is_unpack_only, int is_hide);
+extern void quickpanel_list_util_sort_insert(Evas_Object *list, Evas_Object *new_obj);
-Elm_Transit *quickpanel_list_get_reorder_transit(Evas_Object *item,
- Elm_Transit *transit, int distance);
-void quickpanel_list_scroll_freeze_set(Eina_Bool is_freeze);
+extern Elm_Transit *quickpanel_list_util_get_reorder_transit(Evas_Object *item, Elm_Transit *transit, int distance);
+extern void quickpanel_list_util_scroll_freeze_set(Eina_Bool is_freeze);
#endif /* _QP_LIST_UTIL_DEF_ */
*/
#include <stdio.h>
+#include <unistd.h>
#include <glib.h>
+#include <unistd.h>
+
+#include <Elementary.h>
+
#include <vconf.h>
#include <metadata_extractor.h>
+#include <feedback.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include <player.h>
+
#include "common.h"
#include "quickpanel-ui.h"
+#include "media.h"
#define NEED_TO_DEBUG_LOCKUP_ISSUE
static void _quickpanel_player_free(player_h *sound_player);
-static void
-_quickpanel_player_del_timeout_timer(void)
+static void _quickpanel_player_del_timeout_timer(void)
{
if (s_info.playing_timer) {
ecore_timer_del(s_info.playing_timer);
#endif
}
-static void
-_quickpanel_player_completed_cb(void *user_data)
+static void _quickpanel_player_completed_cb(void *user_data)
{
retif(user_data == NULL, , "invalid parameter");
player_h *sound_player = user_data;
_quickpanel_player_free(sound_player);
}
-static void
-_quickpanel_player_interrupted_cb(player_interrupted_code_e code, void *user_data)
+static void _quickpanel_player_interrupted_cb(player_interrupted_code_e code, void *user_data)
{
retif(user_data == NULL, , "invalid parameter");
player_h *sound_player = user_data;
_quickpanel_player_free(sound_player);
}
-static void
-_quickpanel_player_error_cb(int error_code, void *user_data)
+static void _quickpanel_player_error_cb(int error_code, void *user_data)
{
retif(user_data == NULL, , "invalid parameter");
player_h *sound_player = user_data;
_quickpanel_player_free(sound_player);
}
-HAPI int quickpanel_player_is_drm_error(int error_code)
+HAPI int quickpanel_media_player_is_drm_error(int error_code)
{
if (error_code == PLAYER_ERROR_DRM_EXPIRED
- || error_code == PLAYER_ERROR_DRM_NO_LICENSE
- || error_code == PLAYER_ERROR_DRM_FUTURE_USE
- || error_code == PLAYER_ERROR_DRM_NOT_PERMITTED) {
+ || error_code == PLAYER_ERROR_DRM_NO_LICENSE
+ || error_code == PLAYER_ERROR_DRM_FUTURE_USE
+ || error_code == PLAYER_ERROR_DRM_NOT_PERMITTED) {
return 1;
}
return 0;
}
-HAPI int quickpanel_player_play(sound_type_e sound_type, const char *sound_file)
+HAPI int quickpanel_media_player_play(sound_type_e sound_type, const char *sound_file)
{
player_h *sound_player = &s_info.player;
sound_session_type_e type = 1;
sound_manager_get_session_type(&type);
if (type != SOUND_SESSION_TYPE_NOTIFICATION) {
sndRet = sound_manager_set_session_type(SOUND_SESSION_TYPE_NOTIFICATION);
- if(sndRet != SOUND_MANAGER_ERROR_NONE) {
- ERR("sound_manager_set_session_type fail");
+ if (sndRet != SOUND_MANAGER_ERROR_NONE) {
+ ERR("sound_manager_set_session_type fail sndRet :%x",sndRet);
return PLAYER_ERROR_INVALID_PARAMETER;
}
}
return ret;
}
-Eina_Bool _playable_check(const char *file_path)
+static Eina_Bool _playable_check(const char *file_path)
{
char *value = NULL;
int ret_meta = METADATA_EXTRACTOR_ERROR_NONE;
ret = EINA_TRUE;
}
- if (value != NULL) {
- free(value);
- }
+ free(value);
+
DBG("%s :: playable[%d]", file_path, ret);
metadata_extractor_destroy(metadata);
return ret;
}
-Eina_Bool quickpanel_media_playable_check(const char *file_path)
+HAPI Eina_Bool quickpanel_media_playable_check(const char *file_path)
{
Eina_Bool ret = EINA_FALSE;
}
-HAPI void quickpanel_player_stop(void)
+HAPI void quickpanel_media_player_stop(void)
{
_quickpanel_player_del_timeout_timer();
_quickpanel_player_free(&s_info.player);
}
- quickpanel_player_id_set(0);
+ quickpanel_media_player_id_set(0);
}
-HAPI void quickpanel_player_id_set(int id)
+HAPI void quickpanel_media_player_id_set(int id)
{
s_info.id = id;
}
-HAPI int quickpanel_player_id_get(void)
+HAPI int quickpanel_media_player_id_get(void)
{
return s_info.id;
}
-HAPI int quickpanel_is_sound_enabled(void)
+HAPI int quickpanel_media_is_sound_enabled(void)
{
int snd_status = 0, ret = -1;
return 0;
}
-HAPI int quickpanel_is_vib_enabled(void)
+HAPI int quickpanel_media_is_vib_enabled(void)
{
int vib_status = 0, ret = -1;
return 0;
}
-HAPI void quickpanel_play_feedback(void)
+HAPI void quickpanel_media_play_feedback(void)
{
- int snd_enabled = quickpanel_is_sound_enabled();
- int vib_enabled = quickpanel_is_vib_enabled();
+ int snd_enabled = quickpanel_media_is_sound_enabled();
+ int vib_enabled = quickpanel_media_is_vib_enabled();
quickpanel_media_init();
if (snd_enabled == 1) {
- feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TOUCH_TAP);
+ feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP);
} else if (vib_enabled == 1) {
- feedback_play_type(FEEDBACK_TYPE_VIBRATION, FEEDBACK_PATTERN_TOUCH_TAP);
+ feedback_play_type(FEEDBACK_TYPE_VIBRATION, FEEDBACK_PATTERN_TAP);
}
}
-HAPI int quickpanel_set_mute_toggle(void)
+HAPI int quickpanel_media_set_mute_toggle(void)
{
int ret = -1;
- if (quickpanel_is_sound_enabled() == 1 ||
- quickpanel_is_vib_enabled() == 1) {
+ if (quickpanel_media_is_sound_enabled() == 1 ||
+ quickpanel_media_is_vib_enabled() == 1) {
ret = vconf_set_bool(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, 0);
msgif(ret != 0, "failed to set VCONFKEY_SETAPPL_SOUND_STATUS_BOOL");
#ifndef __QUICKPANEL_MEDIA_H__
#define __QUICKPANEL_MEDIA_H__
-#include <player.h>
-#include <sound_manager.h>
-#include <feedback.h>
-
#define QP_PLAY_DURATION_LIMIT 15
-int quickpanel_player_play(sound_type_e sound_type, const char *sound_file);
-void quickpanel_player_stop(void);
-int quickpanel_is_sound_enabled(void);
-int quickpanel_is_vib_enabled(void);
-void quickpanel_play_feedback(void);
-int quickpanel_set_mute_toggle(void);
-void quickpanel_player_id_set(int id);
-int quickpanel_player_id_get(void);
-Eina_Bool quickpanel_media_playable_check(const char *file_path);
-int quickpanel_player_is_drm_error(int error_code);
-void quickpanel_media_init(void);
-void quickpanel_media_fini(void);
+extern int quickpanel_media_player_play(sound_type_e sound_type, const char *sound_file);
+extern void quickpanel_media_player_stop(void);
+extern int quickpanel_media_is_sound_enabled(void);
+extern int quickpanel_media_is_vib_enabled(void);
+extern void quickpanel_media_play_feedback(void);
+extern int quickpanel_media_set_mute_toggle(void);
+extern void quickpanel_media_player_id_set(int id);
+extern int quickpanel_media_player_id_get(void);
+extern Eina_Bool quickpanel_media_playable_check(const char *file_path);
+extern int quickpanel_media_player_is_drm_error(int error_code);
+extern void quickpanel_media_init(void);
+extern void quickpanel_media_fini(void);
#endif
*/
+#include <Elementary.h>
#include <glib.h>
-#include <Ecore_X.h>
-#include <minicontrol-viewer.h>
-#include <minicontrol-monitor.h>
#include <string.h>
+#include <stdbool.h>
+
+#include <minicontrol-viewer.h>
+#include <minicontrol-internal.h>
+#include <bundle.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
#include "common.h"
+#include "common_uic.h"
#include "quickpanel-ui.h"
#include "quickpanel_def.h"
#include "list_util.h"
#include "quickpanel_debug_util.h"
+#include "minictrl.h"
+#include "vi_manager.h"
+
#ifdef QP_SCREENREADER_ENABLE
#include "accessibility.h"
#endif
-#include "minictrl.h"
-#include "vi_manager.h"
#define MINICONTROL_TYPE_STR_VIEWER "::[viewer="
#define MINICONTROL_TYPE_STR_QUICKPANEL "QUICKPANEL"
#define MINICONTROL_TYPE_STR_LOCKSCREEN "LOCKSCREEN"
#define MINICONTROL_TYPE_STR_ONGOING "_ongoing]"
+#define MINICONTROL_VIEW_DATA "MINICONTROL_VIEW_DATA"
-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 int quickpanel_minictrl_init(void *data);
-static int quickpanel_minictrl_fini(void *data);
-static int quickpanel_minictrl_suspend(void *data);
-static int quickpanel_minictrl_resume(void *data);
+#define THRESHOLD_DELETE_START 30
+#define THRESHOLD_DELETE_START_Y_LIMIT 60
+#define THRESHOLD_DISTANCE (200)
+#define THRESHOLD_DISTANCE_LOCK (500)
-QP_Module minictrl = {
- .name = "minictrl",
- .init = quickpanel_minictrl_init,
- .fini = quickpanel_minictrl_fini,
- .suspend = quickpanel_minictrl_suspend,
- .resume = quickpanel_minictrl_resume,
- .hib_enter = NULL,
- .hib_leave = NULL,
- .lang_changed = NULL,
- .refresh = NULL,
- .get_height = NULL,
-};
+#define MINICONTROL_BUNDLE_KEY_WIDTH "width"
+#define MINICONTROL_BUNDLE_KEY_HEIGHT "height"
+
+#define BUNDLE_BUFFER_LENGTH 100
+
+typedef enum _gesture_state_type {
+ STATE_NORMAL = 0,
+ STATE_GESTURE_WAIT,
+ STATE_GESTURE_CANCELED,
+ STATE_DELETED,
+} gesture_state_type;
struct _viewer_item {
char *name;
unsigned int width;
unsigned int height;
- minicontrol_priority_e priority;
Evas_Object *viewer;
void *data;
-};
-static void _minictrl_resize_vi(Evas_Object *list,
- struct _viewer_item *item, int to_w, int to_h);
+ //for flick gesture
+ QP_VI *vi;
+ int obj_w;
+ int obj_h;
+ int press_x;
+ int press_y;
+ int distance;
+ int need_to_cancel_press;
+ gesture_state_type state;
+ int deletable;
+};
-GHashTable *g_prov_table;
+static struct _info {
+ GHashTable *prov_table;
+} s_info = {
+ .prov_table = NULL,
+};
static int _viewer_check(const char *name)
{
char *pos_start = NULL;
- retif(!name, 0, "name is NULL");
+
+ if (!name) {
+ ERR("Name is NULL");
+ return 0;
+ }
if ((pos_start = strstr(name, MINICONTROL_TYPE_STR_VIEWER)) != NULL) {
if (strstr(pos_start, MINICONTROL_TYPE_STR_QUICKPANEL) != NULL) {
return 1;
}
-static void _viewer_freeze(Evas_Object *viewer)
-{
- int freezed_count = 0;
- retif(viewer == NULL, , "Invalid parameter!");
-
- freezed_count = elm_object_scroll_freeze_get(viewer);
-
- if (freezed_count <= 0) {
- elm_object_scroll_freeze_push(viewer);
- }
-}
-
static void _viewer_unfreeze(Evas_Object *viewer)
{
int i = 0, freezed_count = 0;
- retif(viewer == NULL, , "Invalid parameter!");
+
+ if (!viewer) {
+ ERR("Invalid parameter");
+ return;
+ }
freezed_count = elm_object_scroll_freeze_get(viewer);
}
}
-static Evas_Object *_get_minictrl_obj(Evas_Object *layout) {
- retif(layout == NULL, NULL, "Invalid parameter!");
+static Evas_Object *_get_minictrl_obj(Evas_Object *layout)
+{
+ if (!layout) {
+ ERR("Invalid parameter");
+ return NULL;
+ }
return elm_object_part_content_get(layout, "elm.icon");
}
static void _viewer_set_size(Evas_Object *layout, void *data, int width, int height)
{
- Evas_Object *viewer = NULL;
- retif(layout == NULL, , "Invalid parameter!");
- retif(data == NULL, , "Invalid parameter!");
- retif(width < 0, , "Invalid parameter!");
- retif(height < 0, , "Invalid parameter!");
- struct appdata *ad = data;
- int max_width = 0;
- int resized_width = 0;
- int is_landscape = 0;
+ Evas_Object *viewer;
+ struct appdata *ad;
+ int max_width;
+ int resized_width;
+ int is_landscape;
+
+ if (!layout || !data || width < 0 || height < 0) {
+ ERR("Invalid parameters (%p, %p, %d, %d)", layout, data, width, height);
+ return;
+ }
viewer = _get_minictrl_obj(layout);
- retif(viewer == NULL, , "Invalid parameter!");
+ if (!viewer) {
+ ERR("Unable to get the 'viewer'");
+ return;
+ }
- is_landscape = (width > ad->win_width) ? 1 : 0;
+ ad = data;
- if (is_landscape) {
- max_width = (ad->scale * ad->win_height);
+ if (ad->angle == 0 || ad->angle == 180) {
+ is_landscape = 0;
} else {
- max_width = (ad->scale * ad->win_width);
+ is_landscape = 1;
}
+
+ if (width > ad->win_width) {
+ ERR("MC Size is not valid. it is larger than window size: %dx%d (%dx%d) %d", width, height, ad->win_width, ad->win_height, ad->angle);
+ }
+
+ max_width = is_landscape ? ad->win_height : ad->win_width;
resized_width = (width > max_width) ? max_width : width;
- SERR("minicontroller view is resized to w:%d(%d) h:%d Landscape[%d]", resized_width, width, height, is_landscape);
+ SERR("minicontroller view is resized to w:%d/%d(%d) h:%d Landscape[%d]", resized_width, max_width, width, height, is_landscape);
evas_object_size_hint_min_set(viewer, resized_width, height);
evas_object_size_hint_max_set(viewer, resized_width, height);
static void _viewer_item_free(struct _viewer_item *item)
{
- struct appdata *ad = quickpanel_get_app_data();
- retif(ad == NULL, , "Invalid parameter!");
- retif(ad->list == NULL, , "Invalid parameter!");
- retif(item == NULL, , "Invalid parameter!");
+ struct appdata *ad;
- if (item->name)
- free(item->name);
+ ad = quickpanel_get_app_data();
+ if (!ad || !ad->list || !item) {
+ ERR("Invalid paramter %p, %p, %p", ad, ad ? ad->list : NULL, item);
+ return;
+ }
+
+ free(item->name);
if (item->viewer) {
quickpanel_list_util_item_unpack_by_object(ad->list, item->viewer, 0, 0);
quickpanel_list_util_item_del_tag(item->viewer);
- if (item->viewer != NULL) {
- evas_object_del(item->viewer);
- item->viewer = NULL;
- }
+ evas_object_del(item->viewer);
}
free(item);
}
+static bool _check_deletable(Evas_Object *obj)
+{
+ struct _viewer_item *vit;
+
+ vit = evas_object_data_get(obj, MINICONTROL_VIEW_DATA);
+ if (vit) {
+ return vit->deletable;
+ }
+
+ return TRUE;
+}
+
+static void _mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ Evas_Event_Mouse_Down *ev;
+ struct _viewer_item *vit;
+
+ vit = evas_object_data_get(obj, MINICONTROL_VIEW_DATA);
+ ev = (Evas_Event_Mouse_Down *)event_info;
+
+ if (!ev || !vit) {
+ ERR("ev %p, vit %p");
+ return;
+ }
+
+ evas_object_geometry_get(obj, NULL, NULL, &vit->obj_w, &vit->obj_h);
+
+ vit->press_x = ev->canvas.x;
+ vit->press_y = ev->canvas.y;
+ vit->state = STATE_NORMAL;
+
+ SDBG("mouse down:%d %d %d", vit->obj_w, vit->obj_h, vit->state);
+
+ if (vit->vi != NULL) {
+ quickpanel_vi_user_event_del(vit->vi);
+ vit->vi = NULL;
+ }
+
+ vit->need_to_cancel_press = 0;
+}
+
+static void _mouse_move_cb(void* data, Evas* e, Evas_Object* obj, void* event_info)
+{
+ static int vi_start_x = 0;
+ static int delta_prev = -1;
+ int delta_x;
+ int x;
+ int y;
+ int w;
+ int h;
+ Evas_Event_Mouse_Move* ev;
+ struct _viewer_item *vit;
+ struct appdata *ad;
+
+ ad = data;
+ ev = event_info;
+ vit = evas_object_data_get(obj, MINICONTROL_VIEW_DATA);
+ if (!ev || !vit || !ad) {
+ ERR("ev: %p, vit: %p, ad: %p", ev, vit, ad);
+ return;
+ }
+
+ if (vit->state == STATE_GESTURE_CANCELED) {
+ DBG("deletion has been canceled");
+ return;
+ }
+
+ if (!_check_deletable(obj)) {
+ DBG("vit->deletable is false");
+ return;
+ }
+
+ evas_object_geometry_get(obj, &x, &y, &w, &h);
+ delta_x = (ev->cur.output.x - vit->press_x) / 2;
+
+ switch (vit->state) {
+ case STATE_NORMAL:
+ if (abs(delta_x) >= THRESHOLD_DELETE_START) {
+ QP_VI *vi;
+
+ DBG("start a deletion");
+ vit->state = STATE_GESTURE_WAIT;
+
+ vi_start_x = delta_x;
+
+ vi = quickpanel_vi_new_with_data(
+ VI_OP_DELETE,
+ QP_ITEM_TYPE_NOTI,
+ NULL,
+ obj,
+ NULL,
+ NULL,
+ NULL,
+ NULL, /* _drag_cancel_cb, */
+ NULL, /* vi == null */
+ NULL,
+ 0,
+ 0);
+
+ if (vi) {
+ vit->vi = vi;
+ quickpanel_vi_user_event_add(vi);
+ } else {
+ ERR("Unable to create a 'vi'");
+ }
+
+ vit->need_to_cancel_press = 1;
+ }
+ break;
+ case STATE_GESTURE_WAIT:
+ if (delta_prev != delta_x) {
+ Evas_Map *map;
+
+ map = evas_map_new(4);
+ if (map != NULL) {
+ evas_map_util_points_populate_from_object(map, obj);
+ evas_map_util_points_populate_from_geometry(map, x + delta_x - vi_start_x, y, w, h, 0);
+ evas_object_map_enable_set(obj, EINA_TRUE);
+ evas_object_map_set(obj, map);
+ evas_map_free(map);
+ _viewer_unfreeze(ad->scroller);
+ }
+ delta_prev = delta_x;
+ }
+ break;
+ default:
+ break;
+ }
+
+ vit->distance = delta_x;
+}
+
+static void _minictrl_remove(const char *name, void *data)
+{
+ DBG("_minictrl_remove [%s]", name);
+
+ minicontrol_viewer_send_event(name, MINICONTROL_EVENT_REQUEST_HIDE, NULL);
+
+ if (s_info.prov_table) {
+ if (g_hash_table_remove(s_info.prov_table, name)) {
+ DBG("success to remove %s", name);
+ if (!data) {
+ ERR("data is NULL");
+ /**
+ * @todo
+ * Oh, this function doesn't handles "data".
+ * Why does this has to check its existence??
+ */
+ return;
+ }
+ } else {
+ WARN("unknown provider name : %s", name);
+ }
+ }
+}
+
+static void _mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ struct _viewer_item *vit;
+ struct appdata *ad;
+ int swipe_distance;
+
+ ad = data;
+ vit = evas_object_data_get(obj, MINICONTROL_VIEW_DATA);
+ if (!vit || !ad) {
+ ERR("vit: %p, ad: %p", vit, ad);
+ return;
+ }
+
+ _viewer_unfreeze(ad->scroller);
+
+ if (!_check_deletable(obj)) {
+ swipe_distance = THRESHOLD_DISTANCE_LOCK;
+ } else {
+ swipe_distance = THRESHOLD_DISTANCE;
+ }
+
+ switch (vit->state) {
+ case STATE_GESTURE_WAIT:
+ if (abs(vit->distance) >= (swipe_distance - 10)) {
+ Elm_Transit *transit_flick;
+ int x;
+
+ x = abs(vit->distance) - THRESHOLD_DELETE_START;
+
+ if (vit->distance > 0) {
+ evas_object_map_set(obj, NULL);
+ transit_flick = elm_transit_add();
+ if (transit_flick != NULL) {
+ elm_transit_effect_translation_add(transit_flick, x, 0, 480, 0);
+ elm_transit_object_add(transit_flick, obj);
+ elm_transit_duration_set(transit_flick, 0.25 * (480 - x ) / 480);
+ elm_transit_tween_mode_set(transit_flick, ELM_TRANSIT_TWEEN_MODE_LINEAR);
+ elm_transit_objects_final_state_keep_set(transit_flick, EINA_TRUE);
+ elm_transit_go(transit_flick);
+ _minictrl_remove(vit->name, vit->data);
+ }
+ } else if (vit->distance < 0) {
+ evas_object_map_set(obj, NULL);
+ transit_flick = elm_transit_add();
+ if (transit_flick != NULL) {
+ elm_transit_effect_translation_add(transit_flick, -x, 0, -480, 0);
+ elm_transit_object_add(transit_flick, obj);
+ elm_transit_duration_set(transit_flick, 0.25 * ( 480 - x ) / 480);
+ elm_transit_tween_mode_set(transit_flick, ELM_TRANSIT_TWEEN_MODE_LINEAR);
+ elm_transit_objects_final_state_keep_set(transit_flick, EINA_TRUE);
+ elm_transit_go(transit_flick);
+ _minictrl_remove(vit->name, vit->data);
+ }
+ }
+ } else {
+ evas_object_map_enable_set(obj, EINA_FALSE);
+ }
+
+ if (vit->vi != NULL) {
+ quickpanel_vi_user_event_del(vit->vi);
+ vit->vi = NULL;
+ }
+ break;
+ case STATE_GESTURE_CANCELED:
+ evas_object_map_enable_set(obj, EINA_FALSE);
+
+ if (vit->vi != NULL) {
+ quickpanel_vi_user_event_del(vit->vi);
+ vit->vi = NULL;
+ }
+ break;
+ default:
+ break;
+ }
+
+ vit->state = STATE_NORMAL;
+}
+
static Evas_Object *_minictrl_create_view(struct appdata *ad, const char *name)
{
- retif(ad == NULL, NULL, "Invalid parameter!");
- retif(ad->list == NULL, NULL, "Invalid parameter!");
- retif(name == NULL, NULL, "Invalid parameter!");
+ Evas_Object *layout;
+ Evas_Object *viewer;
+ Evas_Object *focus;
- Evas_Object *layout = NULL;
+ if (!ad || !ad->list || !name) {
+ ERR("Invalid parameters: %p %p %p", ad, ad ? ad->list : NULL, name);
+ return NULL;
+ }
layout = elm_layout_add(ad->list);
+ if (!layout) {
+ ERR("Unable to create a layout");
+ return NULL;
+ }
- elm_layout_file_set(layout, DEFAULT_EDJ,
- "quickpanel/minictrl/default");
-
+ elm_layout_file_set(layout, DEFAULT_EDJ, "quickpanel/minictrl/default");
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(layout);
- Evas_Object *viewer = minicontrol_viewer_add(layout, name);
- if (!viewer)
- {
+ viewer = minicontrol_viewer_add(layout, name);
+ if (!viewer) {
ERR("fail to add viewer - %s", name);
- if (layout)
- {
- evas_object_del(layout);
- }
+ evas_object_del(layout);
return NULL;
}
elm_object_focus_allow_set(viewer, EINA_TRUE);
elm_object_part_content_set(layout, "elm.icon", viewer);
- Evas_Object *focus = quickpanel_ui_get_focus_object(layout);
- elm_object_part_content_set(layout, "focus", focus);
+ evas_object_event_callback_add(viewer, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, ad);
+ evas_object_event_callback_add(viewer, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move_cb, ad);
+ evas_object_event_callback_add(viewer, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, ad);
+ focus = quickpanel_accessibility_ui_get_focus_object(layout);
+ elm_object_part_content_set(layout, "focus", focus);
#ifdef QP_SCREENREADER_ENABLE
- Evas_Object *ao = quickpanel_screen_reader_object_get(layout,
- SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", layout);
-
+ Evas_Object *ao;
+ ao = quickpanel_accessibility_screen_reader_object_get(layout, SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", layout);
if (ao != NULL) {
- elm_access_info_cb_set(ao, ELM_ACCESS_TYPE, quickpanel_access_info_cb,
- _NOT_LOCALIZED("Mini controller"));
+ elm_access_info_cb_set(ao, ELM_ACCESS_TYPE, quickpanel_accessibility_info_cb, _NOT_LOCALIZED("Mini controller"));
}
#endif
static int _minictrl_is_ongoing(const char *str)
{
- if (str == NULL) return 0;
+ if (str == NULL) {
+ return 0;
+ }
if (strstr(str, MINICONTROL_TYPE_STR_ONGOING) != NULL) {
return 1;
}
}
-static qp_item_type_e _minictrl_priority_to_type(minicontrol_priority_e priority)
-{
- qp_item_type_e type;
-
- switch (priority) {
- case MINICONTROL_PRIORITY_TOP:
- type = QP_ITEM_TYPE_MINICTRL_TOP;
- break;
- case MINICONTROL_PRIORITY_MIDDLE:
- type = QP_ITEM_TYPE_MINICTRL_MIDDLE;
- break;
- case MINICONTROL_PRIORITY_LOW:
- default:
- type = QP_ITEM_TYPE_MINICTRL_LOW;
- break;
- }
-
- return type;
-}
-
-static void _minictrl_release_cb(void *data, Evas *e,
- Evas_Object *obj, void *event_info) {
- struct appdata *ad;
- retif(!data, , "data is NULL");
- ad = data;
-
- _viewer_unfreeze(ad->scroller);
-}
-
-static void _minictrl_add(const char *name, unsigned int width,
- unsigned int height,
- minicontrol_priority_e priority,
- void *data)
+static void _minictrl_add(const char *name, unsigned int width, unsigned int height, void *data)
{
qp_item_data *qid = NULL;
struct _viewer_item *vit = NULL;
struct appdata *ad;
Evas_Object *viewer = NULL;
- retif(!name, , "name is NULL");
- retif(!data, , "data is NULL");
+ if (!name || !data) {
+ ERR("name: %p, data: %p", name, data);
+ return;
+ }
ad = data;
- retif(!ad->list, , "list is NULL");
+ if (!ad->list) {
+ ERR("List is null");
+ return;
+ }
- if (g_prov_table) {
- struct _viewer_item *found = NULL;
- found = g_hash_table_lookup(g_prov_table, name);
+ if (s_info.prov_table) {
+ struct _viewer_item *found;
+ found = g_hash_table_lookup(s_info.prov_table, name);
if (found) {
ERR("already have it : %s", name);
return;
}
} else {
- ERR("g_prov_table is NULL");
+ ERR("s_info.prov_table is NULL");
return;
}
*
*/
viewer = _minictrl_create_view(ad, name);
- if (!viewer)
- {
+ if (!viewer) {
ERR("Failed to create view[%s]", name);
return;
}
+
_viewer_set_size(viewer, ad, width, height);
- quickpanel_initial_resize(viewer,
+ quickpanel_uic_initial_resize(viewer,
(height > QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT)
? height : QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT);
- evas_object_event_callback_add(_get_minictrl_obj(viewer), EVAS_CALLBACK_MOUSE_UP,
- _minictrl_release_cb, ad);
-
- vit = malloc(sizeof(struct _viewer_item));
+ vit = malloc(sizeof(*vit));
if (!vit) {
ERR("fail to alloc vit");
- if (viewer != NULL) {
- evas_object_del(viewer);
- viewer = NULL;
- }
+ evas_object_del(viewer);
return;
}
if (_minictrl_is_ongoing(name) == 1) {
type = QP_ITEM_TYPE_MINICTRL_ONGOING;
} else {
- type = _minictrl_priority_to_type(priority);
+ type = QP_ITEM_TYPE_MINICTRL_MIDDLE;
}
+
qid = quickpanel_list_util_item_new(type, vit);
if (!qid) {
ERR("fail to alloc vit");
- if (viewer != NULL) {
- evas_object_del(viewer);
- viewer = NULL;
- }
+ evas_object_del(viewer);
free(vit);
return;
}
+
vit->name = strdup(name);
+ if (!vit->name) {
+ ERR("strdup: %d", errno);
+ quickpanel_list_util_item_del(qid);
+ evas_object_del(viewer);
+ free(vit);
+ return;
+ }
vit->width = width;
vit->height = height;
- vit->priority = priority;
vit->viewer = viewer;
vit->data = data;
+ vit->deletable = 1;
quickpanel_list_util_item_set_tag(vit->viewer, qid);
quickpanel_list_util_sort_insert(ad->list, vit->viewer);
+ evas_object_data_set(_get_minictrl_obj(viewer), MINICONTROL_VIEW_DATA, vit);
- g_hash_table_insert(g_prov_table, g_strdup(name), vit);
+ g_hash_table_insert(s_info.prov_table, g_strdup(name), vit);
DBG("success to add minicontrol %s", name);
- quickpanel_minictrl_rotation_report(ad->angle);
+ quickpanel_minictrl_rotation_report(vit->name, ad->angle);
}
-static void _minictrl_remove(const char *name, void *data)
+static void _anim_init_resize(void *data)
{
- if (g_prov_table) {
- if (g_hash_table_remove(g_prov_table, name))
- {
- DBG("success to remove %s", name);
+ QP_VI *vi;
+ Evas_Object *item;
- retif(data == NULL, , "data is NULL");
- }
- else
- WARN("unknown provider name : %s", name);
+ vi = data;
+ if (!vi) {
+ ERR("Invalid parameter");
+ return;
}
-}
-
-static void _minictrl_update(const char *name, unsigned int width,
- unsigned int height, void *data)
-{
- int old_h = 0;
- struct appdata *ad = data;
- struct _viewer_item *found = NULL;
- retif(!g_prov_table, , "data is NULL");
- retif(!ad, , "data is NULL");
-
- found = g_hash_table_lookup(g_prov_table, name);
-
- if (!found) {
- WARN("unknown provider name : %s", name);
+ item = vi->target;
+ if (!item) {
+ ERR("Invalid target");
return;
}
- old_h = found->height;
-
- if (found->viewer) {
- if (old_h != height) {
- _minictrl_resize_vi(ad->list,
- found, width, height);
- } else {
- _viewer_set_size(found->viewer, ad, width, height);
- quickpanel_initial_resize(found->viewer,
- (height > QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT)
- ? height : QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT);
- }
- }
+ evas_object_color_set(item, 0, 0, 0, 0);
}
-static void _minictrl_request(const char *name, int action, int value, void *data)
+static Eina_Bool _anim_init_cb(void *data)
{
- struct appdata *ad = data;
- retif(!name, , "name is NULL");
- retif(!ad, , "data is NULL");
-
- SDBG("%s %d %d", name, action, value);
-
- if (action == MINICONTROL_REQ_HIDE_VIEWER) {
- quickpanel_close_quickpanel(true, 0);
- } else if (action == MINICONTROL_REQ_FREEZE_SCROLL_VIEWER) {
- if (ad->list != NULL) {
- ERR("freezed by %s", name);
- _viewer_freeze(ad->scroller);
- }
- } else if (action == MINICONTROL_REQ_UNFREEZE_SCROLL_VIEWER) {
- if (ad->list != NULL) {
- ERR("unfreezed by %s", name);
- _viewer_unfreeze(ad->scroller);
- }
- } else if (action == MINICONTROL_REQ_REPORT_VIEWER_ANGLE) {
- if (ad->list != NULL) {
- SERR("need to broadcasting angle by %s %d", name, action);
- quickpanel_minictrl_rotation_report(ad->angle);
- }
+ QP_VI *vi;
+ int i;
+ static qp_vi_op_table anim_init_table[] = {
+ {
+ .op_type = VI_OP_RESIZE,
+ .handler = _anim_init_resize,
+ },
+ {
+ .op_type = VI_OP_NONE,
+ .handler = NULL,
+ },
+ };
+
+ vi = data;
+ if (!vi) {
+ ERR("Invalid parameter");
+ return EINA_FALSE;
}
-}
-
-static void _mctrl_monitor_cb(minicontrol_action_e action,
- const char *name, unsigned int width,
- unsigned int height,
- minicontrol_priority_e priority,
- void *data)
-{
- retif(!data, , "data is NULL");
- retif(!name, , "name is NULL");
- if (_viewer_check(name) == 0) {
- ERR("%s: ignored", name);
- return ;
- }
+ for (i = 0; anim_init_table[i].op_type != VI_OP_NONE; i++) {
+ if (anim_init_table[i].op_type != vi->op_type) {
+ continue;
+ }
- switch (action) {
- case MINICONTROL_ACTION_START:
- _minictrl_add(name, width, height, priority, data);
- break;
- case MINICONTROL_ACTION_RESIZE:
- _minictrl_update(name, width, height, data);
- break;
- case MINICONTROL_ACTION_STOP:
- _minictrl_remove(name, data);
- break;
- case MINICONTROL_ACTION_REQUEST:
- _minictrl_request(name, width, height, data);
- break;
- default:
+ anim_init_table[i].handler(vi);
break;
}
-}
-
-static void _minictrl_resize_vi(Evas_Object *list,
- struct _viewer_item *item, int to_w, int to_h)
-{
- QP_VI *vi = NULL;
- retif(list == NULL, , "invalid parameter");
- retif(item == NULL, , "invalid parameter");
- vi = quickpanel_vi_new_with_data(
- VI_OP_RESIZE,
- QP_ITEM_TYPE_MINICTRL_MIDDLE,
- list,
- item->viewer,
- _anim_init_cb,
- _anim_job_cb,
- _anim_done_cb,
- _anim_done_cb,
- vi,
- item,
- to_w,
- to_h);
- quickpanel_vi_start(vi);
+ return EINA_TRUE;
}
-static void _anim_init_resize(void *data) {
- QP_VI *vi = data;
- retif(vi == NULL, , "invalid parameter");
- retif(vi->target == NULL, , "invalid parameter");
-
- Evas_Object *item = vi->target;
- evas_object_color_set(item, 0, 0, 0, 0);
-}
+static void _reorder_transit_del_cb(void *data, Elm_Transit *transit)
+{
+ QP_VI *vi;
+ Evas_Object *item;
+ struct appdata *ad;
-void _reorder_transit_del_cb(void *data, Elm_Transit *transit) {
- QP_VI *vi = data;
- int to_w = 0, to_h = 0;
- Evas_Object *item = NULL;
- retif(vi == NULL, , "data is NULL");
- retif(vi->target == NULL, , "invalid parameter");
+ vi = data;
+ if (!vi) {
+ ERR("vi is null");
+ return;
+ }
item = vi->target;
- to_w = vi->extra_flag_1;
- to_h = vi->extra_flag_2;
+ if (!item) {
+ ERR("Target is null");
+ return;
+ }
- struct appdata *ad = quickpanel_get_app_data();
- retif(ad == NULL, , "Invalid parameter!");
+ ad = quickpanel_get_app_data();
+ if (!ad) {
+ ERR("ad is null");
+ return;
+ }
- _viewer_set_size(item, ad, to_w, to_h);
- quickpanel_initial_resize(item,
- (to_h > QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT)
- ? to_h : QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT);
+ _viewer_set_size(item, ad, vi->extra_flag_1, vi->extra_flag_2);
+ quickpanel_uic_initial_resize(item,
+ (vi->extra_flag_2 > QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT)
+ ? vi->extra_flag_2 : QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT);
}
-static void _anim_job_resize(void *data) {
- QP_VI *vi = data;
- int to_w = 0, to_h = 0;
- Elm_Transit *transit_layout_parent = NULL;
- Elm_Transit *transit_fadein = NULL;
- Evas_Object *item = NULL;
- struct _viewer_item *viewer_item = NULL;
-
- struct appdata *ad = quickpanel_get_app_data();
- retif(ad == NULL, , "Invalid parameter!");
- retif(vi == NULL, , "invalid parameter");
- retif(vi->target == NULL, , "invalid parameter");
- retif(vi->extra_data_2 == NULL, , "invalid parameter");
+static void _anim_job_resize(void *data)
+{
+ Elm_Transit *transit_layout_parent;
+ struct _viewer_item *viewer_item;
+ Elm_Transit *transit_fadein;
+ struct appdata *ad;
+ Evas_Object *item;
+ int to_w, to_h;
+ QP_VI *vi;
+
+ vi = data;
+ ad = quickpanel_get_app_data();
+ if (!ad || !vi || !vi->target || !vi->extra_data_2) {
+ ERR("Invalid parameters: %p %p %p %p", ad, vi, vi ? vi->target : NULL, vi ? vi->extra_data_2 : NULL);
+ return;
+ }
item = vi->target;
to_w = vi->extra_flag_1;
to_h = vi->extra_flag_2;
viewer_item = vi->extra_data_2;
- transit_layout_parent = quickpanel_list_get_reorder_transit(viewer_item->viewer, NULL, to_h - viewer_item->height);
+ transit_layout_parent = quickpanel_list_util_get_reorder_transit(viewer_item->viewer, NULL, to_h - viewer_item->height);
if (transit_layout_parent != NULL) {
elm_transit_del_cb_set(transit_layout_parent, _reorder_transit_del_cb, vi);
} else {
_viewer_set_size(item, ad, to_w, to_h);
- quickpanel_initial_resize(item,
+ quickpanel_uic_initial_resize(item,
(to_h > QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT)
? to_h : QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT);
}
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, 0.35);
- elm_transit_tween_mode_set(transit_fadein,
- quickpanel_vim_get_tweenmode(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);
elm_transit_objects_final_state_keep_set(transit_fadein, EINA_TRUE);
}
}
-static void _anim_done_resize(void *data) {
- QP_VI *vi = data;
- struct _viewer_item *viewer_item = NULL;
- struct appdata *ad = quickpanel_get_app_data();
- retif(ad == NULL, , "Invalid parameter!");
- retif(vi == NULL, , "invalid parameter");
- retif(vi->target == NULL, , "invalid parameter");
-
- Evas_Object *item = vi->target;
- viewer_item = vi->extra_data_2;
-
- viewer_item->width = vi->extra_flag_1;
- viewer_item->height = vi->extra_flag_2;
-
- _viewer_set_size(item, ad, viewer_item->width, viewer_item->height);
- quickpanel_initial_resize(item,
- (viewer_item->height > QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT)
- ? viewer_item->height : QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT);
- evas_object_color_set(item, 255, 255, 255, 255);
-}
-
-static Eina_Bool _anim_init_cb(void *data) {
- QP_VI *vi = data;
- retif(vi == NULL, EINA_FALSE, "invalid parameter");
-
- static qp_vi_op_table anim_init_table[] = {
+static Eina_Bool _anim_job_cb(void *data)
+{
+ QP_VI *vi;
+ int i;
+ static qp_vi_op_table anim_job_table[] = {
{
.op_type = VI_OP_RESIZE,
- .handler = _anim_init_resize,
+ .handler = _anim_job_resize,
},
{
.op_type = VI_OP_NONE,
},
};
- int i = 0;
- for (i = 0; anim_init_table[i].op_type != VI_OP_NONE; i++) {
- if (anim_init_table[i].op_type != vi->op_type)
+ vi = data;
+ if (!vi) {
+ ERR("Invalid parameter");
+ return EINA_FALSE;
+ }
+
+ 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_init_table[i].handler(vi);
+ anim_job_table[i].handler(vi);
break;
}
return EINA_TRUE;
}
-static Eina_Bool _anim_job_cb(void *data) {
- QP_VI *vi = data;
- retif(vi == NULL, EINA_FALSE, "invalid parameter");
+static void _anim_done_resize(void *data)
+{
+ QP_VI *vi;
+ struct _viewer_item *viewer_item;
+ struct appdata *ad;
+ Evas_Object *item;
- static qp_vi_op_table anim_job_table[] = {
- {
- .op_type = VI_OP_RESIZE,
- .handler = _anim_job_resize,
- },
- {
- .op_type = VI_OP_NONE,
- .handler = NULL,
- },
- };
+ vi = data;
+ if (!vi) {
+ ERR("Invalid parameter");
+ return;
+ }
- int i = 0;
- for (i = 0; anim_job_table[i].op_type != VI_OP_NONE; i++) {
- if (anim_job_table[i].op_type != vi->op_type)
- continue;
+ ad = quickpanel_get_app_data();
+ if (!ad) {
+ ERR("Invalid ad");
+ return;
+ }
- anim_job_table[i].handler(vi);
- break;
+ item = vi->target;
+ if (!item) {
+ ERR("Invalid target");
+ return;
}
- return EINA_TRUE;
-}
+ viewer_item = vi->extra_data_2;
+ if (!viewer_item) {
+ ERR("viewer_item is null");
+ return;
+ }
-static Eina_Bool _anim_done_cb(void *data) {
- QP_VI *vi = data;
- retif(vi == NULL, EINA_FALSE, "invalid parameter");
+ viewer_item->width = vi->extra_flag_1;
+ viewer_item->height = vi->extra_flag_2;
+
+ _viewer_set_size(item, ad, viewer_item->width, viewer_item->height);
+ quickpanel_uic_initial_resize(item,
+ (viewer_item->height > QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT)
+ ? viewer_item->height : QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT);
+ evas_object_color_set(item, 255, 255, 255, 255);
+}
+static Eina_Bool _anim_done_cb(void *data)
+{
+ QP_VI *vi;
+ int i;
static qp_vi_op_table anim_done_table[] = {
{
.op_type = VI_OP_RESIZE,
},
};
- int i = 0;
+ vi = data;
+ if (!vi) {
+ ERR("Invalid parameter");
+ return EINA_FALSE;
+ }
+
for (i = 0; anim_done_table[i].op_type != VI_OP_NONE; i++) {
- if (anim_done_table[i].op_type != vi->op_type)
+ if (anim_done_table[i].op_type != vi->op_type) {
continue;
+ }
anim_done_table[i].handler(vi);
break;
return EINA_TRUE;
}
-static int quickpanel_minictrl_init(void *data)
+static void _minictrl_resize_vi(Evas_Object *list, struct _viewer_item *item, int to_w, int to_h)
+{
+ QP_VI *vi;
+
+ if (!list || !item) {
+ ERR("Invalid parameter: list: %p, item: %p", list, item);
+ return;
+ }
+
+ vi = quickpanel_vi_new_with_data(
+ VI_OP_RESIZE,
+ QP_ITEM_TYPE_MINICTRL_MIDDLE,
+ list,
+ item->viewer,
+ _anim_init_cb,
+ _anim_job_cb,
+ _anim_done_cb,
+ _anim_done_cb,
+ NULL, /* vi == NULL */
+ item,
+ to_w,
+ to_h);
+
+ if (vi) {
+ quickpanel_vi_start(vi);
+ } else {
+ ERR("Unable to create 'vi'");
+ }
+}
+
+static void _minictrl_update(const char *name, unsigned int width, unsigned int height, void *data)
+{
+ struct appdata *ad = data;
+ struct _viewer_item *found = NULL;
+
+ if (!s_info.prov_table || !ad) {
+ ERR("name: %s, table: %p, ad: %p", name, s_info.prov_table, ad);
+ return;
+ }
+
+ found = g_hash_table_lookup(s_info.prov_table, name);
+ if (!found) {
+ WARN("unknown provider name : %s", name);
+ return;
+ }
+
+ if (found->viewer) {
+ if (found->height != height || found->width != width) {
+ _minictrl_resize_vi(ad->list, found, width, height);
+ } else {
+ _viewer_set_size(found->viewer, ad, width, height);
+ quickpanel_uic_initial_resize(found->viewer,
+ (height > QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT)
+ ? height : QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT);
+ }
+ }
+}
+
+static void _minictrl_lock(const char *name)
+{
+ struct _viewer_item *found;
+
+ if (!s_info.prov_table) {
+ ERR("table is empty: %s", name);
+ return;
+ }
+
+ DBG("minictrl_lock %s", name);
+ found = g_hash_table_lookup(s_info.prov_table, name);
+ if (!found) {
+ WARN("unknown provider name : %s", name);
+ return;
+ }
+
+ if (found->viewer) {
+ struct _viewer_item *vit;
+
+ vit = evas_object_data_del(_get_minictrl_obj(found->viewer), MINICONTROL_VIEW_DATA);
+ if (vit) {
+ vit->deletable = 0;
+ evas_object_data_set(_get_minictrl_obj(found->viewer), MINICONTROL_VIEW_DATA, vit);
+ } else {
+ WARN("vit is NULL");
+ }
+ }
+}
+
+static void _mctrl_viewer_event_cb(minicontrol_event_e event, const char *name, bundle *event_arg, void *data)
+{
+ struct appdata *ad;
+ int ret;
+ int *width;
+ int *height;
+ int _width;
+ int _height;
+ size_t bundle_size;
+
+ if (!data || !name) {
+ ERR("Invalid parameter");
+ return;
+ }
+
+ ad = data;
+
+ if (_viewer_check(name) == 0) {
+ ERR("%s: ignored", name);
+ return;
+ }
+
+ if ((int)event == MINICONTROL_EVENT_REQUEST_LOCK) {
+ /**
+ * This event type is extra one. not in the enumeration list.
+ */
+ _minictrl_lock(name);
+ } else {
+ switch (event) {
+ case MINICONTROL_EVENT_START:
+ ret = bundle_get_byte(event_arg, MINICONTROL_BUNDLE_KEY_WIDTH, (void **)&width, &bundle_size);
+ if (ret != BUNDLE_ERROR_NONE || bundle_size != sizeof(int)) {
+ ERR("Failed to get bundle value(width) %d : %d", ret, bundle_size);
+ _width = 0;
+ width = &_width;
+ }
+
+ ret = bundle_get_byte(event_arg, MINICONTROL_BUNDLE_KEY_HEIGHT, (void **)&height, &bundle_size);
+ if (ret != BUNDLE_ERROR_NONE || bundle_size != sizeof(int)) {
+ ERR("Failed to get bundle value(height) : %d", ret);
+ _height = 0;
+ height = &_height;
+ }
+
+ DBG("Name: %s, Size: %dx%d", name, *width, *height);
+ _minictrl_add(name, *width, *height, data);
+ break;
+ case MINICONTROL_EVENT_RESIZE:
+ ret = bundle_get_byte(event_arg, MINICONTROL_BUNDLE_KEY_WIDTH, (void **)&width, &bundle_size);
+ if (ret != BUNDLE_ERROR_NONE || bundle_size != sizeof(int)) {
+ ERR("Failed to get bundle value(width) %d : %d", ret, bundle_size);
+ _width = 0;
+ width = &_width;
+ }
+
+ ret = bundle_get_byte(event_arg, MINICONTROL_BUNDLE_KEY_HEIGHT, (void **)&height, &bundle_size);
+ if (ret != BUNDLE_ERROR_NONE || bundle_size != sizeof(int)) {
+ ERR("Failed to get bundle value(height) : %d", ret);
+ _height = 0;
+ height = &_height;
+ }
+
+ DBG("Name: %s, Size: %dx%d", name, *width, *height);
+ _minictrl_update(name, *width, *height, data);
+ break;
+ case MINICONTROL_EVENT_STOP:
+ _minictrl_remove(name, data);
+ break;
+ case MINICONTROL_EVENT_REQUEST_HIDE:
+ quickpanel_uic_close_quickpanel(true, 0);
+ break;
+ case MINICONTROL_EVENT_REQUEST_ANGLE:
+ if (ad->list != NULL) {
+ SERR("need to broadcasting angle by %s ", name, event);
+ quickpanel_minictrl_rotation_report(name, ad->angle);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+}
+
+static int _init(void *data)
{
minicontrol_error_e ret;
- retif(!data, QP_FAIL, "Invalid parameter!");
+ if (!data) {
+ ERR("Invalid parameter");
+ return QP_FAIL;
+ }
- g_prov_table = g_hash_table_new_full(g_str_hash, g_str_equal,
- (GDestroyNotify)g_free,
- (GDestroyNotify)_viewer_item_free);
+ s_info.prov_table = g_hash_table_new_full(g_str_hash, g_str_equal,
+ (GDestroyNotify)g_free,
+ (GDestroyNotify)_viewer_item_free);
- ret = minicontrol_monitor_start(_mctrl_monitor_cb, data);
+ ret = minicontrol_viewer_set_event_cb(_mctrl_viewer_event_cb, data);
if (ret != MINICONTROL_ERROR_NONE) {
- ERR("fail to minicontrol_monitor_start()- %d", ret);
+ ERR("fail to minicontrol_viewer_set_event_cb()- %d", ret);
return QP_FAIL;
}
return QP_OK;
}
-static int quickpanel_minictrl_fini(void *data)
+static int _fini(void *data)
{
minicontrol_error_e ret;
- ret = minicontrol_monitor_stop();
- if (ret != MINICONTROL_ERROR_NONE)
- ERR("fail to minicontrol_monitor_stop()- %d", ret);
- if (g_prov_table) {
- g_hash_table_remove_all(g_prov_table);
- g_prov_table = NULL;
+ ret = minicontrol_viewer_unset_event_cb();
+
+ if (ret != MINICONTROL_ERROR_NONE) {
+ ERR("fail to minicontrol_viewer_unset_event_cb()- %d", ret);
+ }
+
+ if (s_info.prov_table) {
+ g_hash_table_destroy(s_info.prov_table);
+ s_info.prov_table = NULL;
}
return QP_OK;
}
-static int quickpanel_minictrl_suspend(void *data)
+static int _suspend(void *data)
{
- struct appdata *ad = data;
- retif(ad == NULL, QP_FAIL, "Invalid parameter!");
+ struct appdata *ad;
+
+ ad = data;
+ if (!ad) {
+ ERR("Invalid parameter");
+ return QP_FAIL;
+ }
if (ad->list != NULL) {
_viewer_unfreeze(ad->scroller);
return QP_OK;
}
-static int quickpanel_minictrl_resume(void *data)
+static int _resume(void *data)
{
- struct appdata *ad = data;
- retif(ad == NULL, QP_FAIL, "Invalid parameter!");
+ struct appdata *ad;
+
+ ad = data;
+ if (!ad) {
+ ERR("Invalid parameter");
+ return QP_FAIL;
+ }
if (ad->list != NULL) {
_viewer_unfreeze(ad->scroller);
return QP_OK;
}
-void quickpanel_minictrl_rotation_report(int angle)
+HAPI void quickpanel_minictrl_rotation_report(const char* name, int angle)
{
- if (g_prov_table != NULL) {
- if (g_hash_table_size(g_prov_table) > 0) {
- SINFO("minicontrol rotation:%d", angle);
- minicontrol_viewer_request(QP_PKG_QUICKPANEL,
- MINICONTROL_REQ_ROTATE_PROVIDER, angle);
- }
+ bundle *event_arg_bundle;
+
+ if (!name) {
+ ERR("Invalid parameter");
+ return;
+ }
+
+ SINFO("minicontrol name:%s rotation:%d", name, angle);
+
+ if (s_info.prov_table == NULL) {
+ return;
+ }
+
+ if (g_hash_table_size(s_info.prov_table) <= 0) {
+ return;
+ }
+
+ event_arg_bundle = bundle_create();
+ if (event_arg_bundle) {
+ char bundle_value_buffer[BUNDLE_BUFFER_LENGTH] = { 0, };
+
+ snprintf(bundle_value_buffer, sizeof(bundle_value_buffer) - 1, "%d", angle);
+ bundle_add_str(event_arg_bundle, "angle", bundle_value_buffer);
+ minicontrol_viewer_send_event(name, MINICONTROL_EVENT_REPORT_ANGLE, event_arg_bundle);
+ bundle_free(event_arg_bundle);
}
}
+
+
+static void _minictrl_send_view_event_cb(gpointer key, gpointer value, gpointer user_data)
+{
+ if (!key) {
+ ERR("Key is null");
+ return;
+ }
+
+ bundle *event_arg_bundle;
+
+ event_arg_bundle = bundle_create();
+ if (event_arg_bundle) {
+ minicontrol_viewer_event_e event;
+
+ event = (minicontrol_viewer_event_e)user_data;
+ minicontrol_viewer_send_event(key, event, event_arg_bundle);
+ bundle_free(event_arg_bundle);
+ }
+}
+
+static void _minictrl_opened(void *data)
+{
+ DBG("");
+ g_hash_table_foreach(s_info.prov_table, _minictrl_send_view_event_cb, (gpointer)MINICONTROL_VIEWER_EVENT_SHOW);
+}
+
+static void _minictrl_closed(void *data)
+{
+ DBG("");
+ g_hash_table_foreach(s_info.prov_table, _minictrl_send_view_event_cb, (gpointer)MINICONTROL_VIEWER_EVENT_HIDE);
+}
+
+QP_Module minictrl = {
+ .name = "minictrl",
+ .init = _init,
+ .fini = _fini,
+ .suspend = _suspend,
+ .resume = _resume,
+ .hib_enter = NULL,
+ .hib_leave = NULL,
+ .lang_changed = NULL,
+ .refresh = NULL,
+ .get_height = NULL,
+ .qp_opened = _minictrl_opened,
+ .qp_closed = _minictrl_closed,
+};
+
+/* End of a file */
#ifndef _QP_MINICONTROL_DEF_
#define _QP_MINICONTROL_DEF_
-void quickpanel_minictrl_rotation_report(int angle);
+extern void quickpanel_minictrl_rotation_report(const char* name, int angle);
#endif
*
*/
+#include <Elementary.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
#include "common.h"
+#include "quickpanel-ui.h"
#include "modules.h"
/*******************************************************************
- *
- * MODULES
- *
- *****************************************************************/
-/* searchbar */
-/* extern QP_Module searchbar; */
+ *
+ * MODULES
+ *
+ *****************************************************************/
#ifdef QP_SETTING_ENABLE
/* setting */
extern QP_Module settings;
extern QP_Module settings_view_featured;
+extern QP_Module settings_view_all;
#endif /* QP_SETTING_ENABLE */
#ifdef QP_MINICTRL_ENABLE
/* notification */
extern QP_Module noti;
-extern QP_Module ticker;
+extern QP_Module activenoti;
extern QP_Module qp_datetime_controller;
extern QP_Module qp_datetime_view;
+/* voice control */
+#ifdef QP_VOICE_CONTROL_ENABLE
+extern QP_Module voice_control;
+#endif
+
/* do not change the order of modules, result may be changed up to order */
static QP_Module *modules[] = {
&vi_manager,
#ifdef QP_SETTING_ENABLE
&settings,
&settings_view_featured,
+ &settings_view_all,
#endif /* QP_SETTING_ENABLE */
#ifdef QP_MINICTRL_ENABLE
&minictrl,
&brightness_ctrl,
#endif /* QP_BRIGHTNESS_ENABLE */
¬i,
- &ticker,
+ &activenoti,
#ifdef QP_ANIMATED_IMAGE_ENABLE
&animated_image,
#endif
+#ifdef QP_VOICE_CONTROL_ENABLE
+ &voice_control,
+#endif
};
-HAPI int init_modules(void *data)
+HAPI int quickpanel_modules_init(void *data)
{
int i;
retif(data == NULL, QP_FAIL, "Invalid parameter!");
for (i = 0; i < sizeof(modules) / sizeof(modules[0]); i++) {
- if (modules[i]->init)
+ if (modules[i]->init) {
modules[i]->init(data);
+ }
- if (modules[i]->init_job_cb)
+ if (modules[i]->init_job_cb) {
ecore_job_add(modules[i]->init_job_cb, data);
+ }
}
return QP_OK;
}
-HAPI int fini_modules(void *data)
+HAPI int quickpanel_modules_fini(void *data)
{
int i;
retif(data == NULL, QP_FAIL, "Invalid parameter!");
for (i = 0; i < sizeof(modules) / sizeof(modules[0]); i++) {
- if (modules[i]->fini)
+ if (modules[i]->fini) {
modules[i]->fini(data);
+ }
}
return QP_OK;
}
-HAPI int suspend_modules(void *data)
+HAPI int quickpanel_modules_suspend(void *data)
{
int i;
retif(data == NULL, QP_FAIL, "Invalid parameter!");
for (i = 0; i < sizeof(modules) / sizeof(modules[0]); i++) {
- if (modules[i]->suspend)
+ if (modules[i]->suspend) {
modules[i]->suspend(data);
+ }
}
return QP_OK;
}
-HAPI int resume_modules(void *data)
+HAPI int quickpanel_modules_resume(void *data)
{
int i;
retif(data == NULL, QP_FAIL, "Invalid parameter!");
for (i = 0; i < sizeof(modules) / sizeof(modules[0]); i++) {
- if (modules[i]->resume)
+ if (modules[i]->resume) {
modules[i]->resume(data);
+ }
}
return QP_OK;
}
-HAPI int hib_enter_modules(void *data)
+HAPI int quickpanel_modules_hib_enter(void *data)
{
int i;
retif(data == NULL, QP_FAIL, "Invalid parameter!");
for (i = 0; i < sizeof(modules) / sizeof(modules[0]); i++) {
- if (modules[i]->hib_enter)
+ if (modules[i]->hib_enter) {
modules[i]->hib_enter(data);
+ }
}
return QP_OK;
}
-HAPI int hib_leave_modules(void *data)
+HAPI int quickpanel_modules_hib_leave(void *data)
{
int i;
retif(data == NULL, QP_FAIL, "Invalid parameter!");
for (i = 0; i < sizeof(modules) / sizeof(modules[0]); i++) {
- if (modules[i]->hib_leave)
+ if (modules[i]->hib_leave) {
modules[i]->hib_leave(data);
+ }
}
return QP_OK;
}
/******************************************************************
- *
- * LANGUAGE
- *
- ****************************************************************/
+ *
+ * LANGUAGE
+ *
+ ****************************************************************/
-HAPI void lang_change_modules(void *data)
+HAPI void quickpanel_modules_lang_change(void *data)
{
int i;
retif(data == NULL, , "Invalid parameter!");
for (i = 0; i < sizeof(modules) / sizeof(modules[0]); i++) {
- if (modules[i]->lang_changed)
+ if (modules[i]->lang_changed) {
modules[i]->lang_changed(data);
+ }
}
}
-HAPI void refresh_modules(void *data)
+HAPI void quickpanel_modules_refresh(void *data)
{
int i;
retif(data == NULL, , "Invalid parameter!");
for (i = 0; i < sizeof(modules) / sizeof(modules[0]); i++) {
- if (modules[i]->refresh)
+ if (modules[i]->refresh) {
modules[i]->refresh(data);
+ }
}
}
/******************************************************************
- *
- * Quickpanel open/close Events
- *
- ****************************************************************/
-HAPI int qp_opened_modules(void *data)
+ *
+ * Quickpanel open/close Events
+ *
+ ****************************************************************/
+HAPI int quickpanel_modules_opened(void *data)
{
int i;
retif(data == NULL, QP_FAIL, "Invalid parameter!");
for (i = 0; i < sizeof(modules) / sizeof(modules[0]); i++) {
- if (modules[i]->qp_opened)
+ if (modules[i]->qp_opened) {
modules[i]->qp_opened(data);
+ }
}
return QP_OK;
}
-HAPI int qp_closed_modules(void *data)
+HAPI int quickpanel_modules_closed(void *data)
{
int i;
retif(data == NULL, QP_FAIL, "Invalid parameter!");
for (i = 0; i < sizeof(modules) / sizeof(modules[0]); i++) {
- if (modules[i]->qp_closed)
+ if (modules[i]->qp_closed) {
modules[i]->qp_closed(data);
+ }
}
return QP_OK;
#ifndef __QP_MODULES_H__
#define __QP_MODULES_H__
-#include <stdlib.h>
-#include "quickpanel-ui.h"
-
-extern int init_modules(void *data);
-extern int fini_modules(void *data);
-extern int suspend_modules(void *data);
-extern int resume_modules(void *data);
-extern int hib_enter_modules(void *data);
-extern int hib_leave_modules(void *data);
-extern void lang_change_modules(void *data);
-extern void refresh_modules(void *data);
-extern int qp_opened_modules(void *data);
-extern int qp_closed_modules(void *data);
+extern int quickpanel_modules_init(void *data);
+extern int quickpanel_modules_fini(void *data);
+extern int quickpanel_modules_suspend(void *data);
+extern int quickpanel_modules_resume(void *data);
+extern int quickpanel_modules_hib_enter(void *data);
+extern int quickpanel_modules_hib_leave(void *data);
+extern void quickpanel_modules_lang_change(void *data);
+extern void quickpanel_modules_refresh(void *data);
+extern int quickpanel_modules_opened(void *data);
+extern int quickpanel_modules_closed(void *data);
#endif /* __QP_MODULES_H__ */
--- /dev/null
+/*
+ * 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 <Elementary.h>
+#include <glib.h>
+
+#include <appcore-common.h>
+#include <vconf.h>
+#include <app_control.h>
+#include <notification.h>
+#include <feedback.h>
+#include <system_settings.h>
+#include <notification_internal.h>
+#include <notification_setting_internal.h>
+#include <notification_text_domain.h>
+#include <player.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
+#include "quickpanel-ui.h"
+#include "common_uic.h"
+#include "common.h"
+#include "media.h"
+#include "noti_node.h"
+#include "noti.h"
+#include "noti_win.h"
+#include "noti_util.h"
+#include "animated_icon.h"
+
+#ifdef QP_EMERGENCY_MODE_ENABLE
+#include "emergency_mode.h"
+#endif
+
+#define QP_ACTIVENOTI_DURATION 3
+#define QP_ACTIVENOTI_DETAIL_DURATION 6
+
+#define ACTIVENOTI_MSG_LEN 100
+#define DEFAULT_ICON RESDIR"/quickpanel_icon_default.png"
+
+#define DELAY_TIMER_VALUE 0.480
+#define DEL_TIMER_VALUE 8.0
+#define SHOW_MIN_TIMER_VALUE 1.0
+#define RELEASE_TIME 8.0
+
+#define NOTI_START_Y ELM_SCALE_SIZE(36)
+
+static struct info {
+ Evas_Object *activenoti;
+ Evas_Object *layout;
+ Evas_Object *btnbox;
+ Evas_Object *gesture;
+ Ecore_Timer *delay_timer;
+ Ecore_Timer *close_timer;
+ Ecore_Timer *show_min_timer;
+
+ Eina_List *auto_remove_list;
+ Eina_List *non_auto_remove_list;
+ notification_h current_noti;
+
+} s_info = {
+ .activenoti = NULL,
+ .layout = NULL,
+ .btnbox = NULL,
+ .gesture = NULL,
+ .delay_timer = NULL,
+ .close_timer = NULL,
+ .show_min_timer = NULL,
+ .auto_remove_list = NULL,
+ .non_auto_remove_list = NULL,
+ .current_noti = NULL,
+};
+
+struct noti_info {
+ notification_h noti;
+ Ecore_Timer *timer;
+};
+
+static inline char *_get_text(notification_h noti, notification_text_type_e text_type);
+
+static int _activenoti_init(void *data);
+static int _activenoti_fini(void *data);
+static int _activenoti_enter_hib(void *data);
+static int _activenoti_leave_hib(void *data);
+static void _activenoti_reflesh(void *data);
+static void _activenoti_qp_opened(void *data);
+
+static void _activenoti_update_activenoti();
+static void _activenoti_create_activenoti();
+static void _activenoti_win_rotated(void *data, int need_hide);
+
+static void _activenoti_destroy_activenoti();
+static void _media_feedback_sound(notification_h noti);
+static notification_h _activenoti_get_in_list();
+static bool _activenoti_remove_in_list(notification_h noti);
+static void _activenoti_delete_current_noti(void);
+static bool _activenoti_has_pending_noti(void);
+static void _activenoti_hide(void *data, int delay);
+
+QP_Module activenoti = {
+ .name = "activenoti",
+ .init = _activenoti_init,
+ .fini = _activenoti_fini,
+ .hib_enter = _activenoti_enter_hib,
+ .hib_leave = _activenoti_leave_hib,
+ .lang_changed = NULL,
+ .qp_opened = _activenoti_qp_opened,
+ .qp_closed = NULL,
+ .refresh = _activenoti_reflesh
+};
+
+static void _app_control_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ if (data) {
+ DBG("_app_control_del_cb %p", data);
+ app_control_destroy(data);
+ }
+}
+
+static inline int _is_text_exist(const char *text)
+{
+ if (text != NULL) {
+ if (strlen(text) > 0) {
+ return 1;
+ }
+ }
+ return 0;
+}
+
+static int _is_sound_playable(void)
+{
+ int status = 0, ret = 0;
+
+ ret = vconf_get_int(VCONFKEY_CAMERA_STATE, &status);
+ if (ret == VCONF_OK && status == VCONFKEY_CAMERA_STATE_RECORDING) {
+ ERR("camcorder is working, don't play notification sound %d %d", ret, status);
+ return 0;
+ }
+
+ return 1;
+}
+
+static int _is_security_lockscreen_launched(void)
+{
+ int ret = 0;
+ int is_idle_lock = 0;
+
+ ret = vconf_get_int(VCONFKEY_IDLE_LOCK_STATE, &is_idle_lock);
+ retif(ret != 0, 0,"failed to get VCONFKEY_IDLE_LOCK_STATE %d %d", ret, is_idle_lock);
+
+ if (is_idle_lock == VCONFKEY_IDLE_LOCK ) {
+ DBG("Lock screen is launched");
+ return 1; //don't show on lock screen
+ }
+
+ return 0;
+}
+
+static Eina_Bool _activenoti_hide_timer_cb(void *data)
+{
+ DBG("");
+
+ s_info.delay_timer = NULL;
+
+ _activenoti_hide(data, 0);
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static void _activenoti_hide(void *data, int delay)
+{
+ DBG("delay : %d", delay);
+ if (delay == 1) {
+ if (s_info.delay_timer == NULL) {
+ s_info.delay_timer = ecore_timer_add(DELAY_TIMER_VALUE, _activenoti_hide_timer_cb, NULL);
+ if (!s_info.delay_timer) {
+ ERR("Failed to create a new timer for hide activenoti");
+ }
+ }
+ } else {
+ _activenoti_delete_current_noti();
+
+ if (s_info.delay_timer != NULL) {
+ ecore_timer_del(s_info.delay_timer);
+ s_info.delay_timer = NULL;
+ }
+
+ if (s_info.close_timer != NULL) {
+ ecore_timer_del(s_info.close_timer);
+ s_info.close_timer = NULL;
+ }
+
+ if (s_info.activenoti) {
+ if (_activenoti_has_pending_noti()) {
+ _activenoti_update_activenoti();
+ } else {
+ DBG("pending noti is null. called evas_object_hide");
+ evas_object_hide(s_info.activenoti);
+ }
+ }
+ }
+ DBG("");
+}
+
+static Evas_Event_Flags __flick_end_cb(void *data, void *event_info)
+{
+ Elm_Gesture_Line_Info *line_info = (Elm_Gesture_Line_Info *)event_info;
+
+ DBG("line_info->momentum.my : %d", line_info->momentum.my);
+
+ /* Flick Up */
+ if (line_info->momentum.my < 0) {
+ DBG("HIDE ACTIVE NOTI");
+ if (_activenoti_has_pending_noti() == false) {
+ _activenoti_hide(NULL, 0);
+ } else {
+ _activenoti_delete_current_noti();
+ _activenoti_update_activenoti();
+ }
+ } else {
+ DBG("HOLD ACTIVE NOTI");
+ }
+ return EVAS_EVENT_FLAG_ON_HOLD;
+}
+
+static Evas_Object *_gesture_create(Evas_Object *layout)
+{
+ Evas_Object *gesture_layer = NULL;
+
+ gesture_layer = elm_gesture_layer_add(layout);
+ retif(!gesture_layer, NULL,);
+
+ elm_gesture_layer_attach(gesture_layer, layout);
+ evas_object_show(gesture_layer);
+
+ elm_gesture_layer_cb_set(gesture_layer, ELM_GESTURE_N_FLICKS, ELM_GESTURE_STATE_END, __flick_end_cb, NULL);
+
+ return gesture_layer;
+}
+
+static int _check_sound_off(notification_h noti)
+{
+ notification_system_setting_h system_setting = NULL;
+ notification_setting_h setting = NULL;
+ char *pkgname = NULL;
+ bool do_not_disturb = false;
+ bool do_not_disturb_except = false;
+ int err = NOTIFICATION_ERROR_NONE;
+ int ret = 0;
+
+ retif(noti == NULL, 0, "Invalid parameter!");
+
+ err = notification_system_setting_load_system_setting(&system_setting);
+ if (err != NOTIFICATION_ERROR_NONE || system_setting == NULL) {
+ DBG("notification_system_setting_load_system_setting failed [%d]\n", err);
+ goto out;
+ }
+
+ err = notification_system_setting_get_do_not_disturb(system_setting, &do_not_disturb);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ DBG("notification_system_setting_get_do_not_disturb failed [%d]", err);
+ goto out;
+ }
+
+ DBG("do_not_disturb [%d]\n", do_not_disturb);
+
+ if (do_not_disturb) {
+ err = notification_get_pkgname(noti, &pkgname);
+ if (err != NOTIFICATION_ERROR_NONE || pkgname == NULL) {
+ DBG("notification_get_pkgname failed [%d]", err);
+ goto out;
+ }
+
+ err = notification_setting_get_setting_by_package_name(pkgname, &setting);
+ if (err != NOTIFICATION_ERROR_NONE || setting == NULL) {
+ DBG("notification_setting_get_setting_by_package_name failed [%d]", err);
+ goto out;
+ }
+
+ notification_setting_get_do_not_disturb_except(setting, &do_not_disturb_except);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ DBG("notification_setting_get_do_not_disturb_except failed [%d]", err);
+ goto out;
+ }
+
+ if (do_not_disturb_except) {
+ ret = 0;
+ } else {
+ ret = 1;
+ }
+ }
+
+out:
+ if (system_setting) {
+ notification_system_setting_free_system_setting(system_setting);
+ }
+
+ if (setting) {
+ notification_setting_free_notification(setting);
+ }
+
+ return ret;
+}
+
+static void _gesture_destroy(void)
+{
+ if (s_info.gesture) {
+ evas_object_del(s_info.gesture);
+ s_info.gesture = NULL;
+ } else {
+ ERR("s_info.gesture is NULL");
+ }
+}
+
+static inline void _activenoti_only_noti_del(notification_h noti)
+{
+ retif(noti == NULL, ,"Invalid parameter!");
+ int applist = NOTIFICATION_DISPLAY_APP_ALL;
+
+ notification_get_display_applist(noti, &applist);
+ if (applist & NOTIFICATION_DISPLAY_APP_ACTIVE) {
+ if (!(applist & NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY)) {
+ char *pkgname = NULL;
+ int priv_id = 0;
+
+ notification_get_pkgname(noti, &pkgname);
+ notification_get_id(noti, NULL, &priv_id);
+ notification_delete_by_priv_id(pkgname, NOTIFICATION_TYPE_NONE, priv_id);
+ }
+ }
+}
+
+static Eina_Bool _activenoti_close_timer_cb(void *data)
+{
+ DBG("%d", _activenoti_has_pending_noti());
+
+ s_info.close_timer = NULL;
+
+ _activenoti_hide(data, 0);
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static void _activenoti_delete_current_noti(void)
+{
+ if (!s_info.current_noti) {
+ DBG("There is no displaying notification");
+ return;
+ }
+
+ DBG("");
+ notification_free(s_info.current_noti);
+ s_info.current_noti = NULL;
+}
+
+static Evas_Object *_activenoti_create_badge(Evas_Object *parent, notification_h noti)
+{
+ DBG("");
+ retif(noti == NULL || parent == NULL, NULL, "Invalid parameter!");
+
+ char *icon_path = NULL;
+ Evas_Object *icon = NULL;
+ int ret = NOTIFICATION_ERROR_NONE;
+
+ ret = notification_get_image(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB, &icon_path);
+ if (ret != NOTIFICATION_ERROR_NONE || icon_path == NULL) {
+ DBG("notification_get_image failed [%d]", ret);;
+ return NULL;
+ }
+
+ DBG("NOTIFICATION_IMAGE_TYPE_ICON_SUB : %s", icon_path);
+
+ icon = elm_image_add(parent);
+ if (icon == NULL) {
+ // free(icon_path);
+ DBG("icon error");
+ return NULL;
+ }
+
+ elm_image_resizable_set(icon, EINA_FALSE, EINA_TRUE);
+
+ ret = elm_image_file_set(icon, icon_path, NULL);
+ //free(icon_path);
+
+ if (ret == EINA_FALSE) {
+ evas_object_del(icon);
+ return NULL;
+ }
+
+ return icon;
+}
+
+static void _image_press_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ DBG("");
+ app_control_h app_control = data;
+
+ if (app_control) {
+ int ret = APP_CONTROL_ERROR_NONE;
+ ret = app_control_send_launch_request(app_control, NULL, NULL);
+ DBG("app_control_send_launch_request return [%d]", ret);
+ }
+
+ _activenoti_hide(NULL, 1);
+}
+
+static Eina_Bool _delete_timer_cb(void *data)
+{
+ DBG("");
+ struct noti_info *noti = data;
+
+ s_info.auto_remove_list = eina_list_remove(s_info.auto_remove_list, noti);
+ notification_free(noti->noti);
+ free(noti);
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static int _compare_noti_time(notification_h noti1, notification_h noti2)
+{
+ time_t noti_time1 = 0;
+ time_t noti_time2 = 0;
+ int ret;
+
+ ret = notification_get_time(noti1, ¬i_time1);
+ if (ret != NOTIFICATION_ERROR_NONE || noti_time1 == 0) {
+ notification_get_insert_time(noti1, ¬i_time1);
+ }
+
+ ret = notification_get_time(noti2, ¬i_time2);
+ if (ret != NOTIFICATION_ERROR_NONE || noti_time2 == 0) {
+ notification_get_insert_time(noti2, ¬i_time2);
+ }
+
+ DBG("not_time1 : %d noti_time2 : %d", noti_time1, noti_time2);
+
+ return (int)(noti_time1 - noti_time2);
+}
+
+static int _compare_time_cb(const void *data1, const void *data2)
+{
+ struct noti_info *info1 = (struct noti_info *)data1;
+ struct noti_info *info2 = (struct noti_info *)data2;
+
+ return _compare_noti_time(info1->noti, info2->noti);
+}
+
+static void _activenoti_remove_list(void)
+{
+ struct noti_info *info;
+ char *tmp;
+
+ EINA_LIST_FREE(s_info.auto_remove_list, info) {
+ /**
+ * For debugging
+ */
+ tmp = _get_text(info->noti, NOTIFICATION_TEXT_TYPE_TITLE);
+ DBG("auto remove %s", tmp);
+ free(tmp);
+
+ free(info->noti);
+ free(info->timer);
+ }
+
+ EINA_LIST_FREE(s_info.non_auto_remove_list, info) {
+ /**
+ * For debugging
+ */
+ tmp = _get_text(info->noti, NOTIFICATION_TEXT_TYPE_TITLE);
+ DBG("nont auto remove %s", tmp);
+ free(tmp);
+
+ free(info->noti);
+ }
+}
+
+static bool _activenoti_add_in_list(notification_h noti)
+{
+ DBG("");
+ bool auto_remove;
+ struct noti_info *info;
+ int ret;
+ time_t noti_time = 0;
+
+ ret = notification_get_auto_remove( noti, &auto_remove);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ DBG("notification_get_auto_remove return [%d]", ret);
+ return false;
+ }
+
+ info = malloc(sizeof(*info));
+ if (!info) {
+ DBG("malloc error, can't make noti_info");
+ return false;
+ }
+
+ ret = notification_clone(noti, &info->noti);
+ if (ret != NOTIFICATION_ERROR_NONE || !info->noti) {
+ free(info);
+ ERR("failed to create a cloned notification");
+ return false;
+ }
+
+ if (auto_remove == true) {
+ ret = notification_get_time(info->noti, ¬i_time);
+ if (ret!=NOTIFICATION_ERROR_NONE || noti_time == 0) {
+ ret = notification_get_insert_time(info->noti, ¬i_time);
+ if (ret != NOTIFICATION_ERROR_NONE || noti_time == 0) {
+ DBG("notification_get_insert_time failed. time is 0 ret %d", ret);
+ }
+ }
+
+ noti_time -= time(NULL);
+
+ if (noti_time > 8.0f) {
+ DBG("remove noti");
+ info->timer = NULL;
+ _delete_timer_cb(info);
+ } else {
+ info->timer = ecore_timer_add(8.0f - noti_time, _delete_timer_cb, info);
+ DBG("timer add");
+ if(!info->timer) {
+ DBG("ecore_timer_add failed");
+ }
+ /**
+ * @todo
+ * Revise this.
+ * Do we need to replace this with eina_list_prepend?
+ */
+ s_info.auto_remove_list = eina_list_sorted_insert(s_info.auto_remove_list, _compare_time_cb, info);
+ }
+ } else {
+ info->timer = NULL;
+ s_info.non_auto_remove_list = eina_list_sorted_insert(s_info.non_auto_remove_list, _compare_time_cb, info);
+ }
+
+ return 1;
+}
+
+static bool _activenoti_has_pending_noti(void)
+{
+
+ return s_info.non_auto_remove_list || s_info.auto_remove_list;
+}
+
+static bool _activenoti_remove_in_list(notification_h noti)
+{
+ DBG("");
+
+ bool auto_remove;
+ int ret;
+ Eina_List *l;
+ Eina_List *n;
+ struct noti_info *info;
+
+ ret = notification_get_auto_remove(noti, &auto_remove);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ DBG("notification_get_auto_remove return [%d]", ret);
+ return false;
+ }
+
+ if (auto_remove) {
+ DBG("remove in auto remove list");
+ EINA_LIST_FOREACH_SAFE(s_info.auto_remove_list, l, n, info) {
+ if (info->noti != noti) {
+ int priv_id_from_list;
+ int priv_id_from_arg;
+
+ notification_get_id(info->noti, NULL, &priv_id_from_list);
+ notification_get_id(noti, NULL, &priv_id_from_arg);
+
+ if (priv_id_from_list != priv_id_from_arg) {
+ continue;
+ }
+ }
+ s_info.auto_remove_list = eina_list_remove(s_info.auto_remove_list, info);
+ ecore_timer_del(info->timer);
+ notification_free(info->noti);
+ free(info);
+ break;
+ }
+ } else {
+ DBG("remove in non auto remove list");
+ EINA_LIST_FOREACH_SAFE(s_info.non_auto_remove_list, l, n, info) {
+ if (info->noti != noti) {
+ int priv_id_from_list;
+ int priv_id_from_arg;
+
+ notification_get_id(info->noti, NULL, &priv_id_from_list);
+ notification_get_id(noti, NULL, &priv_id_from_arg);
+
+ if (priv_id_from_list != priv_id_from_arg) {
+ continue;
+ }
+ }
+ s_info.non_auto_remove_list = eina_list_remove(s_info.non_auto_remove_list, info);
+ notification_free(info->noti);
+ free(info);
+ break;
+ }
+ }
+ return 1;
+}
+
+static notification_h _activenoti_get_in_list(notification_h cur_noti)
+{
+ DBG("");
+ notification_h noti = NULL;
+ struct noti_info *info;
+ bool auto_remove = true;
+ int ret;
+
+ if (cur_noti != NULL) {
+ ret = notification_get_auto_remove(cur_noti, &auto_remove);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ DBG("notification_get_auto_remove return [%d]", ret);
+ return NULL;
+ }
+ }
+
+ info = eina_list_nth(s_info.non_auto_remove_list, 0);
+ if (info) {
+ if (!auto_remove) {
+ ret = _compare_noti_time(cur_noti, info->noti);
+
+ if (ret > 0) {
+ return NULL;
+ }
+ }
+ s_info.non_auto_remove_list = eina_list_remove(s_info.non_auto_remove_list, info);
+ // .....
+ noti = info->noti;
+ free(info);
+ return noti;
+ }
+
+ if (auto_remove == false) {
+ return noti;
+ }
+
+ info = eina_list_nth(s_info.auto_remove_list, 0);
+ if (info) {
+ s_info.auto_remove_list = eina_list_remove(s_info.auto_remove_list, info);
+ // .....
+ noti = info->noti;
+ ecore_timer_del(info->timer);
+ free(info);
+ return noti;
+ }
+
+ return noti;
+}
+
+static Evas_Object *_activenoti_create_icon(Evas_Object *parent, notification_h noti)
+{
+ DBG("");
+ retif(noti == NULL || parent == NULL , NULL, "Invalid parameter!");
+
+ char *icon_path;
+ char *tmp;
+ Evas_Object *icon;
+ int ret;
+ app_control_h app_control;
+
+ retif(noti == NULL || parent == NULL, NULL, "Invalid parameter!");
+
+ tmp = NULL;
+ ret = notification_get_image(noti, NOTIFICATION_IMAGE_TYPE_ICON, &tmp);
+ if (ret == NOTIFICATION_ERROR_NONE && tmp != NULL) {
+ icon_path = strdup(tmp);
+ if (!icon_path) {
+ ERR("strdup: %s", tmp);
+ }
+
+ app_control = NULL;
+ ret = notification_get_event_handler(noti, NOTIFICATION_EVENT_TYPE_CLICK_ON_ICON, &app_control);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ERR("Failed to get handler");
+ }
+
+ DBG("icon_path : %s app_control = %p", icon_path, app_control);
+ } else {
+ tmp = NULL;
+ ret = notification_get_image(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL, &tmp);
+ if (ret == NOTIFICATION_ERROR_NONE && tmp != NULL) {
+ icon_path = strdup(tmp);
+ if (!icon_path) {
+ ERR("strdup: %s", tmp);
+ }
+
+ app_control = NULL;
+ ret = notification_get_event_handler(noti, NOTIFICATION_EVENT_TYPE_CLICK_ON_THUMBNAIL, &app_control);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ERR("Failed to get handler");
+ }
+
+ DBG("thumb_path : %s app_control = %p", icon_path, app_control);
+ } else {
+ char *pkgname;
+
+ icon_path = NULL;
+ pkgname = NULL;
+ ret = notification_get_pkgname(noti, &pkgname);
+ if (ret == NOTIFICATION_ERROR_NONE && pkgname != NULL) {
+ icon_path = quickpanel_common_ui_get_pkginfo_icon(pkgname);
+ DBG("default_pkgicon_path : %s", icon_path);
+ }
+
+ if (!icon_path) {
+ icon_path = strdup(DEFAULT_ICON);
+ DBG("default_path : %s", icon_path);
+ }
+
+ app_control = NULL;
+ }
+ }
+
+ icon = elm_image_add(parent);
+ if (!icon) {
+ ERR("Failed to create an image object");
+ free(icon_path);
+ if (app_control) {
+ app_control_destroy(app_control);
+ }
+ return NULL;
+ }
+
+ ret = elm_image_file_set(icon, icon_path, NULL);
+ free(icon_path);
+ if (ret == EINA_FALSE) {
+ evas_object_del(icon);
+ if (app_control) {
+ app_control_destroy(app_control);
+ }
+ return NULL;
+ }
+ elm_image_resizable_set(icon, EINA_FALSE, EINA_TRUE);
+
+ elm_object_signal_callback_add(icon, "image_press" , "", _image_press_cb, app_control);
+ evas_object_event_callback_add(icon, EVAS_CALLBACK_DEL, _app_control_del_cb, app_control);
+
+ return icon;
+}
+
+static inline char *_get_text(notification_h noti, notification_text_type_e text_type)
+{
+ time_t time = 0;
+ char *text = NULL;
+ char buf[ACTIVENOTI_MSG_LEN] = {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);
+ }
+
+ DBG("text : %s", text);
+
+ if (text != NULL) {
+ return elm_entry_utf8_to_markup(text);
+ }
+
+ return NULL;
+}
+
+static inline void _strbuf_add(Eina_Strbuf *str_buf, char *text, const char *delimiter)
+{
+ if (text != NULL) {
+ if (strlen(text) > 0) {
+ if (delimiter != NULL) {
+ eina_strbuf_append(str_buf, delimiter);
+ }
+ eina_strbuf_append(str_buf, text);
+ }
+ }
+}
+
+static inline void _check_and_add_to_buffer(Eina_Strbuf *str_buf, char *text, int is_check_phonenumber)
+{
+ char buf_number[QP_UTIL_PHONE_NUMBER_MAX_LEN * 2] = { 0, };
+
+ if (text != NULL) {
+ if (strlen(text) > 0) {
+ if (quickpanel_common_util_is_phone_number(text) && is_check_phonenumber) {
+ quickpanel_common_util_phone_number_tts_make(buf_number, text,
+ (QP_UTIL_PHONE_NUMBER_MAX_LEN * 2) - 1);
+ eina_strbuf_append(str_buf, buf_number);
+ } else {
+ eina_strbuf_append(str_buf, text);
+ }
+ eina_strbuf_append_char(str_buf, '\n');
+ }
+ }
+}
+
+static void _activenoti_set_text(notification_h noti, int is_screenreader)
+{
+ char *domain = NULL;
+ char *dir = NULL;
+ char *tmp;
+ int ret;
+
+ if (!noti) {
+ ERR("Invalid parameter");
+ return;
+ }
+
+ ret = notification_get_text_domain(noti, &domain, &dir);
+ if (ret == NOTIFICATION_ERROR_NONE && domain != NULL && dir != NULL) {
+ bindtextdomain(domain, dir);
+ }
+
+ tmp = _get_text(noti, NOTIFICATION_TEXT_TYPE_INFO_1);
+ if (tmp != NULL) {
+ elm_object_part_text_set(s_info.layout, "subtitle_text", tmp);
+ free(tmp);
+ elm_object_signal_emit(s_info.layout, "sub_show", "subtitle_text");
+ } else {
+ elm_object_signal_emit(s_info.layout, "sub_hide", "subtitle_text");
+ }
+
+ tmp = _get_text(noti, NOTIFICATION_TEXT_TYPE_TITLE);
+ if (tmp != NULL) {
+ elm_object_part_text_set(s_info.layout, "title_text", tmp);
+ free(tmp);
+ } else {
+ elm_object_part_text_set(s_info.layout, "title_text", "");
+ }
+
+ tmp = _get_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT);
+ if (tmp != NULL) {
+ elm_object_part_text_set(s_info.layout, "content_text", tmp);
+ free(tmp);
+ } else {
+ elm_object_part_text_set(s_info.layout, "content_text", "");
+ }
+}
+
+static void _handle_press_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ DBG("");
+ _activenoti_hide(data, 0);
+}
+
+static void _noti_press_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ DBG("");
+ int ret = APP_CONTROL_ERROR_NONE;
+ char *caller_pkgname = NULL;
+ bundle *responding_service_handle = NULL;
+ bundle *single_service_handle = NULL;
+ bundle *multi_service_handle = NULL;
+ int flags = 0, group_id = 0, priv_id = 0, count = 0, flag_launch = 0;
+ notification_type_e type = NOTIFICATION_TYPE_NONE;
+ notification_h noti = NULL;
+
+ retif(s_info.activenoti == NULL, , "Invalid parameter!");
+ retif(s_info.current_noti == NULL, , "Invalid parameter!");
+
+ noti = s_info.current_noti;
+ notification_get_pkgname(noti, &caller_pkgname);
+ notification_get_id(noti, &group_id, &priv_id);
+ notification_get_property(noti, &flags);
+ notification_get_type(noti, &type);
+
+ if (flags & NOTIFICATION_PROP_DISABLE_APP_LAUNCH) {
+ flag_launch = 0;
+ } else {
+ flag_launch = 1;
+ }
+
+ ret = notification_get_execute_option(noti, NOTIFICATION_EXECUTE_TYPE_RESPONDING, NULL, &responding_service_handle);
+ if (ret != NOTIFICATION_ERROR_NONE || responding_service_handle == NULL) {
+ DBG("NOTIFICATION_EXECUTE_TYPE_RESPONDING failed [%d]", ret);
+ }
+
+ ret = notification_get_execute_option(noti, NOTIFICATION_EXECUTE_TYPE_SINGLE_LAUNCH, NULL, &single_service_handle);
+ if (ret != NOTIFICATION_ERROR_NONE || single_service_handle == NULL) {
+ DBG("NOTIFICATION_EXECUTE_TYPE_SINGLE_LAUNCH failed [%d]", ret);
+ }
+
+ ret = notification_get_execute_option(noti, NOTIFICATION_EXECUTE_TYPE_MULTI_LAUNCH, NULL, &multi_service_handle);
+ if (ret != NOTIFICATION_ERROR_NONE || multi_service_handle == NULL) {
+ DBG("NOTIFICATION_EXECUTE_TYPE_MULTI_LAUNCH failed [%d]", ret);
+ }
+
+ if (responding_service_handle != NULL) {
+ DBG("responding_service_handle : %s", responding_service_handle);
+ ret = quickpanel_uic_launch_app(NULL, responding_service_handle);
+ } else if (flag_launch == 1) {
+ char *text_count = NULL;
+ notification_get_text(noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT, &text_count);
+
+ if (text_count != NULL) {
+ count = atoi(text_count);
+ } else {
+ count = 1;
+ }
+
+ if (single_service_handle != NULL && multi_service_handle == NULL) {
+ ret = quickpanel_uic_launch_app(NULL, single_service_handle);
+ } else if (single_service_handle == NULL && multi_service_handle != NULL) {
+ ret = quickpanel_uic_launch_app(NULL, multi_service_handle);
+ } else if (single_service_handle != NULL && multi_service_handle != NULL) {
+ if (count <= 1) {
+ ret = quickpanel_uic_launch_app(NULL, single_service_handle);
+ } else {
+ ret = quickpanel_uic_launch_app(NULL, multi_service_handle);
+ }
+ } else { //single_service_handle == NULL && multi_service_handle == NULL
+ DBG("there is no execution option in notification");
+ }
+ quickpanel_uic_launch_app_inform_result(caller_pkgname, ret);
+ }
+
+ _activenoti_hide(data , 1);
+
+}
+
+static void _button_press_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ app_control_h app_control = data;
+ int ret = APP_CONTROL_ERROR_NONE;
+
+ ret = app_control_send_launch_request(app_control, NULL, NULL);
+ DBG("app_control_send_launch_request return [%s]", ret);
+
+ _activenoti_hide(NULL, 1);
+}
+
+static Evas_Object *_get_btn_img(Evas_Object *parent, notification_h noti, int btn_num)
+{
+ retif(noti == NULL || parent == NULL, NULL, "Invalid parameter!");
+
+ char *btn_path = NULL;
+ Evas_Object *btn_img = NULL;
+ int ret;
+
+ ret = notification_get_image(noti, btn_num + NOTIFICATION_IMAGE_TYPE_BUTTON_1, &btn_path);
+ if (ret != NOTIFICATION_ERROR_NONE || btn_path == NULL) {
+ DBG("notification_get_image return [%d]", ret);
+ return NULL;
+ }
+
+ btn_img = elm_image_add(parent);
+ if (!btn_img) {
+ //free(btn_path);
+ return NULL;
+ }
+
+ evas_object_size_hint_weight_set(btn_img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(btn_img, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_image_resizable_set(btn_img, EINA_TRUE, EINA_TRUE);
+
+ ret = elm_image_file_set(btn_img, btn_path, NULL);
+ //free(btn_path);
+ if (ret == EINA_FALSE) {
+ evas_object_del(btn_img);
+ return NULL;
+ }
+
+ return btn_img;
+}
+
+static Evas_Object *_get_bg_img(Evas_Object *parent, notification_h noti)
+{
+ char *bg_path = NULL;
+ Evas_Object *bg_img = NULL;
+ int ret;
+
+ if (!parent || !noti) {
+ ERR("Invalid parameters %p %p", parent, noti);
+ return NULL;
+ }
+
+ ret = notification_get_image(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND, &bg_path);
+ if (ret != NOTIFICATION_ERROR_NONE || bg_path == NULL) {
+ DBG("bg_path is null ret = %d", ret);
+ return NULL;
+ }
+
+ bg_img = elm_image_add(parent);
+ if (!bg_img) {
+ return NULL;
+ }
+
+ evas_object_size_hint_weight_set(bg_img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(bg_img, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_image_resizable_set(bg_img, EINA_TRUE, EINA_TRUE);
+
+ ret = elm_image_file_set(bg_img, bg_path, NULL);
+ if (ret == EINA_FALSE) {
+ evas_object_del(bg_img);
+ return NULL;
+ }
+
+ return bg_img;
+}
+
+static int _activenoti_create_button(Evas_Object *obj, notification_h noti)
+{
+ int btn_cnt;
+ int ret;
+ app_control_h app_control;
+
+ if (!obj || !noti) {
+ ERR("Invalid parameters");
+ return 0;
+ }
+
+ if (s_info.btnbox) { //if exist, delete and create
+ evas_object_del(s_info.btnbox);
+ s_info.btnbox = NULL;
+ }
+
+ Evas_Object *box;
+ box = elm_box_add(obj);
+
+ if(box == NULL) {
+ ERR("box is null");
+ return 0;
+ }
+
+ 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);
+ elm_box_horizontal_set(box, EINA_TRUE);
+ evas_object_show(box);
+ s_info.btnbox = box;
+
+ for (btn_cnt = 0; btn_cnt < 3; btn_cnt++) {
+ app_control = NULL;
+ ret = notification_get_event_handler(noti, btn_cnt + NOTIFICATION_EVENT_TYPE_CLICK_ON_BUTTON_1, &app_control);
+ DBG("appcontrol %p", app_control);
+ if(ret != NOTIFICATION_ERROR_NONE || app_control == NULL) {
+ INFO("no more button, button count is %d", btn_cnt);
+ INFO("ret is %d", ret);
+
+ /**
+ * @note
+ * In this case,
+ * The app_control is not used and no one cares it.
+ * So we have to release it from here if it is allocated.
+ */
+ if (app_control) {
+ app_control_destroy(app_control);
+ }
+
+ if (btn_cnt == 0) { // noti doesn't have button
+ evas_object_del(s_info.btnbox);
+ s_info.btnbox = NULL;
+ return 0;
+ }
+ } else {
+ Evas_Object *bt_layout;
+ char *btn_text;
+ Evas_Object *image;
+
+ bt_layout = elm_layout_add(s_info.btnbox);
+ if(bt_layout == NULL) {
+ ERR("bt_layout is null");
+ evas_object_del(s_info.btnbox);
+ app_control_destroy(app_control);
+ s_info.btnbox = NULL;
+ return 0;
+ }
+
+ elm_layout_file_set(bt_layout, ACTIVENOTI_EDJ, "button_layout");
+ evas_object_size_hint_weight_set (bt_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(bt_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ image = _get_btn_img(bt_layout, noti, btn_cnt);
+ if (image != NULL) {
+ elm_object_part_content_set(bt_layout, "content.button.image", image);
+ }
+
+ btn_text = _get_text(noti, btn_cnt + NOTIFICATION_TEXT_TYPE_BUTTON_1);
+ if (btn_text != NULL) {
+ elm_object_part_text_set(bt_layout, "content.button.text", btn_text);
+ free(btn_text);
+ }
+ elm_object_signal_callback_add(bt_layout, "button_clicked" , "", _button_press_cb, app_control);
+ evas_object_event_callback_add(bt_layout, EVAS_CALLBACK_DEL, _app_control_del_cb, app_control);
+
+ evas_object_show(bt_layout);
+ elm_box_pack_end(s_info.btnbox,bt_layout);
+ }
+ }
+
+ elm_object_part_content_set(obj, "button.swallow", s_info.btnbox);
+ return btn_cnt;
+}
+
+static void _activenoti_create_activenoti(void)
+{
+ DBG("");
+ Eina_Bool ret = EINA_FALSE;
+ Evas_Object *base = NULL;
+ int w, h;
+
+ if (s_info.activenoti != NULL) {
+ ERR("Instant notification exists");
+ return;
+ }
+
+ s_info.activenoti = quickpanel_noti_win_add(NULL);
+ retif(s_info.activenoti == NULL, , "Failed to add elm activenoti.");
+
+ s_info.layout = elm_layout_add(s_info.activenoti);
+ if (!s_info.layout) {
+ ERR("Failed to get detailview.");
+ _activenoti_destroy_activenoti();
+ return;
+ }
+
+ ret = elm_layout_file_set(s_info.layout, ACTIVENOTI_EDJ, "headsup/base");
+ retif(ret == EINA_FALSE, , "failed to load layout");
+
+ elm_object_signal_callback_add(s_info.layout, "noti_press" , "", _noti_press_cb, NULL);
+ elm_object_signal_callback_add(s_info.layout, "del" , "", _handle_press_cb, NULL);
+
+ evas_object_geometry_get(s_info.activenoti, NULL, NULL, &w, &h);
+ DBG("evas_object_geometry_get x %d y %d", w, h);
+
+ elm_win_resize_object_add(s_info.activenoti, s_info.layout);
+ evas_object_show(s_info.layout);
+
+ /* create base rectangle */
+ base = evas_object_rectangle_add(evas_object_evas_get(s_info.layout));
+ if (!base) {
+ ERR("Failed to get detailview.");
+ _activenoti_destroy_activenoti();
+ return;
+ }
+
+ evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_color_set(base, 0, 165, 198, 255);
+
+ elm_object_part_content_set(s_info.layout, "background", base);
+
+ quickpanel_noti_win_content_set(s_info.activenoti, s_info.layout);
+
+ s_info.gesture = _gesture_create(s_info.layout);
+
+ _activenoti_win_rotated(quickpanel_get_app_data(), 0);
+}
+
+static void _activenoti_update_activenoti(void)
+{
+ ERR("");
+ Eina_Bool ret = EINA_FALSE;
+ notification_h noti;
+ Evas_Object *icon = NULL;
+ Evas_Object *badge = NULL;
+ Evas_Object *bg_img = NULL;
+ int btn_cnt = 0;
+ bool auto_remove = true;
+ bool current_auto_remove = true;
+
+ if (s_info.activenoti == NULL) {
+ ERR("Active notification doesn't exist");
+ return;
+ }
+
+ if (s_info.layout == NULL) {
+ ERR("Active notification doesn't exist");
+ return;
+ }
+
+ if (s_info.delay_timer != NULL) {
+ ERR("s_info.delay_timer");
+ ecore_timer_del(s_info.delay_timer);
+ s_info.delay_timer = NULL;
+ }
+
+ if (s_info.close_timer != NULL) {
+ ERR("s_info.close_timer");
+ ecore_timer_del(s_info.close_timer);
+ s_info.close_timer = NULL;
+ }
+
+ noti = _activenoti_get_in_list(s_info.current_noti);
+ if (noti == NULL) {
+ DBG("noti is null");
+ return;
+ }
+
+ if (s_info.current_noti) {
+ ret = notification_get_auto_remove(s_info.current_noti, ¤t_auto_remove);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ DBG("notification_get_auto_remove return [%s] from current_noti", ret);
+ return;
+ }
+ if (!current_auto_remove) {
+ DBG("!auto_remove");
+ ret = notification_get_auto_remove(noti, &auto_remove);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ DBG("notification_get_auto_remove return [%s] from new noti", ret);
+ return;
+ }
+
+ if (auto_remove) {
+ DBG("auto_remove");
+ _activenoti_add_in_list(noti); // timer
+ return; // check!!!
+ } else {
+ DBG("!auto_remove");
+ _activenoti_add_in_list(s_info.current_noti);
+ }
+ }
+ } else {
+ ret = notification_get_auto_remove(noti, ¤t_auto_remove);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ DBG("notification_get_auto_remove return [%s] from current_noti", ret);
+ return;
+ }
+ }
+
+ s_info.current_noti = noti;
+
+ if (current_auto_remove == true) {
+ time_t noti_time = 0;
+ ret = notification_get_time(s_info.current_noti, ¬i_time);
+ if (ret != NOTIFICATION_ERROR_NONE || noti_time == 0) {
+ notification_get_insert_time(s_info.current_noti, ¬i_time);
+ }
+ noti_time = time(NULL) - noti_time;
+ s_info.close_timer = ecore_timer_add(DEL_TIMER_VALUE - noti_time, _activenoti_close_timer_cb, NULL);
+ }
+
+ bg_img = elm_object_part_content_unset(s_info.layout, "bg_img");
+ DBG("bg_img %p", bg_img);
+ if(bg_img != NULL) {
+ evas_object_del(bg_img);
+ bg_img = NULL;
+ }
+
+ bg_img = _get_bg_img(s_info.layout , s_info.current_noti);
+ if (bg_img != NULL) {
+ elm_object_part_content_set(s_info.layout, "bg_img", bg_img);
+ }
+
+ btn_cnt = _activenoti_create_button(s_info.layout, s_info.current_noti);
+ if (btn_cnt == 0) { //no button
+ elm_object_signal_emit(s_info.layout, "btn_hide", "button.space");
+ } else {
+ elm_object_signal_emit(s_info.layout, "btn_show", "button.space");
+ }
+
+ icon = elm_object_part_content_unset(s_info.layout, "icon_big");
+ DBG("icon %p", icon);
+ if(icon != NULL) {
+ evas_object_del(icon);
+ icon = NULL;
+ }
+
+ icon = _activenoti_create_icon(s_info.layout, s_info.current_noti);
+ if (icon != NULL) {
+ elm_object_part_content_set(s_info.layout, "icon_big", icon);
+
+ badge = elm_object_part_content_unset(s_info.layout, "icon_badge");
+ DBG("badget %p", badge);
+ if(badge != NULL) {
+ evas_object_del(badge);
+ }
+
+ badge = _activenoti_create_badge(s_info.layout, s_info.current_noti);
+ if (badge != NULL) {
+ elm_object_part_content_set(s_info.layout, "icon_badge", badge);
+ } else {
+ INFO("badge is NULL");
+ }
+ DBG("");
+ } else {
+ INFO("icon is NULL");
+ }
+
+ _activenoti_set_text(noti, 0);
+
+ evas_object_show(s_info.activenoti);
+
+ SERR("activenoti noti is updated");
+}
+
+static void _activenoti_destroy_activenoti(void)
+{
+ retif(!s_info.activenoti,,"s_info->activenoti is null");
+
+ _gesture_destroy();
+
+ if (s_info.delay_timer != NULL) {
+ ecore_timer_del(s_info.delay_timer);
+ s_info.delay_timer = NULL;
+ }
+
+ if (s_info.close_timer != NULL) {
+ ecore_timer_del(s_info.close_timer);
+ s_info.close_timer = NULL;
+ }
+
+ if (s_info.btnbox) {
+ evas_object_del(s_info.btnbox);
+ s_info.btnbox = NULL;
+ }
+
+ if (s_info.layout) {
+ evas_object_del(s_info.layout);
+ s_info.layout = NULL;
+ }
+
+ if (s_info.activenoti) {
+ evas_object_del(s_info.activenoti);
+ s_info.activenoti = NULL;
+ }
+}
+
+static void _activenoti_win_rotated(void *data, int need_hide)
+{
+ retif(data == NULL, ,"data is NULL");
+ int angle = 0;
+ struct appdata *ad = data;
+
+ if (s_info.activenoti != NULL) {
+ angle = elm_win_rotation_get(s_info.activenoti);
+
+ if (((angle == 0 || angle == 180) && (ad->angle == 90 || ad->angle == 270))
+ || ((angle == 90 || angle == 270) && (ad->angle == 0 || ad->angle == 180))) {
+ if (need_hide == 1) {
+ evas_object_hide(s_info.activenoti);
+ }
+ }
+ }
+}
+
+static void _media_feedback_sound(notification_h noti)
+{
+ retif(noti == NULL, ,"op_list is NULL");
+ int ret = 0, priv_id = 0;
+ const char *nsound_path = NULL;
+ notification_sound_type_e nsound_type = NOTIFICATION_SOUND_TYPE_NONE;
+ char *default_msg_tone = NULL;
+
+ notification_get_id(noti, NULL, &priv_id);
+ notification_get_sound(noti, &nsound_type, &nsound_path);
+ SDBG("notification sound: %d, %s", nsound_type, nsound_path);
+
+ switch (nsound_type) {
+ case NOTIFICATION_SOUND_TYPE_USER_DATA:
+ /*
+ * if user data file isn't playable, play the default ringtone
+ */
+ if (nsound_path != NULL) {
+ if (quickpanel_media_playable_check(nsound_path) == EINA_TRUE) {
+ ret = quickpanel_media_player_play(SOUND_TYPE_NOTIFICATION, nsound_path);
+ if (quickpanel_media_player_is_drm_error(ret) == 1) {
+ ERR("failed to play notification sound due to DRM problem");
+ ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_SOUND_NOTIFICATION, &default_msg_tone);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "ailed to get key(%s) : %d", SYSTEM_SETTINGS_KEY_SOUND_NOTIFICATION, ret);
+
+
+ if (default_msg_tone != NULL) {
+ SDBG("setting sound[%s]", default_msg_tone);
+ ret = quickpanel_media_player_play(SOUND_TYPE_NOTIFICATION, default_msg_tone);
+ free(default_msg_tone);
+ }
+ }
+ if (ret == PLAYER_ERROR_NONE) {
+ quickpanel_media_player_id_set(priv_id);
+ } else {
+ ERR("failed to play notification sound");
+ }
+ break;
+ } else {
+ ERR("playable false, So unlock tone");
+ feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_UNLOCK);
+ }
+ } else {
+ ERR("sound path null");
+ }
+
+ break;
+ case NOTIFICATION_SOUND_TYPE_DEFAULT:
+ ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_SOUND_NOTIFICATION, &default_msg_tone);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "ailed to get key(%s) : %d", SYSTEM_SETTINGS_KEY_SOUND_NOTIFICATION, ret);
+
+ if (default_msg_tone != NULL) {
+ SDBG("Reminded setting sound[%s]", default_msg_tone);
+ ret = quickpanel_media_player_play(SOUND_TYPE_NOTIFICATION, default_msg_tone);
+ free(default_msg_tone);
+ if (ret == PLAYER_ERROR_NONE) {
+ quickpanel_media_player_id_set(priv_id);
+ } else {
+ ERR("failed to play notification sound(default)");
+ }
+ }
+ break;
+ case NOTIFICATION_SOUND_TYPE_MAX:
+ case NOTIFICATION_SOUND_TYPE_NONE:
+ ERR("None type: No sound");
+ break;
+
+ default:
+ ERR("UnKnown type[%d]", (int)nsound_type);
+ break;
+ }
+}
+
+static void _media_feedback_vibration(notification_h noti)
+{
+ retif(noti == NULL, , "Invalid parameter!");
+
+ /* Play Vibration */
+ notification_vibration_type_e nvibration_type = NOTIFICATION_VIBRATION_TYPE_NONE;
+ const char *nvibration_path = NULL;
+
+ notification_get_vibration(noti, &nvibration_type, &nvibration_path);
+ DBG("notification vibration: %d, %s", nvibration_type, nvibration_path);
+ switch (nvibration_type) {
+ case NOTIFICATION_VIBRATION_TYPE_USER_DATA:
+ case NOTIFICATION_VIBRATION_TYPE_DEFAULT:
+ feedback_play_type(FEEDBACK_TYPE_VIBRATION, FEEDBACK_PATTERN_MESSAGE);
+ break;
+ case NOTIFICATION_VIBRATION_TYPE_MAX:
+ case NOTIFICATION_VIBRATION_TYPE_NONE:
+ break;
+ }
+}
+
+static void _activenoti_noti_detailed_changed_cb(void *data, notification_type_e type, notification_op *op_list, int num_op)
+{
+ DBG("");
+ retif(op_list == NULL, ,"op_list is NULL");
+
+ notification_h noti = NULL;
+ int flags = 0;
+ int applist = NOTIFICATION_DISPLAY_APP_ALL;
+ int op_type = 0;
+ int priv_id = 0;
+
+ notification_op_get_data(op_list, NOTIFICATION_OP_DATA_TYPE, &op_type);
+ notification_op_get_data(op_list, NOTIFICATION_OP_DATA_PRIV_ID, &priv_id);
+ notification_op_get_data(op_list, NOTIFICATION_OP_DATA_NOTI, ¬i);
+
+ DBG("op_type:%d", op_type);
+ DBG("op_priv_id:%d", priv_id);
+ DBG("noti:%p", noti);
+
+ if( op_type == NOTIFICATION_OP_DELETE) {
+ DBG("NOTIFICATION_OP_DELETE");
+ int priv_id_current = 0;
+
+ if (s_info.current_noti) {
+ notification_get_id(s_info.current_noti, NULL, &priv_id_current);
+ if (s_info.current_noti == noti || priv_id_current == priv_id) {
+ _activenoti_hide(NULL, 0);
+ return;
+ }
+ }
+
+ _activenoti_remove_in_list(noti);
+
+ return;
+ } else if (op_type == NOTIFICATION_OP_DELETE_ALL) {
+ if(s_info.current_noti) {
+ _activenoti_hide(NULL, 0);
+ }
+ _activenoti_remove_list();
+ }
+
+ retif(noti == NULL, ,"noti is NULL");
+
+ if (op_type == NOTIFICATION_OP_INSERT || op_type == NOTIFICATION_OP_UPDATE) {
+ if (_is_sound_playable() == 1) {
+ if (_check_sound_off(noti) == 0) {
+ DBG("try to play notification sound %x", pthread_self());
+ _media_feedback_sound(noti);
+ if (quickpanel_media_is_vib_enabled() == 1
+ || quickpanel_media_is_sound_enabled() == 1) {
+ _media_feedback_vibration(noti);
+ }
+ }
+
+ }
+ }
+
+ notification_get_display_applist(noti, &applist);
+ DBG("applist : %x" ,applist);
+
+ /* Check activenoti flag */
+ notification_get_property(noti, &flags);
+
+ if (applist & NOTIFICATION_DISPLAY_APP_ACTIVE) {
+ if (_is_security_lockscreen_launched() || _check_sound_off(noti) == 1 ) {
+ INFO("lock screen is launched");
+ return;
+ }
+
+ if (quickpanel_uic_is_opened() && (applist & NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY) ) {
+ ERR("quickpanel is opened, activenoti will be not displayed");
+ return;
+ }
+
+ /* wait if s_info.activenoti is not NULL */
+ _activenoti_add_in_list(noti);
+
+ _activenoti_create_activenoti();
+ if (s_info.activenoti == NULL) {
+ ERR("Fail to create activenoti");
+ _activenoti_only_noti_del(noti);
+ return;
+ }
+
+ _activenoti_update_activenoti();
+ }
+}
+
+/*****************************************************************************
+ *
+ * Util functions
+ *
+ *****************************************************************************/
+static Eina_Bool _activenoti_callback_register_idler_cb(void *data)
+{
+ struct appdata *ad = data;
+ retif(ad == NULL, EINA_FALSE, "Invalid parameter!");
+
+ notification_register_detailed_changed_cb(_activenoti_noti_detailed_changed_cb, ad);
+
+ return EINA_FALSE;
+}
+
+static int _activenoti_init(void *data)
+{
+ struct appdata *ad = (struct appdata *)data;
+
+ /* Register notification changed cb */
+ ecore_idler_add(_activenoti_callback_register_idler_cb, ad);
+ return QP_OK;
+}
+
+static int _activenoti_fini(void *data)
+{
+ // struct appdata *ad = (struct appdata *)data;
+
+ _activenoti_destroy_activenoti();
+
+ return QP_OK;
+}
+
+static int _activenoti_enter_hib(void *data)
+{
+ return QP_OK;
+}
+
+static int _activenoti_leave_hib(void *data)
+{
+ return QP_OK;
+}
+
+static void _activenoti_reflesh(void *data)
+{
+ retif(data == NULL, , "Invalid parameter!");
+
+ if (s_info.activenoti != NULL) {
+ _activenoti_win_rotated(data, 1);
+ }
+}
+
+static void _activenoti_qp_opened(void *data)
+{
+ DBG("");
+ struct appdata *ad = data;
+ retif(ad == NULL, , "Invalid parameter!");
+
+ if (_activenoti_has_pending_noti()) {
+ _activenoti_remove_list();
+ }
+ _activenoti_hide(NULL, 0);
+}
+
*
*/
+#include <Elementary.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
+#include "common.h"
+#include "common_uic.h"
#include "animated_image.h"
+#include "quickpanel-ui.h"
-static int quickpanel_animated_image_init(void *data);
-static int quickpanel_animated_image_fini(void *data);
-static int quickpanel_animated_image_suspend(void *data);
-static int quickpanel_animated_image_resume(void *data);
+static int _init(void *data);
+static int _fini(void *data);
+static int _suspend(void *data);
+static int _resume(void *data);
QP_Module animated_image = {
.name = "animated_image",
- .init = quickpanel_animated_image_init,
- .fini = quickpanel_animated_image_fini,
- .suspend = quickpanel_animated_image_suspend,
- .resume = quickpanel_animated_image_resume,
+ .init = _init,
+ .fini = _fini,
+ .suspend = _suspend,
+ .resume = _resume,
.lang_changed = NULL,
.refresh = NULL
};
retif_nomsg(g_animated_image_list == NULL, );
EINA_LIST_FOREACH_SAFE(g_animated_image_list, l, ln, entry_obj) {
- if (entry_obj == NULL) continue;
+ if (entry_obj == NULL) {
+ continue;
+ }
if (on == EINA_TRUE) {
if (elm_image_animated_play_get(entry_obj) == EINA_FALSE) {
g_animated_image_list = eina_list_remove(g_animated_image_list, obj);
}
-HAPI void quickpanel_animated_image_add(Evas_Object *image) {
+HAPI void quickpanel_animated_image_add(Evas_Object *image)
+{
retif(image == NULL, , "image is NULL");
if (elm_image_animated_available_get(image) == EINA_TRUE) {
elm_image_animated_set(image, EINA_TRUE);
- if (quickpanel_is_suspended() == 0) {
+ if (quickpanel_uic_is_suspended() == 0) {
elm_image_animated_play_set(image, EINA_TRUE);
} else {
elm_image_animated_play_set(image, EINA_FALSE);
}
}
-HAPI char *quickpanel_animated_image_get_groupname(const char *path) {
+HAPI char *quickpanel_animated_image_get_groupname(const char *path)
+{
static int s_image_index = 0;
if (path != NULL) {
if (strstr(path, "gif") != NULL || strstr(path, "GIF") != NULL) {
- snprintf(g_animated_image_group_name, sizeof(g_animated_image_group_name),
- "%d:EVAS", s_image_index++);
+ snprintf(g_animated_image_group_name, sizeof(g_animated_image_group_name),
+ "%d:EVAS", s_image_index++);
- return g_animated_image_group_name;
+ return g_animated_image_group_name;
}
}
* Util functions
*
*****************************************************************************/
-static int quickpanel_animated_image_init(void *data)
+static int _init(void *data)
{
return QP_OK;
}
-static int quickpanel_animated_image_fini(void *data)
+static int _fini(void *data)
{
return QP_OK;
}
-static int quickpanel_animated_image_suspend(void *data)
+static int _suspend(void *data)
{
struct appdata *ad = data;
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
return QP_OK;
}
-static int quickpanel_animated_image_resume(void *data)
+static int _resume(void *data)
{
struct appdata *ad = data;
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
#ifndef __QUICKPANEL_ANIMATED_IMAGE_H__
#define __QUICKPANEL_ANIMATED_IMAGE_H__
-#include "quickpanel-ui.h"
-#include "common.h"
-
-HAPI void quickpanel_animated_image_add(Evas_Object *image);
-HAPI char *quickpanel_animated_image_get_groupname(const char *path);
+extern void quickpanel_animated_image_add(Evas_Object *image);
+extern char *quickpanel_animated_image_get_groupname(const char *path);
#endif
*
*/
+#include <Elementary.h>
+#include <glib.h>
#include <time.h>
+
#include <vconf.h>
#include <appcore-common.h>
#include <app_control.h>
-#include <Ecore_X.h>
#include <notification.h>
#include <notification_internal.h>
-
+#include <notification_list.h>
+#include <notification_ongoing_flag.h>
+#include <system_settings.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include <sound_manager.h>
+
+#include "media.h"
#include "quickpanel-ui.h"
#include "quickpanel_def.h"
+#include "common_uic.h"
#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_view.h"
#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
+
#ifdef QP_REMINDER_ENABLE
#include "reminder.h"
#endif
+
#ifdef QP_EMERGENCY_MODE_ENABLE
#include "emergency_mode.h"
#endif
-#include "vi_manager.h"
-#include "changeable_gui.h"
#define QP_NOTI_ONGOING_DBUS_PATH "/dbus/signal"
#define QP_NOTI_ONGOING_DBUS_INTERFACE "notification.ongoing"
.last_time.tm_year = 0,
};
-static int quickpanel_noti_init(void *data);
-static int quickpanel_noti_fini(void *data);
-static int quickpanel_noti_suspend(void *data);
-static int quickpanel_noti_resume(void *data);
-static void quickpanel_noti_lang_changed(void *data);
-static void quickpanel_noti_refresh(void *data);
+static void _ongoing_noti_section_deleted_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
-static void _quickpanel_ongoing_noti_section_add(void);
-static void quickpanel_noti_opened(void *data);
-//static void _quickpanel_ongoing_noti_section_remove(void);
-
-static void noti_time_init(void *data);
-static void noti_time_fini(void *data);
-
-QP_Module noti = {
- .name = "noti",
- .init = quickpanel_noti_init,
- .fini = quickpanel_noti_fini,
- .suspend = quickpanel_noti_suspend,
- .resume = quickpanel_noti_resume,
- .lang_changed = quickpanel_noti_lang_changed,
- .hib_enter = NULL,
- .hib_leave = NULL,
- .refresh = quickpanel_noti_refresh,
- .get_height = NULL,
- .qp_opened = quickpanel_noti_opened,
-};
-
-static notification_h _quickpanel_noti_update_item_progress(const char *pkgname,
- int priv_id,
- double progress)
+static notification_h _update_item_progress(const char *pkgname, int priv_id, double progress)
{
char *noti_pkgname = NULL;
int noti_priv_id = 0;
- noti_node_item *node = noti_node_get(s_info.noti_node, priv_id);
+ noti_node_item *node = quickpanel_noti_node_get(s_info.noti_node, priv_id);
if (node != NULL && node->noti != NULL) {
notification_get_pkgname(node->noti, ¬i_pkgname);
notification_get_id(node->noti, NULL, ¬i_priv_id);
- if (!pkgname || !noti_pkgname)
+ if (!pkgname || !noti_pkgname) {
return NULL;
+ }
- if (!strcmp(noti_pkgname, pkgname)
- && priv_id == noti_priv_id) {
+ if (!strcmp(noti_pkgname, pkgname) && priv_id == noti_priv_id) {
if (notification_set_progress(node->noti, progress) != NOTIFICATION_ERROR_NONE) {
ERR("fail to set progress");
return NULL;
}
-static notification_h _quickpanel_noti_update_item_size(const char *pkgname,
- int priv_id,
- double size)
+static notification_h _update_item_size(const char *pkgname, int priv_id, double size)
{
char *noti_pkgname = NULL;
int noti_priv_id = 0;
- noti_node_item *node = noti_node_get(s_info.noti_node, priv_id);
+ noti_node_item *node = quickpanel_noti_node_get(s_info.noti_node, priv_id);
if (node != NULL && node->noti != NULL) {
notification_get_pkgname(node->noti, ¬i_pkgname);
notification_get_id(node->noti, NULL, ¬i_priv_id);
- if (!pkgname || !noti_pkgname)
+ if (!pkgname || !noti_pkgname) {
return NULL;
+ }
if (!strcmp(noti_pkgname, pkgname)
- && priv_id == noti_priv_id) {
+ && priv_id == noti_priv_id) {
notification_set_size(node->noti, size);
return node->noti;
}
return NULL;
}
-static notification_h _quickpanel_noti_update_item_content(const char *pkgname,
- int priv_id,
- char *content)
+static notification_h _update_item_content(const char *pkgname, int priv_id, char *content)
{
char *noti_pkgname = NULL;
int noti_priv_id = 0;
int ret = NOTIFICATION_ERROR_NONE;
- noti_node_item *node = noti_node_get(s_info.noti_node, priv_id);
+ noti_node_item *node = quickpanel_noti_node_get(s_info.noti_node, priv_id);
- if (node != NULL && node->noti != NULL)
- {
+ if (node != NULL && node->noti != NULL) {
notification_get_pkgname(node->noti, ¬i_pkgname);
notification_get_id(node->noti, NULL, ¬i_priv_id);
- if (!pkgname || !noti_pkgname)
+ if (!pkgname || !noti_pkgname) {
return NULL;
+ }
- if (!strcmp(noti_pkgname, pkgname) && priv_id == noti_priv_id)
- {
+ if (!strcmp(noti_pkgname, pkgname) && priv_id == noti_priv_id) {
ret = notification_set_text(node->noti, NOTIFICATION_TEXT_TYPE_CONTENT, content, NULL, NOTIFICATION_VARIABLE_TYPE_NONE);
- if (ret != NOTIFICATION_ERROR_NONE)
- {
+ if (ret != NOTIFICATION_ERROR_NONE) {
ERR("Failed to set text[%d]", ret);
}
return NULL;
}
-static void _quickpanel_noti_update_progressbar(void *data,
- notification_h update_noti)
+static void _update_progressbar(void *data, notification_h update_noti)
{
int priv_id = 0;
struct appdata *ad = data;
retif(ad->list == NULL, , "ad->list is NULL");
if (notification_get_id(update_noti, NULL, &priv_id) == NOTIFICATION_ERROR_NONE) {
- node = noti_node_get(s_info.noti_node, priv_id);
+ node = quickpanel_noti_node_get(s_info.noti_node, priv_id);
}
retif(node == NULL, , "fail to find node of priv_id:%d", priv_id);
retif(node->view == NULL, , "fail to find %p", node->view);
- listbox_update_item(ad->list, node->view);
+ quickpanel_noti_listbox_update_item(ad->list, node->view);
}
-static void _quickpanel_noti_item_progress_update_cb(void *data,
- DBusMessage *msg)
+static void _item_progress_update_cb(void *data, DBusMessage *msg)
{
DBusError err;
char *pkgname = 0;
}
/* check item on the list */
- noti = _quickpanel_noti_update_item_progress(pkgname,
- priv_id, progress);
+ noti = _update_item_progress(pkgname, priv_id, progress);
retif(noti == NULL, , "Can not found noti data.");
- SDBG("pkgname[%s], priv_id[%d], progress[%lf]",
- pkgname, priv_id, progress);
- _quickpanel_noti_update_progressbar(data, noti);
+ SDBG("pkgname[%s], priv_id[%d], progress[%lf]", pkgname, priv_id, progress);
+ _update_progressbar(data, noti);
}
-static void _quickpanel_noti_item_size_update_cb(void *data, DBusMessage * msg)
+static void _item_size_update_cb(void *data, DBusMessage * msg)
{
DBusError err;
char *pkgname = 0;
}
/* check item on the list */
- noti = _quickpanel_noti_update_item_size(pkgname, priv_id, size);
+ noti = _update_item_size(pkgname, priv_id, size);
retif(noti == NULL, , "Can not found noti data.");
SDBG("pkgname[%s], priv_id[%d], progress[%lf]",
- pkgname, priv_id, size);
+ pkgname, priv_id, size);
- _quickpanel_noti_update_progressbar(data, noti);
+ _update_progressbar(data, noti);
}
-static void _quickpanel_noti_item_content_update_cb(void *data,
- DBusMessage *msg)
+static void _item_content_update_cb(void *data, DBusMessage *msg)
{
DBusError err;
char *pkgname = NULL;
}
SDBG("pkgname[%s], priv_id[%d], content[%s]",
- pkgname, priv_id, content);
+ pkgname, priv_id, content);
/* check item on the list */
- noti = _quickpanel_noti_update_item_content(pkgname, priv_id, content);
+ noti = _update_item_content(pkgname, priv_id, content);
retif(noti == NULL, , "Can not found noti data.");
- _quickpanel_noti_update_progressbar(data, noti);
+ _update_progressbar(data, noti);
+}
+
+static int _is_item_deletable(notification_h noti)
+{
+ notification_type_e type = NOTIFICATION_TYPE_NONE;
+ notification_ly_type_e ly_type = NOTIFICATION_LY_NONE;
+ bool ongoing_flag = false;
+
+ notification_get_type(noti, &type);
+ notification_get_layout(noti, &ly_type);
+ notification_get_ongoing_flag(noti, &ongoing_flag);
+
+ if( (type == NOTIFICATION_TYPE_ONGOING && ongoing_flag) ||
+ (type == NOTIFICATION_TYPE_ONGOING && ly_type == NOTIFICATION_LY_ONGOING_PROGRESS)) {
+ return 0;
+ }
+
+ return 1;
}
-static int _quickpanel_do_noti_delete(notification_h noti) {
+static int _do_noti_delete(notification_h noti)
+{
char *pkgname = NULL;
char *caller_pkgname = NULL;
int flags = 0, priv_id = 0, flag_delete = 0;
notification_type_e type = NOTIFICATION_TYPE_NONE;
int ret = NOTIFICATION_ERROR_INVALID_PARAMETER;
- quickpanel_play_feedback();
+ quickpanel_media_play_feedback();
retif(noti == NULL, NOTIFICATION_ERROR_INVALID_PARAMETER, "Invalid parameter!");
notification_get_pkgname(noti, &caller_pkgname);
-// notification_get_application(noti, &pkgname);
- if (pkgname == NULL)
+ // notification_get_application(noti, &pkgname);
+ if (pkgname == NULL) {
pkgname = caller_pkgname;
+ }
notification_get_id(noti, NULL, &priv_id);
notification_get_property(noti, &flags);
notification_get_type(noti, &type);
- if (flags & NOTIFICATION_PROP_PERMANENT_DISPLAY)
+ if (flags & NOTIFICATION_PROP_PERMANENT_DISPLAY) {
flag_delete = 0;
- else
+ } else {
flag_delete = 1;
+ }
- if (flag_delete == 1 && type == NOTIFICATION_TYPE_NOTI) {
+ if (flag_delete == 1 && ( type == NOTIFICATION_TYPE_NOTI || _is_item_deletable(noti)) ) {
ret = notification_delete_by_priv_id(caller_pkgname, NOTIFICATION_TYPE_NOTI,
priv_id);
}
return ret;
}
-static void _quickpanel_do_noti_press(notification_h noti, int pressed_area) {
+static void _do_noti_press(notification_h noti, int pressed_area)
+{
DBG("launch app");
int ret = APP_CONTROL_ERROR_NONE;
char *pkgname = NULL;
bundle *single_service_handle = NULL;
bundle *multi_service_handle = NULL;
int flags = 0, group_id = 0, priv_id = 0, count = 0, flag_launch = 0,
- flag_delete = 0;
+ flag_delete = 0;
notification_type_e type = NOTIFICATION_TYPE_NONE;
- quickpanel_play_feedback();
+ quickpanel_media_play_feedback();
retif(noti == NULL, , "Invalid parameter!");
notification_get_pkgname(noti, &caller_pkgname);
-// notification_get_application(noti, &pkgname);
- if (pkgname == NULL)
+ // notification_get_application(noti, &pkgname);
+ if (pkgname == NULL) {
pkgname = caller_pkgname;
+ }
notification_get_id(noti, &group_id, &priv_id);
notification_get_property(noti, &flags);
notification_get_type(noti, &type);
- if (flags & NOTIFICATION_PROP_DISABLE_APP_LAUNCH)
+ if (flags & NOTIFICATION_PROP_DISABLE_APP_LAUNCH) {
flag_launch = 0;
- else
+ } else {
flag_launch = 1;
+ }
- if (flags & NOTIFICATION_PROP_DISABLE_AUTO_DELETE)
+ if (flags & NOTIFICATION_PROP_DISABLE_AUTO_DELETE) {
flag_delete = 0;
- else
+ } else {
flag_delete = 1;
+ }
notification_get_execute_option(noti,
NOTIFICATION_EXECUTE_TYPE_RESPONDING,
- NULL, &responding_service_handle);
+ NULL, &responding_service_handle);
notification_get_execute_option(noti,
- NOTIFICATION_EXECUTE_TYPE_SINGLE_LAUNCH,
- NULL, &single_service_handle);
+ NOTIFICATION_EXECUTE_TYPE_SINGLE_LAUNCH,
+ NULL, &single_service_handle);
notification_get_execute_option(noti,
- NOTIFICATION_EXECUTE_TYPE_MULTI_LAUNCH,
- NULL, &multi_service_handle);
+ NOTIFICATION_EXECUTE_TYPE_MULTI_LAUNCH,
+ NULL, &multi_service_handle);
if (pressed_area == NOTI_PRESS_BUTTON_1 && responding_service_handle != NULL) {
DBG("");
- quickpanel_close_quickpanel(true, 1);
- ret = quickpanel_launch_app(NULL, responding_service_handle);
+ quickpanel_uic_close_quickpanel(true, 1);
+ ret = quickpanel_uic_launch_app(NULL, responding_service_handle);
} else if (flag_launch == 1) {
/* Hide quickpanel */
- quickpanel_close_quickpanel(true, 1);
+ quickpanel_uic_close_quickpanel(true, 1);
char *text_count = NULL;
notification_get_text(noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT, &text_count);
if (single_service_handle != NULL && multi_service_handle == NULL) {
DBG("");
- ret = quickpanel_launch_app(NULL, single_service_handle);
+ ret = quickpanel_uic_launch_app(NULL, single_service_handle);
}
if (single_service_handle == NULL && multi_service_handle != NULL) {
DBG("");
- ret = quickpanel_launch_app(NULL, multi_service_handle);
+ ret = quickpanel_uic_launch_app(NULL, multi_service_handle);
}
if (single_service_handle != NULL && multi_service_handle != NULL) {
DBG("");
if (count <= 1) {
- ret = quickpanel_launch_app(NULL, single_service_handle);
+ ret = quickpanel_uic_launch_app(NULL, single_service_handle);
} else {
- ret = quickpanel_launch_app(NULL, multi_service_handle);
+ ret = quickpanel_uic_launch_app(NULL, multi_service_handle);
}
}
- quickpanel_launch_app_inform_result(pkgname, ret);
+ quickpanel_uic_launch_app_inform_result(pkgname, ret);
}
if (flag_delete == 1 && type == NOTIFICATION_TYPE_NOTI) {
}
}
-static void quickpanel_notibox_delete_cb(noti_node_item *item, Evas_Object *obj) {
+static void _notibox_delete_cb(noti_node_item *item, Evas_Object *obj)
+{
DBG("");
retif(obj == NULL, , "Invalid parameter!");
retif(item == NULL, , "Invalid parameter!");
notification_h noti = item->noti;
retif(noti == NULL, , "Invalid parameter!");
- if (_quickpanel_do_noti_delete(noti) != NOTIFICATION_ERROR_NONE) {
- noti_box_item_dragging_cancel(obj);
+ if (_do_noti_delete(noti) != NOTIFICATION_ERROR_NONE) {
+ quickpanel_noti_box_item_dragging_cancel(obj);
}
}
-static void quickpanel_notibox_button_1_cb(noti_node_item *item, Evas_Object *obj) {
+static void _notibox_button_1_cb(noti_node_item *item, Evas_Object *obj)
+{
DBG("");
retif(item == NULL, , "Invalid parameter!");
notification_h noti = item->noti;
retif(noti == NULL, , "Invalid parameter!");
- _quickpanel_do_noti_press(noti, NOTI_PRESS_BUTTON_1);
+ _do_noti_press(noti, NOTI_PRESS_BUTTON_1);
}
-static void quickpanel_notibox_select_cb(noti_node_item *item, Evas_Object *obj) {
+static void _notibox_select_cb(noti_node_item *item, Evas_Object *obj)
+{
DBG("");
retif(item == NULL, , "Invalid parameter!");
notification_h noti = item->noti;
retif(noti == NULL, , "Invalid parameter!");
- _quickpanel_do_noti_press(noti, NOTI_PRESS_BG);
+ _do_noti_press(noti, NOTI_PRESS_BG);
}
-static void quickpanel_noti_listitem_select_cb(noti_node_item *item, Evas_Object * obj) {
+static void _noti_listitem_select_cb(noti_node_item *item, Evas_Object * obj)
+{
DBG("");
retif(item == NULL, , "Invalid parameter!");
notification_h noti = item->noti;
retif(noti == NULL, , "Invalid parameter!");
- _quickpanel_do_noti_press(noti, NOTI_PRESS_BG);
+ _do_noti_press(noti, NOTI_PRESS_BG);
}
-static inline void __ongoing_comp_n_copy(notification_h old, notification_h new)
+static inline void _ongoing_comp_n_copy(notification_h old, notification_h new)
{
int priv_id = 0;
int new_priv_id = 0;
char *new_pkgname = NULL;
int ret = NOTIFICATION_ERROR_NONE;
- if (!old)
+ if (!old) {
return;
+ }
- if (!new)
+ if (!new) {
return;
+ }
notification_get_id(old, NULL, &priv_id);
notification_get_id(new, NULL, &new_priv_id);
notification_get_pkgname(old, &pkgname);
notification_get_pkgname(new, &new_pkgname);
- if (!pkgname || !new_pkgname)
+ if (!pkgname || !new_pkgname) {
return;
+ }
if (!strcmp(pkgname, new_pkgname) && priv_id == new_priv_id) {
double percentage = 0.0;
if (insert_time == new_insert_time) {
char *content = NULL;
- notification_get_text(old,
- NOTIFICATION_TEXT_TYPE_CONTENT, &content);
+ notification_get_text(old, NOTIFICATION_TEXT_TYPE_CONTENT, &content);
ret = notification_set_text(new, NOTIFICATION_TEXT_TYPE_CONTENT, content, NULL, NOTIFICATION_VARIABLE_TYPE_NONE);
- if (ret != NOTIFICATION_ERROR_NONE)
- {
+ if (ret != NOTIFICATION_ERROR_NONE) {
ERR("Failed to set text[%d]", ret);
}
}
if (noti_listbox != NULL && node != NULL) {
if (node->noti != NULL && node->view != NULL) {
- listbox_remove_item(noti_listbox, node->view, EINA_TRUE);
+ quickpanel_noti_listbox_remove_item(noti_listbox, node->view, EINA_TRUE);
}
}
}
-static void _quickpanel_noti_clear_list_all(void)
+static void _noti_clear_list_all(void)
{
struct appdata *ad = quickpanel_get_app_data();
}
if (s_info.noti_node != NULL) {
- noti_node_remove_all(s_info.noti_node);
+ quickpanel_noti_node_remove_all(s_info.noti_node);
}
}
-static void _ongoing_noti_section_icon_state_set(int is_closed) {
+static void _ongoing_noti_section_icon_state_set(int is_closed)
+{
if (s_info.ongoing_noti_section_view != NULL) {
if (is_closed == 1) {
elm_object_signal_emit(s_info.ongoing_noti_section_view, "button,opened", "prog");
}
}
-static void _ongoing_noti_section_deleted_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+static void _ongoing_noti_section_add(void)
{
- DBG("");
- struct appdata *ad = data;
- s_info.ongoing_noti_section_view = NULL;
- DBG("VIM ongoing noti_section deleted");
+ int noti_count;
+ struct appdata *ad;
- if (noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NONE) > 0) {
- _quickpanel_ongoing_noti_section_add();
+ ad = quickpanel_get_app_data();
+ if (!ad) {
+ ERR("Invalid parameter");
+ return;
}
- listbox_remove_item(ad->list, s_info.noti_section_view, 1);
- s_info.noti_section_view = NULL;
-}
-
-static void _quickpanel_ongoing_noti_section_add(void)
-{
- int noti_count = 0;
- struct appdata *ad = quickpanel_get_app_data();
- retif(ad == NULL, , "Invalid parameter!");
- retif(ad->list == NULL, , "Invalid parameter!");
+ if (!ad->list) {
+ ERR("Invalid list");
+ return;
+ }
- if(s_info.noti_node)
- {
- noti_count = noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NONE);
+ if (s_info.noti_node) {
+ noti_count = quickpanel_noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NONE);
+ } else {
+ noti_count = 0;
}
DBG("[%d] ", noti_count);
- if (s_info.ongoing_noti_section_view == NULL)
- {
- s_info.ongoing_noti_section_view = noti_section_create(ad->list, QP_ITEM_TYPE_ONGOING_NOTI_GROUP);
- if (s_info.ongoing_noti_section_view != NULL) {
- noti_section_set_deleted_cb(s_info.ongoing_noti_section_view, _ongoing_noti_section_deleted_cb, ad);
- noti_section_update(s_info.ongoing_noti_section_view, noti_count);
+ if (!s_info.ongoing_noti_section_view) {
+ s_info.ongoing_noti_section_view = quickpanel_noti_section_create(ad->list, QP_ITEM_TYPE_ONGOING_NOTI_GROUP);
+ if (s_info.ongoing_noti_section_view) {
+ quickpanel_noti_section_set_deleted_cb(s_info.ongoing_noti_section_view, _ongoing_noti_section_deleted_cb, ad);
+ quickpanel_noti_section_update(s_info.ongoing_noti_section_view, noti_count);
if (s_info.is_ongoing_hided == 1) {
+ DBG("Hide NOTI.SECTION");
_ongoing_noti_section_icon_state_set(0);
}
}
}
else {
DBG("noti section update %d ", noti_count);
- noti_section_update(s_info.ongoing_noti_section_view, noti_count);
+ quickpanel_noti_section_update(s_info.ongoing_noti_section_view, noti_count);
}
}
-static void _quickpanel_noti_ongoing_add(Evas_Object *list, void *data, int is_prepend)
+static void _ongoing_noti_section_deleted_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ DBG("");
+ struct appdata *ad = data;
+ s_info.ongoing_noti_section_view = NULL;
+ DBG("VIM ongoing noti_section deleted");
+
+ if (quickpanel_noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NONE) > 0) {
+ _ongoing_noti_section_add();
+ }
+
+ quickpanel_noti_listbox_remove_item(ad->list, s_info.noti_section_view, 1);
+ s_info.noti_section_view = NULL;
+}
+
+static void _noti_ongoing_add(Evas_Object *list, void *data, int is_prepend)
{
Evas_Object *noti_list_item = NULL;
notification_h noti = data;
retif(list == NULL, , "Invalid parameter!");
if (noti != NULL) {
- noti_list_item = noti_list_item_create(list, noti);
+ noti_list_item = quickpanel_noti_list_item_create(list, noti);
if (noti_list_item != NULL) {
- noti_node_item *item = noti_node_add(s_info.noti_node, (void*)data, (void*)noti_list_item);
+ noti_node_item *item = quickpanel_noti_node_add(s_info.noti_node, (void*)data, (void*)noti_list_item);
if (item != NULL) {
- noti_list_item_node_set(noti_list_item, item);
- noti_list_item_set_item_selected_cb(noti_list_item, quickpanel_noti_listitem_select_cb);
+ quickpanel_noti_list_item_node_set(noti_list_item, item);
+ quickpanel_noti_list_item_set_item_selected_cb(noti_list_item, _noti_listitem_select_cb);
+ quickpanel_noti_list_item_set_item_deleted_cb(noti_list_item, _notibox_delete_cb);
if (s_info.ongoing_noti_section_view == NULL) {
- _quickpanel_ongoing_noti_section_add();
+ _ongoing_noti_section_add();
}
- listbox_add_item(list, noti_list_item, is_prepend, s_info.ongoing_noti_section_view);
+ quickpanel_noti_listbox_add_item(list, noti_list_item, is_prepend, s_info.ongoing_noti_section_view);
}
} else
ERR("fail to insert item to list : %p", data);
data, noti_list_item, list);
}
-static void _quickpanel_noti_noti_add(Evas_Object *list, void *data, int insert_pos)
+static void _noti_add(Evas_Object *list, void *data, int insert_pos)
{
notification_h noti = data;
notification_ly_type_e layout = NOTIFICATION_LY_NOTI_EVENT_SINGLE;
if (noti != NULL) {
notification_get_layout(noti, &layout);
- noti_view = noti_list_item_create(list, noti);
+ noti_view = quickpanel_noti_list_item_create(list, noti);
if (noti_view != NULL) {
- noti_node_item *item = noti_node_add(s_info.noti_node, (void*)data, (void*)noti_view);
+ noti_node_item *item = quickpanel_noti_node_add(s_info.noti_node, (void*)data, (void*)noti_view);
if (item != NULL) {
- noti_list_item_node_set(noti_view, item);
- noti_list_item_set_item_selected_cb(noti_view, quickpanel_notibox_select_cb);
- noti_list_item_set_item_button_1_cb(noti_view, quickpanel_notibox_button_1_cb);
- noti_list_item_set_item_deleted_cb(noti_view, quickpanel_notibox_delete_cb);
+ quickpanel_noti_list_item_node_set(noti_view, item);
+ quickpanel_noti_list_item_set_item_selected_cb(noti_view, _notibox_select_cb);
+ quickpanel_noti_list_item_set_item_button_1_cb(noti_view, _notibox_button_1_cb);
+ quickpanel_noti_list_item_set_item_deleted_cb(noti_view, _notibox_delete_cb);
if (s_info.noti_section_view == NULL) {
- _quickpanel_ongoing_noti_section_add();
+ _ongoing_noti_section_add();
}
- listbox_add_item(list, noti_view, insert_pos, s_info.noti_section_view);
+ quickpanel_noti_listbox_add_item(list, noti_view, insert_pos, s_info.noti_section_view);
}
} else
ERR("fail to insert item to list : %p", data);
data, noti_view, list);
}
-static void _quickpanel_noti_update_notilist(struct appdata *ad)
+static void _update_notilist(struct appdata *ad)
{
Evas_Object *list = NULL;
notification_h noti = NULL;
list = ad->list;
retif(list == NULL, , "Failed to get noti genlist.");
- _quickpanel_noti_clear_list_all();
+ _noti_clear_list_all();
notification_get_list(NOTIFICATION_TYPE_ONGOING, -1, &list_head);
list_traverse = list_head;
notification_get_display_applist(noti, &applist);
if (applist &
- NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY) {
+ NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY) {
notification_clone(noti, ¬i_save);
- _quickpanel_noti_ongoing_add(list, noti_save, LISTBOX_APPEND);
+ _noti_ongoing_add(list, noti_save, LISTBOX_APPEND);
}
list_traverse = notification_list_get_next(list_traverse);
}
notification_get_display_applist(noti, &applist);
if (applist &
- NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY) {
+ NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY) {
notification_clone(noti, ¬i_save);
- _quickpanel_noti_noti_add(list, noti_save, LISTBOX_APPEND);
+ _noti_add(list, noti_save, LISTBOX_APPEND);
}
list_traverse = notification_list_get_next(list_traverse);
}
}
}
-inline static void _print_debuginfo_from_noti(notification_h noti) {
+static inline void _print_debuginfo_from_noti(notification_h noti)
+{
retif(noti == NULL, , "Invalid parameter!");
char *noti_pkgname = NULL;
SERR("type:%d", noti_type);
}
-static void _quickpanel_noti_detailed_changed_cb(void *data, notification_type_e type, notification_op *op_list, int num_op)
+static void _detailed_changed_cb(void *data, notification_type_e type, notification_op *op_list, int num_op)
{
int i = 0;
int op_type = 0;
SERR("num_op:%d", num_op);
- for (i = 0; i < num_op; i++)
- {
+ for (i = 0; i < num_op; i++) {
notification_op_get_data(op_list + i, NOTIFICATION_OP_DATA_TYPE, &op_type);
notification_op_get_data(op_list + i, NOTIFICATION_OP_DATA_PRIV_ID, &priv_id);
notification_op_get_data(op_list + i, NOTIFICATION_OP_DATA_NOTI, ¬i_from_master);
SERR("noti operation:%d privid:%d", op_type, priv_id);
- switch(op_type)
- {
- case NOTIFICATION_OP_INSERT:
- {
- if (noti_from_master == NULL)
- {
- ERR("failed to get a notification from master");
- continue;
- }
- if (notification_clone(noti_from_master, ¬i_new) != NOTIFICATION_ERROR_NONE) {
- ERR("failed to create a cloned notification");
- continue;
- }
+ switch(op_type) {
+ case NOTIFICATION_OP_INSERT:
+ DBG("NOTIFICATION_OP_INSERT");
+ if (noti_from_master == NULL) {
+ ERR("failed to get a notification from master");
+ continue;
+ }
+ if (notification_clone(noti_from_master, ¬i_new) != NOTIFICATION_ERROR_NONE) {
+ ERR("failed to create a cloned notification");
+ continue;
+ }
- _print_debuginfo_from_noti(noti_new);
+ _print_debuginfo_from_noti(noti_new);
#ifdef QP_EMERGENCY_MODE_ENABLE
- if (quickpanel_emergency_mode_is_on()) {
- if (quickpanel_emergency_mode_notification_filter(noti_new, 0)) {
- notification_free(noti_new);
- return ;
- }
+ if (quickpanel_emergency_mode_is_on()) {
+ if (quickpanel_emergency_mode_notification_filter(noti_new, 0)) {
+ notification_free(noti_new);
+ return;
}
+ }
#endif
#ifdef QP_SMART_ALERT_ENABLE
- quickpanel_service_update_smart_alert_info(noti_new);
+ quickpanel_smart_alert_update_info(noti_new);
#endif
#ifdef QP_SERVICE_NOTI_LED_ENABLE
- quickpanel_service_noti_led_proc(noti_new, op_type);
+ quickpanel_noti_led_proc(noti_new, op_type);
#endif
- notification_get_type(noti_new, ¬i_type);
- notification_get_display_applist(noti_new, ¬i_applist);
- notification_get_layout(noti_new, ¬i_layout);
+ notification_get_type(noti_new, ¬i_type);
+ notification_get_display_applist(noti_new, ¬i_applist);
+ notification_get_layout(noti_new, ¬i_layout);
- if (noti_applist & NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY)
- {
- noti_node_item *node = noti_node_get(s_info.noti_node, priv_id);
- if (node != NULL)
- {
- if (noti_type == NOTIFICATION_TYPE_NOTI)
- {
- DBG("cb after inserted:%d", priv_id);
- }
- notification_free(noti_new);
+ if (noti_applist & NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY) {
+ noti_node_item *node = quickpanel_noti_node_get(s_info.noti_node, priv_id);
+ if (node != NULL) {
+ if (noti_type == NOTIFICATION_TYPE_NOTI) {
+ DBG("cb after inserted:%d", priv_id);
}
- else
- {
- if (noti_type == NOTIFICATION_TYPE_NOTI)
- {
- _quickpanel_noti_noti_add(ad->list, noti_new, LISTBOX_APPEND);
+ notification_free(noti_new);
+ } else {
+ if (noti_type == NOTIFICATION_TYPE_NOTI) {
+ _noti_add(ad->list, noti_new, LISTBOX_APPEND);
#ifdef QP_REMINDER_ENABLE
- quickpanel_reminder_start(NULL);
+ quickpanel_reminder_start(NULL);
#endif
- }
- else if (noti_type == NOTIFICATION_TYPE_ONGOING)
- {
- _quickpanel_noti_ongoing_add(ad->list, noti_new, LISTBOX_PREPEND);
- }
- else
- {
- notification_free(noti_new);
- }
+ } else if (noti_type == NOTIFICATION_TYPE_ONGOING) {
+ _noti_ongoing_add(ad->list, noti_new, LISTBOX_PREPEND);
+ } else {
+ notification_free(noti_new);
}
}
- else
- {
- notification_free(noti_new);
- }
+ } else {
+ notification_free(noti_new);
}
-
break;
case NOTIFICATION_OP_DELETE:
{
+ DBG("NOTIFICATION_OP_DELETE");
+ noti_node_item *node = quickpanel_noti_node_get(s_info.noti_node, priv_id);
- noti_node_item *node = noti_node_get(s_info.noti_node, priv_id);
-
- if (node != NULL && node->noti != NULL)
- {
+ if (node != NULL && node->noti != NULL) {
notification_h noti = node->noti;
notification_get_type(noti, ¬i_type);
#ifdef QP_SMART_ALERT_ENABLE
- quickpanel_service_update_smart_alert_info(noti);
+ quickpanel_smart_alert_update_info(noti);
#endif
#ifdef QP_SERVICE_NOTI_LED_ENABLE
- quickpanel_service_noti_led_proc(noti, op_type);
+ quickpanel_noti_led_proc(noti, op_type);
#endif
_print_debuginfo_from_noti(noti);
- if (noti_type == NOTIFICATION_TYPE_NOTI)
- {
- listbox_remove_item(ad->list, node->view, 1);
- }
- else if (noti_type == NOTIFICATION_TYPE_ONGOING)
- {
- listbox_remove_item(ad->list, node->view, 1);
+ if (noti_type == NOTIFICATION_TYPE_NOTI) {
+ quickpanel_noti_listbox_remove_item(ad->list, node->view, 1);
+ } else if (noti_type == NOTIFICATION_TYPE_ONGOING) {
+ quickpanel_noti_listbox_remove_item(ad->list, node->view, 1);
}
- noti_node_remove(s_info.noti_node, priv_id);
- if (quickpanel_player_id_get() == priv_id)
- {
- quickpanel_player_stop();
+ quickpanel_noti_node_remove(s_info.noti_node, priv_id);
+ if (quickpanel_media_player_id_get() == priv_id) {
+ quickpanel_media_player_stop();
}
- }
- else
- {
+ } else {
ERR("node = NULL or node->noti == NULL");
}
#ifdef QP_REMINDER_ENABLE
- if (noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NOTI) <= 0)
- {
+ if (quickpanel_noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NOTI) <= 0) {
quickpanel_reminder_stop(NULL);
}
#endif
case NOTIFICATION_OP_UPDATE:
{
-
- noti_node_item *node = noti_node_get(s_info.noti_node, priv_id);
+ DBG("NOTIFICATION_OP_UPDATE");
+ noti_node_item *node = quickpanel_noti_node_get(s_info.noti_node, priv_id);
notification_h old_noti = NULL;
DBG("Notification update priv_id[%d]", priv_id);
- if (noti_from_master == NULL)
- {
+ if (noti_from_master == NULL) {
ERR("failed to get a notification from master");
continue;
}
continue;
}
#ifdef QP_EMERGENCY_MODE_ENABLE
- if (quickpanel_emergency_mode_is_on())
- {
+ if (quickpanel_emergency_mode_is_on()) {
if (quickpanel_emergency_mode_notification_filter(noti_new, 0)) {
DBG("notification filtered");
notification_free(noti_new);
- return ;
+ return;
}
}
#endif
#ifdef QP_SMART_ALERT_ENABLE
- quickpanel_service_update_smart_alert_info(noti_new);
+ quickpanel_smart_alert_update_info(noti_new);
#endif
#ifdef QP_SERVICE_NOTI_LED_ENABLE
- quickpanel_service_noti_led_proc(noti_new, op_type);
+ quickpanel_noti_led_proc(noti_new, op_type);
#endif
_print_debuginfo_from_noti(noti_new);
notification_get_layout(noti_new, ¬i_layout);
- if (node != NULL && node->view != NULL && node->noti != NULL)
- {
+ if (node != NULL && node->view != NULL && node->noti != NULL) {
notification_get_type(noti_new, ¬i_type);
notification_get_layout(node->noti, &old_noti_layout);
- if (noti_type == NOTIFICATION_TYPE_NOTI || old_noti_layout != noti_layout)
- {
- if (quickpanel_noti_view_is_view_handler_changed(node->view, noti_new) == 1)
- {
- listbox_remove_item(ad->list, node->view, 1);
- noti_node_remove(s_info.noti_node, priv_id);
- _quickpanel_noti_noti_add(ad->list, noti_new, GRIDBOX_PREPEND);
- }
- else
- {
+ if (noti_type == NOTIFICATION_TYPE_NOTI || old_noti_layout != noti_layout) {
+ 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;
- listbox_update_item(ad->list, node->view);
+ quickpanel_noti_listbox_update_item(ad->list, node->view);
}
- }
- else if (noti_type == NOTIFICATION_TYPE_ONGOING)
- {
+ } else if (noti_type == NOTIFICATION_TYPE_ONGOING) {
old_noti = node->noti;
node->noti = noti_new;
- listbox_update_item(ad->list, node->view);
- }
- else
- {
+ quickpanel_noti_listbox_update_item(ad->list, node->view);
+ } else {
notification_free(noti_new);
}
- if (old_noti != NULL)
- {
+ if (old_noti != NULL) {
notification_free(old_noti);
}
- }
- else
- {
+ } else {
notification_get_display_applist(noti_new, ¬i_applist);
- if (noti_applist & NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY)
- {
- if (noti_type == NOTIFICATION_TYPE_NOTI)
- {
- _quickpanel_noti_noti_add(ad->list, noti_new, LISTBOX_PREPEND);
- }
- else if (noti_type == NOTIFICATION_TYPE_ONGOING)
- {
- _quickpanel_noti_ongoing_add(ad->list, noti_new, LISTBOX_PREPEND);
- }
- else
- {
+ if (noti_applist & NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY) {
+ if (noti_type == NOTIFICATION_TYPE_NOTI) {
+ _noti_add(ad->list, noti_new, LISTBOX_PREPEND);
+ } else if (noti_type == NOTIFICATION_TYPE_ONGOING) {
+ _noti_ongoing_add(ad->list, noti_new, LISTBOX_PREPEND);
+ } else {
notification_free(noti_new);
}
- }
- else
- {
+ } else {
notification_free(noti_new);
}
}
}
-
break;
case NOTIFICATION_OP_SERVICE_READY:
- {
-
- _quickpanel_noti_update_notilist(ad);
+ _update_notilist(ad);
#ifdef QP_SMART_ALERT_ENABLE
- quickpanel_service_update_smart_alert_info(NULL);
+ quickpanel_smart_alert_update_info(NULL);
#endif
#ifdef QP_SERVICE_NOTI_LED_ENABLE
- quickpanel_service_noti_led_init(ad, s_info.noti_node);
+ quickpanel_noti_led_init(ad, s_info.noti_node);
#endif
- quickpanel_vim_set_state_ready();
+ quickpanel_vim_set_state_ready();
#ifdef QP_REMINDER_ENABLE
- if (noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NOTI) > 0) {
- quickpanel_reminder_start(NULL);
- } else {
- quickpanel_reminder_stop(NULL);
- }
-#endif
- //quickpanel_chg_init();
+ if (quickpanel_noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NOTI) > 0) {
+ quickpanel_reminder_start(NULL);
+ } else {
+ quickpanel_reminder_stop(NULL);
}
-
+#endif
+ //quickpanel_chg_init();
break;
default:
}
}
- int noti_count = noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NOTI);
- int ongoing_noti_count = noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_ONGOING);
+ int noti_count = quickpanel_noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NOTI);
+ int ongoing_noti_count = quickpanel_noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_ONGOING);
if (s_info.noti_section_view != NULL) {
- noti_section_update(s_info.noti_section_view, noti_count+ongoing_noti_count);
+ quickpanel_noti_section_update(s_info.noti_section_view, noti_count+ongoing_noti_count);
}
if (s_info.ongoing_noti_section_view != NULL) {
- noti_section_update(s_info.ongoing_noti_section_view, noti_count+ongoing_noti_count);
+ quickpanel_noti_section_update(s_info.ongoing_noti_section_view, noti_count+ongoing_noti_count);
}
SERR("current noti count:%d, ongoing:%d", noti_count, ongoing_noti_count);
}
-static void _quickpanel_noti_update_sim_status_cb(keynode_t *node, void *data)
+static void _update_sim_status_cb(keynode_t *node, void *data)
{
struct appdata *ad = data;
if (ad != NULL && ad->list != NULL) {
if (notification_is_service_ready() == 1) {
- _quickpanel_noti_update_notilist(ad);
+ _update_notilist(ad);
}
}
}
struct appdata *ad = data;
retif(ad == NULL, EINA_FALSE, "Invalid parameter!");
- notification_register_detailed_changed_cb(_quickpanel_noti_detailed_changed_cb, ad);
+ notification_register_detailed_changed_cb(_detailed_changed_cb, ad);
return EINA_FALSE;
}
-static int _quickpanel_noti_register_event_handler(struct appdata *ad)
+static int _register_event_handler(struct appdata *ad)
{
int ret = 0;
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
s_info.dbus_handler_size =
e_dbus_signal_handler_add(ad->dbus_connection, NULL,
- QP_NOTI_ONGOING_DBUS_PATH,
- QP_NOTI_ONGOING_DBUS_INTERFACE, "update_progress",
- _quickpanel_noti_item_progress_update_cb,
- ad);
- if (s_info.dbus_handler_size == NULL)
+ QP_NOTI_ONGOING_DBUS_PATH,
+ QP_NOTI_ONGOING_DBUS_INTERFACE, "update_progress",
+ _item_progress_update_cb,
+ ad);
+ if (s_info.dbus_handler_size == NULL) {
ERR("fail to add size signal");
+ }
s_info.dbus_handler_progress =
e_dbus_signal_handler_add(ad->dbus_connection, NULL,
- QP_NOTI_ONGOING_DBUS_PATH,
- QP_NOTI_ONGOING_DBUS_INTERFACE, "update_size",
- _quickpanel_noti_item_size_update_cb,
- ad);
- if (s_info.dbus_handler_progress == NULL)
+ QP_NOTI_ONGOING_DBUS_PATH,
+ QP_NOTI_ONGOING_DBUS_INTERFACE, "update_size",
+ _item_size_update_cb,
+ ad);
+ if (s_info.dbus_handler_progress == NULL) {
ERR("fail to add progress signal");
+ }
s_info.dbus_handler_content =
e_dbus_signal_handler_add(ad->dbus_connection, NULL,
- QP_NOTI_ONGOING_DBUS_PATH,
- QP_NOTI_ONGOING_DBUS_INTERFACE, "update_content",
- _quickpanel_noti_item_content_update_cb,
- ad);
- if (s_info.dbus_handler_content == NULL)
+ QP_NOTI_ONGOING_DBUS_PATH,
+ QP_NOTI_ONGOING_DBUS_INTERFACE, "update_content",
+ _item_content_update_cb,
+ ad);
+ if (s_info.dbus_handler_content == NULL) {
ERR("fail to add content signal");
+ }
/* Notify vconf key */
- ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_SIM_SLOT,
- _quickpanel_noti_update_sim_status_cb,
- (void *)ad);
- if (ret != 0)
+ ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_SIM_SLOT, _update_sim_status_cb, (void *)ad);
+ if (ret != 0) {
ERR("Failed to register SIM_SLOT change callback!");
+ }
/* Register notification changed cb */
ecore_idler_add(_noti_callback_register_idler_cb, ad);
return ret;
}
-static int _quickpanel_noti_unregister_event_handler(struct appdata *ad)
+static int _unregister_event_handler(struct appdata *ad)
{
int ret = 0;
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
retif(ad->dbus_connection == NULL, QP_FAIL, "Invalid parameter!");
/* Unregister notification changed cb */
- notification_unregister_detailed_changed_cb(_quickpanel_noti_detailed_changed_cb, (void *)ad);
+ notification_unregister_detailed_changed_cb(_detailed_changed_cb, (void *)ad);
- ret = vconf_ignore_key_changed(VCONFKEY_TELEPHONY_SIM_SLOT,
- _quickpanel_noti_update_sim_status_cb);
- if (ret != 0)
+ ret = vconf_ignore_key_changed(VCONFKEY_TELEPHONY_SIM_SLOT, _update_sim_status_cb);
+ if (ret != 0) {
ERR("Failed to ignore SIM_SLOT change callback!");
+ }
/* Delete dbus signal */
if (s_info.dbus_handler_size != NULL) {
- e_dbus_signal_handler_del(ad->dbus_connection,
- s_info.dbus_handler_size);
+ e_dbus_signal_handler_del(ad->dbus_connection, s_info.dbus_handler_size);
s_info.dbus_handler_size = NULL;
}
if (s_info.dbus_handler_progress != NULL) {
- e_dbus_signal_handler_del(ad->dbus_connection,
- s_info.dbus_handler_progress);
+ e_dbus_signal_handler_del(ad->dbus_connection, s_info.dbus_handler_progress);
s_info.dbus_handler_progress = NULL;
}
if (s_info.dbus_handler_content != NULL) {
- e_dbus_signal_handler_del(ad->dbus_connection,
- s_info.dbus_handler_content);
+ e_dbus_signal_handler_del(ad->dbus_connection, s_info.dbus_handler_content);
s_info.dbus_handler_content = NULL;
}
}
/*static void _quickpanel_noti_init(void *data)
-{
- struct appdata *ad = NULL;
+ {
+ struct appdata *ad = NULL;
- retif(data == NULL, , "Invalid parameter!");
- ad = data;
+ retif(data == NULL, , "Invalid parameter!");
+ ad = data;
+
+ retif(ad->list == NULL, , "Invalid parameter!");
+
+ DBG("wr");
+
+ if (s_info.noti_box == NULL) {
+ s_info.noti_box = quickpanel_noti_listbox_create(ad->list
+ , quickpanel_get_app_data(), QP_ITEM_TYPE_ONGOING_NOTI);
+ quickpanel_noti_listbox_set_item_deleted_cb(s_info.noti_box, _quickpanel_list_box_deleted_cb);
+ quickpanel_list_util_sort_insert(ad->list, s_info.noti_box);
+ }
+ }
+
+ static void _quickpanel_noti_fini(void *data)
+ {
+ struct appdata *ad = NULL;
+
+ retif(data == NULL, , "Invalid parameter!");
+ ad = data;
+
+ retif(ad->list == NULL, , "Invalid parameter!");
+
+ DBG("dr");
+ }*/
+
+static void _on_time_changed(keynode_t *key, void *data)
+{
+ struct appdata *ad = data;
+ time_t current_time;
+ struct tm loc_time;
- retif(ad->list == NULL, , "Invalid parameter!");
+ if (!key) {
+ /**
+ * @todo
+ * Todo something for this case.
+ */
+ }
- DBG("wr");
+ current_time = time(NULL);
+ localtime_r(¤t_time, &loc_time);
- if (s_info.noti_box == NULL) {
- s_info.noti_box = listbox_create(ad->list
- , quickpanel_get_app_data(), QP_ITEM_TYPE_ONGOING_NOTI);
- listbox_set_item_deleted_cb(s_info.noti_box, _quickpanel_list_box_deleted_cb);
- quickpanel_list_util_sort_insert(ad->list, s_info.noti_box);
+ if (loc_time.tm_yday != s_info.last_time.tm_yday || loc_time.tm_year != s_info.last_time.tm_year) {
+ _update_notilist(ad);
}
+
+ s_info.last_time = loc_time;
}
-static void _quickpanel_noti_fini(void *data)
+static void _noti_time_init(void *data)
{
- struct appdata *ad = NULL;
-
- retif(data == NULL, , "Invalid parameter!");
- ad = data;
+ int ret = 0;
+ struct appdata *ad = data;
+ retif_nomsg(ad == NULL, );
+ time_t current_time;
- retif(ad->list == NULL, , "Invalid parameter!");
+ current_time = time(NULL);
+ localtime_r(¤t_time, &s_info.last_time);
- DBG("dr");
-}*/
+ ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_TIMEZONE_INT, _on_time_changed, data);
+ msgif(ret != 0, "failed to set key(%s) : %d", VCONFKEY_SETAPPL_TIMEZONE_INT, ret);
+ ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_SVC_ROAM, _on_time_changed, data);
+ msgif(ret != 0, "failed to set key(%s) : %d", VCONFKEY_TELEPHONY_SVC_ROAM, ret);
+ ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_TIMEZONE_ID, _on_time_changed, data);
+ msgif(ret != 0, "failed to set key(%s) : %d", VCONFKEY_SETAPPL_TIMEZONE_ID, ret);
+}
-static int quickpanel_noti_init(void *data)
+static int _init(void *data)
{
struct appdata *ad = data;
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
- noti_node_create(&s_info.noti_node);
+ quickpanel_noti_node_create(&s_info.noti_node);
//_quickpanel_noti_init(ad);
- _quickpanel_noti_register_event_handler(ad);
+ _register_event_handler(ad);
// NOTI TIME
- noti_time_init(data);
+ _noti_time_init(data);
return QP_OK;
}
-static int quickpanel_noti_fini(void *data)
+static void _noti_time_fini(void *data)
+{
+ int ret = 0;
+ struct appdata *ad = data;
+ retif_nomsg(ad == NULL, );
+
+ ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_TIMEZONE_INT, _on_time_changed);
+ msgif(ret != 0, "failed to set key(%s) : %d", VCONFKEY_SETAPPL_TIMEZONE_INT, ret);
+ ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_TIMEZONE_ID, _on_time_changed);
+ msgif(ret != 0, "failed to set key(%s) : %d", VCONFKEY_SETAPPL_TIMEZONE_ID, ret);
+ ret = vconf_ignore_key_changed(VCONFKEY_TELEPHONY_SVC_ROAM, _on_time_changed);
+ msgif(ret != 0, "failed to set key(%s) : %d", VCONFKEY_TELEPHONY_SVC_ROAM, ret);
+}
+
+static int _fini(void *data)
{
struct appdata *ad = data;
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
#ifdef QP_SERVICE_NOTI_LED_ENABLE
- quickpanel_service_noti_led_fini(ad);
+ quickpanel_noti_led_fini(ad);
#endif
/* Unregister event handler */
- _quickpanel_noti_unregister_event_handler(data);
+ _unregister_event_handler(data);
- _quickpanel_noti_clear_list_all();
+ _noti_clear_list_all();
//_quickpanel_noti_fini(ad);
if (s_info.noti_node != NULL) {
- noti_node_destroy(&s_info.noti_node);
+ quickpanel_noti_node_destroy(&s_info.noti_node);
}
// NOTI TIME
- noti_time_fini(data);
+ _noti_time_fini(data);
return QP_OK;
}
-static int quickpanel_noti_suspend(void *data)
+static int _suspend(void *data)
{
struct appdata *ad = data;
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
if (node->noti != NULL && node->view != NULL) {
notification_get_type(node->noti, ¬i_type);
if (noti_type == NOTIFICATION_TYPE_ONGOING) {
- listbox_update_item(noti_listbox, node->view);
+ quickpanel_noti_listbox_update_item(noti_listbox, node->view);
}
}
}
}
-static int quickpanel_noti_resume(void *data)
+static int _resume(void *data)
{
struct appdata *ad = data;
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
if (ad->list != NULL && s_info.noti_node != NULL) {
- if (noti_node_get_item_count(s_info.noti_node, QP_ITEM_TYPE_ONGOING_NOTI) > 0) {
+ if (quickpanel_noti_node_get_item_count(s_info.noti_node, QP_ITEM_TYPE_ONGOING_NOTI) > 0) {
if (s_info.noti_node->table != NULL) {
g_hash_table_foreach(s_info.noti_node->table, _noti_node_ongoing_update_cb, ad->list);
}
return QP_OK;
}
-static void quickpanel_noti_refresh(void *data) {
+static void _refresh(void *data)
+{
struct appdata *ad = NULL;
retif(data == NULL, , "Invalid parameter!");
ad = data;
- listbox_rotation(ad->list, ad->angle);
+ quickpanel_noti_listbox_rotation(ad->list, ad->angle);
}
-static void quickpanel_noti_lang_changed(void *data)
+static void _lang_changed(void *data)
{
int noti_count = 0;
int ongoing_noti_count = 0;
if (notification_is_service_ready() == 1) {
- _quickpanel_noti_update_notilist(ad);
+ _update_notilist(ad);
- noti_count = noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NOTI);
- ongoing_noti_count = noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_ONGOING);
+ noti_count = quickpanel_noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NOTI);
+ ongoing_noti_count = quickpanel_noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_ONGOING);
if (s_info.noti_section_view != NULL) {
- noti_section_update(s_info.noti_section_view, noti_count+ongoing_noti_count);
+ quickpanel_noti_section_update(s_info.noti_section_view, noti_count+ongoing_noti_count);
}
if (s_info.ongoing_noti_section_view != NULL) {
- noti_section_update(s_info.ongoing_noti_section_view, noti_count+ongoing_noti_count);
+ quickpanel_noti_section_update(s_info.ongoing_noti_section_view, noti_count+ongoing_noti_count);
}
}
}
-int quickpanel_noti_get_count(void) {
- return noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NONE);
+HAPI int quickpanel_noti_get_count(void)
+{
+ return quickpanel_noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NONE);
}
-int quickpanel_noti_get_type_count(notification_type_e noti_type)
+HAPI int quickpanel_noti_get_type_count(notification_type_e noti_type)
{
- return noti_node_get_item_count(s_info.noti_node, noti_type);
+ return quickpanel_noti_node_get_item_count(s_info.noti_node, noti_type);
}
-int quickpanel_noti_get_geometry(int *limit_h, int *limit_partial_h, int *limit_partial_w) {
+HAPI int quickpanel_noti_get_geometry(int *limit_h, int *limit_partial_h, int *limit_partial_w)
+{
retif(limit_h == NULL, 0, "invalid parameter");
retif(limit_partial_h == NULL, 0, "invalid parameter");
retif(limit_partial_w == NULL, 0, "invalid parameter");
struct appdata *ad = quickpanel_get_app_data();
- return listbox_get_geometry(ad->list,
- limit_h, limit_partial_h, limit_partial_w);
+ return quickpanel_noti_listbox_get_geometry(ad->list, limit_h, limit_partial_h, limit_partial_w);
}
-noti_node_item *quickpanel_noti_node_get_by_priv_id(int priv_id) {
+HAPI noti_node_item *quickpanel_noti_node_get_by_priv_id(int priv_id)
+{
retif(s_info.noti_node == NULL, NULL, "invalid parameter");
- return noti_node_get(s_info.noti_node, priv_id);
+ return quickpanel_noti_node_get(s_info.noti_node, priv_id);
}
-noti_node_item *quickpanel_noti_node_get_first_noti(void)
+HAPI noti_node_item *quickpanel_noti_node_get_first_noti(void)
{
// get box list
Eina_List *l;
item_list = elm_box_children_get(ad->list);
retif(item_list == NULL, NULL, "invalid parameter");
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
- if (obj != NULL)
- {
- node = noti_list_item_node_get(obj);
- if (node)
- {
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
+ if (obj != NULL) {
+ node = quickpanel_noti_list_item_node_get(obj);
+ if (node) {
notification_h noti = node->noti;
- if (noti)
- {
+ if (noti) {
notification_get_type(noti, &type);
- if (type == NOTIFICATION_TYPE_NOTI)
- {
+ if (type == NOTIFICATION_TYPE_NOTI) {
node_first_noti = node;
break;
}
}
}
- if (item_list != NULL)
- {
+ if (item_list != NULL) {
eina_list_free(item_list);
}
return node_first_noti;
}
-void quickpanel_noti_closing_trigger_set(void) {
+HAPI void quickpanel_noti_closing_trigger_set(void)
+{
struct appdata *ad = quickpanel_get_app_data();
- listbox_closing_trigger_set(ad->list);
+ quickpanel_noti_listbox_closing_trigger_set(ad->list);
}
-static void quickpanel_noti_opened(void *data)
+static void _opened(void *data)
{
if (elm_config_access_get() == EINA_TRUE) {
elm_access_say(_NOT_LOCALIZED("Notification panel"));
}
}
-void quickpanel_noti_set_clear_all_status()
+HAPI void quickpanel_noti_set_clear_all_status()
{
- struct appdata *ad = quickpanel_get_app_data();
- if((listbox_get_item_count(ad->list) >= 0
- || noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_ONGOING) >= 0)
- && noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NOTI) <= 0)
- {
- INFO("NOTI SECTION CLEAR ALL HIDE");
- elm_object_signal_emit(s_info.ongoing_noti_section_view ,
- "notifaction,section,clear_all,hide", "base");
+ notification_h noti;
+ notification_list_h list_head;
+ notification_list_h list_traverse;
+ bool ongoing_cnt = false;
+ int ret;
+
+ list_head = NULL;
+ ret = notification_get_list(NOTIFICATION_TYPE_ONGOING, -1, &list_head);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ERR("Unable to get the list of notification");
+ return;
}
- else
- {
- INFO("NOTI SECTION CLEAR ALL SHOW");
- elm_object_signal_emit(s_info.ongoing_noti_section_view,
- "notifaction,section,clear_all,show", "base");
+
+ list_traverse = list_head;
+ while (list_traverse != NULL) {
+ noti = notification_list_get_data(list_traverse);
+ if (_is_item_deletable(noti)) {
+ ongoing_cnt++;
+ }
+ list_traverse = notification_list_get_next(list_traverse);
+ }
+
+ if (list_head != NULL) {
+ notification_free_list(list_head);
}
+ if (ongoing_cnt == 0 && quickpanel_noti_node_get_item_count(s_info.noti_node, NOTIFICATION_TYPE_NOTI) <= 0) {
+ INFO("NOTI SECTION CLEAR ALL HIDE");
+ elm_object_signal_emit(s_info.ongoing_noti_section_view, "notifaction,section,clear_all,hide", "base");
+ } else {
+ INFO("NOTI SECTION CLEAR ALL SHOW");
+ elm_object_signal_emit(s_info.ongoing_noti_section_view, "notifaction,section,clear_all,show", "base");
+ }
}
-void on_clear_all_clicked(void *data, Evas_Object *obj, void *info)
+HAPI void quickpanel_noti_on_clear_all_clicked(void *data, Evas_Object *obj, void *info)
{
- quickpanel_play_feedback();
+ quickpanel_media_play_feedback();
LOGI("NOTI CLEAR ALL CLICKED");
DBG("");
- struct appdata *ad = quickpanel_get_app_data();
- retif(ad == NULL, , "Invalid parameter!");
- retif(ad->list == NULL, , "Invalid parameter!");
+ notification_h noti;
+ notification_list_h list_head;
+ notification_list_h list_traverse;
+ int ret;
quickpanel_noti_closing_trigger_set();
notification_clear(NOTIFICATION_TYPE_NOTI);
- quickpanel_close_quickpanel(EINA_FALSE, EINA_FALSE);
-
- /*if(s_info.noti_node->n_ongoing == 0)
- {
- _quickpanel_ongoing_noti_section_remove();
- }*/
-}
+ list_head = NULL;
+ ret = notification_get_list(NOTIFICATION_TYPE_ONGOING, -1, &list_head);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ERR("Unable to get the list of notifications");
+ return;
+ }
-// TIME REACTION
+ list_traverse = list_head;
+ while (list_traverse != NULL) {
+ noti = notification_list_get_data(list_traverse);
+ if (_is_item_deletable(noti)) {
+ char *caller_pkgname;
+ int priv_id;
+
+ ret = notification_get_id(noti, NULL, &priv_id);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ERR("Unable to get ID from noti object: %p", noti);
+ priv_id = 0;
+ }
+ ret = notification_get_pkgname(noti, &caller_pkgname);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ERR("Unable to get caller package name: %p", noti);
+ caller_pkgname = NULL;
+ }
-static void on_vconf_time_changed(keynode_t *key, void *data)
-{
- DBG("NOTI DATE TIME VCONF: %s = %d", key->keyname, key->value.i);
- struct appdata *ad = data;
+ notification_delete_by_priv_id(caller_pkgname, NOTIFICATION_TYPE_NOTI, priv_id);
+ }
- time_t current_time = time(NULL);
- struct tm loc_time;
- localtime_r(¤t_time, &loc_time);
+ list_traverse = notification_list_get_next(list_traverse);
+ }
- if(loc_time.tm_yday != s_info.last_time.tm_yday || loc_time.tm_year != s_info.last_time.tm_year)
- {
- INFO("NOTI DATE TIME DAY CHANGED: %s = %d", key->keyname, key->value.i);
- _quickpanel_noti_update_notilist(ad);
+ if (list_head != NULL) {
+ notification_free_list(list_head);
+ list_head = NULL;
}
- s_info.last_time = loc_time;
+ quickpanel_uic_close_quickpanel(EINA_FALSE, EINA_FALSE);
+
}
static Eina_Bool _notification_time_format_changed_cb(void *data)
{
struct appdata *ad = data;
- _quickpanel_noti_update_notilist(ad);
+ _update_notilist(ad);
return ECORE_CALLBACK_CANCEL;
}
-static void on_vconf_time_format_changed(keynode_t *key, void *data)
+HAPI void quickpanel_noti_update_by_system_time_changed_setting_cb(system_settings_key_e key, void *data)
{
- DBG("NOTI DATE TIME VCONF: %s = %d", key->keyname, key->value.i);
-
- Ecore_Timer *timer = ecore_timer_add(0.1,
- _notification_time_format_changed_cb, data);
-
-}
-
-static void noti_time_init(void *data)
-{
- int ret = 0;
- struct appdata *ad = data;
- retif_nomsg(ad == NULL, );
-
- time_t current_time = time(NULL);
- localtime_r(¤t_time, &s_info.last_time);
-
- ret = vconf_notify_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED, on_vconf_time_changed, data);
- retif_nomsg(ret != 0, );
- ret = vconf_notify_key_changed(VCONFKEY_REGIONFORMAT_TIME1224, on_vconf_time_format_changed, data);
- retif_nomsg(ret != 0, );
- ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_TIMEZONE_INT, on_vconf_time_changed, data);
- retif_nomsg(ret != 0, );
- ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_TIMEZONE_ID, on_vconf_time_changed, data);
- retif_nomsg(ret != 0, );
- ret = vconf_notify_key_changed(VCONFKEY_REGIONFORMAT, on_vconf_time_changed, data);
- retif_nomsg(ret != 0, );
- ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_SVC_ROAM, on_vconf_time_changed, data);
- retif_nomsg(ret != 0, );
+ // struct appdata *ad = data;
+ if (key == SYSTEM_SETTINGS_KEY_TIME_CHANGED || key == SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY) {
+ _on_time_changed(NULL, data);
+ } else { //key == SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR
+ _notification_time_format_changed_cb(data);
+ }
}
-static void noti_time_fini(void *data)
+HAPI void quickpanel_noti_update_by_system_time_changed_vconf_cb(keynode_t *key, void *data)
{
- int ret = 0;
- struct appdata *ad = data;
- retif_nomsg(ad == NULL, );
-
- ret = vconf_ignore_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED, on_vconf_time_changed);
- retif_nomsg(ret != 0, );
- ret = vconf_ignore_key_changed(VCONFKEY_REGIONFORMAT_TIME1224, on_vconf_time_changed);
- retif_nomsg(ret != 0, );
- ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_TIMEZONE_INT, on_vconf_time_changed);
- retif_nomsg(ret != 0, );
- ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_TIMEZONE_ID, on_vconf_time_changed);
- retif_nomsg(ret != 0, );
- ret = vconf_ignore_key_changed(VCONFKEY_REGIONFORMAT, on_vconf_time_changed);
- retif_nomsg(ret != 0, );
- ret = vconf_ignore_key_changed(VCONFKEY_TELEPHONY_SVC_ROAM, on_vconf_time_changed);
- retif_nomsg(ret != 0, );
+ _notification_time_format_changed_cb(data);
}
-void quickpanel_noti_init_noti_section(void)
+HAPI void quickpanel_noti_init_noti_section(void)
{
- if (s_info.ongoing_noti_section_view == NULL)
- {
- _quickpanel_ongoing_noti_section_add();
+ if (s_info.ongoing_noti_section_view == NULL) {
+ _ongoing_noti_section_add();
}
}
+
+QP_Module noti = {
+ .name = "noti",
+ .init = _init,
+ .fini = _fini,
+ .suspend = _suspend,
+ .resume = _resume,
+ .lang_changed = _lang_changed,
+ .hib_enter = NULL,
+ .hib_leave = NULL,
+ .refresh = _refresh,
+ .get_height = NULL,
+ .qp_opened = _opened,
+};
+
+/* End of a file */
#ifndef __NOTI_H__
#define __NOTI_H__
-#include "quickpanel-ui.h"
-#include "noti_node.h"
-
#define NOTI_PRESS_BG 0
#define NOTI_PRESS_BUTTON_1 1
#define QP_PRELOAD_NOTI_ICON_PATH "/usr/apps/org.tizen.quickpanel/shared/res/noti_icons"
-char *quickpanel_noti_get_time(time_t t, char *buf, int buf_len);
-int quickpanel_noti_get_count(void);
-int quickpanel_noti_get_geometry(int *limit_h, int *limit_partial_h, int *limit_partial_w);
-void quickpanel_noti_closing_trigger_set(void);
-
-noti_node_item *quickpanel_noti_node_get_by_priv_id(int priv_id);
-noti_node_item *quickpanel_noti_node_get_first_noti(void);
+extern int quickpanel_noti_get_count(void);
+extern int quickpanel_noti_get_geometry(int *limit_h, int *limit_partial_h, int *limit_partial_w);
+extern void quickpanel_noti_closing_trigger_set(void);
-void quickpanel_noti_set_clear_all_status();
+extern noti_node_item *quickpanel_noti_node_get_by_priv_id(int priv_id);
+extern noti_node_item *quickpanel_noti_node_get_first_noti(void);
-void on_clear_all_clicked(void *data, Evas_Object *obj, void *info);
-int quickpanel_noti_get_type_count(notification_type_e noti_type);
+extern void quickpanel_noti_set_clear_all_status();
-void quickpanel_noti_init_noti_section(void);
+extern void quickpanel_noti_on_clear_all_clicked(void *data, Evas_Object *obj, void *info);
+extern int quickpanel_noti_get_type_count(notification_type_e noti_type);
+extern void quickpanel_noti_init_noti_section(void);
+extern void quickpanel_noti_update_by_system_time_changed_setting_cb(system_settings_key_e key, void *data);
+extern void quickpanel_noti_update_by_system_time_changed_vconf_cb(keynode_t *key, void *data);
#endif
*
*/
-
+#include <Elementary.h>
#include <string.h>
-#include <Ecore_X.h>
+#include <glib.h>
+
+#include <vconf.h>
#include <notification.h>
+#include <notification_text_domain.h>
+#include <notification_internal.h>
+#include <system_settings.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
#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
-#include "animated_icon.h"
#define IMAGE_NO_RESIZE 0
#define IMAGE_RESIZE 1
.box_debug_step = 0,
};
-static Evas_Object *_check_duplicated_image_loading(Evas_Object *obj, const char *part, const char *file_path) {
+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;
old_ic = elm_object_part_content_get(obj, part);
- if (quickpanel_service_animated_icon_is_same_icon(old_ic, file_path) == 1) {
+ if (quickpanel_animated_icon_is_same_icon(old_ic, file_path) == 1) {
return old_ic;
}
return NULL;
}
-static void _noti_box_call_item_cb(Evas_Object *noti_box, const char *emission) {
+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");
}
}
-noti_box_h *_box_handler_get(Evas_Object *obj) {
+noti_box_h *_box_handler_get(Evas_Object *obj)
+{
return evas_object_data_get(obj, E_DATA_NOTI_BOX_H);
}
}
#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) {
+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, };
if (notification_get_time_from_text(noti, text_type, &time) == NOTIFICATION_ERROR_NONE) {
if ((int)time > 0) {
- quickpanel_noti_get_time(time, buf, sizeof(buf));
+ quickpanel_noti_util_get_time(time, buf, sizeof(buf));
text = buf;
}
} else {
if (text != NULL) {
if (strlen(text) > 0) {
- if (quickpanel_util_is_phone_number(text)) {
- quickpanel_util_phone_number_tts_make(buf_number, text,
+ 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);
}
}
-static void _noti_box_set_rs_layout_single(Evas_Object *noti_box,
- notification_h noti) {
+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)
+ 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_INFO_SUB_2, str_buf);
if (str_buf != NULL) {
- ao = quickpanel_screen_reader_object_get(noti_box,
+ 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"));
}
}
-static void _noti_box_set_rs_layout_multi(Evas_Object *noti_box,
- notification_h noti) {
+static void _noti_box_set_rs_layout_multi(Evas_Object *noti_box, notification_h noti)
+{
DBG("");
Evas_Object *ao = NULL;
char *domain = NULL;
notification_get_text_domain(noti, &domain, &dir);
- if (domain != NULL && dir != NULL)
+ 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_INFO_SUB_2, str_buf);
if (str_buf != NULL) {
- ao = quickpanel_screen_reader_object_get(noti_box,
+ 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"));
}
}
-static void _noti_box_set_rs_layout_thumbnail(Evas_Object *noti_box,
- notification_h noti) {
+static void _noti_box_set_rs_layout_thumbnail(Evas_Object *noti_box, notification_h noti)
+{
DBG("");
Evas_Object *ao = NULL;
char *domain = NULL;
notification_get_text_domain(noti, &domain, &dir);
- if (domain != NULL && dir != NULL)
+ if (domain != NULL && dir != NULL) {
bindtextdomain(domain, dir);
+ }
str_buf = eina_strbuf_new();
retif(str_buf == NULL, , "invalid parameter");
if (str_buf != NULL) {
DBG("access:%s", eina_strbuf_string_get(str_buf));
- ao = quickpanel_screen_reader_object_get(noti_box,
+ 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"));
}
#endif
-static Eina_Bool _drag_cancel_cb(void *data) {
+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");
return EINA_TRUE;
}
-void static _mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+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;
if (box_h->state == NOTIBOX_STATE_GETSTURE_CANCELED) {
DBG("deletion has been canceled");
- return ;
+ return;
}
evas_object_geometry_get(obj, &x, &y, &w, &h);
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))));
+ ((1.0 - LIMIT_FADEOUT_RATIO) * (1.0 - ((double)delta_x / (double)(THRESHOLD_DISTANCE))));
map = evas_map_new(4);
if (map != NULL) {
evas_object_map_enable_set(obj, EINA_TRUE);
evas_object_map_set(obj, map);
evas_map_free(map);
- quickpanel_list_scroll_freeze_set(EINA_TRUE);
+ quickpanel_list_util_scroll_freeze_set(EINA_TRUE);
}
delta_prev = delta_x;
}
box_h = _box_handler_get(obj);
retif(box_h == NULL, , "box_h is NULL");
- quickpanel_list_scroll_freeze_set(EINA_FALSE);
+ quickpanel_list_util_scroll_freeze_set(EINA_FALSE);
if (s_info.box_debug_step == 2) {
SDBG("mouse up:%d", box_h->state);
box_h->state = NOTIBOX_STATE_NORMAL;
}
-HAPI Evas_Object *noti_box_create(Evas_Object *parent, notification_ly_type_e layout) {
+HAPI Evas_Object *quickpanel_noti_box_create(Evas_Object *parent, notification_ly_type_e layout)
+{
Evas_Object *box = NULL;
box = elm_layout_add(parent);
box_h->noti_node = NULL;
evas_object_data_set(box, E_DATA_NOTI_BOX_H, box_h);
- Evas_Object *focus = quickpanel_ui_get_focus_object(box);
+ Evas_Object *focus = quickpanel_accessibility_ui_get_focus_object(box);
elm_object_part_content_set(box, "focus", focus);
//add event
"edje",
_signal_cb,
parent
- );
+ );
//add event
elm_object_signal_callback_add(box,
"edje",
_signal_cb,
parent
- );
+ );
//add event
elm_object_signal_callback_add(box,
"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);
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) {
-
+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,};
retif(part == NULL, NULL,"invalid parameter");
notification_get_image(noti, image_type, &image);
- if (image == NULL && image_path != NULL)
+ if (image == NULL && image_path != NULL) {
image = image_path;
+ }
if (image != NULL) {
if (is_use_buffer == IMAGE_BY_BUFFER) {
- content = quickpanel_service_animated_icon_get(noti_box, image);
+ content = quickpanel_animated_icon_get(noti_box, image);
if (content == NULL) {
content = elm_image_add(noti_box);
- memfile = quickpanel_ui_get_buffer_from_image(image, &memfile_size, ext, sizeof(ext));
+ 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) {
+ 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)
- {
+ if (memfile) {
free(memfile); // due to prevent
}
elm_image_file_set(content, image,
} else {
content = _check_duplicated_image_loading(noti_box, part, image);
if (content == NULL) {
- content = quickpanel_service_animated_icon_get(noti_box, image);
+ content = quickpanel_animated_icon_get(noti_box, image);
if (content == NULL) {
content = elm_image_add(noti_box);
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) {
+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;
text = str;
} else if (notification_get_time_from_text(noti, text_type, &time) == NOTIFICATION_ERROR_NONE) {
if ((int)time > 0) {
- quickpanel_noti_get_time(time, buf, sizeof(buf));
+ quickpanel_noti_util_get_time(time, buf, sizeof(buf));
text = buf;
}
} else {
elm_object_part_text_set(noti_box, part, text);
}
} else {
- quickpanel_util_char_replace(text, _NEWLINE, _SPACE);
+ quickpanel_common_util_char_replace(text, _NEWLINE, _SPACE);
elm_object_part_text_set(noti_box, part, text);
}
- if (is_need_effect == 1)
+ if (is_need_effect == 1) {
elm_object_signal_emit(noti_box, "object.show.effect", part);
- else
+ } 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) {
+static int _check_text_null(notification_h noti, notification_text_type_e text_type)
+{
char *text = NULL;
notification_get_text(noti, text_type, &text);
return 0;
}
-static int _check_image_null(notification_h noti,
- notification_image_type_e image_type) {
+static int _check_image_null(notification_h noti, notification_image_type_e image_type)
+{
char *image = NULL;
notification_get_image(noti, image_type, &image);
return 0;
}
-static void _noti_box_set_layout_single(Evas_Object *noti_box,
- notification_h noti) {
+static void _noti_box_set_layout_single(Evas_Object *noti_box, notification_h noti)
+{
char *dir = NULL;
char *domain = NULL;
char *pkgname = NULL;
}
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) {
+ && _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) {
+ && _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)) {
+ && _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;
}
notification_get_pkgname(noti, &pkgname);
notification_get_text_domain(noti, &domain, &dir);
- if (domain != NULL && dir != NULL)
+ 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_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);
+ "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) {
&& _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 1
&& _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) {
- icon_path = quickpanel_ui_get_pkginfo_icon(pkgname);
+ icon_path = quickpanel_common_ui_get_pkginfo_icon(pkgname);
if (icon_path != NULL) {
_set_image(noti_box, NULL,
icon_path, NOTIFICATION_IMAGE_TYPE_ICON,
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)) {
+ || _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");
}
}
#endif
}
-static void _noti_box_set_layout_multi(Evas_Object *noti_box,
- notification_h noti) {
+static void _noti_box_set_layout_multi(Evas_Object *noti_box, notification_h noti)
+{
char *pkgname = NULL;
char *icon_path = NULL;
char *dir = NULL;
}
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) {
+ && _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) {
+ && _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)) {
+ && _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;
}
notification_get_pkgname(noti, &pkgname);
notification_get_text_domain(noti, &domain, &dir);
- if (domain != NULL && dir != NULL)
+ 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);
+ 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);
+ 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);
+ _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);
+ "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) {
&& _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 1
&& _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) {
- icon_path = quickpanel_ui_get_pkginfo_icon(pkgname);
+ icon_path = quickpanel_common_ui_get_pkginfo_icon(pkgname);
if (icon_path != NULL) {
_set_image(noti_box, NULL,
icon_path, NOTIFICATION_IMAGE_TYPE_ICON,
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)) {
+ || _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");
}
}
#endif
}
-static void _noti_box_set_layout_thumbnail(Evas_Object *noti_box,
- notification_h noti) {
+static void _noti_box_set_layout_thumbnail(Evas_Object *noti_box, notification_h noti)
+{
char *pkgname = NULL;
char *icon_path = NULL;
char *dir = NULL;
int is_show_info = 0;
Evas_Object *icon = NULL;
- if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0)
+ if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) {
is_need_effect = 1;
- else
+ } 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) {
+ && _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) {
+ && _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)
+ 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);
+ 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);
+ 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);
+ "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);
+ "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);
+ "object.text.info.2", NULL, is_need_effect, TEXT_NO_CR);
}
}
}
&& _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 1
&& _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) {
- icon_path = quickpanel_ui_get_pkginfo_icon(pkgname);
+ icon_path = quickpanel_common_ui_get_pkginfo_icon(pkgname);
if (icon_path != NULL) {
_set_image(noti_box, NULL,
icon_path, NOTIFICATION_IMAGE_TYPE_ICON,
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)) {
+ || _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");
}
}
#endif
}
-static void _noti_box_set_layout(Evas_Object *noti_box, notification_h noti,
- notification_ly_type_e layout) {
+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;
+ 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 noti_box_remove(Evas_Object *noti_box) {
+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)
+ 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);
noti_box = NULL;
}
-HAPI void noti_box_node_set(Evas_Object *noti_box, void *noti_node) {
+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");
}
}
-HAPI void *noti_box_node_get(Evas_Object *noti_box) {
+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);
}
#ifdef QP_SCREENREADER_ENABLE
-static void
-_noti_box_focus_selected_cb(void *data, Evas_Object *obj, void *event_info){
+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");
}
#endif
-HAPI void noti_box_set_item_selected_cb(Evas_Object *noti_box,
- void(*selected_cb)(void *data, Evas_Object *obj)) {
+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");
#ifdef QP_SCREENREADER_ENABLE
Evas_Object *ao = NULL;
- ao = quickpanel_screen_reader_object_get(noti_box,
+ 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 noti_box_set_item_button_1_cb(Evas_Object *noti_box,
- void(*button_1_cb)(void *data, Evas_Object *obj)) {
+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 noti_box_set_item_deleted_cb(Evas_Object *noti_box,
- void(*deleted_cb)(void *data, Evas_Object *obj)) {
+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 noti_box_item_dragging_cancel(Evas_Object *noti_box) {
+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 noti_box_item_update(Evas_Object *noti_box) {
+HAPI void quickpanel_noti_box_item_update(Evas_Object *noti_box)
+{
retif(noti_box == NULL, , "invalid parameter");
noti_node_item *item = NULL;
#ifndef __QUICKPANEL_NOTI_BOX_H__
#define __QUICKPANEL_NOTI_BOX_H__
-#include <notification.h>
-#include "vi_manager.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"
qp_notibox_state_type state;
} noti_box_h;
-Evas_Object *noti_box_create(Evas_Object *parent, notification_ly_type_e layout);
-void noti_box_node_set(Evas_Object *noti_box, void *noti_node);
-void *noti_box_node_get(Evas_Object *noti_box);
-void noti_box_remove(Evas_Object *noti_box);
-void noti_box_set_item_selected_cb(Evas_Object *noti_box,
- void(*selected_cb)(void *data, Evas_Object *obj));
-void noti_box_set_item_button_1_cb(Evas_Object *noti_box,
- void(*button_1_cb)(void *data, Evas_Object *obj));
-void noti_box_set_item_deleted_cb(Evas_Object *noti_box,
- void(*deleted_cb)(void *data, Evas_Object *obj));
-void noti_box_item_dragging_cancel(Evas_Object *noti_box);
-void noti_box_item_update(Evas_Object *noti_box);
+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
*
*/
+#include <Elementary.h>
-#include <Ecore_X.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include <notification.h>
#include "quickpanel-ui.h"
+#include "common_uic.h"
#include "common.h"
#include "list_util.h"
#include "quickpanel_def.h"
#include "noti_gridbox.h"
-#include "noti_box.h"
#include "vi_manager.h"
+#include "noti_box.h"
#define E_DATA_LAYOUT_PORTRAIT "layout_portrait"
#define E_DATA_LAYOUT_LANDSCAPE "layout_landscape"
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) {
+static gridbox_info_layout *_gridbox_get_layout(Evas_Object *gridbox)
+{
struct appdata *ad = quickpanel_get_app_data();
gridbox_info_layout *info_layout = NULL;
return info_layout;
}
-static void _gridbox_layout_get_pos(int order, int *x, int *y, void *data) {
+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 column = (order - 1) - (row * n_per_row);
int row_x = info_layout->padding_left
- + ((info_layout->child_w + info_layout->padding_between) * column);
+ + ((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);
+ + ((info_layout->child_h + info_layout->padding_between) * row);
- if (x != NULL)
+ if (x != NULL) {
*x = row_x;
+ }
- if (y != NULL)
+ 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) {
+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;
}
}
-static void _gridbox_layout(Evas_Object *o, Evas_Object_Box_Data *priv,
- void *data) {
+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;
info_layout->child_w = child_w;
int order_children = 1;
- EINA_LIST_FOREACH_SAFE(priv->children, l, l_next, opt)
- {
+ 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,
evas_object_size_hint_min_set(o, ELM_SCALE_SIZE(-1), off_y + info_layout->child_h + info_layout->padding_bottom);
}
-HAPI Evas_Object *gridbox_create(Evas_Object *parent, void *data) {
+HAPI Evas_Object *quickpanel_noti_gridbox_create(Evas_Object *parent, void *data)
+{
retif(parent == NULL, NULL, "invalid parameter");
retif(data == NULL, NULL, "invalid parameter");
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));
+ 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->limit_w = ad->win_width; //400;
info_layout_portrait->scale = ad->scale;
- info_layout_landscape = (gridbox_info_layout *) malloc(
- sizeof(gridbox_info_layout));
+ 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 gridbox;
}
-HAPI void gridbox_remove(Evas_Object *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,
gridbox_info_layout *info_layout_landscape = evas_object_data_get(gridbox,
E_DATA_LAYOUT_LANDSCAPE);
- gridbox_remove_all_item(gridbox, 0);
+ 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_del(gridbox);
gridbox = NULL;
- if (info_layout_portrait != NULL)
+ if (info_layout_portrait != NULL) {
free(info_layout_portrait);
- if (info_layout_landscape != NULL)
+ }
+ if (info_layout_landscape != NULL) {
free(info_layout_landscape);
+ }
}
-HAPI void gridbox_set_item_deleted_cb(Evas_Object *gridbox,
- void(*deleted_cb)(void *data, Evas_Object *obj)) {
+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) {
+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;
}
}
-HAPI void gridbox_add_item(Evas_Object *gridbox, Evas_Object *item, int is_prepend) {
+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;
quickpanel_vi_start(vi);
}
-static void _anim_init_insert(void *data) {
+static void _anim_init_insert(void *data)
+{
QP_VI *vi = data;
retif(vi == NULL, , "invalid parameter");
retif(vi->container == NULL, , "invalid parameter");
evas_object_color_set(item, 0, 0, 0, 0);
}
-static void _anim_job_insert(void *data) {
+static void _anim_job_insert(void *data)
+{
QP_VI *vi = data;
int index = 1, index_child = 1;
int is_prepend = 0;
retif(info_layout == NULL, , "invalid parameter");
if (is_prepend != 1) {
- index_child = gridbox_get_item_count(gridbox);
+ 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);
DBG("all count:%d", eina_list_count (item_list));
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
if (obj != NULL) {
transit_layout = elm_transit_add();
if (transit_layout != NULL) {
}
}
-static void _anim_done_insert(void *data) {
+static void _anim_done_insert(void *data)
+{
QP_VI *vi = data;
retif(vi == NULL, , "invalid parameter");
evas_object_color_set(item, 255, 255, 255, 255);
- if (is_prepend == GRIDBOX_PREPEND)
+ if (is_prepend == GRIDBOX_PREPEND) {
elm_box_pack_start(gridbox, item);
- else
+ } else {
elm_box_pack_end(gridbox, item);
+ }
}
-static void _anim_job_delete(void *data) {
+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 index_child = 1;
int is_start_relayout = 0;
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
+ 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) {
}
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);
+ 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) {
+static void _anim_done_delete(void *data)
+{
QP_VI *vi = data;
retif(vi == NULL, , "invalid parameter");
retif(vi->container == NULL, , "invalid parameter");
Evas_Object *item = vi->target;
elm_box_unpack(gridbox, item);
- noti_box_remove(item);
- _gridbox_call_item_deleted_cb(gridbox, noti_box_node_get(item), NULL);
+ quickpanel_noti_box_remove(item);
+ _gridbox_call_item_deleted_cb(gridbox, quickpanel_noti_box_node_get(item), NULL);
}
-HAPI void gridbox_remove_item(Evas_Object *gridbox, Evas_Object *item, int with_animation) {
+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");
0);
quickpanel_vi_start(vi);
} else {
- void *node = noti_box_node_get(item);
+ void *node = quickpanel_noti_box_node_get(item);
elm_box_unpack(gridbox, item);
- noti_box_remove(item);
+ quickpanel_noti_box_remove(item);
_gridbox_call_item_deleted_cb(gridbox,
node, NULL);
}
}
-static void _anim_job_delete_all(void *data) {
+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) {
+static void _anim_done_delete_all(void *data)
+{
QP_VI *vi = data;
Eina_List *l;
Eina_List *l_next;
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)
- {
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
+ if (obj != NULL) {
DBG("try to remove:%p", obj);
- gridbox_remove_item(gridbox, obj, EINA_TRUE);
+ quickpanel_noti_gridbox_remove_item(gridbox, obj, EINA_TRUE);
}
}
}
}
-HAPI void gridbox_remove_all_item(Evas_Object *gridbox, int with_animation) {
+HAPI void quickpanel_noti_gridbox_remove_all_item(Evas_Object *gridbox, int with_animation)
+{
QP_VI *vi = NULL;
retif(gridbox == NULL, , "invalid parameter");
quickpanel_vi_start(vi);
}
-static void _anim_job_update(void *data) {
+static void _anim_job_update(void *data)
+{
QP_VI *vi = data;
retif(vi == NULL, , "invalid parameter");
retif(vi->container == NULL, , "invalid parameter");
quickpanel_vi_done(data);
}
-static void _anim_done_update(void *data) {
+static void _anim_done_update(void *data)
+{
QP_VI *vi = data;
retif(vi == NULL, , "invalid parameter");
retif(vi->container == NULL, , "invalid parameter");
Evas_Object *gridbox = vi->container;
Evas_Object *item = vi->target;
- if (gridbox_get_item_exist(gridbox, item) == 1) {
- noti_box_item_update(item);
+ if (quickpanel_noti_gridbox_get_item_exist(gridbox, item) == 1) {
+ quickpanel_noti_box_item_update(item);
}
}
-HAPI void gridbox_update_item(Evas_Object *gridbox, Evas_Object *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");
quickpanel_vi_start(vi);
}
-HAPI void 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) {
+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");
quickpanel_vi_start(vi);
}
-HAPI void gridbox_finalize_rotation_cb(void *data) {
+HAPI void gridbox_finalize_rotation_cb(void *data)
+{
retif(data == NULL, , "invalid parameter");
Evas_Object *gridbox = data;
elm_box_recalculate(gridbox);
}
-HAPI void gridbox_rotation(Evas_Object *gridbox, int angle) {
+HAPI void quickpanel_noti_gridbox_rotation(Evas_Object *gridbox, int angle)
+{
const char *signal = NULL;
retif(gridbox == NULL, , "invalid parameter");
signal = "box.portrait";
}
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
+ 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("rotation angle is %d", angle);
}
-HAPI int gridbox_get_item_count(Evas_Object *gridbox) {
+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");
}
}
-HAPI int gridbox_get_item_exist(Evas_Object *gridbox, Evas_Object *box) {
+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");
return ret;
}
-static Eina_Bool _anim_init_cb(void *data) {
+static Eina_Bool _anim_init_cb(void *data)
+{
int i = 0;
QP_VI *vi = data;
retif(vi == NULL, EINA_FALSE, "invalid parameter");
};
for (i = 0; anim_init_table[i].op_type != VI_OP_NONE; i++) {
- if (anim_init_table[i].op_type != vi->op_type)
+ 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) {
+static Eina_Bool _anim_job_cb(void *data)
+{
int i = 0;
QP_VI *vi = data;
retif(vi == NULL, EINA_FALSE, "invalid parameter");
};
for (i = 0; anim_job_table[i].op_type != VI_OP_NONE; i++) {
- if (anim_job_table[i].op_type != vi->op_type)
+ 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) {
+static Eina_Bool _anim_done_cb(void *data)
+{
int i = 0;
QP_VI *vi = data;
retif(vi == NULL, EINA_FALSE, "invalid parameter");
};
for (i = 0; anim_done_table[i].op_type != VI_OP_NONE; i++) {
- if (anim_done_table[i].op_type != vi->op_type)
+ if (anim_done_table[i].op_type != vi->op_type) {
continue;
+ }
anim_done_table[i].handler(vi);
break;
return EINA_TRUE;
}
-HAPI int gridbox_get_geometry(Evas_Object *gridbox,
- int *limit_h, int *limit_partial_h, int *limit_partial_w) {
+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;
static void _notibox_deleted_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
- quickpanel_close_quickpanel(EINA_FALSE, EINA_FALSE);
+ quickpanel_uic_close_quickpanel(EINA_FALSE, EINA_FALSE);
}
-HAPI void gridbox_closing_trigger_set(Evas_Object *gridbox) {
+HAPI void quickpanel_noti_gridbox_closing_trigger_set(Evas_Object *gridbox)
+{
Evas_Object *item = NULL;
Eina_List *items = NULL;
retif(gridbox == NULL, , "invalid parameter");
#define GRIDBOX_PREPEND 1
#define GRIDBOX_APPEND 0
-Evas_Object *gridbox_create(Evas_Object *parent, void *data);
-void gridbox_remove(Evas_Object *gridbox);
-void gridbox_add_item(Evas_Object *gridbox, Evas_Object *item, int is_prepend);
-void gridbox_remove_item(Evas_Object *gridbox, Evas_Object *item, int with_animation);
-void gridbox_rotation(Evas_Object *gridbox, int angle);
-void 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);
-void gridbox_remove_all_item(Evas_Object *gridbox, int with_animation);
-void gridbox_set_item_deleted_cb(Evas_Object *gridbox,
- void(*deleted_cb)(void *data, Evas_Object *obj));
-int gridbox_get_item_count(Evas_Object *gridbox);
-int gridbox_get_geometry(Evas_Object *gridbox,
- int *limit_h, int *limit_partial_h, int *limit_partial_w);
-void gridbox_update_item(Evas_Object *gridbox, Evas_Object *item);
-void gridbox_closing_trigger_set(Evas_Object *gridbox);
-int gridbox_get_item_exist(Evas_Object *gridbox, Evas_Object *box);
+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
*/
+#include <Elementary.h>
#include <string.h>
-#include <Ecore_X.h>
+#include <glib.h>
+
+#include <vconf.h>
#include <notification.h>
+#include <notification_internal.h>
+#include <notification_ongoing_flag.h>
+#include <system_settings.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
#include "quickpanel-ui.h"
#include "common.h"
#include "list_util.h"
#include "quickpanel_def.h"
-#include "noti_list_item.h"
+#include "vi_manager.h"
#include "noti_node.h"
+#include "noti_list_item.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
-#include "animated_icon.h"
extern Noti_View_H noti_view_h;
extern Noti_View_H ongoing_noti_view_h;
},
};
-static int _is_item_deletable_by_gesture(noti_list_item_h *handler) {
+static int _is_item_deletable_by_gesture(noti_list_item_h *handler)
+{
notification_type_e type = NOTIFICATION_TYPE_NONE;
+ notification_ly_type_e ly_type = NOTIFICATION_LY_NONE;
+
retif(handler == NULL, 0, "Invalid parameter!");
retif(handler->noti_node == NULL, 0, "Invalid parameter!");
retif(handler->noti_node->noti == NULL, 0, "Invalid parameter!");
+ bool ongoing_flag = false;
notification_h noti = handler->noti_node->noti;
+
notification_get_type(noti, &type);
+ notification_get_layout(noti, &ly_type);
+ notification_get_ongoing_flag(noti, &ongoing_flag);
- if (type == NOTIFICATION_TYPE_NOTI) {
- return 1;
+ if( (type == NOTIFICATION_TYPE_ONGOING && ongoing_flag) ||
+ (type == NOTIFICATION_TYPE_ONGOING && ly_type == NOTIFICATION_LY_ONGOING_PROGRESS)) {
+ return 0;
}
- return 0;
+ return 1;
}
-static void _item_handler_set(Evas_Object *item, noti_list_item_h *handler) {
+static void _item_handler_set(Evas_Object *item, noti_list_item_h *handler)
+{
retif(item == NULL, , "Invalid parameter!");
retif(handler == NULL, , "Invalid parameter!");
evas_object_data_set(item, E_DATA_NOTI_LIST_ITEM_H, handler);
}
-static noti_list_item_h *_item_handler_get(Evas_Object *item) {
+static noti_list_item_h *_item_handler_get(Evas_Object *item)
+{
retif(item == NULL, NULL, "Invalid parameter!");
return evas_object_data_get(item, E_DATA_NOTI_LIST_ITEM_H);
}
-static noti_node_item *_get_noti_node(Evas_Object *item) {
+static noti_node_item *_get_noti_node(Evas_Object *item)
+{
retif(item == NULL, NULL, "invalid parameter");
noti_list_item_h *handler = _item_handler_get(item);
return quickpanel_noti_node_get_by_priv_id(handler->priv_id);
}
-static void _response_callback_call(Evas_Object *item, const char *emission) {
+static void _response_callback_call(Evas_Object *item, const char *emission)
+{
static double time_called = 0.0;
retif(item == NULL, , "invalid parameter");
retif(emission == NULL, , "invalid parameter");
_response_callback_call(o, emission);
}
-static Eina_Bool _drag_cancel_cb(void *data) {
- QP_VI *vi = data;
- noti_list_item_h *handler = NULL;
- retif(vi == NULL, EINA_FALSE, "invalid parameter");
-
- if (vi->target != NULL) {
- DBG("Canceling dragging");
-
- handler = _item_handler_get(vi->target);
- retif(handler == NULL, EINA_FALSE, "handler is NULL");
-
- handler->state = NOTILISTITEM_STATE_GETSTURE_CANCELED;
- evas_object_map_enable_set(vi->target, EINA_FALSE);
-
- handler->vi = NULL;
- }
-
- return EINA_TRUE;
-}
-
void static _mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
int w = 0, h = 0;
if (handler->state == NOTILISTITEM_STATE_GETSTURE_CANCELED) {
DBG("deletion has been canceled");
- return ;
+ return;
}
evas_object_geometry_get(obj, &x, &y, &w, &h);
NULL,
NULL,
NULL,
- NULL, //_drag_cancel_cb,
+ NULL,
vi,
NULL,
0,
evas_object_map_enable_set(obj, EINA_TRUE);
evas_object_map_set(obj, map);
evas_map_free(map);
- quickpanel_list_scroll_freeze_set(EINA_TRUE);
+ quickpanel_list_util_scroll_freeze_set(EINA_TRUE);
}
delta_prev = delta_x;
}
static void _mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
int x = 0;
- noti_list_item_h *handler = NULL;
- Elm_Transit *transit_flick = NULL;
- //double scale = elm_config_scale_get();
+ noti_list_item_h *handler;
+
handler = _item_handler_get(obj);
retif(handler == NULL, , "handler is NULL");
- quickpanel_list_scroll_freeze_set(EINA_FALSE);
+ quickpanel_list_util_scroll_freeze_set(EINA_FALSE);
if (s_info.item_debug_step == 2) {
SDBG("mouse up:%d", handler->state);
}
if (handler->state == NOTILISTITEM_STATE_GETSTURE_WAIT) {
- if (abs(handler->distance) >= (THRESHOLD_DISTANCE - 10)
- && _is_item_deletable_by_gesture(handler) == 1) {
+ if (abs(handler->distance) >= (THRESHOLD_DISTANCE - 10) && _is_item_deletable_by_gesture(handler) == 1) {
x = abs(handler->distance) - THRESHOLD_DELETE_START;
if (handler->distance > 0) {
+ Elm_Transit *transit_flick;
+
evas_object_map_set(obj, NULL);
transit_flick = elm_transit_add();
if (transit_flick != NULL) {
elm_transit_effect_translation_add(transit_flick, x, 0, 480, 0);
elm_transit_object_add(transit_flick, obj);
- elm_transit_duration_set(transit_flick, 0.25 * (480 - x ) / 480);
+ elm_transit_duration_set(transit_flick, 0.25 * (480 - x ) / 480);
elm_transit_tween_mode_set(transit_flick, ELM_TRANSIT_TWEEN_MODE_LINEAR);
elm_transit_objects_final_state_keep_set(transit_flick, EINA_TRUE);
elm_transit_go(transit_flick);
_response_callback_call(obj, "deleted");
}
} else if (handler->distance < 0) {
+ Elm_Transit *transit_flick;
+
evas_object_map_set(obj, NULL);
transit_flick = elm_transit_add();
if (transit_flick != NULL) {
elm_transit_effect_translation_add(transit_flick, -x, 0, -480, 0);
elm_transit_object_add(transit_flick, obj);
- elm_transit_duration_set(transit_flick, 0.25 * ( 480 - x ) / 480);
+ elm_transit_duration_set(transit_flick, 0.25 * ( 480 - x ) / 480);
elm_transit_tween_mode_set(transit_flick, ELM_TRANSIT_TWEEN_MODE_LINEAR);
elm_transit_objects_final_state_keep_set(transit_flick, EINA_TRUE);
elm_transit_go(transit_flick);
handler->state = NOTILISTITEM_STATE_NORMAL;
}
-static Evas_Event_Flags
-_flick_end_cb(void *data, void *event_info)
+static Evas_Event_Flags _flick_end_cb(void *data, void *event_info)
{
int x = 0;
noti_list_item_h *handler = NULL;
Evas_Object *view = NULL;
Elm_Transit *transit_flick = NULL;
Elm_Gesture_Momentum_Info *info = (Elm_Gesture_Momentum_Info *)event_info;
- //double scale = elm_config_scale_get();
view = (Evas_Object *)data;
handler = _item_handler_get(view);
if (transit_flick != NULL) {
elm_transit_effect_translation_add(transit_flick, x, 0, 480, 0);
elm_transit_object_add(transit_flick, view);
- elm_transit_duration_set(transit_flick, 0.25 * (480 - x ) /480);
+ elm_transit_duration_set(transit_flick, 0.25 * (480 - x ) /480);
elm_transit_tween_mode_set(transit_flick, ELM_TRANSIT_TWEEN_MODE_LINEAR);
elm_transit_objects_final_state_keep_set(transit_flick, EINA_TRUE);
elm_transit_go(transit_flick);
if (transit_flick != NULL) {
elm_transit_effect_translation_add(transit_flick, -x, 0, -480, 0);
elm_transit_object_add(transit_flick, view);
- elm_transit_duration_set(transit_flick, 0.25 * ( 480 - x ) / 480);
+ elm_transit_duration_set(transit_flick, 0.25 * ( 480 - x ) / 480);
elm_transit_tween_mode_set(transit_flick, ELM_TRANSIT_TWEEN_MODE_LINEAR);
elm_transit_objects_final_state_keep_set(transit_flick, EINA_TRUE);
elm_transit_go(transit_flick);
return EVAS_EVENT_FLAG_NONE;
}
-HAPI Evas_Object *noti_list_item_create(Evas_Object *parent, notification_h noti) {
+HAPI Evas_Object *quickpanel_noti_list_item_create(Evas_Object *parent, notification_h noti)
+{
Evas_Object *view = NULL;
retif(noti == NULL, NULL, "invalid parameter");
_item_handler_set(view, handler);
- Evas_Object *focus = quickpanel_ui_get_focus_object(view);
+ Evas_Object *focus = quickpanel_accessibility_ui_get_focus_object(view);
elm_object_part_content_set(view, "focus", focus);
//add event
"edje",
_signal_cb,
parent
- );
+ );
//add event
elm_object_signal_callback_add(view,
"edje",
_signal_cb,
parent
- );
+ );
//add event
elm_object_signal_callback_add(view,
"edje",
_signal_cb,
parent
- );
+ );
DBG("created box:%p", view);
elm_gesture_layer_cb_set(gl, ELM_GESTURE_N_FLICKS, ELM_GESTURE_STATE_END, _flick_end_cb, view);
} else {
ERR("failed to create notification view(%s)"
- , s_info.view_handlers[layout]->name);
+ , s_info.view_handlers[layout]->name);
}
return view;
}
-HAPI void noti_list_item_update(Evas_Object *item) {
+HAPI void quickpanel_noti_list_item_update(Evas_Object *item)
+{
retif(item == NULL, , "invalid parameter");
noti_list_item_h *handler = _item_handler_get(item);
}
}
-HAPI void noti_list_item_remove(Evas_Object *item) {
+HAPI void quickpanel_noti_list_item_remove(Evas_Object *item)
+{
retif(item == NULL, , "invalid parameter");
noti_list_item_h *handler = _item_handler_get(item);
if (handler != NULL) {
retif(s_info.view_handlers[handler->layout] == NULL, , "invalid parameter");
-
+
if (s_info.view_handlers[handler->layout] != NULL) {
if (s_info.view_handlers[handler->layout]->remove != NULL) {
noti_node_item *noti_node = _get_noti_node(item);
item = NULL;
}
-HAPI void noti_list_item_set_status(Evas_Object *item, int status) {
+HAPI void quickpanel_noti_list_item_set_status(Evas_Object *item, int status)
+{
retif(item == NULL, , "invalid parameter");
noti_list_item_h *handler = _item_handler_get(item);
}
}
-HAPI int noti_list_item_get_status(Evas_Object *item) {
+HAPI int quickpanel_noti_list_item_get_status(Evas_Object *item)
+{
retif(item == NULL, STATE_NORMAL, "invalid parameter");
noti_list_item_h *handler = _item_handler_get(item);
return STATE_DELETING;
}
-HAPI void noti_list_item_node_set(Evas_Object *item, noti_node_item *noti_node) {
+HAPI void quickpanel_noti_list_item_node_set(Evas_Object *item, noti_node_item *noti_node)
+{
int priv_id = 0;
retif(item == NULL, , "invalid parameter");
retif(noti_node == NULL, , "invalid parameter");
handler->noti_node = noti_node;
notification_get_id(handler->noti_node->noti, NULL, &priv_id);
handler->priv_id = priv_id;
- noti_list_item_update(item);
+ quickpanel_noti_list_item_update(item);
}
}
-HAPI void *noti_list_item_node_get(Evas_Object *item) {
+HAPI void *quickpanel_noti_list_item_node_get(Evas_Object *item)
+{
retif(item == NULL, NULL, "invalid parameter");
noti_node_item *noti_node = _get_noti_node(item);
}
#ifdef QP_SCREENREADER_ENABLE
-static void _focus_selected_cb(void *data, Evas_Object *obj, void *event_info) {
+static void _focus_selected_cb(void *data, Evas_Object *obj, void *event_info)
+{
Evas_Object *item = data;
retif(item == NULL, , "invalid parameter");
}
#endif
-HAPI void noti_list_item_set_item_selected_cb(Evas_Object *item, response_cb callback) {
+HAPI void quickpanel_noti_list_item_set_item_selected_cb(Evas_Object *item, response_cb callback)
+{
retif(item == NULL, , "invalid parameter");
retif(callback == NULL, , "invalid parameter");
#ifdef QP_SCREENREADER_ENABLE
Evas_Object *ao = NULL;
- ao = quickpanel_screen_reader_object_get(item,
+ ao = quickpanel_accessibility_screen_reader_object_get(item,
SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", item);
if (ao != NULL) {
evas_object_smart_callback_add(ao, "clicked", _focus_selected_cb, item);
#endif
}
-HAPI void noti_list_item_set_item_button_1_cb(Evas_Object *item, response_cb callback) {
+HAPI void quickpanel_noti_list_item_set_item_button_1_cb(Evas_Object *item, response_cb callback)
+{
retif(item == NULL, , "invalid parameter");
retif(callback == NULL, , "invalid parameter");
}
}
-HAPI void noti_list_item_set_item_deleted_cb(Evas_Object *item, response_cb callback) {
+HAPI void quickpanel_noti_list_item_set_item_deleted_cb(Evas_Object *item, response_cb callback)
+{
retif(item == NULL, , "invalid parameter");
retif(callback == NULL, , "invalid parameter");
}
}
-noti_list_item_h *noti_list_item_handler_get(Evas_Object *item) {
+HAPI noti_list_item_h *quickpanel_noti_list_item_handler_get(Evas_Object *item)
+{
return _item_handler_get(item);
}
#ifndef __QUICKPANEL_NOTI_LIST_ITEM_H__
#define __QUICKPANEL_NOTI_LIST_ITEM_H__
-#include <notification.h>
-#include "noti_node.h"
-#include "vi_manager.h"
-
#define STATE_NORMAL 1
#define STATE_DELETING 0
qp_notilistitem_state_type state;
} noti_list_item_h;
-Evas_Object *noti_list_item_create(Evas_Object *parent, notification_h noti);
-void noti_list_item_update(Evas_Object *item);
-void noti_list_item_remove(Evas_Object *item);
+extern Evas_Object *quickpanel_noti_list_item_create(Evas_Object *parent, notification_h noti);
+extern void quickpanel_noti_list_item_update(Evas_Object *item);
+extern void quickpanel_noti_list_item_remove(Evas_Object *item);
-void noti_list_item_node_set(Evas_Object *item, noti_node_item *noti_node);
-void *noti_list_item_node_get(Evas_Object *item);
-int noti_list_item_get_status(Evas_Object *item);
-void noti_list_item_set_status(Evas_Object *item, int status);
+extern void quickpanel_noti_list_item_node_set(Evas_Object *item, noti_node_item *noti_node);
+extern void *quickpanel_noti_list_item_node_get(Evas_Object *item);
+extern int quickpanel_noti_list_item_get_status(Evas_Object *item);
+extern void quickpanel_noti_list_item_set_status(Evas_Object *item, int status);
-void noti_list_item_set_item_selected_cb(Evas_Object *item, response_cb selected_cb);
-void noti_list_item_set_item_button_1_cb(Evas_Object *item, response_cb callback);
-void noti_list_item_set_item_deleted_cb(Evas_Object *item, response_cb callback);
+extern void quickpanel_noti_list_item_set_item_selected_cb(Evas_Object *item, response_cb selected_cb);
+extern void quickpanel_noti_list_item_set_item_button_1_cb(Evas_Object *item, response_cb callback);
+extern void quickpanel_noti_list_item_set_item_deleted_cb(Evas_Object *item, response_cb callback);
-noti_list_item_h *noti_list_item_handler_get(Evas_Object *item);
+extern noti_list_item_h *quickpanel_noti_list_item_handler_get(Evas_Object *item);
#endif
*
*/
+#include <Elementary.h>
+#include <glib.h>
-#include <Ecore_X.h>
+#include <vconf.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include <notification.h>
+#include <system_settings.h>
#include "quickpanel-ui.h"
#include "common.h"
+#include "common_uic.h"
#include "list_util.h"
#include "quickpanel_def.h"
#include "noti_listbox.h"
-#include "noti_list_item.h"
#include "vi_manager.h"
+#include "noti_node.h"
+#include "noti_list_item.h"
#include "noti.h"
#define E_DATA_LAYOUT_PORTRAIT "layout_portrait"
static Eina_Bool _anim_job_cb(void *data);
static Eina_Bool _anim_done_cb(void *data);
-static void _listbox_flag_set(Evas_Object *container, const char *key, int value) {
+static void _listbox_flag_set(Evas_Object *container, const char *key, int value)
+{
retif(container == NULL, , "invalid parameter");
retif(key == NULL, , "invalid parameter");
evas_object_data_set(container, key, (void *)value);
}
-static int _listbox_flag_get(Evas_Object *container, const char *key) {
+static int _listbox_flag_get(Evas_Object *container, const char *key)
+{
retif(container == NULL, 0, "invalid parameter");
retif(key == NULL, 0, "invalid parameter");
return ret;
}
-static void _listbox_layout_get_coord(Evas_Object *container, int insert_position,
- int *coord_x, int *coord_y, Evas_Object *noti_section) {
+static void _listbox_layout_get_coord(Evas_Object *container, int insert_position, int *coord_x, int *coord_y, Evas_Object *noti_section)
+{
int x, y, h;
int off_y = 0;
struct appdata *ad = quickpanel_get_app_data();
noti_node_item *node = NULL;
notification_type_e type = NOTIFICATION_TYPE_NONE;
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
- node = noti_list_item_node_get(obj);
- if (node)
- {
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
+ node = quickpanel_noti_list_item_node_get(obj);
+ if (node) {
notification_h noti = node->noti;
- if (noti)
- {
+ if (noti) {
notification_get_type(noti, &type);
- if (type == NOTIFICATION_TYPE_NOTI)
- {
+ if (type == NOTIFICATION_TYPE_NOTI) {
break;
- }
- else
- {
+ } else {
evas_object_geometry_get(obj, NULL, NULL, NULL, &h);
off_y += h;
}
}
- }
- else
- {
+ } else {
evas_object_geometry_get(obj, NULL, NULL, NULL, &h);
off_y += h;
}
Evas_Object *obj = NULL;
Eina_List *item_list = elm_box_children_get(container);
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
if (obj != NULL) {
evas_object_geometry_get(obj, NULL, NULL, NULL, &h);
off_y += h;
}
}
-static void _listbox_layout_size_get(Evas_Object *container, int *w, int *h) {
+static void _listbox_layout_size_get(Evas_Object *container, int *w, int *h)
+{
int h_temp = 0;
int w_item = 0, h_item = 0;
Evas_Object *obj = NULL;
}
}
-HAPI Evas_Object *listbox_create(Evas_Object *parent, void *data, qp_item_type_e item_type) {
+HAPI Evas_Object *quickpanel_noti_listbox_create(Evas_Object *parent, void *data, qp_item_type_e item_type)
+{
struct appdata *ad = data;
Evas_Object *listbox = NULL;
return listbox;
}
-HAPI void listbox_remove(Evas_Object *listbox) {
+HAPI void quickpanel_noti_listbox_remove(Evas_Object *listbox)
+{
retif(listbox == NULL, , "invalid parameter");
- listbox_remove_all_item(listbox, 0);
+ quickpanel_noti_listbox_remove_all_item(listbox, 0);
evas_object_data_del(listbox, E_DATA_CB_DELETE_ITEM);
evas_object_data_del(listbox, E_DATA_APP_DATA);
quickpanel_list_util_item_del_tag(listbox);
listbox = NULL;
}
-HAPI void listbox_set_item_deleted_cb(Evas_Object *listbox,
- void(*deleted_cb)(void *data, Evas_Object *obj)) {
+HAPI void quickpanel_noti_listbox_set_item_deleted_cb(Evas_Object *listbox, void(*deleted_cb)(void *data, Evas_Object *obj))
+{
retif(listbox == NULL, , "invalid parameter");
retif(deleted_cb == NULL, , "invalid parameter");
evas_object_data_set(listbox, E_DATA_CB_DELETE_ITEM, deleted_cb);
}
-static void _listbox_call_item_deleted_cb(Evas_Object *listbox, void *data,
- Evas_Object *obj) {
+static void _listbox_call_item_deleted_cb(Evas_Object *listbox, void *data, Evas_Object *obj)
+{
retif(listbox == NULL, , "invalid parameter");
void (*deleted_cb)(void *data, Evas_Object *obj) = NULL;
}
}
-HAPI void listbox_add_item(Evas_Object *listbox, Evas_Object *item, int insert_pos, Evas_Object *noti_section) {
+HAPI void quickpanel_noti_listbox_add_item(Evas_Object *listbox, Evas_Object *item, int insert_pos, Evas_Object *noti_section)
+{
QP_VI *vi = NULL;
const char *signal = NULL;
retif(listbox == NULL, , "invalid parameter");
quickpanel_vi_start(vi);
}
-HAPI void listbox_remove_item(Evas_Object *listbox, Evas_Object *item, int with_animation) {
+HAPI void quickpanel_noti_listbox_remove_item(Evas_Object *listbox, Evas_Object *item, int with_animation)
+{
QP_VI *vi = NULL;
retif(listbox == NULL, , "invalid parameter");
retif(item == NULL, , "invalid parameter");
quickpanel_vi_start(vi);
} else {
DBG("%p", item);
- void *node = noti_list_item_node_get(item);
+ void *node = quickpanel_noti_list_item_node_get(item);
elm_box_unpack(listbox, item);
- noti_list_item_remove(item);
+ quickpanel_noti_list_item_remove(item);
_listbox_call_item_deleted_cb(listbox,
node, NULL);
}
}
-static void _anim_job_delete_all(void *data) {
+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) {
+static void _anim_done_delete_all(void *data)
+{
QP_VI *vi = data;
Eina_List *l;
Eina_List *l_next;
item_list = elm_box_children_get(listbox);
retif(item_list == NULL, , "invalid parameter");
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
- if (obj != NULL)
- {
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
+ if (obj != NULL) {
DBG("try to remove:%p", obj);
- listbox_remove_item(listbox, obj, EINA_TRUE);
+ quickpanel_noti_listbox_remove_item(listbox, obj, EINA_TRUE);
}
}
}
}
-HAPI void listbox_remove_all_item(Evas_Object *listbox, int with_animation) {
+HAPI void quickpanel_noti_listbox_remove_all_item(Evas_Object *listbox, int with_animation)
+{
QP_VI *vi = NULL;
retif(listbox == NULL, , "invalid parameter");
quickpanel_vi_start(vi);
}
-HAPI void listbox_update(Evas_Object *listbox) {
+HAPI void quickpanel_noti_listbox_update(Evas_Object *listbox)
+{
retif(listbox == NULL, , "invalid parameter");
Evas_Object *obj;
EINA_LIST_FREE(item_list, obj)
{
- noti_list_item_update(obj);
+ quickpanel_noti_list_item_update(obj);
}
}
-HAPI void listbox_items_visibility_set(Evas_Object *listbox, int is_visible) {
+HAPI void quickpanel_noti_listbox_items_visibility_set(Evas_Object *listbox, int is_visible)
+{
retif(listbox == NULL, , "invalid parameter");
_listbox_flag_set(listbox, E_DATA_IS_HIDED, is_visible);
}
-HAPI void listbox_update_item(Evas_Object *listbox, Evas_Object *item) {
+HAPI void quickpanel_noti_listbox_update_item(Evas_Object *listbox, Evas_Object *item)
+{
retif(listbox == NULL, , "invalid parameter");
retif(item == NULL, , "invalid parameter");
if (_listbox_layout_item_valid(listbox, item)) {
- noti_list_item_update(item);
+ quickpanel_noti_list_item_update(item);
}
}
-HAPI void listbox_rotation(Evas_Object *listbox, int angle) {
+HAPI void quickpanel_noti_listbox_rotation(Evas_Object *listbox, int angle)
+{
int h = 0;
Evas_Object *obj = NULL;
struct appdata *ad = quickpanel_get_app_data();
DBG("listbox has been rotated to %d", angle);
}
-HAPI int listbox_get_item_count(Evas_Object *listbox) {
+HAPI int quickpanel_noti_listbox_get_item_count(Evas_Object *listbox)
+{
int item_count = 0;
Eina_List *items = NULL;
retif(listbox == NULL, 0, "invalid parameter");
}
}
-static void _anim_init_insert(void *data) {
+static void _anim_init_insert(void *data)
+{
QP_VI *vi = data;
retif(vi == NULL, , "invalid parameter");
evas_object_color_set(item, 0, 0, 0, 0);
}
-static void _anim_job_insert(void *data) {
+static void _anim_job_insert(void *data)
+{
QP_VI *vi = data;
Eina_List *l;
evas_object_size_hint_min_get (item, &item_width, &item_height);
}
- transit_layout_parent = quickpanel_list_get_reorder_transit(container, NULL, item_height);
+ transit_layout_parent = quickpanel_list_util_get_reorder_transit(container, NULL, item_height);
if (insert_position) {
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
if (obj == (Evas_Object *)vi->extra_data_2) {
flag = 1;
}
}
}
else if (insert_position == 0) {
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
- node = noti_list_item_node_get(obj);
- if (node)
- {
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
+ node = quickpanel_noti_list_item_node_get(obj);
+ if (node) {
notification_h noti = node->noti;
- if (noti)
- {
+ if (noti) {
notification_get_type(noti, &type);
- if (type == NOTIFICATION_TYPE_NOTI)
- {
+ if (type == NOTIFICATION_TYPE_NOTI) {
flag = 1;
}
}
}
}
-static void _anim_done_insert(void *data) {
+static void _anim_done_insert(void *data)
+{
QP_VI *vi = data;
int inset_position = 0;
evas_object_color_set(item, 255, 255, 255, 255);
- if (inset_position == LISTBOX_PREPEND)
- {
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
+ if (inset_position == LISTBOX_PREPEND) {
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
if (obj == (Evas_Object *)vi->extra_data_2) {
elm_box_pack_after(container, item, obj);
break;
}
}
- }
- else if(inset_position == LISTBOX_APPEND)
- {
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
- node = noti_list_item_node_get(obj);
- if (node)
- {
+ } else if (inset_position == LISTBOX_APPEND) {
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
+ node = quickpanel_noti_list_item_node_get(obj);
+ if (node) {
notification_h noti = node->noti;
- if (noti)
- {
+ if (noti) {
notification_get_type(noti, &type);
- if (type == NOTIFICATION_TYPE_NOTI)
- {
+ if (type == NOTIFICATION_TYPE_NOTI) {
//node_first_noti = node;
elm_box_pack_before(container, item, obj);
flag = 1;
}
}
}
- if (flag == 0)
- {
+ if (flag == 0) {
elm_box_pack_end(container, item);
}
- }
- else
- {
+ } else {
int ongoing_count = quickpanel_noti_get_type_count(NOTIFICATION_TYPE_ONGOING);
DBG("NOTI INSERT AT: %d", ongoing_count);
- if(ongoing_count == 0)
- {
+ if (ongoing_count == 0) {
DBG("NOTI INSERT START");
elm_box_pack_start(container, item);
- }
- else
- {
+ } else {
Eina_List *items = elm_box_children_get(container);
- if(!items)
- {
+ if (!items) {
ERR("Failed to recieve container items, adding new notification to end of the list");
elm_box_pack_end(container, item);
return;
}
Evas_Object *before = eina_list_nth (items, ongoing_count - 1);
- if(!before)
- {
+ if (!before) {
ERR("Failed to recieve preceding item, adding new notification to end of the list");
elm_box_pack_end(container, item);
return;
}
}
-static void _anim_job_delete(void *data) {
+static void _anim_job_delete(void *data)
+{
QP_VI *vi = data;
Eina_List *l;
Eina_List *l_next;
ERR("failed to create a transit");
}
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
+ 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) {
eina_list_free(item_list);
}
- transit_layout_parent = quickpanel_list_get_reorder_transit(container,
+ transit_layout_parent = quickpanel_list_util_get_reorder_transit(container,
transit_fadeout, -item_height);
if (transit_layout_parent != NULL) {
elm_transit_del_cb_set(transit_layout_parent, quickpanel_vi_done_cb_for_transit,
- vi);
+ vi);
} else if (transit_layout != NULL) {
elm_transit_del_cb_set(transit_layout, quickpanel_vi_done_cb_for_transit,
- vi);
+ vi);
} else if (transit_fadeout != NULL) {
elm_transit_del_cb_set(transit_fadeout, quickpanel_vi_done_cb_for_transit,
- vi);
+ vi);
} else {
ERR("Failed to create all the transit");
quickpanel_vi_done(vi);
}
}
-static void _anim_done_delete(void *data) {
+static void _anim_done_delete(void *data)
+{
int w = 0, h = 0;
QP_VI *vi = data;
Evas_Object *item = vi->target;
elm_box_unpack(container, item);
- noti_list_item_remove(item);
+ quickpanel_noti_list_item_remove(item);
_listbox_call_item_deleted_cb(container,
- noti_list_item_node_get(item), NULL);
+ quickpanel_noti_list_item_node_get(item), NULL);
if (_listbox_flag_get(container, E_DATA_IS_HIDED) == 1) {
_listbox_layout_size_get(container, &w, &h);
-
evas_object_resize(container, w, h);
}
}
-static Eina_Bool _anim_init_cb(void *data) {
+static Eina_Bool _anim_init_cb(void *data)
+{
QP_VI *vi = data;
retif(vi == NULL, EINA_FALSE, "invalid parameter");
int i = 0;
for (i = 0; anim_init_table[i].op_type != VI_OP_NONE; i++) {
- if (anim_init_table[i].op_type != vi->op_type)
+ 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) {
+static Eina_Bool _anim_job_cb(void *data)
+{
QP_VI *vi = data;
retif(vi == NULL, EINA_FALSE, "invalid parameter");
int i = 0;
for (i = 0; anim_job_table[i].op_type != VI_OP_NONE; i++) {
- if (anim_job_table[i].op_type != vi->op_type)
+ 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) {
+static Eina_Bool _anim_done_cb(void *data)
+{
QP_VI *vi = data;
retif(vi == NULL, EINA_FALSE, "invalid parameter");
int i = 0;
for (i = 0; anim_done_table[i].op_type != VI_OP_NONE; i++) {
- if (anim_done_table[i].op_type != vi->op_type)
+ if (anim_done_table[i].op_type != vi->op_type) {
continue;
+ }
anim_done_table[i].handler(vi);
break;
return EINA_TRUE;
}
-HAPI int listbox_get_geometry(Evas_Object *listbox,
- int *limit_h, int *limit_partial_h, int *limit_partial_w) {
+HAPI int quickpanel_noti_listbox_get_geometry(Evas_Object *listbox, int *limit_h, int *limit_partial_h, int *limit_partial_w)
+{
int x = 0, y = 0, w = 0, h = 0;
static void _notibox_deleted_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
- quickpanel_close_quickpanel(EINA_FALSE, EINA_FALSE);
+ quickpanel_uic_close_quickpanel(EINA_FALSE, EINA_FALSE);
}
-HAPI void listbox_closing_trigger_set(Evas_Object *listbox) {
+HAPI void quickpanel_noti_listbox_closing_trigger_set(Evas_Object *listbox)
+{
Evas_Object *item = NULL;
Eina_List *items = NULL;
retif(listbox == NULL, , "invalid parameter");
#ifndef __QUICKPANEL_NOTI_LISTBOX_H__
#define __QUICKPANEL_NOTI_LISTBOX_H__
-#include "list_util.h"
-
#define LISTBOX_INSERT_AFTER -1
#define LISTBOX_PREPEND 1
#define LISTBOX_APPEND 0
-Evas_Object *listbox_create(Evas_Object *parent, void *data, qp_item_type_e item_type);
-void listbox_remove(Evas_Object *listbox);
-void listbox_add_item(Evas_Object *listbox, Evas_Object *item, int is_prepend, Evas_Object *noti_section);
-void listbox_remove_item(Evas_Object *listbox, Evas_Object *item, int with_animation);
-void listbox_rotation(Evas_Object *listbox, int angle);
-void listbox_remove_all_item(Evas_Object *listbox, int with_animation);
-void listbox_set_item_deleted_cb(Evas_Object *listbox,
- void(*deleted_cb)(void *data, Evas_Object *obj));
-void listbox_update(Evas_Object *listbox);
-void listbox_update_item(Evas_Object *listbox, Evas_Object *item);
-int listbox_get_item_count(Evas_Object *listbox);
-void listbox_items_visibility_set(Evas_Object *listbox, int is_visible);
-int listbox_get_geometry(Evas_Object *listbox,
- int *limit_h, int *limit_partial_h, int *limit_partial_w);
-void listbox_closing_trigger_set(Evas_Object *listbox);
+extern Evas_Object *quickpanel_noti_listbox_create(Evas_Object *parent, void *data, qp_item_type_e item_type);
+extern void quickpanel_noti_listbox_remove(Evas_Object *listbox);
+extern void quickpanel_noti_listbox_add_item(Evas_Object *listbox, Evas_Object *item, int is_prepend, Evas_Object *noti_section);
+extern void quickpanel_noti_listbox_remove_item(Evas_Object *listbox, Evas_Object *item, int with_animation);
+extern void quickpanel_noti_listbox_rotation(Evas_Object *listbox, int angle);
+extern void quickpanel_noti_listbox_remove_all_item(Evas_Object *listbox, int with_animation);
+extern void quickpanel_noti_listbox_set_item_deleted_cb(Evas_Object *listbox, void(*deleted_cb)(void *data, Evas_Object *obj));
+extern void quickpanel_noti_listbox_update(Evas_Object *listbox);
+extern void quickpanel_noti_listbox_update_item(Evas_Object *listbox, Evas_Object *item);
+extern int quickpanel_noti_listbox_get_item_count(Evas_Object *listbox);
+extern void quickpanel_noti_listbox_items_visibility_set(Evas_Object *listbox, int is_visible);
+extern int quickpanel_noti_listbox_get_geometry(Evas_Object *listbox, int *limit_h, int *limit_partial_h, int *limit_partial_w);
+extern void quickpanel_noti_listbox_closing_trigger_set(Evas_Object *listbox);
#endif
*
*/
+#include <Elementary.h>
+#include <glib.h>
+
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include <notification.h>
+#include <notification_internal.h>
#include "quickpanel-ui.h"
#include "common.h"
static void _noti_node_free(noti_node_item *node);
-HAPI void noti_node_create(noti_node **handle)
+HAPI void quickpanel_noti_node_create(noti_node **handle)
{
retif(handle == NULL, , "Invalid parameter!");
*handle = (noti_node *)malloc(sizeof(noti_node));
if (*handle != NULL) {
- (*handle)->table = g_hash_table_new_full(g_direct_hash, g_direct_equal,
- NULL,
- (GDestroyNotify)_noti_node_free);
-
+ (*handle)->table = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, (GDestroyNotify)_noti_node_free);
(*handle)->n_ongoing = 0;
(*handle)->n_noti = 0;
} else {
}
}
-HAPI void noti_node_destroy(noti_node **handle)
+HAPI void quickpanel_noti_node_destroy(noti_node **handle)
{
retif(handle == NULL, , "Invalid parameter!");
retif(*handle == NULL, , "Invalid parameter!");
*handle = NULL;
}
-HAPI noti_node_item *noti_node_add(noti_node *handle, notification_h noti, void *view)
+HAPI noti_node_item *quickpanel_noti_node_add(noti_node *handle, notification_h noti, void *view)
{
int priv_id = 0;
notification_type_e noti_type = NOTIFICATION_TYPE_NONE;
notification_get_type(noti, ¬i_type);
- if (noti_type == NOTIFICATION_TYPE_NOTI)
+ if (noti_type == NOTIFICATION_TYPE_NOTI) {
handle->n_noti++;
- else if (noti_type == NOTIFICATION_TYPE_ONGOING)
+ } else if (noti_type == NOTIFICATION_TYPE_ONGOING) {
handle->n_ongoing++;
+ }
DBG("n_noti = [%d] n_ongoing = [%d]", handle->n_noti, handle->n_ongoing);
return node;
return NULL;
}
-HAPI void noti_node_remove(noti_node *handle, int priv_id)
+HAPI void quickpanel_noti_node_remove(noti_node *handle, int priv_id)
{
notification_type_e noti_type = NOTIFICATION_TYPE_NONE;
retif(handle == NULL, , "Invalid parameter!");
retif(handle->table == NULL, , "Invalid parameter!");
- noti_node_item *item = noti_node_get(handle, priv_id);
+ noti_node_item *item = quickpanel_noti_node_get(handle, priv_id);
if (item != NULL) {
if (item->noti != NULL) {
notification_get_type(item->noti, ¬i_type);
- if (noti_type == NOTIFICATION_TYPE_NOTI)
+ if (noti_type == NOTIFICATION_TYPE_NOTI) {
handle->n_noti--;
- else if (noti_type == NOTIFICATION_TYPE_ONGOING)
+ } else if (noti_type == NOTIFICATION_TYPE_ONGOING) {
handle->n_ongoing--;
+ }
}
notification_free(item->noti);
item->noti = NULL;
item->view = NULL;
- if (g_hash_table_remove(handle->table, GINT_TO_POINTER(priv_id)))
- {
+ if (g_hash_table_remove(handle->table, GINT_TO_POINTER(priv_id))) {
DBG("success to remove %d", priv_id);
}
}
}
-HAPI void noti_node_remove_all(noti_node *handle)
+HAPI void quickpanel_noti_node_remove_all(noti_node *handle)
{
retif(handle == NULL, , "Invalid parameter!");
retif(handle->table == NULL, , "Invalid parameter!");
DBG("all the nodes are removed");
}
-HAPI noti_node_item *noti_node_get(noti_node *handle, int priv_id)
+HAPI noti_node_item *quickpanel_noti_node_get(noti_node *handle, int priv_id)
{
retif(handle == NULL, NULL, "Invalid parameter!");
retif(handle->table == NULL, NULL, "Invalid parameter!");
- return (noti_node_item *)g_hash_table_lookup
- (handle->table, GINT_TO_POINTER(priv_id));
+ return (noti_node_item *)g_hash_table_lookup(handle->table, GINT_TO_POINTER(priv_id));
}
-HAPI int noti_node_get_item_count(noti_node *handle, notification_type_e noti_type)
+HAPI int quickpanel_noti_node_get_item_count(noti_node *handle, notification_type_e noti_type)
{
retif(handle == NULL, 0, "Invalid parameter!");
DBG("n_noti %d , n_ongoing %d ", handle->n_noti, handle->n_ongoing);
- if (noti_type == NOTIFICATION_TYPE_NOTI)
+ if (noti_type == NOTIFICATION_TYPE_NOTI) {
return handle->n_noti;
- else if (noti_type == NOTIFICATION_TYPE_ONGOING)
+ } else if (noti_type == NOTIFICATION_TYPE_ONGOING) {
return handle->n_ongoing;
- else if (noti_type == NOTIFICATION_TYPE_NONE)
+ } else if (noti_type == NOTIFICATION_TYPE_NONE) {
return handle->n_noti + handle->n_ongoing;
+ }
return 0;
}
#ifndef __QUICKPANEL_NOTI_NODE_H__
#define __QUICKPANEL_NOTI_NODE_H__
-#include <glib.h>
-#include <notification.h>
-#include <notification_internal.h>
-
typedef struct _noti_node {
GHashTable *table;
int n_ongoing;
void *view;
} noti_node_item;
-void noti_node_create(noti_node **handle);
-void noti_node_destroy(noti_node **handle);
-noti_node_item *noti_node_add(noti_node *handle, notification_h noti, void *view);
-void noti_node_remove(noti_node *handle, int priv_id);
-void noti_node_remove_all(noti_node *handle);
-noti_node_item *noti_node_get(noti_node *handle, int priv_id);
-int noti_node_get_item_count(noti_node *handle, notification_type_e noti_type);
+extern void quickpanel_quickpanel_noti_node_create(noti_node **handle);
+extern void quickpanel_noti_node_destroy(noti_node **handle);
+extern noti_node_item *quickpanel_noti_node_add(noti_node *handle, notification_h noti, void *view);
+extern void quickpanel_noti_node_remove(noti_node *handle, int priv_id);
+extern void quickpanel_noti_node_remove_all(noti_node *handle);
+extern noti_node_item *quickpanel_noti_node_get(noti_node *handle, int priv_id);
+extern int quickpanel_noti_node_get_item_count(noti_node *handle, notification_type_e noti_type);
+extern void quickpanel_noti_node_create(noti_node **handle);
#endif
*/
+#include <Elementary.h>
+#include <glib.h>
+
+#include <vconf.h>
#include <notification.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include <system_settings.h>
+
#include "quickpanel-ui.h"
#include "quickpanel_def.h"
+#include "common_uic.h"
#include "common.h"
+#include "noti_node.h"
#include "noti.h"
-#include "noti_section.h"
#include "list_util.h"
+#include "noti_section.h"
+
#ifdef QP_SCREENREADER_ENABLE
#include "accessibility.h"
#endif
- #define NOTI_CLEAR_ALL_SECTION "quickpanel/notisection/clear_all"
- #define NOTI_DEFAULT_SECTION "quickpanel/notisection/default"
+#define NOTI_CLEAR_ALL_SECTION "quickpanel/notisection/clear_all"
+#define NOTI_DEFAULT_SECTION "quickpanel/notisection/default"
static void _noti_section_set_text(Evas_Object *noti_section, int count)
{
-#ifdef QP_SCREENREADER_ENABLE
- Evas_Object *ao = NULL;
-#endif
-
- DBG("count is : %d ", count);
+ char text[128] = { 0, };
+ char *format;
+ const char *old_text;
- char text[128] = {0,};
- char *format = NULL;
- const char *old_text = NULL;
-
- retif(noti_section == NULL, , "invalid parameter");
+ if (!noti_section) {
+ ERR("Invalid parameter");
+ return;
+ }
+ DBG("count is : %d ", count);
format = _("IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB");
- snprintf(text, sizeof(text), format, count);
+ snprintf(text, sizeof(text) - 1, format, count);
old_text = elm_object_part_text_get(noti_section, "elm.text.notifications_number");
if (old_text != NULL) {
if (strcmp(old_text, text) == 0) {
- return ;
+ return;
}
}
#ifdef QP_SCREENREADER_ENABLE
- ao = quickpanel_screen_reader_object_get(noti_section,
- SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus.label", noti_section);
+ Evas_Object *ao;
+ ao = quickpanel_accessibility_screen_reader_object_get(noti_section, SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus.label", noti_section);
if (ao != NULL) {
elm_access_info_set(ao, ELM_ACCESS_TYPE, "");
elm_access_info_set(ao, ELM_ACCESS_INFO, text);
#endif
DBG("Trying to set text :%s ", text);
-
elm_object_part_text_set(noti_section, "elm.text.notifications_number", text);
elm_object_part_text_set(noti_section, "text.button.clear_all", _("IDS_QP_HEADER_CLEAR_ALL_ABB"));
}
-HAPI Evas_Object *noti_section_create(Evas_Object *parent, qp_item_type_e type) {
- Eina_Bool ret = EINA_FALSE;
- Evas_Object *section = NULL;
-
- struct appdata *ad = quickpanel_get_app_data();
- retif(ad == NULL, NULL, "invalid parameter");
- retif(parent == NULL, NULL, "invalid parameter");
+HAPI Evas_Object *quickpanel_noti_section_create(Evas_Object *parent, qp_item_type_e type)
+{
+ Evas_Object *section;
+ Evas_Object *focus;
+ struct appdata *ad;
+ qp_item_data *qid;
+ Eina_Bool ret;
+
+ ad = quickpanel_get_app_data();
+ if (!ad || !parent) {
+ ERR("Invalid parameter");
+ return NULL;
+ }
section = elm_layout_add(parent);
- if (type == QP_ITEM_TYPE_ONGOING_NOTI_GROUP) {
- ret = elm_layout_file_set(section, DEFAULT_EDJ,
- NOTI_CLEAR_ALL_SECTION);
- } else { //in higgs there is only one type of notifications
- ret = elm_layout_file_set(section, DEFAULT_EDJ,
- NOTI_CLEAR_ALL_SECTION);
+ ret = elm_layout_file_set(section, DEFAULT_EDJ, NOTI_CLEAR_ALL_SECTION);
+ if (ret == EINA_FALSE) {
+ ERR("Failed to set a file");
+ evas_object_del(section);
+ return NULL;
}
- retif(ret == EINA_FALSE, NULL, "failed to load layout");
evas_object_size_hint_weight_set(section, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(section, EVAS_HINT_FILL, EVAS_HINT_FILL);
- quickpanel_initial_resize(section, QP_THEME_LIST_ITEM_NOTI_SECTION_HEIGHT);
+ quickpanel_uic_initial_resize(section, QP_THEME_LIST_ITEM_NOTI_SECTION_HEIGHT);
evas_object_show(section);
- qp_item_data *qid
- = quickpanel_list_util_item_new(type, NULL);
+ qid = quickpanel_list_util_item_new(type, NULL);
+ if (!qid) {
+ ERR("Unable to create a qid");
+ evas_object_del(section);
+ return NULL;
+ }
quickpanel_list_util_item_set_tag(section, qid);
quickpanel_list_util_sort_insert(ad->list, section);
- Evas_Object *focus = quickpanel_ui_get_focus_object(section);
+ focus = quickpanel_accessibility_ui_get_focus_object(section);
+ if (!focus) {
+ ERR("Unable to get the focus object");
+ quickpanel_list_util_item_del(qid);
+ evas_object_del(section);
+ return NULL;
+ }
elm_object_part_content_set(section, "focus", focus);
- evas_object_smart_callback_add(focus, "clicked", on_clear_all_clicked, NULL);
-
- focus = quickpanel_ui_get_focus_object(section);
- elm_object_part_content_set(section, "focus.label", focus);
+ evas_object_smart_callback_add(focus, "clicked", quickpanel_noti_on_clear_all_clicked, NULL);
return section;
}
}
}
-HAPI void noti_section_update(Evas_Object *noti_section, int noti_count) {
+HAPI void quickpanel_noti_section_update(Evas_Object *noti_section, int noti_count)
+{
retif(noti_section == NULL, , "invalid parameter");
_noti_section_set_text(noti_section, noti_count);
quickpanel_noti_set_clear_all_status();
}
-HAPI void noti_section_set_deleted_cb(Evas_Object *noti_section,
- Evas_Object_Event_Cb func, void *data) {
+HAPI void quickpanel_noti_section_set_deleted_cb(Evas_Object *noti_section,
+ Evas_Object_Event_Cb func, void *data)
+{
retif(noti_section == NULL, , "invalid parameter");
retif(func == NULL, , "invalid parameter");
evas_object_event_callback_add(noti_section, EVAS_CALLBACK_DEL, func, data);
}
-HAPI void noti_section_remove(Evas_Object *noti_section) {
+HAPI void quickpanel_noti_section_remove(Evas_Object *noti_section)
+{
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, , "invalid parameter");
retif(noti_section == NULL, , "invalid parameter");
#ifndef __QUICKPANEL_NOTI_SECTION_H__
#define __QUICKPANEL_NOTI_SECTION_H__
-#include "list_util.h"
+extern Evas_Object *quickpanel_noti_section_create(Evas_Object *parent, qp_item_type_e type);
+extern void quickpanel_noti_section_update(Evas_Object *noti_section, int noti_count);
+extern void quickpanel_noti_section_remove(Evas_Object *noti_section) ;
+extern void quickpanel_noti_section_set_deleted_cb(Evas_Object *noti_section, Evas_Object_Event_Cb func, void *data);
-Evas_Object *noti_section_create(Evas_Object *parent, qp_item_type_e type);
-void noti_section_update(Evas_Object *noti_section, int noti_count);
-void noti_section_remove(Evas_Object *noti_section) ;
-void noti_section_set_deleted_cb(Evas_Object *noti_section,
- Evas_Object_Event_Cb func, void *data);
-
-#endif
\ No newline at end of file
+#endif
-/*
- * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+/* * 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.
*
*/
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include <Elementary.h>
+#include <E_DBus.h>
#include <unicode/uloc.h>
#include <unicode/udat.h>
#include <unicode/udatpg.h>
#include <unicode/ustring.h>
+
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
#include <runtime_info.h>
#include <vconf.h>
+#include <system_settings.h>
+#include <notification_list.h>
#include "quickpanel-ui.h"
#include "common.h"
#define QP_NOTI_DAY_DEC (24 * 60 * 60)
#define QP_NOTI_TIME_LEN_LIMIT 12
-HAPI int quickpanel_noti_get_event_count_from_noti(notification_h noti) {
+HAPI int quickpanel_noti_util_get_event_count_from_noti(notification_h noti)
+{
char *text_count = NULL;
retif(noti == NULL, 0, "Invalid parameter!");
return 1;
}
-HAPI int quickpanel_noti_get_event_count_by_pkgname(const char *pkgname) {
+HAPI int quickpanel_noti_util_get_event_count_by_pkgname(const char *pkgname)
+{
int count = 0;
notification_h noti = NULL;
notification_list_h noti_list = NULL;
if (noti_list != NULL) {
noti = notification_list_get_data(noti_list);
if (noti != NULL) {
- count = quickpanel_noti_get_event_count_from_noti(noti);
+ count = quickpanel_noti_util_get_event_count_from_noti(noti);
}
notification_free_list(noti_list);
return count;
static char* _get_locale(void)
{
char locale_tmp[32] = { 0, };
- char *locale = vconf_get_str(VCONFKEY_REGIONFORMAT);
- if (locale == NULL)
- {
+ char *locale = NULL;
+ int ret = 0;
+
+ ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &locale);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "ailed to set key(%s) : %d", SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, ret);
+
+
+ if (locale == NULL) {
ERR("vconf_get_str() failed : region format");
return strdup("en_US");
}
strncpy(locale_tmp, locale, sizeof(locale_tmp) - 1);
// remove .UTF-8
- if (strlen(locale_tmp) > 0)
- {
+ if (strlen(locale_tmp) > 0) {
char *p = strstr(locale_tmp, ".UTF-8");
- if (p)
- {
+ if (p) {
*p = 0;
}
}
free(locale);
- if (strlen(locale_tmp) > 0)
- {
+ if (strlen(locale_tmp) > 0) {
return strdup(locale_tmp);
}
{
char *szTimezone = NULL;
szTimezone = vconf_get_str(VCONFKEY_SETAPPL_TIMEZONE_ID);
- if(szTimezone == NULL)
- {
+ if (szTimezone == NULL) {
ERR("Cannot get time zone.");
return strdup("N/A");
}
return szTimezone;
}
-char* _get_timezone(void)
+static char* _get_timezone(void)
{
char buf[1024] = {0,};
ssize_t len = readlink("/opt/etc/localtime", buf, sizeof(buf)-1);
- if (len != -1)
- {
+ if (len != -1) {
buf[len] = '\0';
- }
- else
- {
+ } else {
ERR("failed to get a timezone information");
return _get_timezone_from_vconf();
}
return strdup(buf + 20);
}
-HAPI char *quickpanel_noti_get_time(time_t t, char *buf, int buf_len)
+HAPI char *quickpanel_noti_util_get_time(time_t t, char *buf, int buf_len)
{
int ret = 0;
UErrorCode status = U_ZERO_ERROR;
skeletonLength = strlen(UDAT_ABBR_MONTH_DAY);
is_show_time = 0;
} else {
- ret = runtime_info_get_value_bool(
- RUNTIME_INFO_KEY_24HOUR_CLOCK_FORMAT_ENABLED, &is_24hour_enabled);
- if (ret == RUNTIME_INFO_ERROR_NONE && is_24hour_enabled == TRUE) {
+ ret = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, &is_24hour_enabled);
+
+ if (ret == SYSTEM_SETTINGS_ERROR_NONE && is_24hour_enabled == true) {
/* ascii to unicode for input skeleton */
u_uastrcpy(skeleton, "HHmm");
skeletonLength = strlen("HHmm");
/* get best pattern using skeleton */
patternLength =
udatpg_getBestPattern(generator, skeleton, skeletonLength,
- pattern, patternCapacity, &status);
+ pattern, patternCapacity, &status);
/* open datetime formatter using best pattern */
formatter =
udat_open(UDAT_IGNORE, UDAT_IGNORE, locale, NULL, -1,
- pattern, patternLength, &status);
+ pattern, patternLength, &status);
if (formatter == NULL) {
ret = 0;
goto err;
} else {
strftime(bf1, sizeof(bf1), "%l:%M", &loc_time);
- if (loc_time.tm_hour >= 0 && loc_time.tm_hour < 12)
+ if (loc_time.tm_hour >= 0 && loc_time.tm_hour < 12) {
ret = snprintf(buf, buf_len, "%s%s", bf1, "AM");
- else
+ } else {
ret = snprintf(buf, buf_len, "%s%s", bf1, "PM");
+ }
}
}
- err:
- if (timezone) {
- free(timezone);
- timezone = NULL;
- }
+err:
+ if (timezone) {
+ free(timezone);
+ timezone = NULL;
+ }
- if (locale) {
- free(locale);
- locale = NULL;
- }
+ if (locale) {
+ free(locale);
+ locale = NULL;
+ }
- if (generator) {
- udatpg_close(generator);
- generator = NULL;
- }
+ if (generator) {
+ udatpg_close(generator);
+ generator = NULL;
+ }
- if (formatter) {
- udat_close(formatter);
- formatter = NULL;
- }
+ if (formatter) {
+ udat_close(formatter);
+ formatter = NULL;
+ }
return ret <= 0 ? NULL : buf;
}
#ifndef _QP_NOTI_UTIL_DEF_
#define _QP_NOTI_UTIL_DEF_
-#include <notification.h>
-
-HAPI int quickpanel_noti_get_event_count_from_noti(notification_h noti);
-int quickpanel_noti_get_event_count_by_pkgname(const char *pkgname);
-char *quickpanel_noti_get_time(time_t t, char *buf, int buf_len);
+extern int quickpanel_noti_util_get_event_count_from_noti(notification_h noti);
+extern int quickpanel_noti_util_get_event_count_by_pkgname(const char *pkgname);
+extern char *quickpanel_noti_util_get_time(time_t t, char *buf, int buf_len);
#endif
*
*/
+#include <Elementary.h>
+#include <glib.h>
#include <string.h>
-#include <Ecore_X.h>
+#include <vconf.h>
#include <notification.h>
+#include <system_settings.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
#include "quickpanel-ui.h"
#include "common.h"
#include "list_util.h"
#include "quickpanel_def.h"
-#include "noti_list_item.h"
+#include "vi_manager.h"
#include "noti_node.h"
+#include "noti_list_item.h"
#include "noti.h"
#include "noti_util.h"
+#include "animated_icon.h"
+#include "noti_list_item.h"
+
#ifdef QP_SCREENREADER_ENABLE
#include "accessibility.h"
#endif
+
#ifdef QP_ANIMATED_IMAGE_ENABLE
#include "animated_image.h"
#endif
-#include "animated_icon.h"
-#include "noti_list_item.h"
#define NOTI_LAYOUT_LISTTYPE 0
#define NOTI_LAYOUT_BOXTYPE 1
};
#ifdef BOX_TYPE_SUPPORTED
-static int _is_image_exist(notification_h noti, notification_image_type_e image_type) {
+static int _is_image_exist(notification_h noti, notification_image_type_e image_type)
+{
char *image = NULL;
notification_get_image(noti, image_type, &image);
return 1;
}
-static int _is_text_exist(notification_h noti, notification_text_type_e text_type) {
+static int _is_text_exist(notification_h noti, notification_text_type_e text_type)
+{
char *text = NULL;
notification_get_text(noti, text_type, &text);
}
#endif
-static void _view_handler_set(Evas_Object *item, Noti_View_H *handler) {
+static void _view_handler_set(Evas_Object *item, Noti_View_H *handler)
+{
retif(item == NULL, , "Invalid parameter!");
retif(handler == NULL, , "Invalid parameter!");
evas_object_data_set(item, E_DATA_VIEW_HANDLER_KEY, handler);
}
-static Noti_View_H *_view_handler_cached_get(Evas_Object *item) {
+static Noti_View_H *_view_handler_cached_get(Evas_Object *item)
+{
retif(item == NULL, NULL, "Invalid parameter!");
return (Noti_View_H *)evas_object_data_get(item, E_DATA_VIEW_HANDLER_KEY);
}
-static Noti_View_H *_view_handler_get_by_contents(notification_h noti) {
+static Noti_View_H *_view_handler_get_by_contents(notification_h noti)
+{
#ifdef BOX_TYPE_SUPPORTED // Box type is not supported in Kiran
int ret = 0;
return s_info.view_handlers[NOTI_LAYOUT_LISTTYPE];
}
-static void _view_handler_del(Evas_Object *item) {
+static void _view_handler_del(Evas_Object *item)
+{
retif(item == NULL, , "Invalid parameter!");
evas_object_data_del(item, E_DATA_VIEW_HANDLER_KEY);
}
-static Evas_Object *_create(notification_h noti, Evas_Object *parent) {
+static Evas_Object *_create(notification_h noti, Evas_Object *parent)
+{
Evas_Object *view = NULL;
Noti_View_H *view_handler = NULL;
retif(parent == NULL, NULL, "Invalid parameter!");
return view;
}
-static void _update(noti_node_item *noti_node, notification_ly_type_e layout, Evas_Object *item) {
+static void _update(noti_node_item *noti_node, notification_ly_type_e layout, Evas_Object *item)
+{
Noti_View_H *view_handler = NULL;
retif(item == NULL, , "Invalid parameter!");
retif(noti_node == NULL, , "Invalid parameter!");
}
}
-static void _remove(noti_node_item *noti_node, notification_ly_type_e layout, Evas_Object *item) {
+static void _remove(noti_node_item *noti_node, notification_ly_type_e layout, Evas_Object *item)
+{
Noti_View_H *view_handler = NULL;
retif(item == NULL, , "Invalid parameter!");
retif(noti_node == NULL, , "Invalid parameter!");
}
}
-int quickpanel_noti_view_is_view_handler_changed(Evas_Object *item, notification_h noti) {
+HAPI int quickpanel_noti_view_is_view_handler_changed(Evas_Object *item, notification_h noti)
+{
Noti_View_H *view_handler_old = NULL;
Noti_View_H *view_handler_new = NULL;
Noti_View_H noti_view_h = {
.name = "noti_view",
-
.create = _create,
.update = _update,
.remove = _remove,
#ifndef _QP_NOTI_VIEW_H_
#define _QP_NOTI_VIEW_H_
-#include <notification.h>
-
-int quickpanel_noti_view_is_view_handler_changed(Evas_Object *item, notification_h noti);
+extern int quickpanel_noti_view_is_view_handler_changed(Evas_Object *item, notification_h noti);
#endif
*
*/
+#include <Elementary.h>
+#include <glib.h>
#include <string.h>
-#include <Ecore_X.h>
#include <notification.h>
+#include <notification_text_domain.h>
#include <notification_internal.h>
+#include <system_settings.h>
+#include <vconf.h>
+
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
#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
-#include "animated_icon.h"
#define IMAGE_NO_RESIZE 0
#define IMAGE_RESIZE 1
#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) {
+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;
old_ic = elm_object_part_content_get(obj, part);
- if (quickpanel_service_animated_icon_is_same_icon(old_ic, file_path) == 1) {
+ 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)
+ if (strcmp(old_ic_path, file_path) == 0) {
return old_ic;
+ }
}
elm_object_part_content_unset(obj, part);
}
#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) {
+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, };
if (notification_get_time_from_text(noti, text_type, &time) == NOTIFICATION_ERROR_NONE) {
if ((int)time > 0) {
- quickpanel_noti_get_time(time, buf, sizeof(buf));
+ quickpanel_noti_util_get_time(time, buf, sizeof(buf));
text = buf;
}
} else {
if (text != NULL) {
if (strlen(text) > 0) {
- if (quickpanel_util_is_phone_number(text)) {
- quickpanel_util_phone_number_tts_make(buf_number, text,
+ 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);
}
}
-static void _noti_box_set_rs_layout_single(Evas_Object *noti_box,
- notification_h noti) {
+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)
+ if (domain != NULL && dir != NULL) {
bindtextdomain(domain, dir);
+ }
str_buf = eina_strbuf_new();
retif(str_buf == NULL, , "invalid parameter");
if (noti_time == 0.0) {
notification_get_insert_time(noti, ¬i_time);
}
- quickpanel_noti_get_time(noti_time, buf, 512);
+ 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_SUB_2, str_buf);
if (str_buf != NULL) {
- ao = quickpanel_screen_reader_object_get(noti_box,
+ 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"));
}
}
-static void _noti_box_set_rs_layout_multi(Evas_Object *noti_box,
- notification_h noti) {
+static void _noti_box_set_rs_layout_multi(Evas_Object *noti_box, notification_h noti)
+{
DBG("");
Evas_Object *ao = NULL;
char *domain = NULL;
notification_get_text_domain(noti, &domain, &dir);
- if (domain != NULL && dir != NULL)
+ if (domain != NULL && dir != NULL) {
bindtextdomain(domain, dir);
+ }
str_buf = eina_strbuf_new();
retif(str_buf == NULL, , "invalid parameter");
if (noti_time == 0.0) {
notification_get_insert_time(noti, ¬i_time);
}
- quickpanel_noti_get_time(noti_time, buf, 512);
+ 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_SUB_2, str_buf);
if (str_buf != NULL) {
- ao = quickpanel_screen_reader_object_get(noti_box,
+ 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"));
}
}
-static void _noti_box_set_rs_layout_thumbnail(Evas_Object *noti_box,
- notification_h noti) {
+static void _noti_box_set_rs_layout_thumbnail(Evas_Object *noti_box, notification_h noti)
+{
DBG("");
Evas_Object *ao = NULL;
char *domain = NULL;
notification_get_text_domain(noti, &domain, &dir);
- if (domain != NULL && dir != NULL)
+ if (domain != NULL && dir != NULL) {
bindtextdomain(domain, dir);
+ }
str_buf = eina_strbuf_new();
retif(str_buf == NULL, , "invalid parameter");
if (noti_time == 0.0) {
notification_get_insert_time(noti, ¬i_time);
}
- quickpanel_noti_get_time(noti_time, buf, 512);
+ 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_screen_reader_object_get(noti_box,
+ 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"));
}
#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) {
-
+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,};
retif(part == NULL, NULL,"invalid parameter");
notification_get_image(noti, image_type, &image);
- if (image == NULL && image_path != NULL)
+ if (image == NULL && image_path != NULL) {
image = image_path;
+ }
if (image != NULL) {
if (is_use_buffer == IMAGE_BY_BUFFER) {
- content = quickpanel_service_animated_icon_get(noti_box, image);
+ content = quickpanel_animated_icon_get(noti_box, image);
if (content == NULL) {
content = elm_image_add(noti_box);
- memfile = quickpanel_ui_get_buffer_from_image(image, &memfile_size, ext, sizeof(ext));
+ 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) {
+ 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)
- {
+ if (memfile) {
free(memfile); // due to prevent
}
elm_image_file_set(content, image,
} else {
content = _check_duplicated_image_loading(noti_box, part, image);
if (content == NULL) {
- content = quickpanel_service_animated_icon_get(noti_box, image);
+ content = quickpanel_animated_icon_get(noti_box, image);
if (content == NULL) {
content = elm_image_add(noti_box);
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) {
+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;
text = str;
} else if (notification_get_time_from_text(noti, text_type, &time) == NOTIFICATION_ERROR_NONE) {
if ((int)time > 0) {
- quickpanel_noti_get_time(time, buf, sizeof(buf));
+ quickpanel_noti_util_get_time(time, buf, sizeof(buf));
text = buf;
}
} else {
elm_object_part_text_set(noti_box, part, text);
}
} else {
- quickpanel_util_char_replace(text, _NEWLINE, _SPACE);
+ quickpanel_common_util_char_replace(text, _NEWLINE, _SPACE);
elm_object_part_text_set(noti_box, part, text);
}
- if (is_need_effect == 1)
+ if (is_need_effect == 1) {
elm_object_signal_emit(noti_box, "object.show.effect", part);
- else
+ } 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) {
+static int _check_text_null(notification_h noti, notification_text_type_e text_type)
+{
char *text = NULL;
notification_get_text(noti, text_type, &text);
return 0;
}
-static int _check_image_null(notification_h noti,
- notification_image_type_e image_type) {
+static int _check_image_null(notification_h noti, notification_image_type_e image_type)
+{
char *image = NULL;
notification_get_image(noti, image_type, &image);
return 0;
}
-static void _noti_box_set_layout_single(Evas_Object *noti_box,
- notification_h noti) {
+static void _noti_box_set_layout_single(Evas_Object *noti_box, notification_h noti)
+{
char *dir = NULL;
char *domain = NULL;
char *pkgname = NULL;
}
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) {
+ && _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) {
+ && _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)) {
+ && _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;
}
notification_get_pkgname(noti, &pkgname);
notification_get_text_domain(noti, &domain, &dir);
- if (domain != NULL && dir != NULL)
+ 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_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);
}
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);
+ "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) {
if (noti_time == 0.0) {
notification_get_insert_time(noti, ¬i_time);
}
- quickpanel_noti_get_time(noti_time, buf, 512);
+ 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);
&& _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 1
&& _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) {
- icon_path = quickpanel_ui_get_pkginfo_icon(pkgname);
+ icon_path = quickpanel_common_ui_get_pkginfo_icon(pkgname);
if (icon_path != NULL) {
_set_image(noti_box, NULL,
icon_path, NOTIFICATION_IMAGE_TYPE_ICON,
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)) {
+ || _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");
}
}
#endif
}
-static void _noti_box_set_layout_multi(Evas_Object *noti_box,
- notification_h noti) {
+static void _noti_box_set_layout_multi(Evas_Object *noti_box, notification_h noti)
+{
char *pkgname = NULL;
char *icon_path = NULL;
char *dir = NULL;
}
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) {
+ && _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) {
+ && _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)) {
+ && _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;
}
notification_get_pkgname(noti, &pkgname);
notification_get_text_domain(noti, &domain, &dir);
- if (domain != NULL && dir != NULL)
+ 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);
+ 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);
+ 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);
+ _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_get_time(noti_time, buf, 512);
+ 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);
+ "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) {
&& _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 1
&& _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) {
- icon_path = quickpanel_ui_get_pkginfo_icon(pkgname);
+ icon_path = quickpanel_common_ui_get_pkginfo_icon(pkgname);
if (icon_path != NULL) {
_set_image(noti_box, NULL,
icon_path, NOTIFICATION_IMAGE_TYPE_ICON,
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)) {
+ || _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");
}
}
#endif
}
-static void _noti_box_set_layout_thumbnail(Evas_Object *noti_box,
- notification_h noti) {
+static void _noti_box_set_layout_thumbnail(Evas_Object *noti_box, notification_h noti)
+{
char *pkgname = NULL;
char *icon_path = NULL;
char *dir = NULL;
int is_show_info = 0;
Evas_Object *icon = NULL;
- if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0)
+ if (_check_image_null(noti, NOTIFICATION_IMAGE_TYPE_BACKGROUND) == 0) {
is_need_effect = 1;
- else
+ } 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) {
+ && _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) {
+ && _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)
+ 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);
+ 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);
+ 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 (noti_time == 0.0) {
notification_get_insert_time(noti, ¬i_time);
}
- quickpanel_noti_get_time(noti_time, buf, 512);
+ 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);
+ "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);
+ "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);
+ "object.text.info.2", NULL, is_need_effect, TEXT_NO_CR);
}
}
}
&& _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB) == 1
&& _check_image_null(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL) == 1) {
- icon_path = quickpanel_ui_get_pkginfo_icon(pkgname);
+ icon_path = quickpanel_common_ui_get_pkginfo_icon(pkgname);
if (icon_path != NULL) {
_set_image(noti_box, NULL,
icon_path, NOTIFICATION_IMAGE_TYPE_ICON,
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)) {
+ || _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");
}
}
#endif
}
-static void _noti_box_set_layout(Evas_Object *noti_box, notification_h noti,
- notification_ly_type_e layout) {
-
+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;
+ 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) {
}
}
-static Evas_Object *_create(notification_h noti, Evas_Object *parent) {
+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!");
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_initial_resize(box, QP_THEME_LIST_ITEM_NOTIFICATION_LEGACY_SINGLE_MULTI_HEIGHT
- + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT);
+ 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_ui_get_focus_object(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) {
+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 = noti_list_item_handler_get(item);
+ 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);
}
}
-static void _remove(noti_node_item *node_item, notification_ly_type_e layout, Evas_Object *item) {
+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!");
*/
+#include <Elementary.h>
#include <string.h>
-#include <Ecore_X.h>
-#include <efl_assist.h>
+#include <glib.h>
+
+#include <notification.h>
+#include <notification_text_domain.h>
+#include <system_settings.h>
+#include <vconf.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
#include "quickpanel-ui.h"
+#include "common_uic.h"
#include "common.h"
#include "list_util.h"
#include "quickpanel_def.h"
-#include "noti_list_item.h"
+#include "vi_manager.h"
#include "noti_node.h"
+#include "noti_list_item.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
-#include "animated_icon.h"
#define LEN_UNIT_TEXTBLOCK 560
-#define QP_DEFAULT_ICON ICONDIR"/quickpanel_icon_default.png"
+#define QP_DEFAULT_ICON RESDIR"/quickpanel_icon_default.png"
#ifdef QP_SCREENREADER_ENABLE
-static inline void _check_and_add_to_buffer(Eina_Strbuf *str_buf, const char *text) {
+static inline void _check_and_add_to_buffer(Eina_Strbuf *str_buf, const char *text)
+{
char buf_number[QP_UTIL_PHONE_NUMBER_MAX_LEN * 2] = { 0, };
retif(str_buf == NULL, , "Invalid parameter!");
if (text != NULL) {
if (strlen(text) > 0) {
- if (quickpanel_util_is_phone_number(text)) {
- quickpanel_util_phone_number_tts_make(buf_number, text,
+ 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);
eina_strbuf_append(str_buf, buf_number);
} else {
}
#endif
-static Evas_Object *_check_duplicated_image_loading(Evas_Object *obj, const char *part, const char *file_path) {
+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;
old_ic = elm_object_part_content_get(obj, part);
- if (quickpanel_service_animated_icon_is_same_icon(old_ic, file_path) == 1) {
+ if (quickpanel_animated_icon_is_same_icon(old_ic, file_path) == 1) {
return old_ic;
}
return NULL;
}
-static void _set_text_to_part(Evas_Object *obj, const char *part, const char *text) {
+static void _set_text_to_part(Evas_Object *obj, const char *part, const char *text)
+{
const char *old_text = NULL;
retif(obj == NULL, , "Invalid parameter!");
old_text = elm_object_part_text_get(obj, part);
if (old_text != NULL) {
if (strcmp(old_text, text) == 0) {
- return ;
+ return;
}
}
notification_get_pkgname(noti, &pkgname);
notification_get_image(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL,
- &thumbnail_path);
+ &thumbnail_path);
notification_get_image(noti, NOTIFICATION_IMAGE_TYPE_ICON, &icon_path);
notification_get_image(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB, &icon_sub_path);
main_icon_path = thumbnail_path;
sub_icon_path = icon_sub_path;
} else {
- icon_default = quickpanel_ui_get_pkginfo_icon(pkgname);
+ icon_default = quickpanel_common_ui_get_pkginfo_icon(pkgname);
main_icon_path = icon_default;
sub_icon_path = NULL;
}
"elm.swallow.thumbnail", main_icon_path);
if (old_ic == NULL) {
- ic = quickpanel_service_animated_icon_get(item, main_icon_path);
+ ic = quickpanel_animated_icon_get(item, main_icon_path);
if (ic == NULL) {
ic = elm_image_add(item);
elm_image_resizable_set(ic, EINA_FALSE, EINA_TRUE);
quickpanel_animated_image_add(ic);
#endif
- if (!strncmp(main_icon_path, QP_PRELOAD_NOTI_ICON_PATH, strlen(QP_PRELOAD_NOTI_ICON_PATH)))
- {
+ if (!strncmp(main_icon_path, QP_PRELOAD_NOTI_ICON_PATH, strlen(QP_PRELOAD_NOTI_ICON_PATH))) {
DBG("Apply color theme [%s]", main_icon_path);
- ea_theme_object_color_set(ic, "W0661");
+ evas_object_color_set(ic, 155, 216, 226, 255);
+ } else {
+ elm_image_aspect_fixed_set(ic, EINA_TRUE);
}
}
elm_object_part_content_set(item, "elm.swallow.thumbnail", ic);
/* Set text domain */
notification_get_text_domain(noti, &domain, &dir);
- if (domain != NULL && dir != NULL)
+ if (domain != NULL && dir != NULL) {
bindtextdomain(domain, dir);
+ }
#ifdef QP_SCREENREADER_ENABLE
- ao = quickpanel_screen_reader_object_get(item,
+ ao = quickpanel_accessibility_screen_reader_object_get(item,
SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", item);
if (ao != NULL) {
str_buf = eina_strbuf_new();
/* Get pkgname & id */
noti_err = notification_get_text(noti,
- NOTIFICATION_TEXT_TYPE_TITLE,
- &text);
+ NOTIFICATION_TEXT_TYPE_TITLE,
+ &text);
if (noti_err == NOTIFICATION_ERROR_NONE && text != NULL) {
- quickpanel_util_char_replace(text, _NEWLINE, _SPACE);
+ quickpanel_common_util_char_replace(text, _NEWLINE, _SPACE);
_set_text_to_part(item, "elm.text.title", text);
#ifdef QP_SCREENREADER_ENABLE
_check_and_add_to_buffer(str_buf, text);
}
noti_err = notification_get_text(noti,
- NOTIFICATION_TEXT_TYPE_EVENT_COUNT,
- &text);
+ NOTIFICATION_TEXT_TYPE_EVENT_COUNT,
+ &text);
+
if (noti_err == NOTIFICATION_ERROR_NONE && text != NULL) {
- quickpanel_util_char_replace(text, _NEWLINE, _SPACE);
+ quickpanel_common_util_char_replace(text, _NEWLINE, _SPACE);
int count = atoi(text);
if (count > 999) {
_set_text_to_part(item, "elm.text.count", "999+");
noti_err = notification_get_text(noti,
NOTIFICATION_TEXT_TYPE_CONTENT,
- &text);
+ &text);
if (noti_err == NOTIFICATION_ERROR_NONE && text != NULL) {
- quickpanel_util_char_replace(text, _NEWLINE, _SPACE);
- _set_text_to_part(item, "elm.text.content", text);
+ quickpanel_common_util_char_replace(text, _NEWLINE, _SPACE);
+ _set_text_to_part(item, "elm.text.content", text);
#ifdef QP_SCREENREADER_ENABLE
- _check_and_add_to_buffer(str_buf, text);
+ _check_and_add_to_buffer(str_buf, text);
#endif
}
noti_err = notification_get_insert_time(noti, ¬i_time);
}
if (noti_err == NOTIFICATION_ERROR_NONE) {
- quickpanel_noti_get_time(noti_time, buf, 512);
- _set_text_to_part(item, "elm.text.time", buf);
+ quickpanel_noti_util_get_time(noti_time, buf, 512);
+ _set_text_to_part(item, "elm.text.time", buf);
#ifdef QP_SCREENREADER_ENABLE
- _check_and_add_to_buffer(str_buf, buf);
+ _check_and_add_to_buffer(str_buf, buf);
#endif
}
if (elm_object_part_text_get(item, "elm.text.count") != NULL) {
- elm_object_signal_emit(item, "title.short", "prog");
+ elm_object_signal_emit(item, "content.short", "prog");
elm_object_signal_emit(item, "count.show", "prog");
}
if (elm_object_part_text_get(item, "elm.text.time") != NULL) {
- elm_object_signal_emit(item, "content.short", "prog");
+ elm_object_signal_emit(item, "title.short", "prog");
}
const char *get_content = elm_object_part_text_get(item, "elm.text.content");
- if (get_content == NULL || strlen(get_content) == 0)
- {
+ if (get_content == NULL || strlen(get_content) == 0) {
// if there is no content, move title to vertical center.
elm_object_signal_emit(item, "title.move.center", "prog");
- if (elm_object_part_text_get(item, "elm.text.time") != NULL)
- {
+ if (elm_object_part_text_get(item, "elm.text.time") != NULL) {
elm_object_signal_emit(item, "title.short.center", "prog");
+ elm_object_signal_emit(item, "time.move.center", "prog");
}
- }
- else
- {
+ } else {
elm_object_signal_emit(item, "title.move.default", "prog");
- if (elm_object_part_text_get(item, "elm.text.count") != NULL)
- {
+ if (elm_object_part_text_get(item, "elm.text.time") != NULL) {
+ elm_object_signal_emit(item, "time.move.default", "prog");
elm_object_signal_emit(item, "title.short", "prog");
- }
- else
- {
+ } else {
elm_object_signal_emit(item, "title.text.default", "prog");
}
}
#endif
}
-static Evas_Object *_create(notification_h noti, Evas_Object *parent) {
+static Evas_Object *_create(notification_h noti, Evas_Object *parent)
+{
int view_height = 0;
Evas_Object *view = NULL;
const char *view_layout_group = NULL;
elm_layout_file_set(view, DEFAULT_EDJ, view_layout_group);
evas_object_size_hint_weight_set(view, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(view, EVAS_HINT_FILL, EVAS_HINT_FILL);
- quickpanel_initial_resize(view, view_height);
+ quickpanel_uic_initial_resize(view, view_height);
evas_object_show(view);
} else {
ERR("failed to create ongoing notification view");
return view;
}
-static void _update(noti_node_item *noti_node, notification_ly_type_e layout, Evas_Object *item) {
+static void _update(noti_node_item *noti_node, notification_ly_type_e layout, Evas_Object *item)
+{
retif(item == NULL, , "Invalid parameter!");
retif(noti_node == NULL, , "Invalid parameter!");
Noti_View_H noti_view_listtype_h = {
.name = "noti_view_listtype",
-
.create = _create,
.update = _update,
.remove = NULL,
*
*/
-
+#include <stdio.h>
#include <string.h>
-#include <Ecore_X.h>
-#include <efl_assist.h>
+#include <glib.h>
+
+#include <Elementary.h>
+
+#include <vconf.h>
+#include <notification.h>
+#include <notification_internal.h>
+#include <notification_text_domain.h>
+#include <system_settings.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
#include "quickpanel-ui.h"
+#include "common_uic.h"
#include "common.h"
#include "list_util.h"
#include "quickpanel_def.h"
-#include "noti_list_item.h"
+#include <vi_manager.h>
#include "noti_node.h"
+#include "noti_list_item.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
-#include "animated_icon.h"
#define LEN_UNIT_TEXTBLOCK 555
-#define QP_DEFAULT_ICON ICONDIR"/quickpanel_icon_default.png"
+#define QP_DEFAULT_ICON RESDIR"/quickpanel_icon_default.png"
#ifdef QP_SCREENREADER_ENABLE
-static inline void _check_and_add_to_buffer(Eina_Strbuf *str_buf, const char *text) {
+static inline void _check_and_add_to_buffer(Eina_Strbuf *str_buf, const char *text)
+{
char buf_number[QP_UTIL_PHONE_NUMBER_MAX_LEN * 2] = { 0, };
retif(str_buf == NULL, , "Invalid parameter!");
if (text != NULL) {
if (strlen(text) > 0) {
- if (quickpanel_util_is_phone_number(text)) {
- quickpanel_util_phone_number_tts_make(buf_number, text,
+ 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);
eina_strbuf_append(str_buf, buf_number);
} else {
}
#endif
-static Evas_Object *_check_duplicated_progress_loading(Evas_Object *obj, const char *part, const char *style_name) {
+static Evas_Object *_check_duplicated_progress_loading(Evas_Object *obj, const char *part, const char *style_name)
+{
Evas_Object *old_content = NULL;
const char *old_style_name = NULL;
if (old_content != NULL) {
old_style_name = elm_object_style_get(old_content);
if (old_style_name != NULL) {
- if (strcmp(old_style_name, style_name) == 0)
+ if (strcmp(old_style_name, style_name) == 0) {
return old_content;
+ }
elm_object_part_content_unset(obj, part);
evas_object_del(old_content);
return NULL;
}
-static Evas_Object *_check_duplicated_image_loading(Evas_Object *obj, const char *part, const char *file_path) {
+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;
old_ic = elm_object_part_content_get(obj, part);
- if (quickpanel_service_animated_icon_is_same_icon(old_ic, file_path) == 1) {
+ if (quickpanel_animated_icon_is_same_icon(old_ic, file_path) == 1) {
return old_ic;
}
return NULL;
}
-static void _set_text_to_part(Evas_Object *obj, const char *part, const char *text) {
- const char *old_text = NULL;
+static void _set_text_to_part(Evas_Object *obj, const char *part, const char *text)
+{
+ const char *old_text;
- retif(obj == NULL, , "Invalid parameter!");
- retif(part == NULL, , "Invalid parameter!");
- retif(text == NULL, , "Invalid parameter!");
+ if (!obj || !part || !text) {
+ ERR("Invalid parameters");
+ return;
+ }
old_text = elm_object_part_text_get(obj, part);
if (old_text != NULL) {
if (strcmp(old_text, text) == 0) {
- return ;
+ return;
}
}
elm_object_part_text_set(obj, part, text);
}
-static char *_noti_get_progress(notification_h noti, char *buf,
- int buf_len)
+static char *_noti_get_progress(notification_h noti, char *buf, int buf_len)
{
double size = 0.0;
double percentage = 0.0;
} else if (size > 0 && percentage == 0) {
if (size > (1 << 30)) {
if (snprintf(buf, buf_len, "%.1lfGB",
- size / 1000000000.0) <= 0)
+ size / 1000000000.0) <= 0)
return NULL;
return buf;
} else if (size > (1 << 20)) {
if (snprintf(buf, buf_len, "%.1lfMB",
- size / 1000000.0) <= 0)
+ size / 1000000.0) <= 0)
return NULL;
return buf;
} else if (size > (1 << 10)) {
if (snprintf(buf, buf_len, "%.1lfKB",
- size / 1000.0) <= 0)
+ size / 1000.0) <= 0)
return NULL;
return buf;
if (layout != NOTIFICATION_LY_ONGOING_EVENT) {
if (percentage > 0.0 && percentage <= 1.0) {
- old_ic = _check_duplicated_progress_loading(item,
- "elm.swallow.progress", "quickpanel/list_progress");
+ old_ic = _check_duplicated_progress_loading(item, "elm.swallow.progress", "list_progress");
if (old_ic == NULL) {
ic = elm_progressbar_add(item);
+ elm_progressbar_unit_format_set(ic, "%0.0f%%");
if (ic == NULL)
- return ;
+ return;
elm_object_style_set(ic, "list_progress");
} else {
ic = old_ic;
elm_progressbar_horizontal_set(ic, EINA_TRUE);
elm_progressbar_pulse(ic, EINA_FALSE);
} else if ((size >= 0.0 && percentage == 0.0) || ((size < 0.0 && percentage == 0.0)|| (size == 0.0 && percentage < 0.0))) {
- old_ic = _check_duplicated_progress_loading(item,
- "elm.swallow.progress", "quickpanel/pending_list");
+ old_ic = _check_duplicated_progress_loading(item, "elm.swallow.progress", "pending");
if (old_ic == NULL) {
ic = elm_progressbar_add(item);
+ elm_progressbar_unit_format_set(ic, "%0.0f%%");
if (ic == NULL)
- return ;
+ return;
elm_object_style_set(ic, "pending");
} else {
ic = old_ic;
notification_get_pkgname(noti, &pkgname);
notification_get_image(noti, NOTIFICATION_IMAGE_TYPE_THUMBNAIL,
- &thumbnail_path);
+ &thumbnail_path);
notification_get_image(noti, NOTIFICATION_IMAGE_TYPE_ICON, &icon_path);
notification_get_image(noti, NOTIFICATION_IMAGE_TYPE_ICON_SUB, &icon_sub_path);
main_icon_path = thumbnail_path;
sub_icon_path = icon_sub_path;
} else {
- icon_default = quickpanel_ui_get_pkginfo_icon(pkgname);
+ icon_default = quickpanel_common_ui_get_pkginfo_icon(pkgname);
main_icon_path = icon_default;
sub_icon_path = NULL;
}
"elm.swallow.thumbnail", main_icon_path);
if (old_ic == NULL) {
- ic = quickpanel_service_animated_icon_get(item, main_icon_path);
+ ic = quickpanel_animated_icon_get(item, main_icon_path);
if (ic == NULL) {
ic = elm_image_add(item);
elm_image_resizable_set(ic, EINA_FALSE, EINA_TRUE);
#ifdef QP_ANIMATED_IMAGE_ENABLE
quickpanel_animated_image_add(ic);
#endif
- if (!strncmp(main_icon_path, QP_PRELOAD_NOTI_ICON_PATH, strlen(QP_PRELOAD_NOTI_ICON_PATH)))
- {
+ if (!strncmp(main_icon_path, QP_PRELOAD_NOTI_ICON_PATH, strlen(QP_PRELOAD_NOTI_ICON_PATH))) {
DBG("Apply color theme [%s]", main_icon_path);
- ea_theme_object_color_set(ic, "W0661");
+ evas_object_color_set(ic, 155, 216, 226, 255);
+ } else {
+ elm_image_aspect_fixed_set(ic, EINA_TRUE);
}
}
elm_object_part_content_set(item, "elm.swallow.thumbnail", ic);
static void _set_text(Evas_Object *item, notification_h noti)
{
- int noti_err = NOTIFICATION_ERROR_NONE;
char *text = NULL;
char *text_utf8 = NULL;
char *domain = NULL;
char *dir = NULL;
char *pkgname = NULL;
-// char *caller_pkgname = NULL;
+ // char *caller_pkgname = NULL;
int group_id = 0, priv_id = 0;
char buf[128] = { 0, };
notification_type_e type = NOTIFICATION_TYPE_NONE;
Evas_Object *textblock = NULL;
int len_w = 0, num_line = 1, view_height = 0;
struct appdata *ad = quickpanel_get_app_data();
+ char *text_count = NULL;
+ int ret;
- retif(ad == NULL, , "Invalid parameter!");
- retif(item == NULL, , "Invalid parameter!");
- retif(noti == NULL, , "noti is NULL");
+ if (!ad || !item || !noti) {
+ ERR("Invalid parameters: %p %p %p", ad, item, noti);
+ return;
+ }
/* Set text domain */
notification_get_text_domain(noti, &domain, &dir);
- if (domain != NULL && dir != NULL)
+ if (domain != NULL && dir != NULL) {
bindtextdomain(domain, dir);
+ }
#ifdef QP_SCREENREADER_ENABLE
- ao = quickpanel_screen_reader_object_get(item,
- SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", item);
+ ao = quickpanel_accessibility_screen_reader_object_get(item, SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", item);
if (ao != NULL) {
str_buf = eina_strbuf_new();
elm_access_info_set(ao, ELM_ACCESS_TYPE, _("IDS_QP_BUTTON_NOTIFICATION"));
#endif
/* Get pkgname & id */
- notification_get_pkgname(noti, &pkgname);
-// notification_get_application(noti, &caller_pkgname);
- notification_get_id(noti, &group_id, &priv_id);
- notification_get_type(noti, &type);
- notification_get_size(noti, &size);
- notification_get_progress(noti, &percentage);
- notification_get_layout(noti, &layout);
+ ret = notification_get_pkgname(noti, &pkgname);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ERR("Unable to get the pkgname");
+ }
+ // notification_get_application(noti, &caller_pkgname);
+ ret = notification_get_id(noti, &group_id, &priv_id);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ERR("Unable to get id");
+ }
+ ret = notification_get_type(noti, &type);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ERR("Unable to get type");
+ }
+ ret = notification_get_size(noti, &size);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ERR("Unable to get size");
+ }
+ ret = notification_get_progress(noti, &percentage);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ERR("Unable to get progress");
+ }
+ ret = notification_get_layout(noti, &layout);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ERR("Unable to get layout");
+ }
+ ret = notification_get_text(noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT, &text_count);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ERR("Unable to get event_count");
+ }
SDBG("percentage:%f size:%f", percentage, size);
- noti_err = notification_get_text(noti,
- NOTIFICATION_TEXT_TYPE_TITLE,
- &text);
-
- if (noti_err == NOTIFICATION_ERROR_NONE && text != NULL) {
- quickpanel_util_char_replace(text, _NEWLINE, _SPACE);
+ ret = notification_get_text(noti, NOTIFICATION_TEXT_TYPE_TITLE, &text);
+ if (ret == NOTIFICATION_ERROR_NONE && text != NULL) {
+ quickpanel_common_util_char_replace(text, _NEWLINE, _SPACE);
_set_text_to_part(item, "elm.text.title", text);
#ifdef QP_SCREENREADER_ENABLE
_check_and_add_to_buffer(str_buf, text);
#endif
}
- noti_err = notification_get_text(noti,
- NOTIFICATION_TEXT_TYPE_CONTENT,
- &text);
- if (noti_err == NOTIFICATION_ERROR_NONE && text != NULL) {
+ ret = notification_get_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT, &text);
+ if (ret == NOTIFICATION_ERROR_NONE && text != NULL) {
if (layout == NOTIFICATION_LY_ONGOING_EVENT) {
text_utf8 = elm_entry_utf8_to_markup(text);
if (text_utf8 != NULL) {
} /*else {
elm_object_signal_emit(item, "line3.set", "prog");
view_height = QP_THEME_LIST_ITEM_ONGOING_EVENT_LINE3_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT;
- }*/
- quickpanel_initial_resize(item, view_height);
+ }*/
+ quickpanel_uic_initial_resize(item, view_height);
#ifdef QP_SCREENREADER_ENABLE
_check_and_add_to_buffer(str_buf, text);
#endif
} else {
- quickpanel_util_char_replace(text, _NEWLINE, _SPACE);
+ quickpanel_common_util_char_replace(text, _NEWLINE, _SPACE);
_set_text_to_part(item, "elm.text.content", text);
#ifdef QP_SCREENREADER_ENABLE
_check_and_add_to_buffer(str_buf, text);
}
if (layout != NOTIFICATION_LY_ONGOING_EVENT) {
- text = _noti_get_progress(noti, buf,
- sizeof(buf));
+ text = _noti_get_progress(noti, buf, sizeof(buf));
if (text != NULL) {
- quickpanel_util_char_replace(text, _NEWLINE, _SPACE);
- _set_text_to_part(item, "elm.text.time", text);
+ quickpanel_common_util_char_replace(text, _NEWLINE, _SPACE);
#ifdef QP_SCREENREADER_ENABLE
_check_and_add_to_buffer(str_buf, text);
#endif
_set_text_to_part(item, "elm.text.time", "");
}
} else {
- const char *get_content = elm_object_part_text_get(item, "elm.text.content");
- if (get_content == NULL || strlen(get_content) == 0)
- {
+ const char *get_content;
+
+ get_content = elm_object_part_text_get(item, "elm.text.content");
+ if (get_content == NULL || strlen(get_content) == 0) {
// if there is no content, move title to vertical center.
elm_object_signal_emit(item, "title.move.center", "prog");
}
}
+ if (layout == NOTIFICATION_LY_ONGOING_PROGRESS && text_count != NULL) {
+ _set_text_to_part(item, "elm.text.count", text_count);
+ if (elm_object_part_text_get(item, "elm.text.count") != NULL) {
+ elm_object_signal_emit(item, "content.short", "prog");
+ elm_object_signal_emit(item, "count.show", "prog");
+ }
+ }
+
#ifdef QP_SCREENREADER_ENABLE
if (ao != NULL && str_buf != NULL) {
elm_access_info_set(ao, ELM_ACCESS_INFO, eina_strbuf_string_get(str_buf));
#endif
}
-static Evas_Object *_create(notification_h noti, Evas_Object *parent) {
-
+static Evas_Object *_create(notification_h noti, Evas_Object *parent)
+{
int view_height = 0;
Evas_Object *view = NULL;
const char *view_layout_group = NULL;
elm_layout_file_set(view, DEFAULT_EDJ, view_layout_group);
evas_object_size_hint_weight_set(view, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(view, EVAS_HINT_FILL, EVAS_HINT_FILL);
- quickpanel_initial_resize(view, view_height);
+ quickpanel_uic_initial_resize(view, view_height);
evas_object_show(view);
} else {
ERR("failed to create ongoing notification view");
return view;
}
-static void _update(noti_node_item *noti_node, notification_ly_type_e layout, Evas_Object *item) {
+static void _update(noti_node_item *noti_node, notification_ly_type_e layout, Evas_Object *item)
+{
retif(item == NULL, , "Invalid parameter!");
retif(noti_node == NULL, , "Invalid parameter!");
Noti_View_H ongoing_noti_view_h = {
.name = "ongoing_noti_view",
-
.create = _create,
.update = _update,
.remove = NULL,
#include <Elementary.h>
#include <utilX.h>
+#include <efl_util.h>
+
+#define NOTI_HEIGHT ELM_SCALE_SIZE(260)
+#define NOTI_START_Y ELM_SCALE_SIZE(36)
+
-#define NOTI_HEIGHT 50
#ifndef __UNUSED__
#define __UNUSED__ __attribute__((unused))
#endif
/* Using this macro to emphasize that some portion like stacking and
-rotation handling are implemented for X based platform
-*/
+ rotation handling are implemented for X based platform
+ */
#ifdef HAVE_X
#include <Ecore_X.h>
struct Internal_Data {
Evas_Object *content;
Ecore_Event_Handler *rotation_event_handler;
+ Evas_Coord scr_w;
+ Evas_Coord scr_h;
Evas_Coord w;
Evas_Coord h;
int angle;
enum Noti_Orient orient;
};
-static const char *data_key = "_data";
+#define E_DATA_KEY "E_DATA_KEY"
+#define E_DATA_BASE_RECT "E_DATA_BASE_RECT"
-static void _set_win_type_notification_level(Evas_Object *win)
+static void _show(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
{
- retif(win == NULL, , "invalid parameter");
-
- Ecore_X_Window w = elm_win_xwindow_get(win);
+ struct Internal_Data *wd = evas_object_data_get(obj, E_DATA_KEY);
- if (w > 0) {
- ecore_x_icccm_hints_set(w, 0, ECORE_X_WINDOW_STATE_HINT_NONE, 0, 0,
- 0, 0, 0);
- ecore_x_netwm_opacity_set(w, 0);
-
- ecore_x_netwm_window_type_set(w,
- ECORE_X_WINDOW_TYPE_NOTIFICATION);
- utilx_set_system_notification_level(ecore_x_display_get(), w,
- UTILX_NOTIFICATION_LEVEL_HIGH);
+ if (!wd) {
+ return;
}
-}
-static void _show(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj,
- void *event_info __UNUSED__)
-{
- struct Internal_Data *wd = evas_object_data_get(obj, data_key);
-
- if (!wd)
- return;
- if (wd->content)
+ if (wd->content) {
evas_object_show(wd->content);
+ }
- quickpanel_dbus_ticker_visibility_send(1);
-}
-
-static void _content_hide(void *data, Evas *e __UNUSED__,
- Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
-{
- evas_object_hide(data);
}
-static void _content_changed_size_hints(void *data, Evas *e __UNUSED__,
- Evas_Object *obj, void *event_info __UNUSED__)
+static void _content_changed_size_hints(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
{
- Evas_Coord h;
- struct Internal_Data *wd = evas_object_data_get(data, data_key);
+ Evas_Coord h = 0;
+ struct Internal_Data *wd = evas_object_data_get(data, E_DATA_KEY);
- if (!wd)
+ if (!wd) {
return;
+ }
evas_object_size_hint_min_get(obj, NULL, &h);
if ((h > 0)) {
- wd->h = h;
evas_object_size_hint_min_set(obj, wd->w, wd->h);
evas_object_size_hint_min_set(data, wd->w, wd->h);
evas_object_resize(data, wd->w, wd->h);
}
}
-static void _sub_del(void *data __UNUSED__, Evas_Object *obj, void *event_info)
-{
- struct Internal_Data *wd = evas_object_data_get(obj, data_key);
- Evas_Object *sub = event_info;
-
- if (!wd)
- return;
- if (sub == wd->content) {
- evas_object_event_callback_del(wd->content, EVAS_CALLBACK_HIDE,
- _content_hide);
- evas_object_event_callback_del(wd->content,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _content_changed_size_hints);
- wd->content = NULL;
- }
-}
-
-static void _resized(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj,
- void *event_info __UNUSED__)
+static void _resized(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
{
evas_object_show(obj);
}
-static void _del(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj,
- void *event_info __UNUSED__)
+static void _del(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
{
- struct Internal_Data *wd = evas_object_data_get(obj, data_key);
+ struct Internal_Data *wd = evas_object_data_get(obj, E_DATA_KEY);
- if (!wd)
- return;
- if (wd->rotation_event_handler)
- ecore_event_handler_del(wd->rotation_event_handler);
- evas_object_data_set(data, data_key, NULL);
- free(wd);
+ if (wd) {
+ if (wd->rotation_event_handler) {
+ ecore_event_handler_del(wd->rotation_event_handler);
+ }
+ free(wd);
+ }
- quickpanel_dbus_ticker_visibility_send(0);
+ evas_object_data_set(data, E_DATA_KEY, NULL);
}
-#ifdef HAVE_X
-static void _update_geometry_on_rotation(Evas_Object *obj, int angle,
- int *x, int *y, int *w)
+static void _win_rotated(Evas_Object *obj)
{
- Evas_Coord root_w, root_h;
- struct Internal_Data *wd = evas_object_data_get(obj, data_key);
+ int angle = 0;
+ struct Internal_Data *wd = evas_object_data_get(obj, E_DATA_KEY);
- if (!wd)
+ if (!wd) {
return;
+ }
- ecore_x_window_size_get(ecore_x_window_root_first_get(), &root_w,
- &root_h);
+ angle = elm_win_rotation_get(obj);
+ if (angle % 90) {
+ return;
+ }
+
+ angle %= 360;
+ if (angle < 0) {
+ angle += 360;
+ }
+ wd->angle = angle;
- /* rotate window */
switch (angle) {
+ case 0:
+ case 180:
+ evas_object_size_hint_min_set(obj, wd->scr_w, wd->h);
+ evas_object_resize(obj, wd->scr_w, wd->h);
+ evas_object_move(obj, 0, NOTI_START_Y);
+ break;
case 90:
- *w = root_h;
- if (wd->orient == NOTI_ORIENT_BOTTOM)
- *x = root_w - wd->h;
+ evas_object_size_hint_min_set(obj, wd->scr_h, wd->h);
+ evas_object_resize(obj, wd->scr_h, wd->h);
+ evas_object_move(obj, NOTI_START_Y, 0);
break;
case 270:
- *w = root_h;
- if (!(wd->orient == NOTI_ORIENT_BOTTOM))
- *x = root_w - wd->h;
- break;
- case 180:
- *w = root_w;
- if (!wd->orient == NOTI_ORIENT_BOTTOM)
- *y = root_h - wd->h;
+ evas_object_size_hint_min_set(obj, wd->scr_h, wd->h);
+ evas_object_resize(obj, wd->scr_h, wd->h);
+ evas_object_move(obj, wd->scr_w - wd->h - NOTI_START_Y, 0);
break;
- case 0:
default:
- *w = root_w;
- if (wd->orient == NOTI_ORIENT_BOTTOM)
- *y = root_h - wd->h;
- break;
+ ERR("cannot reach here");
}
}
-static void _win_rotated(Evas_Object *obj)
-{
- int x = 0;
- int y = 0;
- int w = 0;
- int angle = 0;
- struct Internal_Data *wd = evas_object_data_get(obj, data_key);
-
- if (!wd)
- return;
- angle = elm_win_rotation_get(obj);
- if (angle % 90)
- return;
- angle %= 360;
- if (angle < 0)
- angle += 360;
- wd->angle = angle;
-
- _update_geometry_on_rotation(obj, wd->angle, &x, &y, &w);
-
- evas_object_move(obj, x, y);
- wd->w = w;
- evas_object_resize(obj, wd->w, wd->h);
-}
-
-#endif
-
static void _ui_rotation_wm_cb(void *data, Evas_Object *obj, void *event)
{
int angle = 0;
angle = elm_win_rotation_get((Evas_Object *)obj);
- DBG("TICKER ROTATE:%d", angle);
+ DBG("ACTIVENOTI ROTATE:%d", angle);
_win_rotated(obj);
}
-HAPI Evas_Object *noti_win_add(Evas_Object *parent)
+static void _resize_cb (void *data, Evas *e, Evas_Object *eo, void *event_info)
+{
+ int x, y, w, h;
+ evas_object_geometry_get(eo, &x, &y, &w, &h);
+ DBG("%s: %d:%d:%d:%d\n", data, x, y, w, h);
+}
+
+HAPI Evas_Object *quickpanel_noti_win_add(Evas_Object *parent)
{
Evas_Object *win;
- Evas_Object *bg;
struct Internal_Data *wd;
- Evas_Coord w = 0;
+ Evas_Coord w = 0, h = 0;
+ Evas *e = NULL;
+ Ecore_Evas *ee = NULL;
win = elm_win_add(parent, "noti_win", ELM_WIN_NOTIFICATION);
- elm_win_alpha_set(win, EINA_TRUE);
+ if (!win) {
+ return NULL;
+ }
+
+ e = evas_object_evas_get(win);
+ if (!e) {
+ evas_object_del(win);
+ return NULL;
+ }
- if (!win)
+ ee = ecore_evas_ecore_evas_get(e);
+ if (!ee) {
+ evas_object_del(win);
return NULL;
+ }
+
+ ecore_evas_name_class_set(ee, "APP_POPUP", "APP_POPUP");
- elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_SHOW);
- elm_win_indicator_type_set(win,ELM_WIN_INDICATOR_TYPE_1);
+ elm_win_alpha_set(win, EINA_FALSE);
+ elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_HIDE);
elm_win_title_set(win, "noti_win");
elm_win_borderless_set(win, EINA_TRUE);
elm_win_autodel_set(win, EINA_TRUE);
- evas_object_size_hint_weight_set(win, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
+ evas_object_size_hint_weight_set(win, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(win, EVAS_HINT_FILL, EVAS_HINT_FILL);
- bg = elm_bg_add(win);
- evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_win_resize_object_add(win, bg);
- ecore_evas_name_class_set(ecore_evas_ecore_evas_get(evas_object_evas_get(win))
- , "APP_POPUP", "APP_POPUP");
- _set_win_type_notification_level(win);
+ efl_util_set_notification_window_level(win, EFL_UTIL_NOTIFICATION_LEVEL_DEFAULT);
+ elm_win_prop_focus_skip_set(win, EINA_TRUE);
+ elm_win_aux_hint_add(win, "wm.policy.win.user.geometry", "1");
- if (elm_win_wm_rotation_supported_get(win))
- {
+ if (elm_win_wm_rotation_supported_get(win)) {
int rots[4] = { 0, 90, 180, 270 };
elm_win_wm_rotation_available_rotations_set(win, rots, 4);
}
- evas_object_smart_callback_add(win, "wm,rotation,changed",
- _ui_rotation_wm_cb, NULL);
+ evas_object_smart_callback_add(win, "wm,rotation,changed", _ui_rotation_wm_cb, NULL);
+ evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _resize_cb, "win");
wd = (struct Internal_Data *) calloc(1, sizeof(struct Internal_Data));
- if (!wd)
+ if (!wd) {
+ if (win) {
+ evas_object_del(win);
+ }
return NULL;
- evas_object_data_set(win, data_key, wd);
+ }
+ evas_object_data_set(win, E_DATA_KEY, wd);
wd->angle = 0;
wd->orient = NOTI_ORIENT_TOP;
- evas_object_move(win, 0, 0);
-#ifdef HAVE_X
- ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, NULL);
- evas_object_resize(win, w, NOTI_HEIGHT);
-#endif
+ evas_object_move(win, 0, NOTI_START_Y);
+ elm_win_screen_size_get(win, NULL, NULL, &w, &h);
+
+ wd->scr_w = w;
+ wd->scr_h = h;
wd->w = w;
wd->h = NOTI_HEIGHT;
- evas_object_smart_callback_add(win, "sub-object-del", _sub_del, NULL);
+
+ evas_object_resize(win, w, wd->h);
evas_object_event_callback_add(win, EVAS_CALLBACK_SHOW, _show, NULL);
evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _del, NULL);
evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _resized, NULL);
return win;
}
-HAPI void noti_win_content_set(Evas_Object *obj, Evas_Object *content)
+HAPI void quickpanel_noti_win_content_set(Evas_Object *obj, Evas_Object *content)
{
- Evas_Coord h;
struct Internal_Data *wd;
- if (!obj)
+ if (!obj) {
return;
- wd = evas_object_data_get(obj, data_key);
- if (!wd)
+ }
+
+ wd = evas_object_data_get(obj, E_DATA_KEY);
+ if (!wd) {
return;
+ }
+
if (wd->content && content != NULL) {
- evas_object_del(content);
- content = NULL;
+ evas_object_del(wd->content);
+ wd->content = NULL;
}
+
wd->content = content;
- if (content) {
- evas_object_size_hint_weight_set(wd->content, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_win_resize_object_add(obj, wd->content);
- evas_object_size_hint_min_get(wd->content, NULL, &h);
- if (h)
- wd->h = h;
- evas_object_size_hint_min_set(wd->content, wd->w, wd->h);
- evas_object_resize(obj, wd->w, wd->h);
- evas_object_event_callback_add(wd->content, EVAS_CALLBACK_HIDE,
- _content_hide, obj);
- evas_object_event_callback_add(wd->content,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _content_changed_size_hints, obj);
+
+ if (!content) {
+ return;
}
+
+ evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_resize(obj, wd->w, wd->h);
+ elm_win_resize_object_add(obj, content);
+ evas_object_size_hint_min_set(content, wd->w, wd->h);
+ evas_object_event_callback_add(content, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _content_changed_size_hints, obj);
}
-HAPI void noti_win_orient_set(Evas_Object *obj, enum Noti_Orient orient)
+HAPI void quickpanel_noti_win_resize(Evas_Object *obj, int btn_cnt)
{
-#ifdef HAVE_X
- Evas_Coord root_w, root_h;
-#endif
- struct Internal_Data *wd = evas_object_data_get(obj, data_key);
+ struct Internal_Data *wd;
- if (!wd)
+ if (!obj) {
return;
- if (orient >= NOTI_ORIENT_LAST)
+ }
+
+ wd = evas_object_data_get(obj, E_DATA_KEY);
+ if (!wd) {
return;
-#ifdef HAVE_X
- ecore_x_window_size_get(ecore_x_window_root_first_get(), &root_w,
- &root_h);
-#endif
+ }
+
+ evas_object_resize(obj, wd->w, wd->h);
+}
+
+HAPI void quickpanel_noti_win_orient_set(Evas_Object *obj, enum Noti_Orient orient)
+{
+ struct Internal_Data *wd = evas_object_data_get(obj, E_DATA_KEY);
+
+ if (!wd) {
+ return;
+ }
+
+ if (orient >= NOTI_ORIENT_LAST) {
+ return;
+ }
switch (orient) {
case NOTI_ORIENT_BOTTOM:
-#ifdef HAVE_X
- evas_object_move(obj, 0, root_h - wd->h);
-#endif
+ evas_object_move(obj, 0, wd->scr_h - wd->h);
wd->orient = NOTI_ORIENT_BOTTOM;
break;
case NOTI_ORIENT_TOP:
default:
-#ifdef HAVE_X
- evas_object_move(obj, 0, 0);
-#endif
+ evas_object_move(obj, 0, NOTI_START_Y);
wd->orient = NOTI_ORIENT_TOP;
break;
}
#ifndef __NOTI_WIN_H__
#define __NOTI_WIN_H__
-#include <Evas.h>
enum Noti_Orient {
NOTI_ORIENT_TOP = 0,
NOTI_ORIENT_BOTTOM,
NOTI_ORIENT_LAST
- } ;
+} ;
/* Creates and return a new window (of widget type elm_win) of width equal to
-root window
-*/
-Evas_Object *noti_win_add(Evas_Object *parent);
+ root window
+ */
+extern Evas_Object *quickpanel_noti_win_add(Evas_Object *parent);
/* Sets an Evas Object as content of the notification window created using
-noti_win_add
-*/
-void noti_win_content_set(Evas_Object *obj, Evas_Object *content);
+ noti_win_add
+ */
+extern void quickpanel_noti_win_content_set(Evas_Object *obj, Evas_Object *content);
/* Sets the orientation of the notification window, this can be of type
-Noti_Orient
-*/
-void noti_win_orient_set(Evas_Object *obj, enum Noti_Orient orient);
+ Noti_Orient
+ */
+extern void quickpanel_noti_win_orient_set(Evas_Object *obj, enum Noti_Orient orient);
+
+extern void quickpanel_noti_win_resize(Evas_Object *obj, int btn_cnt);
+
#endif
+++ /dev/null
-/*
- * 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 <Elementary.h>
-#include <Ecore_X.h>
-#include <appcore-common.h>
-#include <vconf.h>
-#include <app_control.h>
-#include <notification.h>
-#include <feedback.h>
-
-#include "quickpanel-ui.h"
-#include "common.h"
-#include "noti.h"
-#include "noti_win.h"
-#include "noti_util.h"
-#ifdef QP_EMERGENCY_MODE_ENABLE
-#include "emergency_mode.h"
-#endif
-#include "animated_icon.h"
-
-#define QP_TICKER_DURATION 3
-#define QP_TICKER_DETAIL_DURATION 6
-
-#define TICKER_MSG_LEN 1024
-#define DEFAULT_ICON ICONDIR "/quickpanel_icon_default.png"
-
-#define E_DATA_IS_TICKERNOTI_CONTENT "E_DATA_TN_CONTENT"
-#define E_DATA_IS_TICKERNOTI_EXECUTED "E_DATA_TN_EXECUTED"
-
-#define FORMAT_1LINE "<font_size=29><color=#F4F4F4FF>%s</color></font_size>"
-#define FORMAT_2LINE "<font_size=26><color=#BABABAFF>%s</color></font_size><br/><font_size=29><color=#F4F4F4FF>%s</color></font_size>"
-
-static Evas_Object *g_window = NULL;
-static Evas_Object *g_ticker = NULL;
-static Evas_Object *g_scroller = NULL;
-static Ecore_Timer *g_timer = NULL;
-static Eina_List *ticker_list = NULL;
-
-static int quickpanel_ticker_init(void *data);
-static int quickpanel_ticker_fini(void *data);
-static int quickpanel_ticker_enter_hib(void *data);
-static int quickpanel_ticker_leave_hib(void *data);
-static void quickpanel_ticker_reflesh(void *data);
-static void _quickpanel_ticker_destroy_tickernoti(Evas_Object *tickernoti);
-static void _quickpanel_ticker_create_tickernoti(void *data);
-static void _quickpanel_ticker_win_rotated(void *data, int need_hide);
-
-QP_Module ticker = {
- .name = "ticker",
- .init = quickpanel_ticker_init,
- .fini = quickpanel_ticker_fini,
- .hib_enter = quickpanel_ticker_enter_hib,
- .hib_leave = quickpanel_ticker_leave_hib,
- .lang_changed = NULL,
- .refresh = quickpanel_ticker_reflesh
-};
-
-static inline int _is_text_exist(const char *text) {
- if (text != NULL) {
- if (strlen(text) > 0) {
- if (strcmp(text, "") != 0) {
- return 1;
- }
- }
- }
-
- return 0;
-}
-
-static int _is_sound_playable(void) {
- int status = 0, ret = 0;
-
- ret = vconf_get_int(VCONFKEY_CAMERA_STATE, &status);
- if (ret == 0 && status == VCONFKEY_CAMERA_STATE_RECORDING) {
- ERR("camcorder is working, don't play notification sound %d %d", ret, status);
- return 0;
- }
-
-#ifdef TBD
- if ((ret = sound_manager_get_current_sound_type(&type))
- == SOUND_MANAGER_ERROR_CAPTURE_ONLY) {
- ERR("capturing sound is working, don't play notification sound");
- return 0;
- }
-#endif
-
- return 1;
-}
-
-static int _is_blocking_mode_on(void) {
- int ret = 0;
- int is_blocking_mode_on = 0;
-
- if ((ret = vconf_get_bool(VCONFKEY_SETAPPL_BLOCKINGMODE_NOTIFICATIONS, &is_blocking_mode_on)) == 0) {
- if (ret == 0 && is_blocking_mode_on == 1) {
- return 1;
- }
- }
-
- return 0;
-}
-
-static int _is_security_lockscreen_launched(void) {
- int ret = 0;
- int is_lock_launched = 0;
-
- if ((ret = vconf_get_int(VCONFKEY_IDLE_LOCK_STATE, &is_lock_launched)) == 0) {
- if (is_lock_launched == VCONFKEY_IDLE_LOCK && (ret = vconf_get_int(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, &is_lock_launched)) == 0) {
- if (is_lock_launched != SETTING_SCREEN_LOCK_TYPE_NONE && is_lock_launched != SETTING_SCREEN_LOCK_TYPE_SWIPE) {
- return 1;
- }
- }
- }
-
- return 0;
-}
-
-static int _check_is_noti_from_email(char *pkgname) {
- retif(pkgname == NULL, 0, "Invalid parameter!");
-
-#define TBD
-#ifdef TBD
- if (strcmp(pkgname, VENDOR".email") == 0 || strcmp(pkgname, "/usr/bin/eas-engine") == 0) {
- return 1;
- } else {
- return 0;
- }
-#else
- return 0;
-#endif
-}
-
-static int _check_is_noti_from_message(char *pkgname) {
- retif(pkgname == NULL, 0, "Invalid parameter!");
-
- if (strcmp(pkgname, VENDOR".message-lite") == 0 || strcmp(pkgname, "/usr/bin/msg-server") == 0) {
- return 1;
- } else {
- return 0;
- }
-}
-
-static int _check_is_noti_from_im(char *pkgname) {
- retif(pkgname == NULL, 0, "Invalid parameter!");
-
- if (strcmp(pkgname, "xnq5eh9vop.ChatON") == 0) {
- return 1;
- } else {
- return 0;
- }
-}
-
-static notification_h _get_instant_latest_message_from_list(void) {
- int count = 0;
- notification_h noti = NULL;
-
- count = eina_list_count(ticker_list);
- if (count > 1) {
- noti = eina_list_nth(ticker_list, count-1);
- }
- eina_list_free(ticker_list);
- ticker_list = NULL;
-
- //eina_shutdown();
-
- return noti;
-}
-
-/*****************************************************************************
- *
- * (Static) Util functions
- *
- *****************************************************************************/
-
-static int _quickpanel_ticker_check_ticker_off(notification_h noti)
-{
- char *pkgname = NULL;
- int ret = 0;
- int boolval = 0;
-
- notification_get_pkgname(noti, &pkgname);
-
- if (pkgname == NULL)
- return 1; /* Ticker is not displaying. */
-
- if (_check_is_noti_from_message(pkgname) == 1)
- {
- ret = vconf_get_bool(
- VCONFKEY_SETAPPL_STATE_TICKER_NOTI_MESSAGES_BOOL,
- &boolval);
- if (ret == 0 && boolval == 0)
- {
- return 1;
- }
- else
- {
- /* Displaying ticker! */
- return 0;
- }
- }
- else
- {
- return 0;
- }
-}
-
-static int _quickpanel_ticker_check_displaying_contents_off(notification_h noti)
-{
- char *pkgname = NULL;
- int ret = 0;
- int boolval = 0;
-
- notification_get_pkgname(noti, &pkgname);
-
- if (pkgname == NULL)
- return 0; /* Ticker is not displaying. */
-
- if (_check_is_noti_from_message(pkgname) == 1) {
- ret = vconf_get_bool(
- VCONFKEY_TICKER_NOTI_DISPLAY_CONTENT_MESSASGES,
- &boolval);
- if (ret == 0 && boolval == 0)
- return 1;
- } else if (_check_is_noti_from_email(pkgname) == 1) {
- ret = vconf_get_bool(
- VCONFKEY_TICKER_NOTI_DISPLAY_CONTENT_EMAIL,
- &boolval);
- if (ret == 0 && boolval == 0)
- return 1;
- } else if (_check_is_noti_from_im(pkgname) == 1) {
- ret = vconf_get_bool(
- VCONFKEY_TICKER_NOTI_DISPLAY_CONTENT_IM,
- &boolval);
- if (ret == 0 && boolval == 0)
- return 1;
- }
-
- /* Displaying ticker! */
- return 0;
-}
-
-static int _quickpanel_ticker_check_sound_off(notification_h noti)
-{
- char *pkgname = NULL;
- int ret = 0;
- int boolval = 0;
-
- notification_get_pkgname(noti, &pkgname);
-
- if (pkgname == NULL)
- return 0; /* don't play sound */
-
- if (_check_is_noti_from_message(pkgname) == 1) {
- ret = vconf_get_bool(
- VCONFKEY_TICKER_NOTI_SOUND_MESSAGES,
- &boolval);
- DBG("VCONFKEY_TICKER_NOTI_SOUND_MESSAGES:%d", boolval);
-
- if (ret == 0 && boolval == 0)
- return 1;
- else if (ret != 0){
- ERR("Failed to get a value of %s(%d)",
- "VCONFKEY_TICKER_NOTI_SOUND_MESSAGES", ret);
- }
- } else if (_check_is_noti_from_email(pkgname) == 1) {
- ret = vconf_get_bool(
- VCONFKEY_TICKER_NOTI_SOUND_EMAIL,
- &boolval);
- if (ret == 0 && boolval == 0)
- return 1;
- else if (ret != 0){
- ERR("Failed to get a value of %s(%d)",
- "VCONFKEY_TICKER_NOTI_SOUND_EMAIL", ret);
- }
- } else if (_check_is_noti_from_im(pkgname) == 1) {
- ret = vconf_get_bool(
- VCONFKEY_TICKER_NOTI_SOUND_IM,
- &boolval);
- if (ret == 0 && boolval == 0)
- return 1;
- else if (ret != 0){
- ERR("Failed to get a value of %s(%d)",
- "VCONFKEY_TICKER_NOTI_SOUND_IM", ret);
- }
- }
-
- return 0;
-}
-
-static inline void __ticker_only_noti_del(notification_h noti)
-{
- int applist = NOTIFICATION_DISPLAY_APP_ALL;
-
- retif(noti == NULL, ,"noti is null");
-
- notification_get_display_applist(noti, &applist);
- if (applist & NOTIFICATION_DISPLAY_APP_TICKER) {
- if (!(applist & NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY)) {
- char *pkgname = NULL;
- int priv_id = 0;
-
- notification_get_pkgname(noti, &pkgname);
- notification_get_id(noti, NULL, &priv_id);
- notification_delete_by_priv_id(pkgname,
- NOTIFICATION_TYPE_NONE,
- priv_id);
- }
- }
-}
-
-static void _quickpanel_ticker_del(void *data)
-{
- if (g_ticker) {
- evas_object_del(g_ticker);
- }
-}
-
-static Eina_Bool _quickpanel_ticker_timeout_cb(void *data)
-{
- DBG("ticker dismissed by timeout callback");
-
- int h_page = 0;
- int v_page = 0;
- int h_last_page = 0;
- int v_last_page = 0;
- //notification_h noti = (notification_h) data;
-
- /* If count is 1, self*/
- if (ticker_list && eina_list_count(ticker_list) > 1) {
- if (g_timer) {
- ecore_timer_del(g_timer);
- g_timer = NULL;
- }
- _quickpanel_ticker_del(data);
-
- return ECORE_CALLBACK_CANCEL;
- }
-
- elm_scroller_last_page_get(g_scroller, &h_last_page, &v_last_page);
- elm_scroller_current_page_get(g_scroller, &h_page, &v_page);
-
- if (v_last_page > v_page) {
- elm_scroller_page_bring_in(g_scroller, h_page, v_page + 1);
-
- return ECORE_CALLBACK_RENEW;
- }
-
- if (g_timer) {
- ecore_timer_del(g_timer);
- g_timer = NULL;
- }
- _quickpanel_ticker_del(data);
-
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void _quickpanel_ticker_detail_delete_cb(void *data, Evas *e,
- Evas_Object *obj,
- void *event_info)
-{
- DBG("ticker dismissed by touching a hide button");
-
- notification_h noti = (notification_h) data;
-
- _quickpanel_ticker_destroy_tickernoti(g_ticker);
- g_ticker = NULL;
-
- if (g_timer) {
- ecore_timer_del(g_timer);
- g_timer = NULL;
- }
-
- retif(noti == NULL, , "Invalid parameter!");
-
- __ticker_only_noti_del(noti);
- notification_free(noti);
-
- if (ticker_list) {
- noti = _get_instant_latest_message_from_list();
- if (noti != NULL) {
- _quickpanel_ticker_create_tickernoti(noti);
- }
- }
-}
-
-static void _quickpanel_ticker_detail_show_cb(void *data, Evas *e,
- Evas_Object *obj,
- void *event_info)
-{
- DBG("");
-}
-
-static Evas_Object *_quickpanel_ticker_create_icon(Evas_Object *parent,
- notification_h noti)
-{
- char *pkgname = NULL;
- char *icon_path = NULL;
- char *icon_default = NULL;
- Evas_Object *icon = NULL;
-
- retif(noti == NULL || parent == NULL, NULL, "Invalid parameter!");
-
- notification_get_pkgname(noti, &pkgname);
- notification_get_image(noti, NOTIFICATION_IMAGE_TYPE_ICON, &icon_path);
-
- icon = quickpanel_service_animated_icon_get(parent, icon_path);
- if (icon == NULL) {
- icon = elm_image_add(parent);
- if (icon_path == NULL
- || (elm_image_file_set(icon, icon_path, NULL) == EINA_FALSE)) {
- icon_default = quickpanel_ui_get_pkginfo_icon(pkgname);
- if (icon_default != NULL) {
- elm_image_file_set(icon, icon_default, NULL);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- free(icon_default);
- } else {
- elm_image_file_set(icon, DEFAULT_ICON, NULL);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- }
- }
- }
-
- return icon;
-}
-
-static inline char *_get_text(notification_h noti, notification_text_type_e text_type) {
- time_t time = 0;
- char *text = NULL;
- char buf[TICKER_MSG_LEN] = {0,};
-
- if (notification_get_time_from_text(noti, text_type, &time) == NOTIFICATION_ERROR_NONE) {
- if ((int)time > 0) {
- quickpanel_noti_get_time(time, buf, sizeof(buf));
- text = buf;
- }
- } else {
- notification_get_text(noti, text_type, &text);
- }
-
- if (text != NULL) {
- return elm_entry_utf8_to_markup(text);
- }
-
- return NULL;
-}
-
-static inline void _strbuf_add(Eina_Strbuf *str_buf, char *text, const char *delimiter) {
- if (text != NULL) {
- if (strlen(text) > 0) {
- if (delimiter != NULL) {
- eina_strbuf_append(str_buf, delimiter);
- }
- eina_strbuf_append(str_buf, text);
- }
- }
-}
-
-static inline void _check_and_add_to_buffer(Eina_Strbuf *str_buf, char *text, int is_check_phonenumber) {
- char buf_number[QP_UTIL_PHONE_NUMBER_MAX_LEN * 2] = { 0, };
-
- if (text != NULL) {
- if (strlen(text) > 0) {
- if (quickpanel_util_is_phone_number(text) && is_check_phonenumber) {
- quickpanel_util_phone_number_tts_make(buf_number, text,
- (QP_UTIL_PHONE_NUMBER_MAX_LEN * 2) - 1);
- eina_strbuf_append(str_buf, buf_number);
- } else {
- eina_strbuf_append(str_buf, text);
- }
- eina_strbuf_append_char(str_buf, '\n');
- }
- }
-}
-
-static char *_quickpanel_ticker_get_label_layout_default(notification_h noti, int is_screenreader, char **str_line1, char **str_line2)
-{
- int len = 0;
- int num_line = 0;
- char *domain = NULL;
- char *dir = NULL;
- char *title_utf8 = NULL;
- char *content_utf8 = NULL;
- char *info1_utf8 = NULL;
- char *info1_sub_utf8 = NULL;
- char *info2_utf8 = NULL;
- char *info2_sub_utf8 = NULL;
- char *event_count_utf8 = NULL;
- const char *tmp = NULL;
- Eina_Strbuf *line1 = NULL;
- Eina_Strbuf *line2 = NULL;
- char buf[TICKER_MSG_LEN] = { 0, };
-
- retif(noti == NULL, NULL, "Invalid parameter!");
-
- notification_get_text_domain(noti, &domain, &dir);
- if (domain != NULL && dir != NULL)
- bindtextdomain(domain, dir);
-
- title_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_TITLE);
- if (_quickpanel_ticker_check_displaying_contents_off(noti) == 1) {
- content_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT_FOR_DISPLAY_OPTION_IS_OFF);
- }
- else {
- content_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT);
- }
- info1_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_INFO_1);
- info1_sub_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1);
- info2_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_INFO_2);
- info2_sub_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2);
- //event_count_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_EVENT_COUNT);
-
- if (is_screenreader == 0) {
- line1 = eina_strbuf_new();
- line2 = eina_strbuf_new();
-
- if (line1 != NULL && line2 != NULL) {
- if (_is_text_exist(title_utf8) && (_is_text_exist(content_utf8)
- || _is_text_exist(event_count_utf8))) {
- _strbuf_add(line1, title_utf8, NULL);
- _strbuf_add(line2, content_utf8, NULL);
- if (_is_text_exist(content_utf8)) {
- _strbuf_add(line2, event_count_utf8, " ");
- } else {
- _strbuf_add(line2, event_count_utf8, "");
- }
- num_line = 2;
- } else if (_is_text_exist(info1_utf8) && (_is_text_exist(content_utf8)
- || _is_text_exist(event_count_utf8))) {
- _strbuf_add(line1, content_utf8, NULL);
- _strbuf_add(line1, event_count_utf8, " ");
- _strbuf_add(line2, info1_utf8, NULL);
- _strbuf_add(line2, info1_sub_utf8, " ");
- num_line = 2;
- } else if (_is_text_exist(info1_utf8) && _is_text_exist(info2_utf8)) {
- _strbuf_add(line1, info1_utf8, NULL);
- _strbuf_add(line1, info1_sub_utf8, " ");
- _strbuf_add(line2, info2_utf8, NULL);
- _strbuf_add(line2, info2_sub_utf8, " ");
- num_line = 2;
- } else if (_is_text_exist(title_utf8)) {
- _strbuf_add(line1, title_utf8, NULL);
- num_line = 1;
- } else if (_is_text_exist(content_utf8)) {
- _strbuf_add(line1, content_utf8, NULL);
- num_line = 1;
- }
-
- if (num_line == 2) {
- tmp = eina_strbuf_string_get(line1);
- if (str_line1 != NULL && tmp != NULL) {
- *str_line1 = strdup(tmp);
- }
-
- tmp = eina_strbuf_string_get(line2);
- if (str_line2 != NULL && tmp != NULL) {
- *str_line2 = strdup(tmp);
- }
- } else {
- tmp = eina_strbuf_string_get(line1);
- if (str_line1 != NULL && tmp != NULL) {
- *str_line1 = strdup(tmp);
- }
- }
-
- eina_strbuf_free(line1);
- eina_strbuf_free(line2);
- } else {
- ERR("failed to allocate string buffer");
- }
- } else {
- if (title_utf8 == NULL
- && event_count_utf8 == NULL
- && content_utf8 == NULL
- && info1_utf8 == NULL
- && info1_sub_utf8 == NULL
- && info2_utf8 == NULL
- && info2_sub_utf8 == NULL) {
- len = 0;
- } else {
- Eina_Strbuf *strbuf = eina_strbuf_new();
- if (strbuf != NULL) {
- eina_strbuf_append(strbuf, _("IDS_QP_BUTTON_NOTIFICATION"));
- eina_strbuf_append_char(strbuf, '\n');
- _check_and_add_to_buffer(strbuf, title_utf8, 1);
- _check_and_add_to_buffer(strbuf, event_count_utf8, 0);
- _check_and_add_to_buffer(strbuf, content_utf8, 1);
- _check_and_add_to_buffer(strbuf, info1_utf8, 1);
- _check_and_add_to_buffer(strbuf, info1_sub_utf8, 1);
- _check_and_add_to_buffer(strbuf, info2_utf8, 1);
- _check_and_add_to_buffer(strbuf, info2_sub_utf8, 1);
-
- if (eina_strbuf_length_get(strbuf) > 0) {
- len = snprintf(buf, sizeof(buf) - 1, "%s", eina_strbuf_string_get(strbuf));
- }
- eina_strbuf_free(strbuf);
- }
- }
- }
-
- if (title_utf8)
- free(title_utf8);
-
- if (content_utf8)
- free(content_utf8);
-
-// if (event_count_utf8)
-// free(event_count_utf8);
-
- if (info1_utf8)
- free(info1_utf8);
-
- if (info1_sub_utf8)
- free(info1_sub_utf8);
-
- if (info2_utf8)
- free(info2_utf8);
-
- if (info2_sub_utf8)
- free(info2_sub_utf8);
-
- if (len > 0)
- return strdup(buf);
-
- return NULL;
-}
-
-static char *_quickpanel_ticker_get_label_layout_single(notification_h noti, int is_screenreader, char **str_line1, char **str_line2)
-{
- int num_line = 0;
- int len = 0;
- char *domain = NULL;
- char *dir = NULL;
- char *title_utf8 = NULL;
- char *content_utf8 = NULL;
- char *info1_utf8 = NULL;
- char *info1_sub_utf8 = NULL;
- char *info2_utf8 = NULL;
- char *info2_sub_utf8 = NULL;
- Eina_Strbuf *line1 = NULL;
- Eina_Strbuf *line2 = NULL;
- const char *tmp = NULL;
- char buf[TICKER_MSG_LEN] = { 0, };
-
- retif(noti == NULL, NULL, "Invalid parameter!");
-
- notification_get_text_domain(noti, &domain, &dir);
- if (domain != NULL && dir != NULL)
- bindtextdomain(domain, dir);
-
- title_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_TITLE);
- if (_quickpanel_ticker_check_displaying_contents_off(noti) == 1) {
- content_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT_FOR_DISPLAY_OPTION_IS_OFF);
- }
- else {
- content_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT);
- }
- info1_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_INFO_1);
- info1_sub_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_1);
- info2_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_INFO_2);
- info2_sub_utf8 = _get_text(noti, NOTIFICATION_TEXT_TYPE_INFO_SUB_2);
-
- if (is_screenreader == 0) {
- line1 = eina_strbuf_new();
- line2 = eina_strbuf_new();
-
- if (line1 != NULL && line2 != NULL) {
- if (_is_text_exist(info1_utf8) && _is_text_exist(content_utf8)) {
- _strbuf_add(line1, content_utf8, NULL);
- _strbuf_add(line2, info1_utf8, NULL);
- _strbuf_add(line2, info1_sub_utf8, " ");
- num_line = 2;
- } else if (_is_text_exist(title_utf8) && _is_text_exist(content_utf8)) {
- _strbuf_add(line1, title_utf8, NULL);
- _strbuf_add(line2, content_utf8, NULL);
- num_line = 2;
- } else if (_is_text_exist(title_utf8)) {
- _strbuf_add(line1, title_utf8, NULL);
- num_line = 1;
- } else if (_is_text_exist(content_utf8)) {
- _strbuf_add(line1, content_utf8, NULL);
- num_line = 1;
- }
-
- if (num_line == 2) {
- tmp = eina_strbuf_string_get(line1);
- if (str_line1 != NULL && tmp != NULL) {
- *str_line1 = strdup(tmp);
- }
-
- tmp = eina_strbuf_string_get(line2);
- if (str_line2 != NULL && tmp != NULL) {
- *str_line2 = strdup(tmp);
- }
- } else {
- tmp = eina_strbuf_string_get(line1);
- if (str_line1 != NULL && tmp != NULL) {
- *str_line1 = strdup(tmp);
- }
- }
-
- eina_strbuf_free(line1);
- eina_strbuf_free(line2);
- } else {
- ERR("failed to allocate string buffer");
- }
- } else {
- if (title_utf8 == NULL
- && content_utf8 == NULL
- && info1_utf8 == NULL
- && info1_sub_utf8 == NULL) {
- len = 0;
- } else {
- Eina_Strbuf *strbuf = eina_strbuf_new();
- if (strbuf != NULL) {
- eina_strbuf_append(strbuf, _("IDS_QP_BUTTON_NOTIFICATION"));
- eina_strbuf_append_char(strbuf, '\n');
- if (info1_utf8 == NULL) {
- _check_and_add_to_buffer(strbuf, title_utf8, 1);
- _check_and_add_to_buffer(strbuf, content_utf8, 1);
- } else {
- if (content_utf8 == NULL) {
- _check_and_add_to_buffer(strbuf, title_utf8, 1);
- }
- _check_and_add_to_buffer(strbuf, content_utf8, 1);
- _check_and_add_to_buffer(strbuf, info1_utf8, 1);
- _check_and_add_to_buffer(strbuf, info1_sub_utf8, 1);
- }
-
- if (eina_strbuf_length_get(strbuf) > 0) {
- len = snprintf(buf, sizeof(buf) - 1, "%s", eina_strbuf_string_get(strbuf));
- }
- eina_strbuf_free(strbuf);
- }
- }
- }
-
- if (title_utf8)
- free(title_utf8);
-
- if (content_utf8)
- free(content_utf8);
-
- if (info1_utf8)
- free(info1_utf8);
-
- if (info1_sub_utf8)
- free(info1_sub_utf8);
-
- if (info2_utf8)
- free(info2_utf8);
-
- if (info2_sub_utf8)
- free(info2_sub_utf8);
-
- if (len > 0)
- return strdup(buf);
-
- return NULL;
-}
-
-static char *_quickpanel_ticker_get_text(notification_h noti, int is_screenreader, char **line1, char **line2)
-{
- char *result = NULL;
- notification_ly_type_e layout;
-
- retif(noti == NULL, NULL, "Invalid parameter!");
-
- notification_get_layout(noti, &layout);
-
- if (_quickpanel_ticker_check_displaying_contents_off(noti) == 1) {
- result = _quickpanel_ticker_get_label_layout_default(noti, is_screenreader, line1, line2);
- } else if (layout == NOTIFICATION_LY_NOTI_EVENT_SINGLE) {
- result = _quickpanel_ticker_get_label_layout_single(noti, is_screenreader, line1, line2);
- } else {
- result = _quickpanel_ticker_get_label_layout_default(noti, is_screenreader, line1, line2);
- }
-
- return result;
-}
-
-static void _noti_hide_cb(void *data, Evas_Object *obj,
- const char *emission, const char *source)
-{
- DBG("");
-
- if (g_timer) {
- ecore_timer_del(g_timer);
- g_timer = NULL;
- }
-
- _quickpanel_ticker_del(data);
-}
-
-static void _quickpanel_ticker_create_tickernoti(void *data)
-{
- Eina_Bool ret = EINA_FALSE;
-
- notification_h noti = (notification_h) data;
- Evas_Object *icon = NULL;
- Evas_Object *detail = NULL;
- Evas_Object *textblock = NULL;
- char *line1 = NULL;
- char *line2 = NULL;
- const char *data_win_height = NULL;
- int noti_height = 0;
- int *is_ticker_executed = NULL;
- //double scale = elm_config_scale_get();
-
- retif(noti == NULL, , "Invalid parameter!");
-
- if (g_ticker != NULL) {
- ERR("Instant notification exists");
- return;
- }
-
- g_ticker = noti_win_add(NULL);
- retif(g_ticker == NULL, , "Failed to add elm tickernoti.");
-
- detail = elm_layout_add(g_ticker);
- if (!detail) {
- ERR("Failed to get detailview.");
- _quickpanel_ticker_del(g_ticker);
- return;
- }
- //
- ret = elm_layout_file_set(detail, TICKER_EDJ, "quickpanel/tickernoti/normal");
- retif(ret == EINA_FALSE, , "failed to load layout");
- //
- elm_layout_theme_set(detail, "tickernoti", "base", "default");
- elm_object_signal_callback_add(detail, "request,hide", "",
- _noti_hide_cb, noti);
- //elm_object_signal_callback_add(detail, "clicked", "",
- // _quickpanel_ticker_clicked_cb, noti);
- evas_object_event_callback_add(detail,
- EVAS_CALLBACK_MOUSE_DOWN, _noti_hide_cb, noti);
-
- data_win_height = (char *)elm_layout_data_get(detail, "height");
- /*if (data_win_height != NULL && elm_config_scale_get() > 0.0)
- noti_height = (int)(elm_config_scale_get()
- * atoi(data_win_height));*/
- evas_object_size_hint_min_set(detail, 1, noti_height);
-
- noti_win_content_set(g_ticker, detail);
-
- icon = _quickpanel_ticker_create_icon(detail, noti);
- if (icon != NULL)
- elm_object_part_content_set(detail, "icon", icon);
-
- g_scroller = elm_scroller_add(detail);
- elm_scroller_policy_set(g_scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scroller_page_size_set(g_scroller, 434, 28);
-
- elm_scroller_movement_block_set(g_scroller, ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL|ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL);
-
- textblock = elm_layout_add(g_ticker);
- if (!textblock) {
- ERR("Failed to get detailview.");
- _quickpanel_ticker_del(g_ticker);
- return;
- }
-
- ret = elm_layout_file_set(textblock, TICKER_EDJ, "quickpanel/tickernoti/text");
- retif(ret == EINA_FALSE, , "failed to load layout");
-
- elm_layout_theme_set(detail, "tickernoti", "base", "default");
-
- elm_object_content_set(g_scroller, textblock);
-
- elm_object_part_content_set(detail, "text_rect", g_scroller);
-
- _quickpanel_ticker_get_text(noti, 0, &line1, &line2);
-
- if (line1 == NULL) {
- if (line2 != NULL) {
- elm_object_part_text_set(textblock, "elm.text", line2);
- SERR("text [%s]", line2);
- free(line2);
- }
- }
- else if (line2 == NULL) {
- elm_object_part_text_set(textblock, "elm.text", line1);
- SERR("text [%s]", line1);
- free(line1);
- }
- else {
- Eina_Strbuf *buffer = eina_strbuf_new();
- eina_strbuf_append(buffer, line1);
- eina_strbuf_append(buffer, "<br/>");
- eina_strbuf_append(buffer, line2);
- elm_object_part_text_set(textblock, "elm.text", eina_strbuf_string_get(buffer));
- SERR("text [%s]", eina_strbuf_string_get(buffer));
- free(line1);
- free(line2);
- eina_strbuf_free(buffer);
- }
-
- /* Use style "default" for detailview mode and
- * "info" for text only mode
- */
- elm_object_style_set(g_ticker, "default");
- evas_object_data_set(g_ticker, E_DATA_IS_TICKERNOTI_CONTENT, detail);
- is_ticker_executed = (int *)malloc(sizeof(int));
- if (is_ticker_executed != NULL) {
- *is_ticker_executed = 0;
- evas_object_data_set(detail, E_DATA_IS_TICKERNOTI_EXECUTED, is_ticker_executed);
- }
-
- SERR("ticker noti is created");
-
- g_timer = ecore_timer_add(QP_TICKER_DURATION,
- _quickpanel_ticker_timeout_cb, noti);
-
- _quickpanel_ticker_win_rotated(data, 0);
-
- evas_object_show(g_ticker);
- SERR("show ticker noti");
-
- evas_object_event_callback_add(g_ticker, EVAS_CALLBACK_SHOW,
- _quickpanel_ticker_detail_show_cb,
- g_ticker);
- evas_object_event_callback_add(g_ticker, EVAS_CALLBACK_DEL,
- _quickpanel_ticker_detail_delete_cb,
- noti);
-}
-
-static void _quickpanel_ticker_destroy_tickernoti(Evas_Object *tickernoti)
-{
- int *is_ticker_executed = NULL;
- Evas_Object *detail = NULL;
-
- retif(tickernoti == NULL, , "Invalid parameter!");
-
- detail = evas_object_data_get(tickernoti, E_DATA_IS_TICKERNOTI_CONTENT);
-
- if (detail != NULL) {
- is_ticker_executed = evas_object_data_get(detail, E_DATA_IS_TICKERNOTI_EXECUTED);
- if (is_ticker_executed != NULL) {
- evas_object_data_del(detail, E_DATA_IS_TICKERNOTI_EXECUTED);
- free(is_ticker_executed);
- }
- evas_object_data_del(detail, E_DATA_IS_TICKERNOTI_CONTENT);
- }
-}
-
-static void _quickpanel_ticker_win_rotated(void *data, int need_hide) {
- int angle = 0;
- retif(data == NULL, ,"data is NULL");
- struct appdata *ad = data;
-
- if (g_ticker != NULL) {
- angle = elm_win_rotation_get(g_ticker);
-
- if (((angle == 0 || angle == 180) && (ad->angle == 90 || ad->angle == 270))
- || ((angle == 90 || angle == 270) && (ad->angle == 0 || ad->angle == 180))) {
- if (need_hide == 1) {
- evas_object_hide(g_ticker);
- }
- }
- }
-}
-
-static void _quickpanel_noti_media_feedback_sound(notification_h noti) {
- int ret = 0, priv_id = 0;
- const char *nsound_path = NULL;
- notification_sound_type_e nsound_type = NOTIFICATION_SOUND_TYPE_NONE;
-#ifdef VCONFKEY_SETAPPL_NOTI_MSG_RINGTONE_PATH_STR
- char *default_msg_tone = NULL;
-#endif
- retif(noti == NULL, ,"op_list is NULL");
-
- notification_get_id(noti, NULL, &priv_id);
- notification_get_sound(noti, &nsound_type, &nsound_path);
- SDBG("notification sound: %d, %s", nsound_type, nsound_path);
-
- switch (nsound_type) {
- case NOTIFICATION_SOUND_TYPE_USER_DATA:
- /*
- * if user data file isn't playable, play the default ringtone
- */
- if (nsound_path != NULL)
- {
- if (quickpanel_media_playable_check(nsound_path) == EINA_TRUE)
- {
- ret = quickpanel_player_play(SOUND_TYPE_NOTIFICATION, nsound_path);
- if (quickpanel_player_is_drm_error(ret) == 1)
- {
- ERR("failed to play notification sound due to DRM problem");
-#ifdef VCONFKEY_SETAPPL_NOTI_MSG_RINGTONE_PATH_STR
- default_msg_tone = vconf_get_str(VCONFKEY_SETAPPL_NOTI_MSG_RINGTONE_PATH_STR);
-
- if (default_msg_tone != NULL) {
- ret = quickpanel_player_play(SOUND_TYPE_NOTIFICATION, default_msg_tone);
- free(default_msg_tone);
- }
-#endif
- }
- if (ret == PLAYER_ERROR_NONE)
- {
- quickpanel_player_id_set(priv_id);
- }else
- {
- ERR("failed to play notification sound");
- }
- break;
- }
- else
- {
- ERR("playable false, So unlock tone");
- feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_UNLOCK);
- }
- }
- else
- {
- ERR("sound path null");
- //feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_UNLOCK);
- }
-
- break;
- case NOTIFICATION_SOUND_TYPE_DEFAULT:
-#ifdef VCONFKEY_SETAPPL_NOTI_MSG_RINGTONE_PATH_STR
- default_msg_tone = vconf_get_str(VCONFKEY_SETAPPL_NOTI_MSG_RINGTONE_PATH_STR);
-
- if (default_msg_tone != NULL) {
- ret = quickpanel_player_play(SOUND_TYPE_NOTIFICATION, default_msg_tone);
- free(default_msg_tone);
- if (ret == PLAYER_ERROR_NONE) {
- quickpanel_player_id_set(priv_id);
- } else {
- ERR("failed to play notification sound(default)");
- }
- } else {
- feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_UNLOCK);
- }
-#else
- feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_UNLOCK);
-#endif
- break;
- case NOTIFICATION_SOUND_TYPE_MAX:
- case NOTIFICATION_SOUND_TYPE_NONE:
- ERR("None type: No sound");
- break;
-
- default:
- ERR("UnKnown type[%d]", (int)nsound_type);
- break;
- }
-}
-
-static void _quickpanel_noti_media_feedback_vibration(notification_h noti) {
- retif(noti == NULL, ,"op_list is NULL");
-
- /* Play Vibration */
- notification_vibration_type_e nvibration_type =
- NOTIFICATION_VIBRATION_TYPE_NONE;
- const char *nvibration_path = NULL;
-
- notification_get_vibration(noti, &nvibration_type, &nvibration_path);
- DBG("notification vibration: %d, %s", nvibration_type, nvibration_path);
- switch (nvibration_type) {
- case NOTIFICATION_VIBRATION_TYPE_USER_DATA:
- case NOTIFICATION_VIBRATION_TYPE_DEFAULT:
- feedback_play_type(FEEDBACK_TYPE_VIBRATION, FEEDBACK_PATTERN_MESSAGE);
- break;
- case NOTIFICATION_VIBRATION_TYPE_MAX:
- case NOTIFICATION_VIBRATION_TYPE_NONE:
- break;
- }
-}
-
-static void _quickpanel_ticker_noti_detailed_changed_cb(void *data, notification_type_e type, notification_op *op_list, int num_op)
-{
- notification_h noti = NULL;
- notification_h noti_from_master = NULL;
- int flags = 0;
- int applist = NOTIFICATION_DISPLAY_APP_ALL;
- int ret = 0;
- int op_type = 0;
- int priv_id = 0;
-
- DBG("_quickpanel_ticker_noti_changed_cb");
-
- retif(op_list == NULL, ,"op_list is NULL");
-
- if (num_op == 1) {
- notification_op_get_data(op_list, NOTIFICATION_OP_DATA_TYPE, &op_type);
- notification_op_get_data(op_list, NOTIFICATION_OP_DATA_PRIV_ID, &priv_id);
- notification_op_get_data(op_list, NOTIFICATION_OP_DATA_NOTI, ¬i_from_master);
- DBG("op_type:%d", op_type);
- DBG("op_priv_id:%d", priv_id);
- DBG("noti:%p", noti_from_master);
-
- if (op_type != NOTIFICATION_OP_INSERT &&
- op_type != NOTIFICATION_OP_UPDATE) {
- return ;
- }
- if (noti_from_master == NULL) {
- ERR("failed to get a notification from master");
- return ;
- }
- if (notification_clone(noti_from_master, ¬i) != NOTIFICATION_ERROR_NONE) {
- ERR("failed to create a cloned notification");
- return ;
- }
-#ifdef QP_EMERGENCY_MODE_ENABLE
- if (quickpanel_emergency_mode_is_on()) {
- if (quickpanel_emergency_mode_notification_filter(noti, 1)) {
- DBG("notification filtered");
- notification_free(noti);
- return ;
- }
- }
-#endif
- }
-
- retif(noti == NULL, ,"noti is NULL");
-
- if (op_type == NOTIFICATION_OP_INSERT || op_type == NOTIFICATION_OP_UPDATE) {
- if (_is_blocking_mode_on() == 0) {
- if (_is_sound_playable() == 1) {
- if (_quickpanel_ticker_check_sound_off(noti) == 0) {
- DBG("try to play notification sound");
- _quickpanel_noti_media_feedback_sound(noti);
- }
- if (quickpanel_is_vib_enabled() == 1
- || quickpanel_is_sound_enabled() == 1) {
- _quickpanel_noti_media_feedback_vibration(noti);
- }
- }
- }
- }
-
- notification_get_display_applist(noti, &applist);
- if (!(applist & NOTIFICATION_DISPLAY_APP_TICKER)) {
- DBG("displaying ticker option is off");
- notification_free(noti);
- return ;
- }
-
- /* Check setting's event notification */
- ret = _quickpanel_ticker_check_ticker_off(noti);
- if (ret == 1) {
- DBG("Disabled tickernoti ret : %d", ret);
- /* delete temporary here only ticker noti display item */
- __ticker_only_noti_del(noti);
- notification_free(noti);
-
- return;
- }
-
- /* Skip if previous ticker is still shown */
-/*
- if (g_ticker != NULL) {
- DBG("delete ticker noti");
- _quickpanel_ticker_del(NULL);
- g_ticker = NULL;
- }
-*/
-
- /* Check tickernoti flag */
- notification_get_property(noti, &flags);
-
- if (flags & NOTIFICATION_PROP_DISABLE_TICKERNOTI) {
- DBG("NOTIFICATION_PROP_DISABLE_TICKERNOTI");
- __ticker_only_noti_del(noti);
- notification_free(noti);
- } else if (applist & NOTIFICATION_DISPLAY_APP_TICKER) {
- if (_is_security_lockscreen_launched()) {
- ERR("lockscreen or sview launched, creating a ticker canceled");
- notification_free(noti);
- return;
- }
-
- if (quickpanel_is_opened()) {
- ERR("quickpanel is opened, tickernoit will be not displayed");
- notification_free(noti);
- return;
- }
-
- ticker_list = eina_list_append(ticker_list, noti);
- /* wait if g_ticker is not NULL */
- if (g_ticker == NULL) {
- _quickpanel_ticker_create_tickernoti(noti);
- }
- if (g_ticker == NULL) {
- ERR("Fail to create tickernoti");
- __ticker_only_noti_del(noti);
- notification_free(noti);
- return;
- }
- }
-}
-
-/*****************************************************************************
- *
- * Util functions
- *
- *****************************************************************************/
-static Eina_Bool _tickernoti_callback_register_idler_cb(void *data)
-{
- struct appdata *ad = data;
- retif(ad == NULL, EINA_FALSE, "Invalid parameter!");
-
- notification_register_detailed_changed_cb(_quickpanel_ticker_noti_detailed_changed_cb, ad);
-
- return EINA_FALSE;
-}
-
-static int quickpanel_ticker_init(void *data)
-{
- struct appdata *ad = (struct appdata *)data;
-
- g_window = ad->win;
-
- /* Register notification changed cb */
- ecore_idler_add(_tickernoti_callback_register_idler_cb, ad);
-
- return QP_OK;
-}
-
-static int quickpanel_ticker_fini(void *data)
-{
- if (g_timer) {
- ecore_timer_del(g_timer);
- g_timer = NULL;
- }
-
- return QP_OK;
-}
-
-static int quickpanel_ticker_enter_hib(void *data)
-{
- return QP_OK;
-}
-
-static int quickpanel_ticker_leave_hib(void *data)
-{
- return QP_OK;
-}
-
-static void quickpanel_ticker_reflesh(void *data)
-{
- retif(data == NULL, , "Invalid parameter!");
-
- if (g_ticker != NULL) {
- _quickpanel_ticker_win_rotated(data, 1);
- }
-}
*
*/
+#include <Elementary.h>
+#include <stdbool.h>
+#include <glib.h>
+
+#include <vconf.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include <notification.h>
+#include <system_settings.h>
+
+#include "quickpanel-ui.h"
+#include "common.h"
+#include "common_uic.h"
#include "pager.h"
#include "pager_common.h"
-#include "dual_sim_view.h"
+#include "list_util.h"
+#include "noti_node.h"
#include "vi_manager.h"
#include "setting_utils.h"
-#include "list_util.h"
#include "settings.h"
#include "settings_view_featured.h"
+#include "noti.h"
+
#ifdef QP_EMERGENCY_MODE_ENABLE
#include "emergency_mode.h"
#endif
-#include "noti.h"
#define FICKUP_TIME_LIMIT 150
#define FICKUP_DISTANCE_LIMIT 160
}
}
-static void _content_resize(int width, int height, const char *signal) {
+static void _content_resize(int width, int height, const char *signal)
+{
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, , "invalid parameter");
Evas_Event_Mouse_Move* ev = event_info;
retif(ev == NULL, , "event_info is NULL");
- if (s_info.flick_available == 0) return ;
+ if (s_info.flick_available == 0) {
+ return;
+ }
if (ev->cur.output.y > ev->prev.output.y) {
s_info.flick_available = 0;
- return ;
+ return;
}
if (abs(ev->cur.output.x - ev->prev.output.x) > 40) {
s_info.flick_available = 0;
- return ;
+ return;
}
if (ev->timestamp - s_info.flick_time > FICKUP_TIME_LIMIT) {
s_info.flick_available = 0;
- return ;
+ return;
}
delta_y = s_info.flick_press_y - ev->cur.output.y;
if (delta_y > FICKUP_DISTANCE_LIMIT) {
ERR("closed by flick up base area");
- quickpanel_close_quickpanel(false, 0);
+ quickpanel_uic_close_quickpanel(false, 0);
}
}
-static int _up_cb(void *event_info, void *data) {
+static int _up_cb(void *event_info, void *data)
+{
quickpanel_page_scroll_hold_set(EINA_TRUE);
quickpanel_page_scroll_freeze_set(EINA_FALSE);
return QP_OK;
}
-static int _down_cb(void *event_info, void *data) {
+static int _down_cb(void *event_info, void *data)
+{
int x = 0, y = 0;
static int settings_y = -1, settings_h = -1;
Evas_Object *obj_settings = NULL;
struct appdata *ad = quickpanel_get_app_data();
if (ad != NULL && ad->ly != NULL) {
- obj_settings = qp_setting_box_get(ad->ly);
+ obj_settings = quickpanel_setting_box_get(ad->ly);
if (obj_settings != NULL) {
evas_object_geometry_get(obj_settings, NULL, &settings_y, NULL, &settings_h);
}
quickpanel_page_get_touched_pos(&x, &y);
if (y >= settings_y && y <= settings_y + settings_h) {
- if (qp_settings_is_in_left_edge() == EINA_TRUE) {
+ if (quickpanel_settings_is_in_left_edge() == EINA_TRUE) {
quickpanel_page_scroll_hold_set(EINA_FALSE);
}
} else {
return QP_OK;
}
-static int _scroll_start_cb(void *event_info, void *data) {
+static int _scroll_start_cb(void *event_info, void *data)
+{
quickpanel_vim_set_state_suspend();
return QP_OK;
}
-static int _scroll_done_cb(void *event_info, void *data) {
+static int _scroll_done_cb(void *event_info, void *data)
+{
quickpanel_vim_set_state_ready();
return QP_OK;
}
-static int _page_changed_cb(void *event_info, void *data) {
- qp_setting_view_featured_initial_focus_set();
+static int _page_changed_cb(void *event_info, void *data)
+{
+ quickpanel_setting_view_featured_initial_focus_set();
return QP_OK;
}
-HAPI Evas_Object *quickpanel_page_base_create(Evas_Object *parent, void *data) {
+HAPI Evas_Object *quickpanel_page_base_create(Evas_Object *parent, void *data)
+{
Evas_Object *mapbuf = NULL;
Evas_Object *view = NULL;
retif(parent == NULL, NULL, "invalid parameter");
- if (s_info.view != NULL)
+ if (s_info.view != NULL) {
return s_info.view;
+ }
mapbuf = elm_mapbuf_add(parent);
elm_mapbuf_enabled_set(mapbuf, EINA_FALSE);
evas_object_size_hint_weight_set(mapbuf, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(mapbuf, EVAS_HINT_FILL, EVAS_HINT_FILL);
- view = quickpanel_ui_load_edj(mapbuf, DEFAULT_EDJ, "quickpanel/base", 0);
+ view = quickpanel_uic_load_edj(mapbuf, DEFAULT_EDJ, "quickpanel/base", 0);
retif(view == NULL, NULL, "failed to load base layout");
Evas_Object *scroller = elm_scroller_add(parent);
Evas_Object *bg_touch = elm_bg_add(view);
if (bg_touch != NULL) {
- //evas_object_color_set(bg_touch, 255, 255, 255, 250);
- evas_object_color_set(bg_touch, 0, 0, 0, 0);
+ evas_object_color_set(bg_touch, 255, 255, 255, 250);
+ //evas_object_color_set(bg_touch, 0, 0, 0, 0);
evas_object_event_callback_add(bg_touch,
EVAS_CALLBACK_MOUSE_DOWN, _flick_mouse_down_cb, NULL);
evas_object_event_callback_add(bg_touch,
return s_info.mapbuf;
}
-HAPI Evas_Object *quickpanel_page_base_view_get(const char *view_name) {
+HAPI Evas_Object *quickpanel_page_base_view_get(const char *view_name)
+{
retif(view_name == NULL, NULL, "invalid parameter");
if (strcmp(view_name, "LAYOUT") == 0) {
return NULL;
}
-HAPI void quickpanel_page_base_focus_allow_set(Eina_Bool is_enable) {
+HAPI void quickpanel_page_base_focus_allow_set(Eina_Bool is_enable)
+{
elm_object_tree_focus_allow_set(s_info.mapbuf, is_enable);
}
#ifndef __QUICKPANEL_PAGE_BASE_H__
#define __QUICKPANEL_PAGE_BASE_H__
-#include "quickpanel-ui.h"
-#include "common.h"
-
-Evas_Object *quickpanel_page_base_create(Evas_Object *parent, void *data);
-Evas_Object *quickpanel_page_base_view_get(const char *view_name);
-void quickpanel_page_base_focus_allow_set(Eina_Bool is_enable);
+extern Evas_Object *quickpanel_page_base_create(Evas_Object *parent, void *data);
+extern Evas_Object *quickpanel_page_base_view_get(const char *view_name);
+extern void quickpanel_page_base_focus_allow_set(Eina_Bool is_enable);
#endif
*
*/
+#include <Elementary.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
+#include "quickpanel-ui.h"
+#include "common_uic.h"
+#include "common.h"
#include "pager.h"
#include "pager_common.h"
+#include "list_util.h"
#include "vi_manager.h"
#include "settings_gridbox.h"
#include "quickpanel_def.h"
}
}
-static void _content_resize(int width, int height, const char *signal) {
+static void _content_resize(int width, int height, const char *signal)
+{
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, , "invalid parameter");
}
}
-static int _up_cb(void *event_info, void *data) {
+static int _up_cb(void *event_info, void *data)
+{
if (s_info.is_scroll_freezed == 0) {
quickpanel_page_scroll_hold_set(EINA_TRUE);
}
return QP_OK;
}
-static int _down_cb(void *event_info, void *data) {
+static int _down_cb(void *event_info, void *data)
+{
if (s_info.is_scroll_freezed == 0) {
quickpanel_page_scroll_hold_set(EINA_FALSE);
}
return QP_OK;
}
-static int _scroll_start_cb(void *event_info, void *data) {
+static int _scroll_start_cb(void *event_info, void *data)
+{
return QP_OK;
}
-static int _scroll_done_cb(void *event_info, void *data) {
+static int _scroll_done_cb(void *event_info, void *data)
+{
quickpanel_vim_set_state_suspend();
return QP_OK;
{
DBG("deleted view");
if (s_info.view_active_buttons != NULL) {
- settings_gridbox_remove(s_info.view_active_buttons);
+ quickpanel_settings_gridbox_remove(s_info.view_active_buttons);
}
if (s_info.view_reserved_buttons != NULL) {
- settings_gridbox_remove(s_info.view_reserved_buttons);
+ quickpanel_settings_gridbox_remove(s_info.view_reserved_buttons);
}
if (s_info.view_section_2 != NULL) {
evas_object_del(s_info.view_section_2);
s_info.view_reserved_buttons = NULL;
}
-HAPI Evas_Object *quickpanel_page_edit_create(Evas_Object *parent, void *data) {
+HAPI Evas_Object *quickpanel_page_edit_create(Evas_Object *parent, void *data)
+{
Evas_Object *mapbuf = NULL;
Evas_Object *view = NULL;
Evas_Object *scroller = NULL;
elm_mapbuf_enabled_set(mapbuf, EINA_FALSE);
elm_mapbuf_smooth_set(mapbuf, EINA_FALSE);
- view = quickpanel_ui_load_edj(mapbuf, DEFAULT_EDJ, "quickpanel/page_edit_base", 0);
+ view = quickpanel_uic_load_edj(mapbuf, DEFAULT_EDJ, "quickpanel/page_edit_base", 0);
retif(view == NULL, NULL, "failed to load editing layout");
scroller = elm_scroller_add(view);
evas_object_size_hint_fill_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(scroller);
- layout = quickpanel_ui_load_edj(scroller, DEFAULT_EDJ, "quickpanel/page_edit", 0);
+ layout = quickpanel_uic_load_edj(scroller, DEFAULT_EDJ, "quickpanel/page_edit", 0);
retif(layout == NULL, NULL, "failed to load editing layout");
quickpanel_page_handler_set(mapbuf, &page_handler);
return s_info.mapbuf;
}
-HAPI Evas_Object *quickpanel_page_edit_view_get(const char *view_name) {
+HAPI Evas_Object *quickpanel_page_edit_view_get(const char *view_name)
+{
retif(view_name == NULL, NULL, "invalid parameter");
if (strcmp(view_name, "VIEW") == 0) {
return NULL;
}
-HAPI void quickpanel_page_edit_view_set(const char *view_name, Evas_Object *view) {
+HAPI void quickpanel_page_edit_view_set(const char *view_name, Evas_Object *view)
+{
retif(s_info.view == NULL, , "invalid parameter");
retif(s_info.layout == NULL, , "invalid parameter");
retif(view_name == NULL, , "invalid parameter");
}
}
-HAPI void quickpanel_page_edit_freeze_set(Eina_Bool is_freeze) {
+HAPI void quickpanel_page_edit_freeze_set(Eina_Bool is_freeze)
+{
if (is_freeze == EINA_TRUE) {
s_info.is_scroll_freezed = 1;
quickpanel_page_scroll_freeze_set(EINA_TRUE);
}
}
-HAPI Eina_Bool quickpanel_page_edit_is_page_showed(void) {
+HAPI Eina_Bool quickpanel_page_edit_is_page_showed(void)
+{
if (quickpanel_pager_current_page_get() == PAGE_IDX_EDITING) {
return EINA_TRUE;
}
#ifndef __QUICKPANEL_PAGE_EDIT_H__
#define __QUICKPANEL_PAGE_EDIT_H__
-#include "quickpanel-ui.h"
-#include "common.h"
-
-Evas_Object *quickpanel_page_edit_create(Evas_Object *parent, void *data);
-Evas_Object *quickpanel_page_edit_view_get(const char *view_name);
-void quickpanel_page_edit_view_set(const char *view_name, Evas_Object *view);
-void quickpanel_page_edit_freeze_set(Eina_Bool is_freeze);
-Eina_Bool quickpanel_page_edit_is_page_showed(void);
+extern Evas_Object *quickpanel_page_edit_create(Evas_Object *parent, void *data);
+extern Evas_Object *quickpanel_page_edit_view_get(const char *view_name);
+extern void quickpanel_page_edit_view_set(const char *view_name, Evas_Object *view);
+extern void quickpanel_page_edit_freeze_set(Eina_Bool is_freeze);
+extern Eina_Bool quickpanel_page_edit_is_page_showed(void);
#endif
*
*/
+#include <Elementary.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
+#include "quickpanel-ui.h"
+#include "common_uic.h"
+#include "common.h"
#include "pager.h"
#include "pager_common.h"
+#include "list_util.h"
#include "vi_manager.h"
#include "settings_gridbox.h"
#include "settings_view_all.h"
}
}
-static void _content_resize(int width, int height, const char *signal) {
+static void _content_resize(int width, int height, const char *signal)
+{
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, , "invalid parameter");
}
}
-static int _up_cb(void *event_info, void *data) {
+static int _up_cb(void *event_info, void *data)
+{
if (s_info.is_scroll_freezed == 0) {
quickpanel_page_scroll_hold_set(EINA_TRUE);
}
return QP_OK;
}
-static int _down_cb(void *event_info, void *data) {
+static int _down_cb(void *event_info, void *data)
+{
if (s_info.is_scroll_freezed == 0) {
quickpanel_page_scroll_hold_set(EINA_FALSE);
}
return QP_OK;
}
-static int _scroll_start_cb(void *event_info, void *data) {
+static int _scroll_start_cb(void *event_info, void *data)
+{
return QP_OK;
}
-static int _scroll_done_cb(void *event_info, void *data) {
+static int _scroll_done_cb(void *event_info, void *data)
+{
quickpanel_vim_set_state_suspend();
return QP_OK;
}
-static int _page_changed_cb(void *event_info, void *data) {
+static int _page_changed_cb(void *event_info, void *data)
+{
return QP_OK;
}
{
DBG("deleted view");
if (s_info.view_active_buttons != NULL) {
- settings_gridbox_remove(s_info.view_active_buttons);
+ quickpanel_settings_gridbox_remove(s_info.view_active_buttons);
}
if (s_info.view_section_1 != NULL) {
evas_object_del(s_info.view_section_1);
s_info.view_active_buttons = NULL;
}
-HAPI Evas_Object *quickpanel_page_setting_all_create(Evas_Object *parent, void *data) {
+HAPI Evas_Object *quickpanel_page_setting_all_create(Evas_Object *parent, void *data)
+{
Evas_Object *mapbuf = NULL;
Evas_Object *view = NULL;
Evas_Object *scroller = NULL;
elm_mapbuf_enabled_set(mapbuf, EINA_FALSE);
elm_mapbuf_smooth_set(mapbuf, EINA_FALSE);
- view = quickpanel_ui_load_edj(mapbuf, DEFAULT_EDJ, "quickpanel/page_setting_all_base", 0);
+ view = quickpanel_uic_load_edj(mapbuf, DEFAULT_EDJ, "quickpanel/page_setting_all_base", 0);
retif(view == NULL, NULL, "failed to load editing layout");
scroller = elm_scroller_add(view);
evas_object_size_hint_fill_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(scroller);
- layout = quickpanel_ui_load_edj(scroller, DEFAULT_EDJ, "quickpanel/page_setting_all", 0);
+ layout = quickpanel_uic_load_edj(scroller, DEFAULT_EDJ, "quickpanel/page_setting_all", 0);
retif(layout == NULL, NULL, "failed to load editing layout");
quickpanel_page_handler_set(mapbuf, &page_handler);
return s_info.mapbuf;
}
-HAPI Evas_Object *quickpanel_page_setting_all_view_get(const char *view_name) {
+HAPI Evas_Object *quickpanel_page_setting_all_view_get(const char *view_name)
+{
retif(view_name == NULL, NULL, "invalid parameter");
if (strcmp(view_name, "VIEW") == 0) {
return NULL;
}
-HAPI void quickpanel_page_setting_all_view_set(const char *view_name, Evas_Object *view) {
+HAPI void quickpanel_page_setting_all_view_set(const char *view_name, Evas_Object *view)
+{
retif(s_info.view == NULL, , "invalid parameter");
retif(s_info.layout == NULL, , "invalid parameter");
retif(view_name == NULL, , "invalid parameter");
}
}
-HAPI void quickpanel_page_setting_all_freeze_set(Eina_Bool is_freeze) {
+HAPI void quickpanel_page_setting_all_freeze_set(Eina_Bool is_freeze)
+{
if (is_freeze == EINA_TRUE) {
s_info.is_scroll_freezed = 1;
quickpanel_page_scroll_freeze_set(EINA_TRUE);
}
}
-HAPI Eina_Bool quickpanel_page_setting_all_is_page_showed(void) {
+HAPI Eina_Bool quickpanel_page_setting_all_is_page_showed(void)
+{
if (quickpanel_pager_current_page_get() == PAGE_IDX_EDITING) {
return EINA_TRUE;
}
return EINA_FALSE;
}
-HAPI void quickpanel_page_setting_all_focus_allow_set(Eina_Bool is_enable) {
+HAPI void quickpanel_page_setting_all_focus_allow_set(Eina_Bool is_enable)
+{
elm_object_tree_focus_allow_set(s_info.mapbuf, is_enable);
}
#ifndef __QUICKPANEL_PAGE_SETTING_ALL_H__
#define __QUICKPANEL_PAGE_SETTING_ALL_H__
-#include "quickpanel-ui.h"
-#include "common.h"
-Evas_Object *quickpanel_page_setting_all_create(Evas_Object *parent, void *data);
-Evas_Object *quickpanel_page_setting_all_view_get(const char *view_name);
-void quickpanel_page_setting_all_view_set(const char *view_name, Evas_Object *view);
-void quickpanel_page_setting_all_freeze_set(Eina_Bool is_freeze);
-Eina_Bool quickpanel_page_setting_all_is_page_showed(void);
-void quickpanel_page_setting_all_focus_allow_set(Eina_Bool is_enable);
+extern Evas_Object *quickpanel_page_setting_all_create(Evas_Object *parent, void *data);
+extern Evas_Object *quickpanel_page_setting_all_view_get(const char *view_name);
+extern void quickpanel_page_setting_all_view_set(const char *view_name, Evas_Object *view);
+extern void quickpanel_page_setting_all_freeze_set(Eina_Bool is_freeze);
+extern Eina_Bool quickpanel_page_setting_all_is_page_showed(void);
+extern void quickpanel_page_setting_all_focus_allow_set(Eina_Bool is_enable);
#endif
*
*/
+#include <Elementary.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
+#include "common.h"
#include "pager.h"
#include "pager_common.h"
+#include "quickpanel-ui.h"
#include "quickpanel_def.h"
static int _init(void *data);
.scroll_start_from = -1,
};
-static inline void _set_state(qp_pager_state_type state) {
+static inline void _set_state(qp_pager_state_type state)
+{
if (state == PAGER_STATE_IDLE) {
_page_mapbuf_enable_set(s_info.view_box, 0);
} else if (state == PAGER_STATE_WILL_SCROLL || state == PAGER_STATE_SCROLLING) {
s_info.state = state;
}
-static inline qp_pager_state_type _get_state(void) {
+static inline qp_pager_state_type _get_state(void)
+{
return s_info.state;
}
-static inline int _last_page_get(void) {
+static inline int _last_page_get(void)
+{
return s_info.last_page;
}
-static inline void _page_show(int page_index) {
+static inline void _page_show(int page_index)
+{
elm_scroller_page_show(s_info.view_scroller, page_index, 0);
s_info.last_page = page_index;
}
return ECORE_CALLBACK_CANCEL;
}
-static inline void _page_adjust(int is_use_timer) {
+static inline void _page_adjust(int is_use_timer)
+{
if (s_info.timer_scroll_adj != NULL) {
ecore_timer_del(s_info.timer_scroll_adj);
s_info.timer_scroll_adj = NULL;
}
if (is_use_timer) {
- s_info.timer_scroll_adj =
- ecore_timer_add(0.1, _page_adjust_timer_cb, NULL);
+ s_info.timer_scroll_adj = ecore_timer_add(0.1, _page_adjust_timer_cb, NULL);
} else {
_page_adjust_timer_cb(NULL);
}
}
-static inline int _current_page_index_get(void) {
+static inline int _current_page_index_get(void)
+{
int index = 0;
elm_scroller_current_page_get(s_info.view_scroller, &index, NULL);
return index;
}
-static inline Evas_Object *_current_page_get(void) {
+static inline Evas_Object *_current_page_get(void)
+{
int index = 0;
int list_cnt = 0;
Eina_List *list = NULL;
SDBG("mapbuf enable:%d", is_enable);
- EINA_LIST_FOREACH_SAFE(list, l, l_next, item)
- {
+ EINA_LIST_FOREACH_SAFE(list, l, l_next, item) {
page_handler = quickpanel_page_handler_get(item);
if (page_handler != NULL) {
if (page_handler->mapbuf_enable_set != NULL) {
}
#endif
-static inline void _page_mapbuf_enable_set(Evas_Object *box, int is_enable) {
+static inline void _page_mapbuf_enable_set(Evas_Object *box, int is_enable)
+{
#if ENABLE_MAPBUF
ecore_job_add(_mapbuf_job_cb, (void *)is_enable);
#endif
}
-static inline void _page_resize(Evas_Object *box, int width, int height, const char *signal) {
+static inline void _page_resize(Evas_Object *box, int width, int height, const char *signal)
+{
Eina_List *list = NULL;
Eina_List *l;
Eina_List *l_next;
list = elm_box_children_get(box);
retif(list == NULL, , "empty box");
- EINA_LIST_FOREACH_SAFE(list, l, l_next, item)
- {
+ EINA_LIST_FOREACH_SAFE(list, l, l_next, item) {
page_handler = quickpanel_page_handler_get(item);
if (page_handler != NULL) {
eina_list_free(list);
}
-static inline void _page_rotation(void *data) {
+static inline void _page_rotation(void *data)
+{
struct appdata *ad = (struct appdata *)data;
retif(ad == NULL, , "Invalid parameter!");
- if (ad->angle == 90 || ad->angle == 270)
- {
+ if (ad->angle == 90 || ad->angle == 270) {
_page_resize(s_info.view_box, ad->win_height, ad->win_width - ELM_SCALE_SIZE((QP_DATE_H + QP_HANDLE_H)), "landscape");
- }
- else
- {
+ } else {
_page_resize(s_info.view_box, ad->win_width, ad->win_height - ELM_SCALE_SIZE((QP_DATE_H + QP_HANDLE_H)), "portrait");
}
}
-static Eina_Bool _up_cb(void *data, int type, void *event) {
+static Eina_Bool _up_cb(void *data, int type, void *event)
+{
Evas_Object *page = _current_page_get();
QP_Page_Handler *page_handler = NULL;
retif(page == NULL, EINA_FALSE, "Invalid parameter!");
return EINA_TRUE;
}
-static Eina_Bool _down_cb(void *data, int type, void *event) {
+static Eina_Bool _down_cb(void *data, int type, void *event)
+{
Evas_Object *page = _current_page_get();
QP_Page_Handler *page_handler = NULL;
retif(page == NULL, EINA_FALSE, "Invalid parameter!");
return EINA_TRUE;
}
-static void _scroller_anim_start_cb(void *data, Evas_Object *scroller,
- void *event_info) {
+static void _scroller_anim_start_cb(void *data, Evas_Object *scroller, void *event_info)
+{
Evas_Object *page = _current_page_get();
QP_Page_Handler *page_handler = NULL;
retif(page == NULL, , "Invalid parameter!");
}
}
-static void _scroller_anim_stop_cb(void *data, Evas_Object *scroller,
- void *event_info) {
+static void _scroller_anim_stop_cb(void *data, Evas_Object *scroller, void *event_info)
+{
Evas_Object *page = _current_page_get();
QP_Page_Handler *page_handler = NULL;
retif(page == NULL, , "Invalid parameter!");
}
}
-static void _scroller_edge_cb(void *data, Evas_Object *scroller,
- void *event_info) {
+static void _scroller_edge_cb(void *data, Evas_Object *scroller, void *event_info)
+{
if (_get_state() == PAGER_STATE_WILL_SCROLL
|| _get_state() == PAGER_STATE_SCROLLING) {
_set_state(PAGER_STATE_FINISHED_SCROLLING);
}
}
-static void _scroller_scroll_cb(void *data, Evas_Object *scroller,
- void *event_info) {
+static void _scroller_scroll_cb(void *data, Evas_Object *scroller, void *event_info)
+{
s_info.is_in_edge = 0;
}
}
static void _scroller_resized_cb(void *data, Evas * e,
- Evas_Object * obj, void *event_info)
+ Evas_Object * obj, void *event_info)
{
_page_show(PAGE_IDX_MAIN);
- evas_object_event_callback_del(s_info.view_scroller,
- EVAS_CALLBACK_RESIZE, _scroller_resized_cb);
+ evas_object_event_callback_del(s_info.view_scroller, EVAS_CALLBACK_RESIZE, _scroller_resized_cb);
}
-HAPI Evas_Object *quickpanel_pager_new(Evas_Object *parent, void *data) {
+HAPI Evas_Object *quickpanel_pager_new(Evas_Object *parent, void *data)
+{
Evas_Object *box = NULL;
Evas_Object *scroller = NULL;
retif(parent == NULL, NULL, "failed to memory allocation");
- if (s_info.view_scroller != NULL && s_info.view_box != NULL)
+ if (s_info.view_scroller != NULL && s_info.view_box != NULL) {
return s_info.view_scroller;
+ }
scroller = elm_scroller_add(parent);
retif(!scroller, NULL, "fail to add scroller");
s_info.view_scroller = scroller;
s_info.view_box = box;
- evas_object_event_callback_add(s_info.view_scroller, EVAS_CALLBACK_RESIZE,
- _scroller_resized_cb, NULL);
+ evas_object_event_callback_add(s_info.view_scroller, EVAS_CALLBACK_RESIZE, _scroller_resized_cb, NULL);
return scroller;
}
-HAPI void quickpanel_pager_destroy(void) {
+HAPI void quickpanel_pager_destroy(void)
+{
if (s_info.view_box != NULL) {
elm_box_unpack_all(s_info.view_box);
evas_object_del(s_info.view_box);
}
}
-HAPI Evas_Object *quickpanel_pager_view_get(const char *view_name) {
+HAPI Evas_Object *quickpanel_pager_view_get(const char *view_name)
+{
retif(view_name == NULL, NULL, "invalid parameter");
if (strcmp(view_name, "SCROLLER") == 0) {
return s_info.view_scroller;
-
} else if (strcmp(view_name, "BOX") == 0) {
return s_info.view_box;
}
return NULL;
}
-HAPI int quickpanel_pager_current_page_get(void) {
+HAPI int quickpanel_pager_current_page_get(void)
+{
int index = 0;
elm_scroller_current_page_get(s_info.view_scroller, &index, NULL);
return index;
}
-HAPI void quickpanel_pager_page_set(int page_index, int need_resize) {
+HAPI void quickpanel_pager_page_set(int page_index, int need_resize)
+{
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, , "invalid parameter");
evas_object_show(s_info.view_scroller);
}
-HAPI void quickpanel_pager_mapbuf_set(int is_enable) {
+HAPI void quickpanel_pager_mapbuf_set(int is_enable)
+{
_page_mapbuf_enable_set(s_info.view_box, is_enable);
}
#ifndef __QUICKPANEL_PAGER_H__
#define __QUICKPANEL_PAGER_H__
-#include "quickpanel-ui.h"
-#include "common.h"
typedef struct _QP_Page_Handler {
int status;
char *name;
/* func */
- void (*content_resize) (int width, int height, const char *signal);
- void (*mapbuf_enable_set) (Eina_Bool is_enable);
- int (*down_cb) (void *, void *);
- int (*move_cb) (void *, void *);
- int (*up_cb) (void *, void *);
- int (*scroll_start_cb) (void *, void *);
- int (*scroll_done_cb) (void *, void *);
- int (*page_changed_cb) (void *, void *);
+ void (*content_resize)(int width, int height, const char *signal);
+ void (*mapbuf_enable_set)(Eina_Bool is_enable);
+ int (*down_cb)(void *, void *);
+ int (*move_cb)(void *, void *);
+ int (*up_cb)(void *, void *);
+ int (*scroll_start_cb)(void *, void *);
+ int (*scroll_done_cb)(void *, void *);
+ int (*page_changed_cb)(void *, void *);
} QP_Page_Handler;
typedef enum _qp_pager_page_type {
PAGE_IDX_EDITING, // Not supported
} qp_pager_page_type;
-Evas_Object *quickpanel_pager_new(Evas_Object *parent, void *data);
-void quickpanel_pager_destroy(void);
-Evas_Object *quickpanel_pager_view_get(const char *view_name);
-int quickpanel_pager_current_page_get(void);
-void quickpanel_pager_page_set(int page_index, int need_resize);
-void quickpanel_pager_mapbuf_set(int is_enable);
+extern Evas_Object *quickpanel_pager_new(Evas_Object *parent, void *data);
+extern void quickpanel_pager_destroy(void);
+extern Evas_Object *quickpanel_pager_view_get(const char *view_name);
+extern int quickpanel_pager_current_page_get(void);
+extern void quickpanel_pager_page_set(int page_index, int need_resize);
+extern void quickpanel_pager_mapbuf_set(int is_enable);
#endif
*
*/
+#include <Elementary.h>
+
+#if defined(WINSYS_X11)
+#include <Ecore_X.h>
+#endif
+
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
+#include "quickpanel-ui.h"
+#include "common.h"
#include "pager.h"
#include "datetime.h"
}
}
-HAPI void quickpanel_page_handler_set(Evas_Object *page, QP_Page_Handler *handler) {
+HAPI void quickpanel_page_handler_set(Evas_Object *page, QP_Page_Handler *handler)
+{
retif(page == NULL, , "invalid parameter");
evas_object_data_set(page, EVAS_DATA_PAGE_HANDLER, handler);
}
-HAPI QP_Page_Handler *quickpanel_page_handler_get(Evas_Object *page) {
+HAPI QP_Page_Handler *quickpanel_page_handler_get(Evas_Object *page)
+{
retif(page == NULL, NULL, "invalid parameter");
return evas_object_data_get(page, EVAS_DATA_PAGE_HANDLER);
}
-HAPI void quickpanel_page_scroll_freeze_set(Eina_Bool is_freeze) {
+HAPI void quickpanel_page_scroll_freeze_set(Eina_Bool is_freeze)
+{
Evas_Object *pager_scroller = quickpanel_pager_view_get("SCROLLER");
retif(pager_scroller == NULL, , "pager null");
}
}
-HAPI void quickpanel_page_scroll_hold_set(Eina_Bool is_freeze) {
+HAPI void quickpanel_page_scroll_hold_set(Eina_Bool is_freeze)
+{
Evas_Object *pager_scroller = quickpanel_pager_view_get("SCROLLER");
retif(pager_scroller == NULL, , "pager null");
}
}
-HAPI void quickpanel_page_get_recoordinated_pos(int local_x, int local_y, int *x, int *y) {
+HAPI void quickpanel_page_get_recoordinated_pos(int local_x, int local_y, int *x, int *y)
+{
int rot_x = 0;
int rot_y = 0;
int width = 0;
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, , "invalid parameter");
- ecore_x_window_size_get(ecore_x_window_root_first_get(), &width, &height);
+ elm_win_screen_size_get(ad->win, NULL, NULL, &width, &height);
switch (ad->angle) {
case 0:
break;
}
- if (x != NULL)
+ if (x != NULL) {
*x = rot_x;
+ }
- if (y != NULL)
+ if (y != NULL) {
*y = rot_y;
+ }
}
-HAPI void quickpanel_page_get_touched_pos(int *x, int *y) {
+HAPI void quickpanel_page_get_touched_pos(int *x, int *y)
+{
int rot_x = 0;
int rot_y = 0;
- int width = 0;
- int height = 0;
int local_x = 0;
int local_y = 0;
retif(x == NULL && y == NULL, , "invalid parameter");
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, , "invalid parameter");
+#if defined(WINSYS_X11)
ecore_x_pointer_last_xy_get(&local_x, &local_y);
- ecore_x_window_size_get(ecore_x_window_root_first_get(), &width, &height);
+#endif
quickpanel_page_get_recoordinated_pos(local_x, local_y, &rot_x, &rot_y);
- if (x != NULL)
+ if (x != NULL) {
*x = rot_x;
+ }
- if (y != NULL)
+ if (y != NULL) {
*y = rot_y;
+ }
}
-HAPI void quickpanel_page_editing_icon_visible_status_update(void) {
+HAPI void quickpanel_page_editing_icon_visible_status_update(void)
+{
int is_visible = 0;
- struct appdata *ad = quickpanel_get_app_data();
+ struct appdata *ad;
+
+ ad = quickpanel_get_app_data();
retif(ad == NULL, , "invalid parameter");
if (quickpanel_pager_current_page_get() == PAGE_IDX_EDITING) {
}
quickpanel_datetime_editing_icon_visibility_set(is_visible);
-}
\ No newline at end of file
+}
#ifndef __QUICKPANEL_PAGER_COMMON_H__
#define __QUICKPANEL_PAGER_COMMON_H__
-#include "quickpanel-ui.h"
-#include "common.h"
-#include "pager.h"
-
-void quickpanel_page_handler_set(Evas_Object *page, QP_Page_Handler *handler);
-QP_Page_Handler *quickpanel_page_handler_get(Evas_Object *page);
-void quickpanel_page_scroll_hold_set(Eina_Bool is_freeze);
-void quickpanel_page_scroll_freeze_set(Eina_Bool is_freeze);
-void quickpanel_page_get_touched_pos(int *x, int *y);
-void quickpanel_page_get_recoordinated_pos(int local_x, int local_y, int *x, int *y);
-void quickpanel_page_editing_icon_visible_status_update(void);
+extern void quickpanel_page_handler_set(Evas_Object *page, QP_Page_Handler *handler);
+extern QP_Page_Handler *quickpanel_page_handler_get(Evas_Object *page);
+extern void quickpanel_page_scroll_hold_set(Eina_Bool is_freeze);
+extern void quickpanel_page_scroll_freeze_set(Eina_Bool is_freeze);
+extern void quickpanel_page_get_touched_pos(int *x, int *y);
+extern void quickpanel_page_get_recoordinated_pos(int local_x, int local_y, int *x, int *y);
+extern void quickpanel_page_editing_icon_visible_status_update(void);
#endif
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
+
#include <iniparser.h>
+#include <Elementary.h>
+
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
#include "preference.h"
#include "common.h"
#include "quickpanel-ui.h"
#define FILE_PREFERENCE DATADIR_RW"/preference.ini"
-static const char *_default_preference_get(const char *key) {
+static const char *_default_preference_get(const char *key)
+{
retif(key == NULL, NULL, "invalid parameter");
if (strcmp(key, PREF_BRIGHTNESS) == 0) {
return "OFF";
} else if (strcmp(key, PREF_QUICKSETTING_ORDER) == 0){
- return "wifi,mobile_data,sound,assisitvelight,bluetooth,u_power_saving,rotate,gps,wifi_hotspot,flightmode";
- } else if (strcmp(key, PREF_QUICKSETTING_FEATURED_NUM) == 0){
+ return "wifi,gps,sound,rotate,bluetooth,mobile_data,assisitvelight,u_power_saving,wifi_hotspot,flightmode";
+ } else if (strcmp(key, PREF_QUICKSETTING_FEATURED_NUM) == 0){
return "11";
} else if (strcmp(key, PREF_SHORTCUT_ENABLE) == 0){
return "ON";
return NULL;
}
-static inline int _key_validation_check(const char *key) {
+static inline int _key_validation_check(const char *key)
+{
if (strcmp(key, PREF_BRIGHTNESS) == 0) {
return 1;
} else if (strcmp(key, PREF_QUICKSETTING_ORDER) == 0){
return 0;
}
-static inline int _is_file_exist(void) {
+static inline int _is_file_exist(void)
+{
if (access(FILE_PREFERENCE, O_RDWR) == 0) {
return 1;
return 0;
}
-static void _default_file_create(void) {
+static void _default_file_create(void)
+{
FILE *fp = NULL ;
fp = fopen(FILE_PREFERENCE, "w");
retif(fp == NULL, , "fatal:failed to create preference file");
fprintf(fp, "\n\
-[%s]\n\
-%s = %s ;\n\
-%s = %s ;\n\
-%s = %s ;\n\
-%s = %s ;\n\
-%s = %s ;\n\
-\n"
+ [%s]\n\
+ %s = %s ;\n\
+ %s = %s ;\n\
+ %s = %s ;\n\
+ %s = %s ;\n\
+ %s = %s ;\n\
+ \n"
, PREF_SECTION
, PREF_BRIGHTNESS_KEY, _default_preference_get(PREF_BRIGHTNESS)
, PREF_QUICKSETTING_ORDER_KEY, _default_preference_get(PREF_QUICKSETTING_ORDER)
, PREF_QUICKSETTING_FEATURED_NUM_KEY, _default_preference_get(PREF_QUICKSETTING_FEATURED_NUM)
, PREF_SHORTCUT_ENABLE_KEY, _default_preference_get(PREF_SHORTCUT_ENABLE)
, PREF_SHORTCUT_EARPHONE_ORDER_KEY, _default_preference_get(PREF_SHORTCUT_EARPHONE_ORDER)
- );
+ );
fclose(fp);
}
-HAPI int quickpanel_preference_get(const char *key, char *value) {
+HAPI int quickpanel_preference_get(const char *key, char *value)
+{
int ret = QP_OK;
dictionary *ini = NULL;
const char *value_r = NULL;
return ret;
}
-HAPI const char *quickpanel_preference_default_get(const char *key) {
+HAPI const char *quickpanel_preference_default_get(const char *key)
+{
retif(key == NULL, NULL, "Invalid parameter!");
return _default_preference_get(key);
}
-HAPI int quickpanel_preference_set(const char *key, char *value) {
+HAPI int quickpanel_preference_set(const char *key, char *value)
+{
int ret = QP_FAIL;
FILE *fp = NULL;
dictionary *ini = NULL;
#define PREF_SHORTCUT_ENABLE PREF_SECTION":"PREF_SHORTCUT_ENABLE_KEY
#define PREF_SHORTCUT_EARPHONE_ORDER PREF_SECTION":"PREF_SHORTCUT_EARPHONE_ORDER_KEY
-int quickpanel_preference_get(const char *key, char *value);
-const char *quickpanel_preference_default_get(const char *key);
-int quickpanel_preference_set(const char *key, char *value);
+extern int quickpanel_preference_get(const char *key, char *value);
+extern const char *quickpanel_preference_default_get(const char *key);
+extern int quickpanel_preference_set(const char *key, char *value);
#endif
#include <stdio.h>
#include <signal.h>
-#include <app.h>
#include <sys/utsname.h>
-#include <X11/Xlib.h>
-#include <utilX.h>
+#include <Elementary.h>
#include <Ecore_Input.h>
-#include <vconf.h>
#include <unistd.h>
#include <malloc.h>
+
+#include <app.h>
+#include <vconf.h>
#include <privilege-control.h>
+#include <E_DBus.h>
+#include <tapi_common.h>
+#include <ITapiSim.h>
+#include <tzsh_quickpanel_service.h>
+#include <notification.h>
+#include <sound_manager.h>
+#include <media.h>
+#include <system_settings.h>
+
+#if defined(WINSYS_X11)
+#include <X11/Xlib.h>
+#include <utilX.h>
+#include <Ecore_X.h>
+#endif
/* quickpanel basics */
#include "common.h"
+#include "common_uic.h"
#include "quickpanel-ui.h"
#include "modules.h"
#include "quickpanel_def.h"
#include "list_util.h"
+#include "noti_node.h"
#include "vi_manager.h"
#include "pager.h"
#include "page_base.h"
#include "sim_controller.h"
#include "noti.h"
-
+
/* services */
#include "keyboard.h"
#include "keyboard_x.h"
#ifdef QP_EMERGENCY_MODE_ENABLE
#include "emergency_mode.h"
#endif
-#include "configuration.h"
#include "minictrl.h"
-#include "changeable_gui.h"
#include "util-time.h"
-#include <tapi_common.h>
-#include <ITapiSim.h>
-
-
#define QP_WINDOW_PRIO 300
static struct appdata *g_app_data = NULL;
+
static Ecore_X_Atom E_ILLUME_ATOM_MV_QUICKPANEL_STATE;
static void _ui_rotate(void *data, int new_angle);
static void _ui_geometry_info_set(void *data);
static void _ui_handler_info_set(void *data);
static void _ui_efl_cache_flush(void *evas);
-extern int appcore_flush_memory(void);
HAPI void *quickpanel_get_app_data(void)
{
}
/******************************************************************************
- *
- * UI
- *
- ****************************************************************************/
+ *
+ * UI
+ *
+ ****************************************************************************/
static void _ui_efl_cache_flush(void *evas)
{
int file_cache;
elm_cache_all_flush();
malloc_trim(0);
- appcore_flush_memory();
}
static void _ui_handler_input_region_set(void *data, int contents_height)
xwin = elm_win_xwindow_get(ad->win);
switch (ad->angle) {
- case 0:
- window_input_region[0] = 0; //X
- window_input_region[1] = contents_height; // Y
- window_input_region[2] = ad->win_width; // Width
- window_input_region[3] = ELM_SCALE_SIZE(QP_HANDLE_H); // height
- break;
- case 90:
- window_input_region[0] = contents_height; //X
- window_input_region[1] = 0; // Y
- window_input_region[2] = ELM_SCALE_SIZE(QP_HANDLE_H); // Width
- window_input_region[3] = ad->win_height; // height
- break;
- case 180:
- window_input_region[0] = 0; //X
- window_input_region[1] = ad->win_height - contents_height - ELM_SCALE_SIZE(QP_HANDLE_H); // Y
- window_input_region[2] = ad->win_width; // Width
- window_input_region[3] = ELM_SCALE_SIZE(QP_HANDLE_H); // height
- break;
- case 270:
- window_input_region[0] = ad->win_width - contents_height - ELM_SCALE_SIZE(QP_HANDLE_H); //X
- window_input_region[1] = 0; // Y
- window_input_region[2] = ELM_SCALE_SIZE(QP_HANDLE_H); // Width
- window_input_region[3] = ad->win_height; // height
- break;
+ case 0:
+ window_input_region[0] = 0; //X
+ window_input_region[1] = contents_height; // Y
+ window_input_region[2] = ad->win_width; // Width
+ window_input_region[3] = ELM_SCALE_SIZE(QP_HANDLE_H); // height
+ break;
+ case 90:
+ window_input_region[0] = contents_height; //X
+ window_input_region[1] = 0; // Y
+ window_input_region[2] = ELM_SCALE_SIZE(QP_HANDLE_H); // Width
+ window_input_region[3] = ad->win_height; // height
+ break;
+ case 180:
+ window_input_region[0] = 0; //X
+ window_input_region[1] = ad->win_height - contents_height - ELM_SCALE_SIZE(QP_HANDLE_H); // Y
+ window_input_region[2] = ad->win_width; // Width
+ window_input_region[3] = ELM_SCALE_SIZE(QP_HANDLE_H); // height
+ break;
+ case 270:
+ window_input_region[0] = ad->win_width - contents_height - ELM_SCALE_SIZE(QP_HANDLE_H); //X
+ window_input_region[1] = 0; // Y
+ window_input_region[2] = ELM_SCALE_SIZE(QP_HANDLE_H); // Width
+ window_input_region[3] = ad->win_height; // height
+ break;
}
INFO("win_input_0:%d\nwin_input_1:%d\nwin_input_2:%d\nwin_input_3:%d\n"
,window_input_region[0]
,window_input_region[1]
,window_input_region[2]
- ,window_input_region[3]
- );
+ ,window_input_region[3]
+ );
atom_window_input_region = ecore_x_atom_get(STR_ATOM_WINDOW_INPUT_REGION);
ecore_x_window_prop_card32_set(xwin, atom_window_input_region, window_input_region, 4);
xwin = elm_win_xwindow_get(ad->win);
switch (ad->angle) {
- case 0:
- window_contents_region[0] = 0; //X
- window_contents_region[1] = 0; // Y
- window_contents_region[2] = ad->win_width; // Width
- window_contents_region[3] = contents_height; // height
- break;
- case 90:
- window_contents_region[0] = 0; //X
- window_contents_region[1] = 0; // Y
- window_contents_region[2] = contents_height; // Width
- window_contents_region[3] = ad->win_height; // height
- break;
- case 180:
- window_contents_region[0] = 0; //X
- window_contents_region[1] = ad->win_height - contents_height; // Y
- window_contents_region[2] = ad->win_width; // Width
- window_contents_region[3] = contents_height; // height
- break;
- case 270:
- window_contents_region[0] = ad->win_width - contents_height ; //X
- window_contents_region[1] = 0; // Y
- window_contents_region[2] = contents_height; // Width
- window_contents_region[3] = ad->win_height; // height
- break;
+ case 0:
+ window_contents_region[0] = 0; //X
+ window_contents_region[1] = 0; // Y
+ window_contents_region[2] = ad->win_width; // Width
+ window_contents_region[3] = contents_height; // height
+ break;
+ case 90:
+ window_contents_region[0] = 0; //X
+ window_contents_region[1] = 0; // Y
+ window_contents_region[2] = contents_height; // Width
+ window_contents_region[3] = ad->win_height; // height
+ break;
+ case 180:
+ window_contents_region[0] = 0; //X
+ window_contents_region[1] = ad->win_height - contents_height; // Y
+ window_contents_region[2] = ad->win_width; // Width
+ window_contents_region[3] = contents_height; // height
+ break;
+ case 270:
+ window_contents_region[0] = ad->win_width - contents_height ; //X
+ window_contents_region[1] = 0; // Y
+ window_contents_region[2] = contents_height; // Width
+ window_contents_region[3] = ad->win_height; // height
+ break;
}
DBG("win_contents_0:%d\nwin_contents_1:%d\nwin_contents_2:%d\nwin_contents_3:%d\n"
,window_contents_region[0]
,window_contents_region[1]
,window_contents_region[2]
- ,window_contents_region[3]
- );
+ ,window_contents_region[3]
+ );
- atom_window_contents_region = ecore_x_atom_get(STR_ATOM_WINDOW_CONTENTS_REGION);
- ecore_x_window_prop_card32_set(xwin, atom_window_contents_region, window_contents_region, 4);
+ atom_window_contents_region = ecore_x_atom_get(STR_ATOM_WINDOW_CONTENTS_REGION);
+ ecore_x_window_prop_card32_set(xwin, atom_window_contents_region, window_contents_region, 4);
}
static void _ui_handler_info_set(void *data)
retif(data == NULL, , "data is NULL");
ad = data;
- if (ad->angle == 90 || ad->angle == 270 )
+ if (ad->angle == 90 || ad->angle == 270 ) {
max_height_window = ad->win_width;
- else
+ } else {
max_height_window = ad->win_height;
+ }
edje_object_part_geometry_get(_EDJ(ad->ly), "qp.base.list.swallow", NULL, &genlist_y, NULL, NULL);
}
/*****************************************************************************
- *
- * ui rotation functions
- *
- ****************************************************************************/
+ *
+ * ui rotation functions
+ *
+ ****************************************************************************/
static void _ui_rotation_wm_cb(void *data, Evas_Object *obj, void *event)
{
int angle = 0;
DBG("ROTATE:%d", angle);
- quickpanel_minictrl_rotation_report(angle);
-
_ui_rotate(ad, angle);
}
retif(ad->view_root == NULL, , "data is NULL");
- if (angle == 90 || angle == 270)
- {
+ if (angle == 90 || angle == 270) {
signal = "quickpanel.landscape";
- }
- else
- {
+ } else {
signal = "quickpanel.portrait";
}
if (new_angle == 0 || new_angle == 90 || new_angle == 180 || new_angle == 270) {
if (new_angle != ad->angle) {
ad->angle = new_angle;
- refresh_modules(ad);
+ quickpanel_modules_refresh(ad);
_ui_geometry_info_set(ad);
_ui_handler_info_set(ad);
_ui_rotation_handler(ad, ad->angle);
}
}
+static int _quickpanel_tzsh_set(Evas_Object *win)
+{
+ tzsh_h tzsh = NULL;
+ tzsh_quickpanel_service_h quickpanel_service = NULL;
+ tzsh_window tz_win;
+
+ retif(!win, QP_FAIL, "Invialid parameter!");
+
+ tzsh = tzsh_create(TZSH_TOOLKIT_TYPE_EFL);
+ retif(!tzsh, QP_FAIL, "tzsh_create ERROR!");
+
+ struct appdata *ad = quickpanel_get_app_data();
+
+ ad->tzsh = tzsh;
+
+ tz_win = elm_win_window_id_get(win);
+ if (!tz_win) {
+ tzsh_destroy(tzsh);
+ return QP_FAIL;
+ }
+
+ quickpanel_service = tzsh_quickpanel_service_create(tzsh, tz_win);
+ if (!quickpanel_service) {
+ tzsh_destroy(tzsh);
+ return QP_FAIL;
+ }
+ ad->quickpanel_service = quickpanel_service;
+
+ return QP_OK;
+}
+
+static void _quickpanel_tzsh_unset(void)
+{
+ struct appdata *ad = quickpanel_get_app_data();
+
+ if (ad->quickpanel_service) {
+ tzsh_quickpanel_service_destroy(ad->quickpanel_service);
+ ad->quickpanel_service = NULL;
+ }
+
+ if (ad->tzsh) {
+ tzsh_destroy(ad->tzsh);
+ ad->tzsh = NULL;
+ }
+}
+
/*****************************************************************************
- *
- * ui creation/deletion functions
- *
- ****************************************************************************/
+ *
+ * ui creation/deletion functions
+ *
+ ****************************************************************************/
static Evas_Object *_ui_window_add(const char *name, int prio)
{
Evas_Object *eo = NULL;
- Ecore_X_Window xwin;
eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
elm_win_quickpanel_set(eo, 1);
elm_win_quickpanel_priority_major_set(eo, prio);
- if (elm_win_wm_rotation_supported_get(eo))
- {
+ if (elm_win_wm_rotation_supported_get(eo)) {
int rots[4] = { 0, 90, 180, 270 };
elm_win_wm_rotation_available_rotations_set(eo, rots, 4);
}
- /* icccm name class set */
- xwin = elm_win_xwindow_get(eo);
- ecore_x_icccm_name_class_set(xwin, "QUICKPANEL", "QUICKPANEL");
-
- unsigned int val = 1;
- ecore_x_window_prop_card32_set
- (xwin, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL, &val, 1);
+ if( QP_OK != _quickpanel_tzsh_set(eo)) {
+ ERR("Failed to set tzsh");
+ }
evas_object_show(eo);
}
retif(data == NULL, QP_FAIL, "Invialid parameter!");
ad->win = _ui_window_add("Quickpanel Window",
- QP_WINDOW_PRIO);
+ QP_WINDOW_PRIO);
retif(ad->win == NULL, QP_FAIL, "Failed to create main window");
- elm_win_focus_allow_set(ad->win, EINA_TRUE);
+ //build error
+ //elm_win_focus_allow_set(ad->win, EINA_TRUE);
evas_object_smart_callback_add(ad->win, "wm,rotation,changed",
- _ui_rotation_wm_cb, ad);
-
- // call this after elm_win_add
- quickpanel_chg_init();
+ _ui_rotation_wm_cb, ad);
ad->background = elm_bg_add(ad->win);
if (ad->background != NULL) {
evas_object_size_hint_weight_set(ad->background,
- EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(ad->win, ad->background);
evas_object_show(ad->background);
} else {
ERR("failed to create background");
}
- ad->view_root = quickpanel_ui_load_edj(ad->background,
- DEFAULT_EDJ, "quickpanel/root", 0);
+ ad->view_root = quickpanel_uic_load_edj(ad->background,
+ DEFAULT_EDJ, "quickpanel/root", 0);
retif(ad->view_root == NULL, QP_FAIL, "Failed to create main page");
Evas_Object *pager_scroller = quickpanel_pager_new(ad->view_root, NULL);
retif(ad->ly == NULL, QP_FAIL, "Failed to create main page");
elm_box_pack_end(pager_box, page_base);
-
elm_win_resize_object_add(ad->win, ad->view_root);
-
elm_object_part_content_set(ad->view_root, "qp.root.swallow", pager_scroller);
/* get noti evas */
ad->list = quickpanel_page_base_view_get("BOX");
ad->scroller = quickpanel_page_base_view_get("SCROLLER");
- ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
+ //ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
+ elm_win_screen_size_get(ad->win, NULL, NULL, &w, &h);
evas_object_resize(ad->win, w, h);
ad->win_width = w;
ad->win = NULL;
}
+ _quickpanel_tzsh_unset();
+
return QP_OK;
}
retif(ad->ly == NULL, , "data is NULL");
elm_object_signal_emit(ad->ly, "quickpanel.setting.show",
- "quickpanel.prog");
+ "quickpanel.prog");
}
/*****************************************************************************
- *
- * event handler initialization functions
- *
- ****************************************************************************/
+ *
+ * event handler initialization functions
+ *
+ ****************************************************************************/
static void _vconf_event_powerff_cb(keynode_t *node,
- void *data)
+ void *data)
{
int val;
if (vconf_get_int(VCONFKEY_SYSMAN_POWER_OFF_STATUS, &val) == 0 &&
(val == VCONFKEY_SYSMAN_POWER_OFF_DIRECT || val == VCONFKEY_SYSMAN_POWER_OFF_RESTART)) {
- app_efl_exit();
+ ui_app_exit();
}
}
static void _vconf_event_lcdoff_cb(keynode_t *node,
- void *data)
+ void *data)
{
int ret = 0;
int pm_state = VCONFKEY_PM_STATE_NORMAL;
ret = vconf_get_int(VCONFKEY_PM_STATE, &pm_state);
if (ret == 0 && pm_state == VCONFKEY_PM_STATE_LCDOFF) {
- quickpanel_close_quickpanel(false, 0);
+ quickpanel_uic_close_quickpanel(false, 0);
}
}
static Eina_Bool _ecore_event_client_message_cb(void *data, int type,
- void *event)
+ void *event)
{
struct appdata *ad = data;
Ecore_X_Event_Client_Message *ev = event;
retif(data == NULL || event == NULL,
- ECORE_CALLBACK_RENEW, "Invalid parameter!");
+ ECORE_CALLBACK_RENEW, "Invalid parameter!");
if (ev->message_type == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE) {
if (ev->data.l[0] == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF) {
SERR("quickpanel is closed");
ad->is_opened = 0;
- util_time_timer_enable_set(0);
- quickpanel_service_keyboard_closing_fini(ad);
- quickpanel_service_keyboard_x_closing_fini(ad);
- qp_closed_modules(data);
- quickpanel_player_stop();
+ quickpanel_util_time_timer_enable_set(0);
+ quickpanel_keyboard_closing_fini(ad);
+ quickpanel_keyboard_x_closing_fini(ad);
+ quickpanel_modules_closed(data);
+ quickpanel_media_player_stop();
}
} else if (ev->message_type == E_ILLUME_ATOM_MV_QUICKPANEL_STATE) {
if (ev->data.l[0] == 1) {
// pressed
if (ad->is_opened == 0) {
- util_time_timer_enable_set(1);
- quickpanel_service_keyboard_openning_init(ad);
- quickpanel_service_keyboard_x_openning_init(ad);
- if (quickpanel_opened_reason_get() != OPENED_BY_CMD_SHOW_SETTINGS) {
+ quickpanel_util_time_timer_enable_set(1);
+ quickpanel_keyboard_openning_init(ad);
+ quickpanel_keyboard_x_openning_init(ad);
+ if (quickpanel_uic_opened_reason_get() != OPENED_BY_CMD_SHOW_SETTINGS) {
quickpanel_pager_page_set(PAGE_IDX_MAIN, 0);
}
}
if (ad->is_opened == 0) {
SERR("quickpanel is opened");
ad->is_opened = 1;
- qp_opened_modules(data);
- quickpanel_player_stop();
- quickpanel_opened_reason_set(OPENED_NO_REASON);
+ quickpanel_modules_opened(data);
+ quickpanel_media_player_stop();
+ quickpanel_uic_opened_reason_set(OPENED_NO_REASON);
}
_ui_handler_enable_set(EINA_FALSE);
}
/* Register window rotate event */
hdl = ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE,
_ecore_event_client_message_cb, ad);
- if (hdl == NULL)
+ if (hdl == NULL) {
ERR("failed to add handler(ECORE_X_EVENT_CLIENT_MESSAGE)");
+ }
ad->hdl_client_message = hdl;
}
E_ILLUME_ATOM_MV_QUICKPANEL_STATE = ecore_x_atom_get("_E_MOVE_QUICKPANEL_STATE");
}
/*****************************************************************************
- *
- * App efl main interface
- *
- ****************************************************************************/
+ *
+ * App efl main interface
+ *
+ ****************************************************************************/
static void _sigaction_terminate_handler(int signum, siginfo_t *info, void *unused)
{
ERR("quickpanel going to be terminated");
- app_efl_exit();
+ ui_app_exit();
}
-static void _service_request_process(app_control_h service, void *data) {
+static void _service_request_process(app_control_h service, void *data)
+{
char *value = NULL;
retif(service == NULL, , "Invialid parameter!");
if (value != NULL) {
ERR("HIDE_LAUNCH: %s", value);
if (!strcmp(value, "1")) {
- quickpanel_close_quickpanel(false, 0);
+ quickpanel_uic_close_quickpanel(false, 0);
} else {
- quickpanel_open_quickpanel(OPENED_BY_CMD_HIDE_LAUNCH);
+ quickpanel_uic_open_quickpanel(OPENED_BY_CMD_HIDE_LAUNCH);
}
free(value);
ERR("SHOW_SETTINGS: %s", value);
if (!strcmp(value, "1")) {
quickpanel_pager_page_set(PAGE_IDX_EDITING, 0);
- quickpanel_open_quickpanel(OPENED_BY_CMD_SHOW_SETTINGS);
+ quickpanel_uic_open_quickpanel(OPENED_BY_CMD_SHOW_SETTINGS);
}
free(value);
if (quickpanel_emergency_mode_syspopup_launch() == QP_FAIL) {
ERR("failed to launch emergency mode syspopup");
} else {
- quickpanel_close_quickpanel(true, 0);
+ quickpanel_uic_close_quickpanel(true, 0);
}
}
static Eina_Bool _appcore_cache_flush_timer_cb(void *data)
{
- if (!quickpanel_is_suspended())
+ if (!quickpanel_uic_is_suspended()) {
return ECORE_CALLBACK_CANCEL;
-
- if (appcore_flush_memory() != 0) {
- ERR("Cannot flush memory");
}
return ECORE_CALLBACK_CANCEL;
struct appdata *ad = data;
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
- refresh_modules(ad);
+ quickpanel_modules_refresh(ad);
_ui_geometry_info_set(ad);
_ui_handler_info_set(ad);
return EINA_FALSE;
}
-static void _quickpanel_initialize(void *data) {
+static void _quickpanel_initialize(void *data)
+{
int ret = 0;
struct appdata *ad = data;
retif(ad == NULL, , "Invialid parameter!");
INFO(">> Creating Quickpanel");
/* Check emulator */
- ad->is_emul = quickpanel_is_emul();
+ ad->is_emul = quickpanel_uic_is_emul();
INFO("quickpanel run in %s", ad->is_emul ? "Emul" : "Device");
int w, h;
- Ecore_X_Screen *screen = ecore_x_default_screen_get();
- ecore_x_screen_size_get(screen, &w, &h);
-
+ elm_win_screen_size_get(ad->win, NULL, NULL, &w, &h);
ad->scale = elm_config_scale_get();
- if (ad->scale < 0)
+ if (ad->scale < 0) {
ad->scale = 1.0;
+ }
INFO("quickpanel scale %f", ad->scale);
_vconf_init(ad);
_edbus_init(ad);
- quickpanel_service_uninstall_init(ad);
+ quickpanel_uninstall_init(ad);
#ifdef QP_EMERGENCY_MODE_ENABLE
quickpanel_emergency_mode_init(ad);
#endif
- quickpanel_service_conf_init(ad);
- quickpanel_service_keyboard_init(ad);
- quickpanel_service_keyboard_x_init(ad);
+ quickpanel_keyboard_init(ad);
+ quickpanel_keyboard_x_init(ad);
#ifdef QP_REMINDER_ENABLE
quickpanel_reminder_init(ad);
#endif
#endif /* QP_SETTING_ENABLE */
/* init quickpanel modules */
- init_modules(ad);
+ quickpanel_modules_init(ad);
ecore_idler_add(_ui_refresh_idler_cb, ad);
}
}
pid = setsid();
- if (pid < 0)
+ if (pid < 0) {
WARN("Failed to set session id!");
+ }
r = nice(2);
- if (r == -1)
+ if (r == -1) {
WARN("Failed to set nice value!");
+ }
return TRUE;
}
quickpanel_media_fini();
/* fini quickpanel modules */
- fini_modules(ad);
+ quickpanel_modules_fini(ad);
_edbus_fini(ad);
_vconf_fini(ad);
_ecore_event_fini(ad);
- quickpanel_service_keyboard_fini(ad);
- quickpanel_service_keyboard_x_fini(ad);
- quickpanel_service_uninstall_fini(ad);
+ quickpanel_keyboard_fini(ad);
+ quickpanel_keyboard_x_fini(ad);
+ quickpanel_uninstall_fini(ad);
#ifdef QP_REMINDER_ENABLE
quickpanel_reminder_fini(ad);
#endif
#ifdef QP_EMERGENCY_MODE_ENABLE
quickpanel_emergency_mode_fini(ad);
#endif
- quickpanel_service_conf_fini(ad);
/* delete quickpanel window */
_ui_gui_destroy(ad);
- /* unloading color&font table */
- quickpanel_chg_fini();
-
INFO("Quickpanel is terminated");
}
ad->is_suspended = 0;
_ui_handler_enable_set(EINA_FALSE);
- resume_modules(data);
+ quickpanel_modules_resume(data);
sim_controller_resume();
}
struct appdata *ad = data;
retif(ad == NULL,, "invalid data.");
- sim_controller_pause();
- suspend_modules(ad);
- quickpanel_ui_del_current_popup();
+ quickpanel_modules_suspend(ad);
ad->is_suspended = 1;
}
}
-static void _app_language_changed_cb(void *data)
+static void _app_language_changed_cb(app_event_info_h event_info, void *data)
{
DBG("");
- lang_change_modules(data);
+ quickpanel_modules_lang_change(data);
sim_controller_on_language_change();
}
-static void _app_region_format_changed_cb(void *data)
+static void _app_region_format_changed_cb(app_event_info_h event_info, void *data)
{
DBG("");
- lang_change_modules(data);
+ quickpanel_modules_lang_change(data);
}
int main(int argc, char *argv[])
INFO("BUILD START: %s %s", __DATE__, __TIME__);
ERR("BUILD START: %s %s", __DATE__, __TIME__);
-
- int r = 0;
+ int ret = 0;
struct appdata ad;
- app_event_callback_s app_callback = {0,};
+ ui_app_lifecycle_callback_s event_callback = {0,};
+ app_event_handler_h handlers[5] = {NULL, };
ERR("quickpanel is forked");
- r = control_privilege();
- if (r != 0) {
+ ret = perm_app_set_privilege("org.tizen.", NULL, NULL);
+ if (ret != 0) {
WARN("Failed to control privilege!");
}
- app_callback.create = _app_create_cb;
- app_callback.terminate = _app_terminate_cb;
- app_callback.pause = _app_pause_cb;
- app_callback.resume = _app_resume_cb;
- app_callback.app_control = _app_service_cb;
- app_callback.low_memory = NULL;
- app_callback.low_battery = NULL;
- app_callback.device_orientation = NULL;
- app_callback.language_changed = _app_language_changed_cb;
- app_callback.region_format_changed = _app_region_format_changed_cb;
+ event_callback.create = _app_create_cb;
+ event_callback.terminate = _app_terminate_cb;
+ event_callback.pause = _app_pause_cb;
+ event_callback.resume = _app_resume_cb;
+ event_callback.app_control = _app_service_cb;
+
+ ui_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, NULL, NULL);
+ ui_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, NULL, NULL);
+ ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, NULL, NULL);
+ ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, _app_language_changed_cb, &ad);
+ ui_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, _app_region_format_changed_cb, &ad);
memset(&ad, 0x0, sizeof(struct appdata));
g_app_data = &ad;
- return app_efl_main(&argc, &argv, &app_callback, (void *)&ad);
+ ret = ui_app_main(argc, argv, &event_callback, (void *)&ad);
+ if (ret != APP_ERROR_NONE) {
+ ERR("ui_app_main() is failed. err = %d", ret);
+ }
+
+ return ret;
+
}
#ifndef __QUICKPANEL_UI_H__
#define __QUICKPANEL_UI_H__
-#include <Elementary.h>
-#include <Ecore_X.h>
-#include <X11/Xatom.h>
-#include "media.h"
-#include "common_uic.h"
-
#if !defined(PACKAGE)
# define PACKAGE "quickpanel"
#endif
#define DEFAULT_EDJ EDJDIR"/"PACKAGE".edj"
#define DEFAULT_THEME_EDJ EDJDIR"/"PACKAGE"_theme.edj"
#define SLIDER_THEME_EDJ EDJDIR"/"PACKAGE"_slider_theme.edj"
-#define TICKER_EDJ EDJDIR"/"PACKAGE"_ticker.edj"
+#define ACTIVENOTI_EDJ EDJDIR"/"PACKAGE"_activenoti.edj"
#define _EDJ(o) elm_layout_edje_get(o)
struct appdata {
Evas_Object *win;
+ tzsh_h tzsh;
+ tzsh_quickpanel_service_h quickpanel_service;
Evas_Object *background;
Evas_Object *view_root;
Eina_Bool state;
} QP_Module;
-void *quickpanel_get_app_data(void);
+extern void *quickpanel_get_app_data(void);
#endif /* __QUICKPANEL_UI_H__ */
*
*/
-
+#include <Elementary.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
#include "quickpanel-ui.h"
#include "common.h"
#define PATH_UPLOAD "reserved://quickpanel/ani/uploading"
#define PATH_INSTALL "reserved://quickpanel/ani/install"
-static qp_animated_icon_type _animated_type_get(const char *path) {
+static qp_animated_icon_type _animated_type_get(const char *path)
+{
retif_nomsg(path == NULL, QP_ANIMATED_ICON_NONE);
if (strncasecmp(path, PATH_DOWNLOAD, MIN(strlen(PATH_DOWNLOAD), strlen(path))) == 0) {
return QP_ANIMATED_ICON_NONE;
}
-HAPI Evas_Object *quickpanel_service_animated_icon_get(Evas_Object *parent, const char *path) {
+HAPI Evas_Object *quickpanel_animated_icon_get(Evas_Object *parent, const char *path)
+{
qp_animated_icon_type type = QP_ANIMATED_ICON_NONE;
const char *layout_icon = NULL;
Evas_Object *layout = NULL;
return layout;
}
-HAPI int quickpanel_service_animated_icon_is_same_icon(Evas_Object *view, const char *path) {
+HAPI int quickpanel_animated_icon_is_same_icon(Evas_Object *view, const char *path)
+{
qp_animated_icon_type type = QP_ANIMATED_ICON_NONE;
qp_animated_icon_type type_old = QP_ANIMATED_ICON_NONE;
retif_nomsg(view == NULL, 0);
#ifndef _QP_SERVICE_ANIMATED_ICON_DEF_
#define _QP_SERVICE_ANIMATED_ICON_DEF_
-#include "quickpanel-ui.h"
typedef enum _qp_animated_icon_type {
QP_ANIMATED_ICON_NONE = -1,
QP_ANIMATED_ICON_INSTALL,
} qp_animated_icon_type;
-Evas_Object *quickpanel_service_animated_icon_get(Evas_Object *parent, const char *path);
-int quickpanel_service_animated_icon_is_same_icon(Evas_Object *view, const char *path);
+extern Evas_Object *quickpanel_animated_icon_get(Evas_Object *parent, const char *path);
+extern int quickpanel_animated_icon_is_same_icon(Evas_Object *view, const char *path);
#endif
+++ /dev/null
-/*
- * 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 <system_settings.h>
-#include "common.h"
-#include "configuration.h"
-
-static struct _s_configuration_info {
- int longpress_threshold;
-} s_configuration_info = {
- .longpress_threshold = SYSTEM_SETTINGS_TAP_AND_HOLD_DELAY_SHORT,
-};
-
-static void _conf_longpress_threshold_cb(system_settings_key_e key, void *user_data)
-{
- int delay = SYSTEM_SETTINGS_TAP_AND_HOLD_DELAY_SHORT; /* default 0.5 sec */
-
- if (SYSTEM_SETTINGS_KEY_TAP_AND_HOLD_DELAY == key) {
- if (system_settings_get_value_int(SYSTEM_SETTINGS_KEY_TAP_AND_HOLD_DELAY, &delay) != 0) {
- ERR("Failed to get tap and hold delay");
- return;
- }
- if (s_configuration_info.longpress_threshold != delay) {
- s_configuration_info.longpress_threshold = delay;
- }
-
- DBG("Current tap and hold delay : [%d] msec", delay);
- }
-}
-
-void quickpanel_service_conf_init(void *data) {
-
- 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");
- }
-}
-
-void quickpanel_service_conf_fini(void *data) {
- if (system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_TAP_AND_HOLD_DELAY) != 0) {
- ERR("Failed to unset tab and hold delay changed callback");
- }
-}
-
-double quickpanel_service_conf_longpress_time_get(void) {
- return (double)(s_configuration_info.longpress_threshold)/(double)1000.0;
-}
*
*/
+#include <Elementary.h>
#include <vconf.h>
-#include <bundle.h>
#include <syspopup_caller.h>
#include <pkgmgr-info.h>
-#include <Eina.h>
+#include <bundle_internal.h>
+#include <notification.h>
+#include <notification_internal.h>
+#include <notification_list.h>
+
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
#include "common.h"
#include "modules.h"
#include "datetime.h"
#include "emergency_mode.h"
+#include "quickpanel-ui.h"
#ifdef QP_SETTING_ENABLE
extern QP_Module settings_view_featured;
list_traverse = notification_list_get_next(list_traverse);
}
+
if (noti_list != NULL) {
notification_free_list(noti_list);
noti_list = NULL;
}
}
-static void _emergency_mode_start(void *data) {
+static void _emergency_mode_start(void *data)
+{
struct appdata *ad = data;
retif(ad == NULL, , "Invalid parameter!");
- if (s_info.is_enabled) return;
+ if (s_info.is_enabled) {
+ return;
+ }
quickpanel_datetime_datentime_event_set(0);
-
#ifdef QP_SETTING_ENABLE
if (settings_view_featured.fini != NULL) {
settings_view_featured.fini(ad);
ERR("emergency mode is enabled");
}
-static void _emergency_mode_stop(void *data) {
+static void _emergency_mode_stop(void *data)
+{
struct appdata *ad = data;
retif(ad == NULL, , "Invalid parameter!");
- if (!s_info.is_enabled) return;
+ if (!s_info.is_enabled) {
+ return;
+ }
quickpanel_datetime_datentime_event_set(1);
ERR("emergency mode is disabled");
}
-static void _vconf_cb(keynode_t *node,
- void *data) {
+static void _vconf_cb(keynode_t *node, void *data)
+{
int mode = 0;
if (vconf_get_int(VCONFKEY_SETAPPL_PSMODE, &mode) == 0) {
s_info.permitted_apps = eina_list_append(s_info.permitted_apps, BT_SHARE_CLIENT);
ret = pkgmgrinfo_appinfo_filter_create(&handle);
- if (ret != PMINFO_R_OK)
+ if (ret != PMINFO_R_OK) {
return -1;
+ }
ret = pkgmgrinfo_appinfo_filter_add_int(handle, PMINFO_APPINFO_PROP_APP_SUPPORT_MODE, 1);
if (ret != PMINFO_R_OK) {
return 0;
}
-HAPI void quickpanel_emergency_mode_init(void *data) {
+HAPI void quickpanel_emergency_mode_init(void *data)
+{
int ret = 0;
struct appdata *ad = data;
retif(ad == NULL, , "Invalid parameter!");
}
}
-HAPI void quickpanel_emergency_mode_fini(void *data) {
+HAPI void quickpanel_emergency_mode_fini(void *data)
+{
int ret = 0;
struct appdata *ad = data;
retif(ad == NULL, , "Invalid parameter!");
ret = _delete_permitted_apps();
msgif(ret !=0, "failed to delete permitted apps");
- ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_PSMODE,
- _vconf_cb);
+ ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_PSMODE, _vconf_cb);
msgif(ret != 0, "failed to ignore key(VCONFKEY_SETAPPL_PSMODE) : %d", ret);
}
-HAPI int quickpanel_emergency_mode_is_permitted_app(const char *appid) {
+HAPI int quickpanel_emergency_mode_is_permitted_app(const char *appid)
+{
int i = 0;
int count = 0;
char *permitted_app = NULL;
return 0;
}
-HAPI int quickpanel_emergency_mode_is_on(void) {
+HAPI int quickpanel_emergency_mode_is_on(void)
+{
int mode = 0;
if (vconf_get_int(VCONFKEY_SETAPPL_PSMODE, &mode) == 0) {
return 0;
}
-HAPI int quickpanel_emergency_mode_notification_filter(notification_h noti, int is_delete) {
+HAPI int quickpanel_emergency_mode_notification_filter(notification_h noti, int is_delete)
+{
int priv_id = 0;
char *pkgname = NULL;
DBG("Emergency mode filter is called: %s", pkgname);
if (!quickpanel_emergency_mode_is_permitted_app(pkgname)) {
if (is_delete) {
- notification_delete_by_priv_id(pkgname,
- NOTIFICATION_TYPE_NONE,
- priv_id);
+ notification_delete_by_priv_id(pkgname, NOTIFICATION_TYPE_NONE, priv_id);
}
return 1;
}
return 0;
}
-HAPI int quickpanel_emergency_mode_syspopup_launch(void) {
+HAPI int quickpanel_emergency_mode_syspopup_launch(void)
+{
int ret;
bundle *b = NULL;
*
*/
-#include <notification.h>
-#include <notification_internal.h>
#ifndef _QP_EMERGENCY_MODE_DEF_
#define _QP_EMERGENCY_MODE_DEF_
#define PACKAGE_EMERGENCY_MODE_SETTING "setting-emergency-efl"
-void quickpanel_emergency_mode_init(void *data);
-void quickpanel_emergency_mode_fini(void *data);
-int quickpanel_emergency_mode_is_permitted_app(const char *appid);
-int quickpanel_emergency_mode_is_on(void);
-int quickpanel_emergency_mode_notification_filter(notification_h noti, int is_delete);
-int quickpanel_emergency_mode_syspopup_launch(void);
+extern void quickpanel_emergency_mode_init(void *data);
+extern void quickpanel_emergency_mode_fini(void *data);
+extern int quickpanel_emergency_mode_is_permitted_app(const char *appid);
+extern int quickpanel_emergency_mode_is_on(void);
+extern int quickpanel_emergency_mode_notification_filter(notification_h noti, int is_delete);
+extern int quickpanel_emergency_mode_syspopup_launch(void);
#endif
+++ /dev/null
-/*
- * 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 <glib.h>
-#include <string.h>
-#include <vconf.h>
-
-#include "common.h"
-#include "quickpanel-ui.h"
-#include "list_util.h"
-#include "quickpanel_def.h"
-#include "page_base.h"
-#include "page_setting_all.h"
-#ifdef QP_SCREENREADER_ENABLE
-#include "accessibility.h"
-#endif
-
-#ifdef QP_EMERGENCY_MODE_ENABLE
-#include "emergency_mode.h"
-#endif
-#include "settings_view_all.h"
-#include "settings_view_featured.h"
-
-#define VCONFKEY_QUICKPANEL_HELP_COUNT \
- "file/private/"PACKAGE_NAME"/help_display_cnt"
-
-#define HELP_MAX_DISPLAY_CNT 3
-
-typedef struct _help_obj {
- Evas_Object *viewer;
- Evas_Object *view_page_1;
- Evas_Object *view_page_2;
- void *data;
-
- int is_no_more_display;
-} help_obj;
-
-static int quickpanel_help_init(void *data);
-static int quickpanel_help_fini(void *data);
-static void quickpanel_help_opened(void *data);
-static void quickpanel_help_closed(void *data);
-static void quickpanel_help_refresh(void *data);
-static void quickpanel_help_lang_changed(void *data);
-static void _help_view_update(void);
-static void _help_add(help_obj *ctrl_obj, void *data);
-static void _help_remove(help_obj *ctrl_obj, void *data);
-static void _help_rotation(void *data);
-
-QP_Module help_overlay = {
- .name = "help_overlay",
- .init = quickpanel_help_init,
- .fini = quickpanel_help_fini,
- .suspend = NULL,
- .resume = NULL,
- .hib_enter = NULL,
- .hib_leave = NULL,
- .lang_changed = quickpanel_help_lang_changed,
- .refresh = quickpanel_help_refresh,
- .get_height = NULL,
- .qp_opened = quickpanel_help_opened,
- .qp_closed = quickpanel_help_closed,
-};
-
-static help_obj *g_ctrl_obj;
-
-static inline void _page_resize(Evas_Object *box, const char *signal, int width, int height) {
- Eina_List *list = NULL;
- Eina_List *l;
- Eina_List *l_next;
- Evas_Object *item = NULL;
- retif(box == NULL, , "invalid parameter");
- retif(signal == NULL, , "invalid parameter");
-
- list = elm_box_children_get(box);
- retif(list == NULL, , "empty box");
-
- EINA_LIST_FOREACH_SAFE(list, l, l_next, item)
- {
- evas_object_size_hint_min_set(item, width, height);
- evas_object_resize(item, width, height);
-
- elm_object_signal_emit(item, signal, "help.prog");
- edje_object_message_signal_process(_EDJ(item));
- }
-
- eina_list_free(list);
-}
-
-static Evas_Object *_scroller_get(void) {
- retif(g_ctrl_obj == NULL, NULL, "g_ctrl_obj is null");
-
- return elm_object_part_content_get(g_ctrl_obj->viewer, "obj.content");
-}
-
-static Evas_Object *_box_get(void) {
- Evas_Object *scroller = NULL;
- retif(g_ctrl_obj == NULL, NULL, "g_ctrl_obj is null");
-
- scroller = elm_object_part_content_get(g_ctrl_obj->viewer, "obj.content");
- if (scroller != NULL) {
- return elm_object_content_get(scroller);
- }
-
- return NULL;
-}
-
-static int _is_display_help(void)
-{
- int ret = -1;
- int help_display_cnt = 0;
-
-#ifdef QP_EMERGENCY_MODE_ENABLE
- if (quickpanel_emergency_mode_is_on()) {
- return 0;
- }
-#endif
-
- ret = vconf_get_int(VCONFKEY_QUICKPANEL_HELP_COUNT, &help_display_cnt);
- retif(ret != 0, 0, "failed to read HELP display count:%d", ret);
-
- if (ret == 0 && help_display_cnt > 0)
- return 1;
-
- return 0;
-}
-
-static void _help_displayed_once(void)
-{
- int ret = -1;
- int help_display_cnt = 0;
-
- ret = vconf_get_int(VCONFKEY_QUICKPANEL_HELP_COUNT, &help_display_cnt);
- retif(ret != 0, , "failed to read HELP display count:%d", ret);
-
- if (help_display_cnt > HELP_MAX_DISPLAY_CNT) {
- ret = vconf_set_int(VCONFKEY_QUICKPANEL_HELP_COUNT, HELP_MAX_DISPLAY_CNT - 1);
- msgif(ret != 0, , "failed to set HELP display count:%d", ret);
- } else {
- if (ret == 0 && help_display_cnt > 0) {
- help_display_cnt--;
- ret = vconf_set_int(VCONFKEY_QUICKPANEL_HELP_COUNT, help_display_cnt);
- msgif(ret != 0, , "failed to set HELP display count:%d", ret);
- }
- }
-}
-
-static void _scroller_resized_cb(void *data, Evas * e,
- Evas_Object * obj, void *event_info)
-{
- struct appdata *ad = quickpanel_get_app_data();
- retif(ad == NULL, , "invalid parameter");
-
- _help_rotation(ad);
-}
-
-static void _help_no_more_display(void)
-{
- int ret = -1;
-
- ret = vconf_set_int(VCONFKEY_QUICKPANEL_HELP_COUNT, 0);
- msgif(ret != 0, , "failed to set HELP display count:%d", ret);
-}
-
-static void _help_rotation(void *data) {
- int height = 0;
- const char *signal = NULL;
- struct appdata *ad = data;
- retif(ad == NULL, , "Invalid parameter!");
-
- help_obj *ctrl_obj = g_ctrl_obj;
- retif(ctrl_obj == NULL, , "Invalid parameter!");
- retif(ctrl_obj->viewer == NULL, , "Invalid parameter!");
-
- Evas_Object *scroller = _scroller_get();
- Evas_Object *box = _box_get();
- retif(scroller == NULL, , "Invalid parameter!");
- retif(box == NULL, , "Invalid parameter!");
-
- if (ad->angle == 90 || ad->angle == 270) {
- signal = "help.landscape";
- height = (ad->win_width - QP_HANDLE_H - QP_DATE_H) * ad->scale;
- _page_resize(box, signal, ad->win_height, height);
- elm_scroller_page_size_set(scroller, ad->win_height, 0);
- evas_object_resize(ctrl_obj->viewer, ad->win_height, ad->win_width);
- } else {
- signal = "help.portrait";
- height = (ad->win_height - QP_HANDLE_H - QP_DATE_H) * ad->scale;
- _page_resize(box, signal, ad->win_width, height);
- elm_scroller_page_size_set(scroller, ad->win_width, 0);
- evas_object_resize(ctrl_obj->viewer, ad->win_width, ad->win_height);
- }
-
- elm_object_signal_emit(ctrl_obj->viewer, signal, "help.prog");
- edje_object_message_signal_process(_EDJ(ctrl_obj->viewer));
-}
-
-static void _help_view_create(Evas_Object *parent, help_obj *ctrl_obj)
-{
- Eina_Bool ret = EINA_TRUE;
- Evas_Object *view = NULL;
- Evas_Object *box = NULL;
- Evas_Object *scroller = NULL;
- Evas_Object *view_page_1 = NULL;
- Evas_Object *view_page_2 = NULL;
-
- retif(parent == NULL, , "list parameter is NULL");
-
- view = elm_layout_add(parent);
- retif(view == NULL, , "failed to create main view");
-
- ret = elm_layout_file_set(view, DEFAULT_EDJ,
- "quickpanel/help_overlay_root");
-
- if (ret == EINA_FALSE) {
- ERR("failed to load help layout");
- }
- evas_object_size_hint_weight_set(view, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(view, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- scroller = elm_scroller_add(view);
- retif(!scroller, , "fail to add scroller");
-
- elm_object_focus_allow_set(scroller, EINA_FALSE);
- elm_scroller_bounce_set(scroller, EINA_TRUE, EINA_TRUE);
- elm_scroller_propagate_events_set(scroller, EINA_FALSE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_fill_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- box = elm_box_add(scroller);
- if (!box) {
- ERR("fail to add box");
- if (scroller != NULL) {
- evas_object_del(scroller);
- scroller = NULL;
- }
- }
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_fill_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_box_horizontal_set(box, EINA_TRUE);
-
- evas_object_event_callback_add(box, EVAS_CALLBACK_RESIZE,
- _scroller_resized_cb, NULL);
-
- evas_object_show(box);
-
- //view_page_1 = help_overlay_page_1_create(box);
- elm_box_pack_end(box, view_page_1);
-
- //view_page_2 = help_overlay_page_2_create(box);
- elm_box_pack_end(box, view_page_2);
-
- elm_object_content_set(scroller, box);
- elm_object_part_content_set(view, "obj.content", scroller);
- evas_object_show(view);
-
- ctrl_obj->viewer = view;
- ctrl_obj->is_no_more_display = 0;
- ctrl_obj->view_page_1 = view_page_1;
- ctrl_obj->view_page_2 = view_page_2;
-
- evas_object_show(scroller);
- elm_object_focus_allow_set(scroller, EINA_FALSE);
-}
-
-static void _help_set_text(void)
-{
- ;
-}
-
-static void _help_show(help_obj *ctrl_obj, void *data)
-{
- int layer_layout = 0;
- struct appdata *ad = data;
- retif(ad == NULL, , "Invalid parameter!");
- retif(ad->ly == NULL, , "Invalid parameter!");
- retif(ctrl_obj == NULL, , "Invalid parameter!");
-
- quickpanel_page_base_focus_allow_set(EINA_FALSE);
- quickpanel_page_setting_all_focus_allow_set(EINA_FALSE);
-
- _help_add(ctrl_obj, data);
- _help_view_update();
- layer_layout = evas_object_layer_get(ad->ly);
- evas_object_layer_set(ctrl_obj->viewer, layer_layout);
-}
-
-static void _help_dissmiss(help_obj *ctrl_obj)
-{
- Evas_Object *box = NULL;
- retif(ctrl_obj == NULL, , "Invalid parameter!");
- retif(ctrl_obj->viewer == NULL, , "Invalid parameter!");
-
- if (ctrl_obj->is_no_more_display == 1) {
- _help_no_more_display();
- }
-
- if (ctrl_obj->viewer != NULL) {
- box = _box_get();
- if (box != NULL) {
- evas_object_event_callback_del(box,
- EVAS_CALLBACK_RESIZE, _scroller_resized_cb);
- }
- if (ctrl_obj->view_page_1 != NULL) {
- evas_object_del(ctrl_obj->view_page_1);
- }
- if (ctrl_obj->view_page_2 != NULL) {
- evas_object_del(ctrl_obj->view_page_2);
- }
- evas_object_del(ctrl_obj->viewer);
- ctrl_obj->view_page_1 = NULL;
- ctrl_obj->view_page_2 = NULL;
- ctrl_obj->viewer = NULL;
- ctrl_obj->is_no_more_display = 0;
- }
-
- quickpanel_page_base_focus_allow_set(EINA_TRUE);
- quickpanel_page_setting_all_focus_allow_set(EINA_TRUE);
-}
-
-static void _help_view_update(void)
-{
- help_obj *ctrl_obj = g_ctrl_obj;
- retif(ctrl_obj == NULL, , "Invalid parameter!");
- retif(ctrl_obj->viewer == NULL, , "Invalid parameter!");
-
- _help_set_text();
-
- /* update sub-pages */
- //help_overlay_page_1_update(ctrl_obj->view_page_1);
- //help_overlay_page_2_update(ctrl_obj->view_page_2);
-}
-
-static void _help_add(help_obj *ctrl_obj, void *data)
-{
- struct appdata *ad = data;
- retif(ad == NULL, , "invalid parameter");
- retif(!ad->win, , "list is NULL");
-
- _help_view_create(ad->win, ctrl_obj);
- ctrl_obj->data = data;
-
- if (ctrl_obj->viewer == NULL) {
- ERR("failed to create help view");
- }
-}
-
-static void _help_remove(help_obj *ctrl_obj, void *data)
-{
- struct appdata *ad = data;
- retif(ad == NULL, , "list is NULL");
- retif(ad->win == NULL, , "list is NULL");
-
- if (g_ctrl_obj != NULL) {
- if (g_ctrl_obj->viewer != NULL) {
- }
- DBG("success to remove help controller");
- free(g_ctrl_obj);
- g_ctrl_obj = NULL;
- }
-}
-
-static int quickpanel_help_init(void *data)
-{
- struct appdata *ad = data;
- retif(ad == NULL, QP_FAIL, "Invalid parameter!");
-
- if (g_ctrl_obj == NULL) {
- g_ctrl_obj = (help_obj *)calloc(1, sizeof(help_obj));
-
- if (g_ctrl_obj != NULL) {
- if (g_ctrl_obj->viewer == NULL) {
- if (_is_display_help()) {
- _help_show(g_ctrl_obj, data);
- _help_displayed_once();
- _help_rotation(ad);
- }
- }
- }
- }
-
- return QP_OK;
-}
-
-static int quickpanel_help_fini(void *data)
-{
- retif(data == NULL, QP_FAIL, "Invalid parameter!");
-
- if (g_ctrl_obj != NULL) {
- _help_remove(g_ctrl_obj, data);
- }
- g_ctrl_obj = NULL;
-
- return QP_OK;
-}
-
-static inline Evas_Object *_current_page_get(void) {
- int index = 0;
- int list_cnt = 0;
- Eina_List *list = NULL;
- Evas_Object *obj = NULL;
-
- Evas_Object *scroller = _scroller_get();
- elm_scroller_current_page_get(scroller, &index, NULL);
-
- Evas_Object *box = _box_get();
- list = elm_box_children_get(box);
- if (list != NULL) {
- list_cnt = eina_list_count(list);
-
- if (index < list_cnt) {
- obj = (Evas_Object *)eina_list_nth(list, index);
- }
- eina_list_free(list);
- }
-
- return obj;
-}
-
-static void quickpanel_help_opened(void *data)
-{
- struct appdata *ad = data;
- Evas_Object *label = NULL;
- Evas_Object *current_page = NULL;
- retif(ad == NULL, , "Invalid parameter!");
- retif(ad->ly == NULL, , "Invalid parameter!");
-
- if (g_ctrl_obj != NULL && g_ctrl_obj->viewer != NULL) {
- current_page = _current_page_get();
- if (current_page != NULL) {
- label = elm_object_part_content_get(current_page, "focus.text");
- if (label != NULL) {
- elm_object_focus_set(label, EINA_TRUE);
- }
- }
- }
-}
-
-static Eina_Bool _resize_idler_cb(void *data)
-{
- retif(data == NULL, EINA_FALSE, "Invalid parameter!");
-
- if (g_ctrl_obj != NULL && g_ctrl_obj->viewer != NULL) {
- _help_rotation(data);
- }
-
- return EINA_FALSE;
-}
-
-static void quickpanel_help_closed(void *data)
-{
- struct appdata *ad = data;
- retif(ad == NULL, , "Invalid parameter!");
-
- if (g_ctrl_obj != NULL) {
- if (g_ctrl_obj->viewer == NULL) {
- if (_is_display_help()) {
- _help_show(g_ctrl_obj, data);
- _help_displayed_once();
- _help_rotation(ad);
- ecore_idler_add(_resize_idler_cb, ad);
- }
- }
- }
-}
-
-static void quickpanel_help_refresh(void *data) {
- struct appdata *ad = NULL;
-
- retif(data == NULL, , "Invalid parameter!");
- ad = data;
-
- _help_rotation(ad);
- ecore_idler_add(_resize_idler_cb, data);
-}
-
-static void quickpanel_help_lang_changed(void *data)
-{
- retif(data == NULL, , "Invalid parameter!");
-
- if (g_ctrl_obj != NULL && g_ctrl_obj->viewer != NULL) {
- _help_view_update();
- _help_rotation(data);
- ecore_idler_add(_resize_idler_cb, data);
- }
-}
-
-void quickpanel_help_dismiss(void) {
- if (g_ctrl_obj != NULL && g_ctrl_obj->viewer != NULL) {
- _help_dissmiss(g_ctrl_obj);
- qp_setting_view_featured_initial_focus_set();
- }
-}
-
-void quickpanel_help_set_no_more_display(int is_no_more_display) {
- if (g_ctrl_obj != NULL) {
- g_ctrl_obj->is_no_more_display = is_no_more_display;
- }
-}
-
-void quickpanel_help_page_move(int direction) {
- int index = 0;
- Evas_Object *scroller = NULL;
-
- if (g_ctrl_obj != NULL && g_ctrl_obj->viewer != NULL) {
- scroller = _scroller_get();
- if (scroller != NULL) {
- elm_scroller_current_page_get(scroller, &index, NULL);
- if (direction) {
- elm_scroller_page_bring_in(scroller, index + 1, 0);
- } else {
- elm_scroller_page_bring_in(scroller, index - 1, 0);
- }
- }
- }
-}
-
-int quickpanel_help_could_be_displayed(void) {
- if (_is_display_help()) {
- return 1;
- }
-
- return 0;
-}
-
-int quickpanel_help_is_displayed(void) {
- if (g_ctrl_obj != NULL && g_ctrl_obj->viewer != NULL) {
- return 1;
- }
-
- return 0;
-}
-
-Evas_Object *quickpanel_help_focus_object_get(const char *name) {
- retif(name == NULL, NULL, "Invalid parameter!");
- retif(g_ctrl_obj == NULL, NULL, "Invalid parameter!");
- retif(g_ctrl_obj->view_page_1 == NULL, NULL, "Invalid parameter!");
- retif(g_ctrl_obj->view_page_2 == NULL, NULL, "Invalid parameter!");
-
- if (strcmp("PAGE_1_LABEL", name) == 0) {
- return elm_object_part_content_get(g_ctrl_obj->view_page_1, "focus.text");
- } else if (strcmp("PAGE_2_LABEL", name) == 0) {
- return elm_object_part_content_get(g_ctrl_obj->view_page_2, "focus.text");
- }
-
- return NULL;
-}
+++ /dev/null
-/*
- * 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_OVERLAY_HELP_DEF_
-#define _QP_OVERLAY_HELP_DEF_
-
-void quickpanel_help_page_move(int direction);
-int quickpanel_help_could_be_displayed(void);
-int quickpanel_help_is_displayed(void);
-void quickpanel_help_dismiss(void);
-void quickpanel_help_set_no_more_display(int is_no_more_display);
-Evas_Object *quickpanel_help_focus_object_get(const char *name);
-
-#endif
*
*/
+#include <Elementary.h>
#include <vconf.h>
-#include <utilX.h>
-#include <X11/Xlib.h>
#include <Ecore_Input.h>
#include <feedback.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include <notification.h>
+
+#if defined(WINSYS_X11)
+#include <Ecore_X.h>
+#include <X11/Xlib.h>
+#include <utilX.h>
+#endif
+
+#include "quickpanel-ui.h" // appdata
+#include "common_uic.h"
#include "common.h"
#include "noti_util.h"
#include "keyboard.h"
+#define KEY_BACK "XF86Back"
+#define KEY_CANCEL "Cancel"
+#define KEY_MENU "XF86Menu"
+#define KEY_QUICKPANEL "XF86QuickPanel"
+#define KEY_HOME "XF86Home"
+
static Eina_Bool _service_hardkey_up_cb(void *data, int type, void *event)
{
struct appdata *ad = NULL;
ad = data;
key_event = event;
- if (!strcmp(key_event->keyname, KEY_SELECT))
- {
- if (ad->is_hardkey_cancel == EINA_FALSE)
- {
- quickpanel_close_quickpanel(false, 0);
- }
- else
- {
+ if (!strcmp(key_event->keyname, KEY_HOME)) {
+ if (ad->is_hardkey_cancel == EINA_FALSE) {
+ quickpanel_uic_close_quickpanel(false, 0);
+ } else {
DBG("Cancel status, do nothing");
}
- }
- else if (!strcmp(key_event->keyname, KEY_CANCEL))
- {
+ } else if (!strcmp(key_event->keyname, KEY_CANCEL)) {
ad->is_hardkey_cancel = EINA_FALSE;
- }
- else if (!strcmp(key_event->keyname, KEY_BACK))
- {
- if (ad->popup != NULL)
- {
+ } else if (!strcmp(key_event->keyname, KEY_BACK)) {
+ if (ad->popup != NULL) {
Evas_Smart_Cb back_cb = evas_object_data_get(ad->popup, EDATA_BACKKEY_CB);
- if (back_cb != NULL)
- {
+ if (back_cb != NULL) {
back_cb(ad->popup, ad->popup, NULL);
}
- }
- else
- {
- quickpanel_close_quickpanel(false, 0);
+ } else {
+ quickpanel_uic_close_quickpanel(false, 0);
}
}
return EINA_FALSE;
retif(key_event == NULL, EINA_FALSE, "Invalid parameter!");
retif(ad == NULL, EINA_FALSE, "Invalid parameter!");
- if (!strcmp(key_event->keyname, KEY_CANCEL))
- {
+ if (!strcmp(key_event->keyname, KEY_CANCEL)) {
ad->is_hardkey_cancel = EINA_TRUE;
- }
- else if (!strcmp(key_event->keyname, KEY_QUICKPANEL))
- {
- quickpanel_toggle_openning_quickpanel();
+ } else if (!strcmp(key_event->keyname, KEY_QUICKPANEL)) {
+ quickpanel_uic_toggle_openning_quickpanel();
}
return EINA_FALSE;
}
-HAPI void quickpanel_service_keyboard_init(void *data) {
+HAPI void quickpanel_keyboard_init(void *data)
+{
struct appdata *ad = data;
Ecore_Event_Handler *hdl_key_down = NULL;
Ecore_Event_Handler *hdl_key_up = NULL;
retif(ad == NULL, , "Invalid parameter!");
+#if defined(WINSYS_X11)
if (utilx_grab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), KEY_QUICKPANEL, SHARED_GRAB) != 0) {
ERR("failed to grab KEY_QUICKPANEL");
}
+#endif
hdl_key_down = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, _service_hardkey_down_cb, ad);
- if (hdl_key_down != NULL)
+ if (hdl_key_down == NULL) {
ERR("failed to add handler(ECORE_EVENT_KEY_DOWN)");
+ }
ad->hdl_hardkey_down = hdl_key_down;
hdl_key_up = ecore_event_handler_add(ECORE_EVENT_KEY_UP, _service_hardkey_up_cb, ad);
- if (hdl_key_up != NULL)
+ if (hdl_key_up == NULL) {
ERR("failed to add handler(ECORE_EVENT_KEY_UP)");
+ }
ad->hdl_hardkey_up = hdl_key_up;
ad->is_hardkey_cancel = EINA_FALSE;
}
-HAPI void quickpanel_service_keyboard_fini(void *data) {
+HAPI void quickpanel_keyboard_fini(void *data)
+{
struct appdata *ad = data;
retif(ad == NULL, , "Invalid parameter!");
ad->hdl_hardkey_down = NULL;
}
+#if defined(WINSYS_X11)
if (utilx_ungrab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), KEY_QUICKPANEL) != 0) {
ERR("failed to ungrab KEY_QUICKPANEL");
}
-
+#endif
}
-HAPI void quickpanel_service_keyboard_openning_init(void *data) {
+HAPI void quickpanel_keyboard_openning_init(void *data)
+{
struct appdata *ad = data;
retif(ad == NULL, , "Invalid parameter!");
+#if defined(WINSYS_X11)
if (utilx_grab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), KEY_BACK, EXCLUSIVE_GRAB) != 0) {
ERR("failed to grab KEY_BACK");
}
ERR("failed to grab KEY_MENU");
}
- if (utilx_grab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), KEY_SELECT, SHARED_GRAB) != 0) {
- ERR("failed to grab KEY_SELECT");
+ if (utilx_grab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), KEY_HOME, SHARED_GRAB) != 0) {
+ ERR("failed to grab KEY_HOME");
}
+#endif
}
-HAPI void quickpanel_service_keyboard_closing_fini(void *data) {
+HAPI void quickpanel_keyboard_closing_fini(void *data)
+{
struct appdata *ad = data;
retif(ad == NULL, , "Invalid parameter!");
+#if defined(WINSYS_X11)
if (utilx_ungrab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), KEY_BACK) != 0) {
ERR("failed to ungrab KEY_BACK");
}
ERR("failed to ungrab KEY_MENU");
}
- if (utilx_ungrab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), KEY_SELECT) != 0) {
- ERR("failed to ungrab KEY_SELECT");
+ if (utilx_ungrab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), KEY_HOME) != 0) {
+ ERR("failed to ungrab KEY_HOME");
}
+#endif
}
#ifndef _QP_SERVICE_KEYBOARD_DEF_
#define _QP_SERVICE_KEYBOARD_DEF_
-#include "quickpanel-ui.h"
-void quickpanel_service_keyboard_init(void *data);
-void quickpanel_service_keyboard_fini(void *data);
-void quickpanel_service_keyboard_openning_init(void *data);
-void quickpanel_service_keyboard_closing_fini(void *data);
+extern void quickpanel_keyboard_init(void *data);
+extern void quickpanel_keyboard_fini(void *data);
+extern void quickpanel_keyboard_openning_init(void *data);
+extern void quickpanel_keyboard_closing_fini(void *data);
#endif
*
*/
-
-#include <vconf.h>
-#include <utilX.h>
+#include <Elementary.h>
+#include <Ecore_X.h>
+#include <Ecore_Input.h>
#include <X11/Xlib.h>
#include <X11/extensions/XInput.h>
#include <X11/extensions/XInput2.h>
-#include <Ecore_Input.h>
+
+#include <vconf.h>
+#include <utilX.h>
#include <feedback.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include <notification.h>
+
+#include "quickpanel-ui.h"
#include "common.h"
#include "noti_util.h"
#include "keyboard_x.h"
} key_info;
key_info key_infos[] = {
- {TAB, "Tab", "Tab", "\t", "\t"},
- {RETURN, "Return", "Return", "\n", "\n"},
- {ARROW_UP, "Up", "Up", NULL, NULL},
- {ARROW_KP_UP, "Up", "Up", NULL, NULL},
- {ARROW_DOWN, "Down", "Down", NULL, NULL},
- {ARROW_KP_DOWN, "Down", "Down", NULL, NULL},
- {ARROW_LEFT, "Left", "Left", NULL, NULL},
- {ARROW_KP_LEFT, "Left", "Left", NULL, NULL},
- {ARROW_RIGHT, "Right", "Right", NULL, NULL},
- {ARROW_KP_RIGHT, "Right", "Right", NULL, NULL},
- {SHIFT, "Shift", "Shift", NULL, NULL},
+ { TAB, "Tab", "Tab", "\t", "\t" },
+ { RETURN, "Return", "Return", "\n", "\n" },
+ { ARROW_UP, "Up", "Up", NULL, NULL },
+ { ARROW_KP_UP, "Up", "Up", NULL, NULL },
+ { ARROW_DOWN, "Down", "Down", NULL, NULL },
+ { ARROW_KP_DOWN, "Down", "Down", NULL, NULL },
+ { ARROW_LEFT, "Left", "Left", NULL, NULL },
+ { ARROW_KP_LEFT, "Left", "Left", NULL, NULL },
+ { ARROW_RIGHT, "Right", "Right", NULL, NULL },
+ { ARROW_KP_RIGHT, "Right", "Right", NULL, NULL },
+ { SHIFT, "Shift", "Shift", NULL, NULL },
};
-static int
-_cb_event_generic(void *data, int ev_type, void *event);
+static int _cb_event_generic(void *data, int ev_type, void *event);
static Eina_Bool _xinput_init(void);
static void _key_event_select(void);
-static void focus_ui_process_press(XIRawEvent *raw_event);
-static void focus_ui_process_release(XIRawEvent *raw_event);
+static void _focus_ui_process_press(XIRawEvent *raw_event);
+static void _focus_ui_process_release(XIRawEvent *raw_event);
static struct _s_info {
int xi2_opcode;
.hdl_key_event = NULL,
};
-static int _key_event_validation_check(int keycode) {
+static int _key_event_validation_check(int keycode)
+{
int i = 0, len = 0;
len = sizeof(key_infos) / sizeof(key_infos[0]);
{
int rc;
XIEventMask mask;
- Ecore_X_Display *d = NULL;
+ Ecore_X_Display *d;
- d = ecore_x_display_get();
- if (d == NULL) {
- ERR("failed to get ecore-display");
- return;
- }
+ d = ecore_x_display_get();
+ if (d == NULL) {
+ ERR("failed to get ecore-display");
+ return;
+ }
mask.mask_len = XIMaskLen(XI_LASTEVENT);
mask.deviceid = XIAllDevices;
- mask.mask = calloc(mask.mask_len, sizeof(char));
- if (mask.mask == NULL) {
- ERR("failed to get ecore-display");
- return;
- }
- memset(mask.mask, 0, mask.mask_len);
-
- XISetMask(mask.mask, XI_RawKeyPress);
- XISetMask(mask.mask, XI_RawKeyRelease);
-
- rc = XISelectEvents(d, ecore_x_window_root_first_get(), &mask, 1);
- if (Success != rc) {
- ERR("Failed to select XInput extension events");
- }
- if (mask.mask) free( mask.mask);
- ecore_x_sync();
+ mask.mask = calloc(mask.mask_len, sizeof(char));
+ if (mask.mask == NULL) {
+ ERR("failed to get ecore-display");
+ return;
+ }
+ memset(mask.mask, 0, mask.mask_len);
+
+ XISetMask(mask.mask, XI_RawKeyPress);
+ XISetMask(mask.mask, XI_RawKeyRelease);
+
+ rc = XISelectEvents(d, ecore_x_window_root_first_get(), &mask, 1);
+ if (Success != rc) {
+ ERR("Failed to select XInput extension events");
+ }
+ if (mask.mask) {
+ free( mask.mask);
+ }
+ ecore_x_sync();
}
-Eina_Bool _xinput_init(void)
+static Eina_Bool _xinput_init(void)
{
- int event, error;
+ int event, error;
- if (!XQueryExtension(ecore_x_display_get(), "XInputExtension",
- &s_info.xi2_opcode, &event, &error))
- {
- s_info.xi2_opcode = -1;
+ if (!XQueryExtension(ecore_x_display_get(), "XInputExtension", &s_info.xi2_opcode, &event, &error)) {
+ s_info.xi2_opcode = -1;
- SERR("failed to initialize key event receiver");
- return EINA_FALSE;
- }
+ SERR("failed to initialize key event receiver");
+ return EINA_FALSE;
+ }
- _key_event_select();
+ _key_event_select();
- return EINA_TRUE;
+ return EINA_TRUE;
}
-static int
-_cb_event_generic(void *data, int ev_type, void *event)
+static int _cb_event_generic(void *data, int ev_type, void *event)
{
- Ecore_X_Event_Generic *e = (Ecore_X_Event_Generic *)event;
- XIDeviceEvent *evData = (XIDeviceEvent *)(e->data);
+ Ecore_X_Event_Generic *e;
+ XIDeviceEvent *evData;
- if( e->extension != s_info.xi2_opcode ) return ECORE_CALLBACK_PASS_ON;
- if( !evData || evData->send_event ) return ECORE_CALLBACK_PASS_ON;
+ e = (Ecore_X_Event_Generic *)event;
+ evData = (XIDeviceEvent *)(e->data);
+
+ if (e->extension != s_info.xi2_opcode) {
+ return ECORE_CALLBACK_PASS_ON;
+ }
- switch( e->evtype )
- {
- case XI_RawKeyPress:
- if(evData->deviceid == 3) break;
- focus_ui_process_press((XIRawEvent *)evData);
+ if (!evData || evData->send_event) {
+ return ECORE_CALLBACK_PASS_ON;
+ }
+
+ switch (e->evtype) {
+ case XI_RawKeyPress:
+ if (evData->deviceid == 3) {
break;
- case XI_RawKeyRelease:
- if(evData->deviceid == 3) break;
- focus_ui_process_release((XIRawEvent *)evData);
+ }
+ _focus_ui_process_press((XIRawEvent *)evData);
+ break;
+ case XI_RawKeyRelease:
+ if (evData->deviceid == 3) {
break;
+ }
+ _focus_ui_process_release((XIRawEvent *)evData);
+ break;
+ default:
+ break;
}
return ECORE_CALLBACK_PASS_ON;
}
-static void focus_ui_process_press(XIRawEvent *raw_event)
+static void _focus_ui_process_press(XIRawEvent *raw_event)
{
XEvent xev;
+ Ecore_X_Display *d;
+ struct appdata *ad;
- struct appdata *ad = quickpanel_get_app_data();
+ ad = quickpanel_get_app_data();
retif(ad == NULL, , "invalid data.");
retif(raw_event == NULL, , "invalid data.");
if (raw_event->detail == SHIFT) {
s_info.is_shift_pressed = 1;
- return ;
+ return;
}
if (_key_event_validation_check(raw_event->detail) == 0) {
- return ;
+ return;
}
- Ecore_X_Display *d = ecore_x_display_get();
- if (d == NULL) {
- ERR("failed to get ecore-display");
- return;
- }
+ d = ecore_x_display_get();
+ if (d == NULL) {
+ ERR("failed to get ecore-display");
+ return;
+ }
memset(&xev, 0, sizeof(XEvent));
xev.xany.display = ecore_x_display_get();
xev.xkey.subwindow = None;
xev.xkey.type = KeyPress;
xev.xkey.window = elm_win_xwindow_get(ad->win);
- XSendEvent(d, elm_win_xwindow_get(ad->win)
- , False, NoEventMask, &xev);
+ XSendEvent(d, elm_win_xwindow_get(ad->win) , False, NoEventMask, &xev);
DBG("keypressed:%d", raw_event->detail);
}
-static void focus_ui_process_release(XIRawEvent *raw_event)
+static void _focus_ui_process_release(XIRawEvent *raw_event)
{
XEvent xev;
+ Ecore_X_Display *d;
+ struct appdata *ad;
- struct appdata *ad = quickpanel_get_app_data();
+ ad = quickpanel_get_app_data();
retif(ad == NULL, , "invalid data.");
retif(raw_event == NULL, , "invalid data.");
if (raw_event->detail == SHIFT) {
s_info.is_shift_pressed = 0;
- return ;
+ return;
}
+
if (_key_event_validation_check(raw_event->detail) == 0) {
- return ;
+ return;
}
- Ecore_X_Display *d = ecore_x_display_get();
- if (d == NULL) {
- ERR("failed to get ecore-display");
- return;
- }
+ d = ecore_x_display_get();
+ if (d == NULL) {
+ ERR("failed to get ecore-display");
+ return;
+ }
memset(&xev, 0, sizeof(XEvent));
xev.xany.display = d;
xev.xkey.subwindow = None;
xev.xkey.type = KeyRelease;
xev.xkey.window = elm_win_xwindow_get(ad->win);
- XSendEvent(d, elm_win_xwindow_get(ad->win)
- , False, NoEventMask, &xev);
+ XSendEvent(d, elm_win_xwindow_get(ad->win) , False, NoEventMask, &xev);
DBG("keyrelease:%d", raw_event->detail);
}
-static void _focus_cleanup(void *data) {
+static void _focus_cleanup(void *data)
+{
struct appdata *ad = data;
Evas_Object *focused_obj = NULL;
retif(ad == NULL, , "invalid data.");
elm_win_focus_highlight_enabled_set(ad->win, EINA_FALSE);
}
-HAPI void quickpanel_service_keyboard_x_init(void *data) {
+HAPI void quickpanel_keyboard_x_init(void *data)
+{
struct appdata *ad = data;
retif(ad == NULL, , "Invalid parameter!");
_xinput_init();
}
-HAPI void quickpanel_service_keyboard_x_fini(void *data) {
- struct appdata *ad = data;
+HAPI void quickpanel_keyboard_x_fini(void *data)
+{
+ struct appdata *ad;
+
+ ad = data;
retif(ad == NULL, , "Invalid parameter!");
if (s_info.hdl_key_event != NULL) {
_focus_cleanup(ad);
}
-HAPI void quickpanel_service_keyboard_x_openning_init(void *data) {
- struct appdata *ad = data;
+HAPI void quickpanel_keyboard_x_openning_init(void *data)
+{
+ struct appdata *ad;
+
+ ad = data;
retif(ad == NULL, , "Invalid parameter!");
if (s_info.hdl_key_event != NULL) {
ecore_event_handler_del(s_info.hdl_key_event);
s_info.hdl_key_event = NULL;
}
- s_info.hdl_key_event =
- ecore_event_handler_add(ECORE_X_EVENT_GENERIC, (Ecore_Event_Handler_Cb)_cb_event_generic, NULL);
+ s_info.hdl_key_event = ecore_event_handler_add(ECORE_X_EVENT_GENERIC, (Ecore_Event_Handler_Cb)_cb_event_generic, NULL);
}
-HAPI void quickpanel_service_keyboard_x_closing_fini(void *data) {
- struct appdata *ad = data;
+HAPI void quickpanel_keyboard_x_closing_fini(void *data)
+{
+ struct appdata *ad;
+
+ ad = data;
retif(ad == NULL, , "Invalid parameter!");
if (s_info.hdl_key_event != NULL) {
#ifndef _QP_SERVICE_KEYBOARD_X_DEF_
#define _QP_SERVICE_KEYBOARD_X_DEF_
-#include "quickpanel-ui.h"
-void quickpanel_service_keyboard_x_init(void *data);
-void quickpanel_service_keyboard_x_fini(void *data);
-void quickpanel_service_keyboard_x_openning_init(void *data);
-void quickpanel_service_keyboard_x_closing_fini(void *data);
+extern void quickpanel_keyboard_x_init(void *data);
+extern void quickpanel_keyboard_x_fini(void *data);
+extern void quickpanel_keyboard_x_openning_init(void *data);
+extern void quickpanel_keyboard_x_closing_fini(void *data);
#endif
*
*/
+#include <Elementary.h>
+#include <glib.h>
#include <vconf.h>
+#include <notification.h>
+#include <notification_internal.h>
+
#include "common.h"
#include "noti_util.h"
#include "noti_led.h"
.is_turned_on = 0,
};
-static int _is_blocking_mode_on(void) {
- int ret = 0;
- int is_blocking_mode_on = 0;
-
- if ((ret = vconf_get_bool(VCONFKEY_SETAPPL_BLOCKINGMODE_LED_INDICATOR, &is_blocking_mode_on)) == 0) {
- if (ret == 0 && is_blocking_mode_on == 1) {
- return 1;
- }
- }
-
- return 0;
-}
-
static QP_LED_T * _led_entry_new(int priv_id, notification_led_op_e op, int argb, int time_on, int time_off)
{
QP_LED_T *led_entry = (QP_LED_T *)calloc(1, sizeof(QP_LED_T));
free(led_entry);
}
-static int
-_led_list_sort_cb(const void *data1, const void *data2)
+static int _led_list_sort_cb(const void *data1, const void *data2)
{
QP_LED_T *entry_1 = (QP_LED_T *)data1;
QP_LED_T *entry_2 = (QP_LED_T *)data2;
- if (entry_1 == NULL || entry_2 == NULL) return 0;
+ if (entry_1 == NULL || entry_2 == NULL) {
+ return 0;
+ }
return entry_2->timestamp - entry_1->timestamp;
}
return eina_list_nth(s_led_info.list, 0);
}
-static inline int _is_led_enabled(void) {
+static inline int _is_led_enabled(void)
+{
int ret = -1;
int status = 1;
ERR("failed to get value of VCONFKEY_SETAPPL_LED_INDICATOR_NOTIFICATIONS:%d", ret);
}
- if (_is_blocking_mode_on() == 1) {
- return 0;
- }
-
return 1;
}
return -1;
}
-static void _noti_led_on(QP_LED_T *led_entry) {
+static void _noti_led_on(QP_LED_T *led_entry)
+{
int ret = 0;
retif(led_entry == NULL, , "invalid data");
led_entry->op, led_entry->argb, led_entry->time_on, led_entry->time_off);
if (led_entry->op == NOTIFICATION_LED_OP_ON) {
- if ((ret = _led_set_mode(LED_MISSED_NOTI, LED_ON, led_entry->time_on, led_entry->time_off, 0)) == -1)
- {
+ if ((ret = _led_set_mode(LED_MISSED_NOTI, LED_ON, led_entry->time_on, led_entry->time_off, 0)) == -1) {
ERR("failed led_set_mode:%d", ret);
- }
- else
- {
+ } else {
s_led_info.is_turned_on = 1;
}
} else if (led_entry->op == NOTIFICATION_LED_OP_ON_CUSTOM_COLOR) {
- if ((ret = _led_set_mode(LED_MISSED_NOTI, LED_ON, led_entry->time_on, led_entry->time_off, led_entry->argb)) == -1)
- {
+ if ((ret = _led_set_mode(LED_MISSED_NOTI, LED_ON, led_entry->time_on, led_entry->time_off, led_entry->argb)) == -1) {
ERR("failed led_set_mode:%d", ret);
- }
- else
- {
+ } else {
s_led_info.is_turned_on = 1;
}
} else {
}
}
-static void _noti_led_off(int is_force) {
+static void _noti_led_off(int is_force)
+{
int ret = 0;
ERR("try to turn off LED");
retif(s_led_info.is_turned_on == 0 && is_force == 1, , "LED already turned off");
- if ((ret = _led_set_mode(LED_MISSED_NOTI, LED_OFF, 0, 0, 0)) == -1)
- {
+ if ((ret = _led_set_mode(LED_MISSED_NOTI, LED_OFF, 0, 0, 0)) == -1) {
ERR("failed led_set_mode:%d", ret);
- }
- else
- {
+ } else {
s_led_info.is_turned_on = 0;
}
}
-HAPI void quickpanel_service_noti_led_proc(notification_h noti, int op_type) {
+HAPI void quickpanel_noti_led_proc(notification_h noti, int op_type)
+{
int priv_id = 0;
int led_argb = 0;
int time_on = 0;
}
}
-HAPI void quickpanel_service_noti_led_init(void *data, void *nodes) {
+HAPI void quickpanel_noti_led_init(void *data, void *nodes)
+{
int ret = 0;
struct appdata *ad = data;
retif(ad == NULL, , "Invalid parameter!");
- ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_LED_INDICATOR_NOTIFICATIONS,
- _led_option_vconf_cb,
- ad);
+ ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_LED_INDICATOR_NOTIFICATIONS,_led_option_vconf_cb, ad);
+
if (ret != 0) {
ERR("failed to notify key[%s] : %d",
- VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL, ret);
+ VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL, ret);
}
- ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_BLOCKINGMODE_BLOCKINGMODE,
- _led_option_vconf_cb, data);
- msgif(ret != 0, "failed to notify key(VCONFKEY_SETAPPL_BLOCKINGMODE_BLOCKINGMODE) : %d", ret);
-
if (nodes != NULL) {
_led_init_data((noti_node *)nodes);
}
}
-HAPI void quickpanel_service_noti_led_fini(void *data) {
+HAPI void quickpanel_noti_led_fini(void *data)
+{
int ret = 0;
struct appdata *ad = data;
retif(ad == NULL, , "Invalid parameter!");
- ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_LED_INDICATOR_NOTIFICATIONS,
- _led_option_vconf_cb);
+ ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_LED_INDICATOR_NOTIFICATIONS,_led_option_vconf_cb);
if (ret != 0) {
- ERR("failed to ignore key[%s] : %d",
- VCONFKEY_SETAPPL_LED_INDICATOR_NOTIFICATIONS, ret);
+ ERR("failed to ignore key[%s] : %d", VCONFKEY_SETAPPL_LED_INDICATOR_NOTIFICATIONS, ret);
}
- ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_BLOCKINGMODE_BLOCKINGMODE,
- _led_option_vconf_cb);
- msgif(ret != 0, "failed to ignore key(VCONFKEY_SETAPPL_BLOCKINGMODE_BLOCKINGMODE) : %d", ret);
-
_led_list_clean_up();
}
#ifndef _QP_NOTI_LED_DEF_
#define _QP_NOTI_LED_DEF_
-#include <notification.h>
-#include "quickpanel-ui.h"
-
-void quickpanel_service_noti_led_init(void *data, void *noti_node);
-void quickpanel_service_noti_led_fini(void *data);
-void quickpanel_service_noti_led_proc(notification_h noti, int op_type);
+extern void quickpanel_noti_led_init(void *data, void *noti_node);
+extern void quickpanel_noti_led_fini(void *data);
+extern void quickpanel_noti_led_proc(notification_h noti, int op_type);
#endif
*
*/
+#include <Elementary.h>
+#include <glib.h>
#include <alarm.h>
#include <time.h>
#include <unistd.h>
#include <vconf.h>
+#include <system_settings.h>
+#include <notification.h>
+#include <notification_internal.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include <feedback.h>
+#include <player.h>
#include "quickpanel-ui.h"
+#include "common_uic.h"
#include "common.h"
+#include "noti_node.h"
#include "media.h"
#include "noti.h"
// check first noti sound
node = quickpanel_noti_node_get_first_noti();
- if (node)
- {
+ if (node) {
noti = node->noti;
- if (noti)
- {
+ if (noti) {
notification_get_id(noti, NULL, &priv_id);
notification_get_sound(noti, &nsound_type, &nsound_path);
SDBG("reminded notification sound type[%d] path[%s]", nsound_type, nsound_path);
- switch (nsound_type)
- {
+ switch (nsound_type) {
case NOTIFICATION_SOUND_TYPE_USER_DATA:
/*
* if user data file isn't playable, play the default ringtone
*/
- if (nsound_path != NULL)
- {
- if (quickpanel_media_playable_check(nsound_path) == EINA_TRUE)
- {
- ret = quickpanel_player_play(SOUND_TYPE_NOTIFICATION, nsound_path);
- if (ret == PLAYER_ERROR_NONE)
- {
- quickpanel_player_id_set(priv_id);
- }
- else
- {
+ if (nsound_path != NULL) {
+ if (quickpanel_media_playable_check(nsound_path) == EINA_TRUE) {
+ ret = quickpanel_media_player_play(SOUND_TYPE_NOTIFICATION, nsound_path);
+ if (ret == PLAYER_ERROR_NONE) {
+ quickpanel_media_player_id_set(priv_id);
+ } else {
ERR("failed to play notification sound[%d]", ret);
is_play_default = 1;
}
}
}
- if (is_play_default)
- {
-#ifdef VCONFKEY_SETAPPL_NOTI_MSG_RINGTONE_PATH_STR
+ if (is_play_default) {
char *default_msg_tone = NULL;
- default_msg_tone = vconf_get_str(VCONFKEY_SETAPPL_NOTI_MSG_RINGTONE_PATH_STR);
+
+ ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_SOUND_NOTIFICATION, &default_msg_tone);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "ailed to set key(%s) : %d", SYSTEM_SETTINGS_KEY_SOUND_NOTIFICATION, ret);
SDBG("Reminded setting sound[%s]", default_msg_tone);
- if (default_msg_tone != NULL)
- {
- ret = quickpanel_player_play(SOUND_TYPE_NOTIFICATION, default_msg_tone);
+ if (default_msg_tone != NULL) {
+ ret = quickpanel_media_player_play(SOUND_TYPE_NOTIFICATION, default_msg_tone);
free(default_msg_tone);
- quickpanel_player_id_set(0);
- if (ret != PLAYER_ERROR_NONE)
- {
+ quickpanel_media_player_id_set(0);
+ if (ret != PLAYER_ERROR_NONE) {
ERR("failed to play feedback sound");
}
}
- if (quickpanel_is_vib_enabled() == 1)
- {
+ if (quickpanel_media_is_vib_enabled() == 1) {
feedback_play_type(FEEDBACK_TYPE_VIBRATION, FEEDBACK_PATTERN_MESSAGE);
}
-#else
- feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_UNLOCK);
-#endif
}
}
-static int _reminder_interval_get(void) {
+static int _reminder_interval_get(void)
+{
int key = 0;
int min = 0;
int ret = -1;
int ret = ALARMMGR_RESULT_SUCCESS;
ret = alarmmgr_remove_alarm(id);
- if(ret != ALARMMGR_RESULT_SUCCESS) {
+ if (ret != ALARMMGR_RESULT_SUCCESS) {
ERR("alarmmgr_enum_alarm_ids() failed");
}
{
int ret = ALARMMGR_RESULT_SUCCESS;
- if(s_info.alarm_id != -1){
+ if (s_info.alarm_id != -1){
ERR("try to delete alarm_id(%d)", s_info.alarm_id);
ret = alarmmgr_remove_alarm(s_info.alarm_id);
- if(ret != ALARMMGR_RESULT_SUCCESS) {
+ if (ret != ALARMMGR_RESULT_SUCCESS) {
ERR("alarmmgr_remove_alarm(%d) failed", s_info.alarm_id);
ret = alarmmgr_enum_alarm_ids(_alarm_delete_cb, NULL);
- if(ret != ALARMMGR_RESULT_SUCCESS) {
+ if (ret != ALARMMGR_RESULT_SUCCESS) {
ERR("alarmmgr_enum_alarm_ids() failed");
}
}
localtime_r(¤t_time, ¤t_tm);
alarm_info = alarmmgr_create_alarm();
- if(alarm_info == NULL) {
+ if (alarm_info == NULL) {
ERR("alarmmgr_create_alarm() is failed\n");
return EINA_FALSE;
}
alarmmgr_set_type(alarm_info, ALARM_TYPE_VOLATILE);
ret = alarmmgr_add_alarm_with_localtime(alarm_info, NULL, &alarm_id);
- if(ret != ALARMMGR_RESULT_SUCCESS) {
+ if (ret != ALARMMGR_RESULT_SUCCESS) {
ERR("alarmmgr_add_alarm_with_localtime() failed:%d", ret);
alarmmgr_free_alarm(alarm_info) ;
return EINA_FALSE;
_alarm_unset();
}
- if (!quickpanel_is_opened()) {
+ if (!quickpanel_uic_is_opened()) {
_feedback_sound_play();
} else {
ERR("quickpanel is opened, skip remind sound");
return 1;
}
-static void _alarm_setting_changed_cb(keynode_t *key, void* data) {
+static void _alarm_setting_changed_cb(keynode_t *key, void* data)
+{
int min = _reminder_interval_get();
if (quickpanel_noti_get_count() <= 0) {
}
}
-void quickpanel_reminder_init(void *data) {
+HAPI void quickpanel_reminder_init(void *data)
+{
DBG("");
int ret = 0;
s_info.alarm_id = -1;
}
-void quickpanel_reminder_fini(void *data) {
+HAPI void quickpanel_reminder_fini(void *data)
+{
DBG("");
int ret = 0;
}
}
-void quickpanel_reminder_start(void *data) {
+HAPI void quickpanel_reminder_start(void *data)
+{
DBG("");
int min = _reminder_interval_get();
}
}
-void quickpanel_reminder_stop(void *data) {
+HAPI void quickpanel_reminder_stop(void *data)
+{
DBG("");
_alarm_unset();
#ifndef _QP_REMINDER_DEF_
#define _QP_REMINDER_DEF_
-void quickpanel_reminder_init(void *data);
-void quickpanel_reminder_fini(void *data);
-void quickpanel_reminder_start(void *data);
-void quickpanel_reminder_stop(void *data);
+extern void quickpanel_reminder_init(void *data);
+extern void quickpanel_reminder_fini(void *data);
+extern void quickpanel_reminder_start(void *data);
+extern void quickpanel_reminder_stop(void *data);
#endif
*
*/
+#include <Elementary.h>
#include <vconf.h>
+#include <notification_list.h>
+
#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) {
+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;
if (noti_list != NULL) {
noti = notification_list_get_data(noti_list);
if (noti != NULL) {
- count = quickpanel_noti_get_event_count_from_noti(noti);
+ 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)
+ if (ret != 0) {
ERR("failed to set vconf key[%s] : %d", vconfkey, ret);
+ }
} else {
ERR("no data found:%s", pkgname);
}
ERR("event unset:%s", pkgname);
- if (ret != 0)
+ if (ret != 0) {
ERR("failed to set vconf key[%s] : %d", vconfkey, ret);
+ }
}
return 0;
}
-HAPI void quickpanel_service_update_smart_alert_info(notification_h noti) {
+HAPI void quickpanel_smart_alert_update_info(notification_h noti)
+{
char *pkgname = NULL;
- int ret = 0;
int event_count_call = 0;
int event_count_vtcall = 0;
if (noti == NULL) {
- event_count_call = quickpanel_noti_get_event_count_by_pkgname(SMART_ALARM_CALL_PKGNAME);
- event_count_vtcall = quickpanel_noti_get_event_count_by_pkgname(SMART_ALARM_VTCALL_PKGNAME);
-
- ERR("call event set, count:%d", MAX(event_count_call, event_count_vtcall));
+ 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_get_event_count_by_pkgname(SMART_ALARM_CALL_PKGNAME);
- event_count_vtcall = quickpanel_noti_get_event_count_by_pkgname(SMART_ALARM_VTCALL_PKGNAME);
+ 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", MAX(event_count_call, event_count_vtcall));
+ ERR("call event set, count:%d, %d", event_count_call, event_count_vtcall);
}
}
}
#ifndef _QP_SMART_ALERT_DEF_
#define _QP_SMART_ALERT_DEF_
-#include <notification.h>
-#include <notification_internal.h>
-#include "quickpanel-ui.h"
#if !defined(VENDOR)
#define SMART_ALARM_CALL_PKGNAME "org.tizen.call-notification"
#define SMART_ALARM_MSG_PKGNAME VENDOR".message"
#endif
-void quickpanel_service_update_smart_alert_info(notification_h noti);
+extern void quickpanel_smart_alert_update_info(notification_h noti);
#endif
*
*/
+#include <Elementary.h>
+#include <Eina.h>
#include <vconf.h>
#include <pkgmgr-info.h>
#include <notification.h>
#include <notification_internal.h>
#include <badge.h>
+
#include "common.h"
#include "uninstall.h"
.event_list = NULL,
};
-static void _item_del(Pkg_Event *item_event) {
+static void _item_del(Pkg_Event *item_event)
+{
if (item_event != NULL) {
free(item_event->pkgname);
}
free(item_event);
}
-static int _is_item_exist(const char *pkgid, int remove_if_exist) {
+static int _is_item_exist(const char *pkgid, int remove_if_exist)
+{
int ret = 0;
Eina_List *l = NULL;
Pkg_Event *event_item = NULL;
return ret;
}
-static int _pkgmgr_event_cb(int req_id, const char *pkg_type, const char *pkgid,
- const char *key, const char *val, const void *pmsg, void *priv_data) {
- if (pkgid == NULL) return 0;
+static int _pkgmgr_event_cb(int req_id, const char *pkg_type, const char *pkgid, const char *key, const char *val, const void *pmsg, void *priv_data)
+{
+ if (pkgid == NULL) {
+ return 0;
+ }
- SDBG("pkg:%s key:%s val:%s", pkgid, key, val);
+ SDBG("pkg:%s key:%s val:%s", pkgid, key, val);
- if (key != NULL && val != NULL) {
- if (strcasecmp(key, QP_PKGMGR_STR_START) == 0 &&
- strcasecmp(val, QP_PKGMGR_STR_UNINSTALL) == 0) {
+ if (key != NULL && val != NULL) {
+ if (strcasecmp(key, QP_PKGMGR_STR_START) == 0 &&
+ strcasecmp(val, QP_PKGMGR_STR_UNINSTALL) == 0) {
- ERR("Pkg:%s is being uninstalled", pkgid);
+ ERR("Pkg:%s is being uninstalled", pkgid);
- Pkg_Event *event = calloc(1, sizeof(Pkg_Event));
- if (event != NULL) {
- event->pkgname = strdup(pkgid);
- s_info.event_list = eina_list_append(s_info.event_list, event);
- } else {
- ERR("failed to create event item");
- }
+ Pkg_Event *event = calloc(1, sizeof(Pkg_Event));
+ if (event != NULL) {
+ event->pkgname = strdup(pkgid);
+ s_info.event_list = eina_list_append(s_info.event_list, event);
+ } else {
+ ERR("failed to create event item");
+ }
- return 0;
- } else if (strcasecmp(key, QP_PKGMGR_STR_END) == 0 &&
- strcasecmp(val, QP_PKGMGR_STR_OK) == 0) {
- if (_is_item_exist(pkgid, 1) == 1) {
- ERR("Pkg:%s is uninstalled, delete related resource", pkgid);
+ return 0;
+ } else if (strcasecmp(key, QP_PKGMGR_STR_END) == 0 &&
+ strcasecmp(val, QP_PKGMGR_STR_OK) == 0) {
+ if (_is_item_exist(pkgid, 1) == 1) {
+ ERR("Pkg:%s is uninstalled, delete related resource", pkgid);
notification_delete_all_by_type(pkgid, NOTIFICATION_TYPE_NOTI);
notification_delete_all_by_type(pkgid, NOTIFICATION_TYPE_ONGOING);
badge_remove(pkgid);
- }
- }
- }
+ }
+ }
+ }
- return 0;
+ return 0;
}
-HAPI void quickpanel_service_uninstall_init(void *data) {
+HAPI void quickpanel_uninstall_init(void *data)
+{
int ret = -1;
pkgmgr_client *client = pkgmgr_client_new(PC_LISTENING);
}
}
-HAPI void quickpanel_service_uninstall_fini(void *data) {
+HAPI void quickpanel_uninstall_fini(void *data)
+{
int ret = -1;
Pkg_Event *event_item = NULL;
#ifndef _QP_SERVICE_UNINSTALL_DEF_
#define _QP_SERVICE_UNINSTALL_DEF_
-#include "quickpanel-ui.h"
-void quickpanel_service_uninstall_init(void *data);
-void quickpanel_service_uninstall_fini(void *data);
+extern void quickpanel_uninstall_init(void *data);
+extern void quickpanel_uninstall_fini(void *data);
#endif
*
*/
+#include <Elementary.h>
#include <app.h>
#include <device/led.h>
#include <vconf.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
#include "common.h"
#include "quickpanel-ui.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"
return BUTTON_LABEL;
}
-static void on_vconf_assetive_light_changed(keynode_t *node, void *user_data)
+static void _on_vconf_assetive_light_changed(keynode_t *node, void *user_data)
{
- if(!node)
- {
+ Eina_Bool mode = EINA_FALSE;
+
+ if (!node) {
ERR("node == NULL");
return;
}
- Eina_Bool mode = node->value.b;
+ mode = node->value.b;
- qp_setting_module_icon_state_set(user_data, mode);
+ 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);
+ vconf_notify_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_TORCH_LIGHT, _on_vconf_assetive_light_changed, data);
return QP_OK;
}
-void set_assetive_light_mode(Eina_Bool mode)
+static void _set_assetive_light_mode(Eina_Bool mode)
{
int max_brightness;
int ret = device_flash_get_max_brightness(&max_brightness);
- if(ret != 0)
- {
+ if (ret != 0) {
ERR("TORCH LIGHT CHANGE: ret != 0 -> %d", ret);
return;
- }
- else
- {
+ } else {
ERR("TORCH LIGHT OK[%d]", max_brightness);
}
int ret_set = -1;
- if(mode == EINA_TRUE)
- {
+ if(mode == EINA_TRUE) {
ret_set = device_flash_set_brightness(max_brightness);
- if (ret_set != 0)
- {
+ 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)
- {
+ } else {
+ if (vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TORCH_LIGHT, 1) < 0) {
ERR("Failed to set tourch light vconf key");
}
}
- }
- else
- {
+ } else {
ret_set = device_flash_set_brightness(0);
- if (ret_set != 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)
- {
+ } else {
+ if (vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TORCH_LIGHT, 0) < 0) {
ERR("Failed to set tourch light vconf key");
}
}
Evas_Object *image = NULL;
const char *icon_path = NULL;
- qp_setting_icon_state_set(view, state);
+ quickpanel_setting_icon_state_set(view, state);
icon_path = BUTTON_ICON_NORMAL;
- image = qp_setting_icon_image_new(view, icon_path);
- qp_setting_icon_content_set(view, image);
- qp_setting_icon_text_set(view, BUTTON_LABEL, state);
-
- //elm_object_part_text_set(view, "icon.text", BUTTON_LABEL)
+ 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) {
+static void _status_update(QP_Module_Setting *module, int light_status, int flag_extra_2)
+{
int ret = -1;
retif(module == NULL, , "Invalid parameter!");
}
if (brightness > 0) {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
} else {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
}
- qp_setting_module_icon_view_update(module,
- qp_setting_module_icon_state_get(module), FLAG_VALUE_VOID);
+ 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 (qp_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);
+ 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);
QP_Module_Setting *module = (QP_Module_Setting *) data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
-static void _refresh(void *data) {
+static void _refresh(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
static int _fini(void *data)
*
*/
+#include <Elementary.h>
+
#include <bluetooth.h>
#include <vconf.h>
-#include <bundle.h>
+#include <bluetooth_internal.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.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_BLUETOOTH_ABB")
#define BUTTON_ICON_NORMAL "quick_icon_bluetooth.png"
static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static const char *_label_get(void) {
+static const char *_label_get(void)
+{
return BUTTON_LABEL;
}
-static const char *_icon_get(qp_setting_icon_image_type type) {
+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_NORMAL) {
+ } else if (type == QP_SETTING_ICON_HIGHLIGHT) {
return BUTTON_ICON_HIGHLIGHT;
} else if (type == QP_SETTING_ICON_DIM) {
#ifdef BUTTON_ICON_DIM
return NULL;
}
-static void _long_press_cb(void *data) {
+static void _long_press_cb(void *data)
+{
#ifdef PACKAGE_SETTING_MENU
- qp_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, NULL);
+ 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) {
+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;
- qp_setting_icon_state_set(view, state);
+ quickpanel_setting_icon_state_set(view, state);
if (state == ICON_VIEW_STATE_ON) {
#ifdef BUTTON_ICON_HIGHLIGHT
if (icon_path == NULL) {
icon_path = BUTTON_ICON_NORMAL;
}
- image = qp_setting_icon_image_new(view, icon_path);
- qp_setting_icon_content_set(view, image);
- qp_setting_icon_text_set(view, BUTTON_LABEL, state);
+ 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) {
+static void _status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2)
+{
int ret = 0;
bt_adapter_state_e adapter_state = BT_ADAPTER_DISABLED;
retif(module == NULL, , "Invalid parameter!");
retif(ret != BT_ERROR_NONE, , "bt_adapter_get_state failed");
if (adapter_state == BT_ADAPTER_ENABLED) {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
} else {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
}
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- qp_setting_module_icon_view_update(module,
- qp_setting_module_icon_state_get(module),
+ 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) {
+static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
int ret;
int is_on = 0;
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- if (qp_setting_module_is_icon_clickable(module) == 0) return ;
+ if (quickpanel_setting_module_is_icon_clickable(module) == 0) {
+ return;
+ }
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
+ if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
ret = bt_adapter_disable();
retif(ret != BT_ERROR_NONE, , "failed to disable BT adapter");
}
if (is_on == 1) {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
} else {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF);
}
- qp_setting_module_icon_timer_add(module);
+ quickpanel_setting_module_icon_timer_add(module);
}
-static void __bluetooth_status_changed_cb(int result,
- bt_adapter_state_e adapter_state,
- void *user_data)
+static void _bluetooth_status_changed_cb(int result, bt_adapter_state_e adapter_state, void *user_data)
{
QP_Module_Setting *module = (QP_Module_Setting *)user_data;
retif(module == NULL, , "Invalid parameter!");
INFO("bluetooth state : %d", adapter_state);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_icon_timer_del(module);
if (result != BT_ERROR_NONE) {
ERR("BT adapter operation is failed");
_status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
}
-static int _register_module_event_handler(void *data) {
+static int _register_module_event_handler(void *data)
+{
int ret = 0;
ret = bt_initialize();
msgif(ret != BT_ERROR_NONE, "bt_initialize failed");
- ret = bt_adapter_set_state_changed_cb(__bluetooth_status_changed_cb, data);
+ ret = bt_adapter_set_state_changed_cb(_bluetooth_status_changed_cb, data);
msgif(ret != BT_ERROR_NONE, "bt_adapter_set_state_changed_cb failed");
return QP_OK;
}
-static int _unregister_module_event_handler(void *data) {
+static int _unregister_module_event_handler(void *data)
+{
int ret = 0;
ret = bt_adapter_unset_state_changed_cb();
* Quickpanel Item functions
*
****************************************************************************/
-static int _init(void *data) {
+static int _init(void *data)
+{
int ret = QP_OK;
ret = _register_module_event_handler(data);
return ret;
}
-static int _fini(void *data) {
+static int _fini(void *data)
+{
int ret = QP_OK;
ret = _unregister_module_event_handler(data);
return ret;
}
-static void _lang_changed(void *data) {
+static void _lang_changed(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
-static void _refresh(void *data) {
+static void _refresh(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
QP_Module_Setting bluetooth = {
- .name = "bluetooth",
+ .name = "bluetooth",
.init = _init,
- .fini = _fini,
- .lang_changed = _lang_changed,
- .refresh = _refresh,
- .icon_get = _icon_get,
- .label_get = _label_get,
- .view_update = _view_update,
+ .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_longpress = _long_press_cb,
.handler_press = _mouse_clicked_cb,
};
*
*/
+#include <Elementary.h>
#include <vconf.h>
#include <syspopup_caller.h>
#include <ITapiSim.h>
#include <ITapiModem.h>
#include <TapiUtility.h>
-#include <bundle.h>
+#include <system_settings.h>
+#include <bundle_internal.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.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_FLIGHT_NMODE")
#define BUTTON_ICON_NORMAL "quick_icon_flightmode.png"
static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static const char *_label_get(void) {
+static const char *_label_get(void)
+{
return BUTTON_LABEL;
}
-static const char *_icon_get(qp_setting_icon_image_type type) {
+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_NORMAL) {
+ } else if (type == QP_SETTING_ICON_HIGHLIGHT) {
return BUTTON_ICON_HIGHLIGHT;
} else if (type == QP_SETTING_ICON_DIM) {
#ifdef BUTTON_ICON_DIM
return ECORE_CALLBACK_CANCEL;
}
-static void _long_press_cb(void *data) {
+static void _long_press_cb(void *data)
+{
#ifdef PACKAGE_SETTING_MENU
- if(fly_icon_is_locked == EINA_TRUE)
- {
+ if (fly_icon_is_locked == EINA_TRUE) {
LOGD("Fly icon is locked");
return;
}
- qp_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, NULL);
+ 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) {
+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;
- qp_setting_icon_state_set(view, state);
+ quickpanel_setting_icon_state_set(view, state);
if (state == ICON_VIEW_STATE_ON) {
#ifdef BUTTON_ICON_HIGHLIGHT
if (icon_path == NULL) {
icon_path = BUTTON_ICON_NORMAL;
}
- image = qp_setting_icon_image_new(view, icon_path);
- qp_setting_icon_content_set(view, image);
- qp_setting_icon_text_set(view, BUTTON_LABEL, state);
+ 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) {
+static void _status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2)
+{
LOGD("");
int ret = 0;
- int status = 0;
+ bool status = false;
retif(module == NULL, , "Invalid parameter!");
- ret = vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &status);
- msgif(ret != 0, "fail to get VCONFKEY_TELEPHONY_FLIGHT_MODE:%d", ret);
+ 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 == 1) {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
+ if (status == true) {
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
} else {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
}
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- qp_setting_module_icon_view_update(module,
- qp_setting_module_icon_state_get(module),
- FLAG_VALUE_VOID);
+ 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)
if (on == 1) {
ret_t = tel_set_flight_mode(tapi_handle,
- TAPI_POWER_FLIGHT_MODE_ENTER, _tapi_flight_mode_cb, data);
+ 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);
+ 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);
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) {
+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)
- {
+ if (fly_icon_is_locked == EINA_TRUE) {
LOGD("Fly icon is locked");
return;
}
- if (qp_setting_module_is_icon_clickable(module) == 0)
- {
+ if (quickpanel_setting_module_is_icon_clickable(module) == 0) {
LOGD("Fly icon is not clickable");
return;
}
fly_icon_is_locked = EINA_TRUE;
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF)
- {
+ if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) {
_turn_on(1);
- }
- else
- {
+ } else {
_turn_on(0);
}
}
-static void _tapi_flight_mode_vconf_cb(keynode_t *node, void *data)
+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) {
+static int _register_module_event_handler(void *data)
+{
int ret = 0;
- ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE,
- _tapi_flight_mode_vconf_cb, data);
- msgif(ret != 0, "failed to notify key(VCONFKEY_TELEPHONY_FLIGHT_MODE) : %d", ret);
+ 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) {
+static int _unregister_module_event_handler(void *data)
+{
int ret = 0;
- ret = vconf_ignore_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE,
- _tapi_flight_mode_vconf_cb);
- msgif(ret != 0, "failed to ignore key(VCONFKEY_TELEPHONY_FLIGHT_MODE) : %d", ret);
+ 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;
}
*
****************************************************************************/
-static int _init(void *data) {
+static int _init(void *data)
+{
int ret = QP_OK;
ret = _register_module_event_handler(data);
return ret;
}
-static int _fini(void *data) {
+static int _fini(void *data)
+{
int ret = QP_OK;
ret = _unregister_module_event_handler(data);
return ret;
}
-static void _lang_changed(void *data) {
+static void _lang_changed(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
-static void _refresh(void *data) {
+static void _refresh(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
-static void _reset_icon(QP_Module_Setting *module) {
+static void _reset_icon(QP_Module_Setting *module)
+{
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_VALUE_VOID);
+ 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) {
+static void _handler_on(void *data)
+{
int ret = 0;
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) {
+ if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) {
ret = _tapi_flight_mode_set(1, module);
if (ret == QP_OK) {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
- qp_setting_module_icon_timer_add(module);
+ 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);
}
}
}
-static void _handler_off(void *data) {
+static void _handler_off(void *data)
+{
int ret = 0;
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
+ if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
ret = _tapi_flight_mode_set(0, module);
if (ret == QP_OK) {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_add(module);
+ 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);
}
}
}
-static void _handler_progress_on(void *data) {
+static void _handler_progress_on(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_VALUE_VOID);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_VALUE_VOID);
}
-static void _handler_progress_off(void *data) {
+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) {
+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");
*
*/
+#include <Elementary.h>
#include <vconf.h>
#include <syspopup_caller.h>
#include <app_control.h>
+#include <locations.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
#include "common.h"
#include "quickpanel-ui.h"
#include "settings.h"
#include "setting_utils.h"
#include "setting_module_api.h"
+
#define BUTTON_LABEL _("IDS_QP_BUTTON2_LOCATION_ABB")
#define BUTTON_ICON_NORMAL "quick_icon_location.png"
#define BUTTON_ICON_HIGHLIGHT NULL
static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static const char *_label_get(void) {
+static const char *_label_get(void)
+{
return BUTTON_LABEL;
}
-static const char *_icon_get(qp_setting_icon_image_type type) {
+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_NORMAL) {
+ } else if (type == QP_SETTING_ICON_HIGHLIGHT) {
return BUTTON_ICON_HIGHLIGHT;
} else if (type == QP_SETTING_ICON_DIM) {
#ifdef BUTTON_ICON_DIM
return NULL;
}
-static void _long_press_cb(void *data) {
+static void _long_press_cb(void *data)
+{
#ifdef PACKAGE_SETTING_MENU
// Because operation is not DEFAULT, this function can not be called. Too many changes to add operation param.
- // qp_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, NULL);
+ // quickpanel_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, NULL);
app_control_h service;
int ret = 0;
ret = app_control_create(&service);
- if (ret != 0)
- {
+ if (ret != 0) {
ERR("Failed to create app control");
return;
}
app_control_set_operation(service, OPERATION_SETTING_MENU);
ret = app_control_send_launch_request(service, NULL, NULL);
- if (ret != 0)
- {
+ if (ret != 0) {
ERR("Failed to launch[%d]", ret);
}
syspopup_launch(PACKAGE_SYSPOPUP, NULL);
}
-static void _view_update(Evas_Object *view, int state, int flag_extra_1, int flag_extra_2) {
+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;
- qp_setting_icon_state_set(view, state);
+ quickpanel_setting_icon_state_set(view, state);
if (state == ICON_VIEW_STATE_ON) {
#ifdef BUTTON_ICON_HIGHLIGHT
if (icon_path == NULL) {
icon_path = BUTTON_ICON_NORMAL;
}
- image = qp_setting_icon_image_new(view, icon_path);
- qp_setting_icon_content_set(view, image);
- qp_setting_icon_text_set(view, BUTTON_LABEL, state);
+ 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) {
+static void _status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2)
+{
int ret = 0;
- int status = 0;
+ bool status = 0;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- ret = vconf_get_int(VCONFKEY_LOCATION_USE_MY_LOCATION, &status);
- msgif(ret != 0, "fail to get VCONFKEY_LOCATION_USE_MY_LOCATION:%d", ret);
+ ret = location_manager_is_enabled_method(LOCATIONS_METHOD_HYBRID, &status);
+ msgif(ret != 0, "fail to get LOCATIONS_METHOD_HYBRID:%d", ret);
- if (status == 1) {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
+ if (status == true) {
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
} else {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
}
- qp_setting_module_icon_view_update(module,
- qp_setting_module_icon_state_get(module),
+ 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)
{
int ret = 0;
- int enable = 0;
- QP_Module_Setting *module = (QP_Module_Setting *) data;
+ bool enable = 0;
+ QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- if (qp_setting_module_is_icon_clickable(module) == 0)
- {
+ if (quickpanel_setting_module_is_icon_clickable(module) == 0) {
return;
}
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF)
- {
- _syspopup_launch(qp_setting_module_icon_state_get(module));
- }
- else
- {
+ if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) {
+ _syspopup_launch(quickpanel_setting_module_icon_state_get(module));
+ } else {
// Use my location off
- ret = vconf_get_int(VCONFKEY_LOCATION_USE_MY_LOCATION, &enable);
- if (ret == 0)
- {
- if (enable == 1)
- {
- vconf_set_int(VCONFKEY_LOCATION_USE_MY_LOCATION, 0);
+ ret = location_manager_is_enabled_method(LOCATIONS_METHOD_HYBRID, &enable);
+ if (ret == false) {
+ if (enable == true) {
+ ret = location_manager_enable_method(LOCATIONS_METHOD_HYBRID, false);
+ if (ret != 0) {
+ ERR("Failed to set LOCATIONS_METHOD_HYBRID[%d]", ret);
+ }
}
- }
- else
- {
+ } else {
ERR("Failed to get Use my location[%d]", ret);
}
// GPS off
- ret = vconf_get_int(VCONFKEY_LOCATION_ENABLED, &enable);
- if (ret == 0)
- {
- if (enable == 1)
- {
- vconf_set_int(VCONFKEY_LOCATION_ENABLED, 0);
+ ret = location_manager_is_enabled_method(LOCATIONS_METHOD_GPS, &enable);
+ if (ret == false) {
+ if (enable == true) {
+ ret = location_manager_enable_method(LOCATIONS_METHOD_GPS, false);
+ if (ret != 0) {
+ ERR("Failed to set LOCATIONS_METHOD_GPS [%d]", ret);
+ }
}
- }
- else
- {
+ } else {
ERR("Failed to get GPS[%d]", ret);
}
// Wireless networks off
- ret = vconf_get_int(VCONFKEY_LOCATION_NETWORK_ENABLED, &enable);
- if (ret == 0)
- {
- if (enable == 1)
- {
- vconf_set_int(VCONFKEY_LOCATION_NETWORK_ENABLED, 0);
+ ret = location_manager_is_enabled_method(LOCATIONS_METHOD_WPS, &enable);
+ if (ret == false) {
+ if (enable == true) {
+ ret = location_manager_enable_method(LOCATIONS_METHOD_WPS, false);
+ if (ret != 0) {
+ ERR("Failed to set LOCATIONS_METHOD_WPS [%d]", ret);
+ }
}
- }
- else
- {
- ERR("Failed to get GPS[%d]", ret);
+ } else {
+ ERR("Failed to get network[%d]", ret);
}
}
}
-static void _gps_vconf_cb(keynode_t *node,
- void *data) {
+static void _gps_vconf_cb(keynode_t *node, void *data)
+{
_status_update(data, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
}
-static int _register_module_event_handler(void *data) {
+static int _register_module_event_handler(void *data)
+{
int ret = 0;
ret = vconf_notify_key_changed(VCONFKEY_LOCATION_USE_MY_LOCATION,
return QP_OK;
}
-static int _unregister_module_event_handler(void *data) {
+static int _unregister_module_event_handler(void *data)
+{
int ret = 0;
ret = vconf_ignore_key_changed(VCONFKEY_LOCATION_USE_MY_LOCATION,
* Quickpanel Item functions
*
****************************************************************************/
-static int _init(void *data) {
+static int _init(void *data)
+{
int ret = QP_OK;
ret = _register_module_event_handler(data);
return ret;
}
-static int _fini(void *data) {
+static int _fini(void *data)
+{
int ret = QP_OK;
ret = _unregister_module_event_handler(data);
return ret;
}
-static void _lang_changed(void *data) {
+static void _lang_changed(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
-static void _refresh(void *data) {
+static void _refresh(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
-static void _reset_icon(QP_Module_Setting *module) {
+static void _reset_icon(QP_Module_Setting *module)
+{
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_VALUE_VOID);
+ 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) {
+static void _handler_on(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF)
- {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
- qp_setting_module_icon_timer_add(module);
- }
- else
- {
+ if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) {
+ quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
+ quickpanel_setting_module_icon_timer_add(module);
+ } else {
ERR("the button is already turned on");
_reset_icon(module);
}
}
-static void _handler_off(void *data) {
+static void _handler_off(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON)
- {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_add(module);
- }
- else
- {
+ if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
+ quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_add(module);
+ } else {
ERR("the button is already turned off");
_reset_icon(module);
}
}
-static void _handler_progress_on(void *data) {
+static void _handler_progress_on(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_VALUE_VOID);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_VALUE_VOID);
}
-static void _handler_progress_off(void *data) {
+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) {
+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");
*
*/
+#include <Elementary.h>
#include <vconf.h>
#include <syspopup_caller.h>
-#include <bundle.h>
+#include <system_settings.h>
+#include <bundle_internal.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
+#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 VCONFKEY_SETAPPL_MOBILE_DATA_OFF_REMINDER "db/setting/network/mobile_data_off_reminder"
#endif
-#define VCONFKEY_QUICKPANEL_MDATA_ENABLE_ASK \
- "memory/private/"PACKAGE_NAME"/enable_ask"
-#define VCONFKEY_QUICKPANEL_MDATA_DISABLE_ASK \
- "memory/private/"PACKAGE_NAME"/disable_ask"
-
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) {
+static const char *_label_get(void)
+{
return BUTTON_LABEL;
}
-static const char *_icon_get(qp_setting_icon_image_type type) {
+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_NORMAL) {
+ } else if (type == QP_SETTING_ICON_HIGHLIGHT) {
return BUTTON_ICON_HIGHLIGHT;
} else if (type == QP_SETTING_ICON_DIM) {
#ifdef BUTTON_ICON_DIM
return NULL;
}
-static void _long_press_cb(void *data) {
+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) {
- qp_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"));
+ 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) {
- qp_setting_create_timeout_popup(ad->win, _("IDS_ST_BODY_INSERT_SIM_CARD_TO_ACCESS_NETWORK_SERVICES"));
+ quickpanel_setting_create_timeout_popup(ad->win, _("IDS_ST_BODY_INSERT_SIM_CARD_TO_ACCESS_NETWORK_SERVICES"));
return;
}
- qp_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, NULL);
+ quickpanel_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, NULL);
#endif
}
-static int _need_display_popup(int is_on) {
- int ret = -1, status = 0;
+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);
+ 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 == 1) {
+ if (ret == 0 && status == true) {
return 1;
}
} else {
- ret = vconf_get_bool(VCONFKEY_SETAPPL_MOBILE_DATA_OFF_REMINDER,
- &status);
+ 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;
int ret = 0;
if (is_on) {
- ret = vconf_set_bool(VCONFKEY_3G_ENABLE, 1);
- msgif(ret != 0, "failed to set VCONFKEY_3G_ENABLE %d %d", ret, 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 = vconf_set_bool(VCONFKEY_3G_ENABLE, 0);
- msgif(ret != 0, "failed to set VCONFKEY_3G_ENABLE: %d %d", ret, is_on);
+ 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 _view_update(Evas_Object *view, int state, int flag_extra_1, int flag_extra_2) {
+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;
- qp_setting_icon_state_set(view, state);
+ quickpanel_setting_icon_state_set(view, state);
if (state == ICON_VIEW_STATE_ON) {
#ifdef BUTTON_ICON_HIGHLIGHT
if (icon_path == NULL) {
icon_path = BUTTON_ICON_NORMAL;
}
- image = qp_setting_icon_image_new(view, icon_path);
- qp_setting_icon_content_set(view, image);
- qp_setting_icon_text_set(view, BUTTON_LABEL, state);
+ 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) {
+static int _is_simcard_inserted(void)
+{
int ret_1 = QP_FAIL;
int ret_2 = QP_FAIL;
int sim_status_1 = VCONFKEY_TELEPHONY_SIM_UNKNOWN;
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))
- {
+ (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, flight_mode = 0;
+static int _is_in_flightmode(void)
+{
+ int ret = QP_FAIL;
+ bool flight_mode = false;
- ret = vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &flight_mode);
- msgif(ret != 0, "failed to get the VCONFKEY_TELEPHONY_FLIGHT_MODE : %d", ret);
- if (ret == QP_OK && flight_mode == 1) {
+ 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) {
+static void _status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2)
+{
int ret = 0;
- int status = 0;
+ bool status = false;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_icon_timer_del(module);
- if (quickpanel_is_emul() == 1) {
- status = 1;
+ if (quickpanel_uic_is_emul() == 1) {
+ status = true;
} else if (_is_in_flightmode() == 1) {
- status = 0;
+ status = false;
} else if (_is_simcard_inserted() == 0) {
- status = 0;
+ status = false;
} else {
- ret = vconf_get_bool(VCONFKEY_3G_ENABLE, &status);
- msgif(ret != 0, "fail to get VCONFKEY_3G_ENABLE:%d", ret);
+ 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 == 1) {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
+ if (status == true) {
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
} else {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
}
- qp_setting_module_icon_view_update(module,
- qp_setting_module_icon_state_get(module),
+ 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) {
+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 (qp_setting_module_is_icon_clickable(module) == 0) return ;
+ if (quickpanel_setting_module_is_icon_clickable(module) == 0) {
+ return;
+ }
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, , "invalid data.");
- if (quickpanel_is_emul() == 1) {
- qp_setting_create_timeout_popup(ad->win, _NOT_LOCALIZED("Unsupported."));
+ if (quickpanel_uic_is_emul() == 1) {
+ quickpanel_setting_create_timeout_popup(ad->win, _NOT_LOCALIZED("Unsupported."));
return;
}
if (_is_in_flightmode() == 1) {
- qp_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"));
+ 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) {
- qp_setting_create_timeout_popup(ad->win, _("IDS_ST_BODY_INSERT_SIM_CARD_TO_ACCESS_NETWORK_SERVICES"));
+ quickpanel_setting_create_timeout_popup(ad->win, _("IDS_ST_BODY_INSERT_SIM_CARD_TO_ACCESS_NETWORK_SERVICES"));
return;
}
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
+ if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
/* disable */
if (_need_display_popup(0) == 1) {
_turn_on_with_popup(0);
}
}
-static void _mobiledata_vconf_cb(keynode_t *node,
- void *data) {
+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) {
+static int _register_module_event_handler(void *data)
+{
int ret = 0;
- ret = vconf_notify_key_changed(VCONFKEY_3G_ENABLE,
- _mobiledata_vconf_cb, data);
- msgif(ret != 0, "failed to notify key(%s) : %d", VCONFKEY_3G_ENABLE, ret);
+ 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);
+ 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 = vconf_notify_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE,
- _mobiledata_vconf_cb, data);
- msgif(ret != 0, "failed to notify key(%s) : %d", VCONFKEY_TELEPHONY_FLIGHT_MODE, 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) {
+static int _unregister_module_event_handler(void *data)
+{
int ret = 0;
- ret = vconf_ignore_key_changed(VCONFKEY_3G_ENABLE,
- _mobiledata_vconf_cb);
- msgif(ret != 0, "failed to ignore key(%s) : %d", VCONFKEY_3G_ENABLE, ret);
+ 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);
+ 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 = vconf_ignore_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE,
- _mobiledata_vconf_cb);
- msgif(ret != 0, "failed to ignore key(%s) : %d", VCONFKEY_TELEPHONY_FLIGHT_MODE, 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;
}
*
****************************************************************************/
-static int _init(void *data) {
+static int _init(void *data)
+{
int ret = QP_OK;
ret = _register_module_event_handler(data);
return ret;
}
-static int _fini(void *data) {
+static int _fini(void *data)
+{
int ret = QP_OK;
ret = _unregister_module_event_handler(data);
return ret;
}
-static void _lang_changed(void *data) {
+static void _lang_changed(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
-static void _refresh(void *data) {
+static void _refresh(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
-static void _reset_icon(QP_Module_Setting *module) {
+static void _reset_icon(QP_Module_Setting *module)
+{
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_VALUE_VOID);
+ 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) {
+static void _handler_on(void *data)
+{
int ret = 0;
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) {
- ret = vconf_set_bool(VCONFKEY_3G_ENABLE, 1);
+ 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 == 0) {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
- qp_setting_module_icon_timer_add(module);
+ 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);
}
}
}
-static void _handler_off(void *data) {
+static void _handler_off(void *data)
+{
int ret = 0;
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
+ if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
ret = vconf_set_bool(VCONFKEY_3G_ENABLE, 0);
if (ret == 0) {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_add(module);
+ 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);
}
}
}
-static void _handler_progress_on(void *data) {
+static void _handler_progress_on(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_VALUE_VOID);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_VALUE_VOID);
}
-static void _handler_progress_off(void *data) {
+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) {
+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");
*
*/
+#include <Elementary.h>
#include <vconf.h>
-#include <bundle.h>
+#include <system_settings.h>
+#include <bundle_internal.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.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_AUTO_NROTATE")
#define BUTTON_ICON_NORMAL "quick_icon_auto_rotate.png"
static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static const char *_label_get(void) {
+static const char *_label_get(void)
+{
return BUTTON_LABEL;
}
-static const char *_icon_get(qp_setting_icon_image_type type) {
+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_NORMAL) {
+ } else if (type == QP_SETTING_ICON_HIGHLIGHT) {
return BUTTON_ICON_HIGHLIGHT;
} else if (type == QP_SETTING_ICON_DIM) {
#ifdef BUTTON_ICON_DIM
return NULL;
}
-static void _long_press_cb(void *data) {
+static void _long_press_cb(void *data)
+{
#ifdef PACKAGE_SETTING_MENU
bundle *kb = bundle_create();
if (kb != NULL) {
bundle_add(kb, "viewtype", "main");
- qp_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, kb);
+ quickpanel_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, kb);
bundle_free(kb);
} else {
ERR("failed to create the bunlde");
#endif
}
-static void _view_update(Evas_Object *view, int state, int flag_extra_1, int flag_extra_2) {
+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;
- qp_setting_icon_state_set(view, state);
+ quickpanel_setting_icon_state_set(view, state);
if (state == ICON_VIEW_STATE_ON) {
#ifdef BUTTON_ICON_HIGHLIGHT
if (icon_path == NULL) {
icon_path = BUTTON_ICON_NORMAL;
}
- image = qp_setting_icon_image_new(view, icon_path);
- qp_setting_icon_content_set(view, image);
- qp_setting_icon_text_set(view, BUTTON_LABEL, state);
+ 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) {
+static void _status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2)
+{
int ret = 0;
- int status = 0;
+ bool status = false;
retif(module == NULL, , "Invalid parameter!");
- ret = vconf_get_bool(VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL, &status);
- msgif(ret != 0, "fail to get VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL:%d", ret);
+ ret = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO, &status);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE , "failed to notify key SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO : %d", ret);
- if (status == 1) {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
+ if (status == true) {
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
} else {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
}
- qp_setting_module_icon_view_update(module,
- qp_setting_module_icon_state_get(module),
- FLAG_VALUE_VOID);
+ 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) {
+static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
int ret = 0;
- int status = 0;
+ bool status = false;
- ret = vconf_get_bool(VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL, &status);
- msgif(ret != 0, "fail to get VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL:%d", ret)
+ ret = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO, &status);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to notify key SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO : %d", ret);
- ret = vconf_set_bool(VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL,
- ((status == 0) ? 1 : 0));
- msgif(ret != 0, "failed to set VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL:%d", ret);
+ ret = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO, !status );
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to notify key SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO : %d", ret);
}
-static void _autorotation_vconf_cb(keynode_t *node,
- void *data) {
+static void _autorotation_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) {
+static int _register_module_event_handler(void *data)
+{
int ret = 0;
- ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL,
- _autorotation_vconf_cb, data);
- msgif(ret != 0, "failed to notify key(VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL) : %d", ret);
+ ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO, _autorotation_vconf_cb, data);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to notify key(SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO) : %d", ret);
return QP_OK;
}
-static int _unregister_module_event_handler(void *data) {
+static int _unregister_module_event_handler(void *data)
+{
int ret = 0;
- ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL,
- _autorotation_vconf_cb);
- msgif(ret != 0, "failed to ignore key(VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL) : %d", ret);
+ ret = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO);
+ msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to ignore key(SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO) : %d", ret);
return QP_OK;
}
* Quickpanel Item functions
*
****************************************************************************/
-static int _init(void *data) {
+static int _init(void *data)
+{
int ret = QP_OK;
ret = _register_module_event_handler(data);
return ret;
}
-static int _fini(void *data) {
+static int _fini(void *data)
+{
int ret = QP_OK;
ret = _unregister_module_event_handler(data);
return ret;
}
-static void _lang_changed(void *data) {
+static void _lang_changed(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
-static void _refresh(void *data) {
+static void _refresh(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
QP_Module_Setting rotate = {
*
*/
+#include <Elementary.h>
+
#include <vconf.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include <feedback.h>
+#include <sound_manager.h>
+
+#include "common_uic.h"
#include "common.h"
#include "quickpanel-ui.h"
#include "settings.h"
#include "setting_utils.h"
#include "setting_module_api.h"
-#include "sound_manager.h"
+#include "settings_icon_common.h"
#define BUTTON_LABEL _("IDS_QP_BUTTON2_SOUND_ABB")
#define BUTTON_ICON_SND_NORMAL "quick_icon_sn_vf.png"
#define SAM_LOG_FEATURE_SOUND "ST0C"
static int g_check_press = 0;
-static int g_backup_volume = 0;
static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static const char *_label_get(void) {
+static const char *_label_get(void)
+{
return BUTTON_LABEL;
}
-static const char *_icon_get(qp_setting_icon_image_type type) {
+static const char *_icon_get(qp_setting_icon_image_type type)
+{
if (type == QP_SETTING_ICON_NORMAL) {
return BUTTON_ICON_SND_NORMAL;
- } else if (type == BUTTON_ICON_SND_HIGHLIGHT) {
+ } else if (type == QP_SETTING_ICON_HIGHLIGHT) {
return BUTTON_ICON_SND_HIGHLIGHT;
} else if (type == QP_SETTING_ICON_DIM) {
#ifdef BUTTON_ICON_DIM
return NULL;
}
-static void _long_press_cb(void *data) {
+static void _long_press_cb(void *data)
+{
#ifdef PACKAGE_SETTING_MENU
- qp_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, NULL);
+ quickpanel_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, NULL);
#endif
}
static void _play_snd_job_cb(void *data)
{
- if (feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_SOUND_ON) != FEEDBACK_ERROR_NONE){
+ if (feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_SILENT_OFF) != FEEDBACK_ERROR_NONE) {
ERR("failed to play a sound");
}
}
static void _play_vib_job_cb(void *data)
{
- if (feedback_play_type(FEEDBACK_TYPE_VIBRATION, FEEDBACK_PATTERN_VIBRATION_ON) != FEEDBACK_ERROR_NONE){
+ if (feedback_play_type(FEEDBACK_TYPE_VIBRATION, FEEDBACK_PATTERN_VIBRATION_ON) != FEEDBACK_ERROR_NONE) {
ERR("failed to play a vibration");
}
}
-static void _view_update(Evas_Object *view, int state, int flag_extra_1, int flag_extra_2) {
+static void _view_update(Evas_Object *view, int state, int flag_extra_1, int flag_extra_2)
+{
int icon_state;
int ret = -1;
int sound_status = 1;
img_path = BUTTON_ICON_MUTE_NORMAL;
}
- qp_setting_icon_state_set(view, icon_state);
- qp_setting_icon_text_set(view, text, icon_state);
- image = qp_setting_icon_image_new(view, img_path);
- qp_setting_icon_content_set(view, image);
+ quickpanel_setting_icon_state_set(view, icon_state);
+ quickpanel_setting_icon_text_set(view, text, icon_state);
+ image = quickpanel_setting_icon_image_new(view, img_path);
+ quickpanel_setting_icon_content_set(view, image);
- if (quickpanel_is_opened() && g_check_press) {
+ if (quickpanel_uic_is_opened() && g_check_press) {
g_check_press = 0;
if (sound_status == 1 && vibration_status == 0) {
ecore_job_add(_play_snd_job_cb, NULL);
}
}
-static void _status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2) {
+static void _status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2)
+{
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update(module,
- qp_setting_module_icon_state_get(module),
+ 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) {
+static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
int ret = 0;
int sound_status = 1;
int vibration_status = 1;
/*insert log for mute mode on state */
//_log_manager_insert_log(SAM_LOG_FEATURE_SOUND, "MUTE", NULL);
} else if (sound_status == 0 && vibration_status == 0) {
- vconf_get_int("db/setting/sound/ringtone_backup_volume", &(g_backup_volume));
-
- if (g_backup_volume <= 0) {
- g_backup_volume = 1;
- }
- sound_manager_set_volume(SOUND_TYPE_RINGTONE, g_backup_volume);
-
ret = vconf_set_bool(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, 1);
msgif(ret != 0, "failed set VCONFKEY_SETAPPL_SOUND_STATUS_BOOL:%d", ret);
}
}
-static void _soundprofile_vconf_cb(keynode_t *node,
- void *data) {
+static void _soundprofile_vconf_cb(keynode_t *node, void *data)
+{
_status_update(data, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
}
-static int _register_module_event_handler(void *data) {
+static int _register_module_event_handler(void *data)
+{
int ret = 0;
ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL,
return QP_OK;
}
-static int _unregister_module_event_handler(void *data) {
+static int _unregister_module_event_handler(void *data)
+{
int ret = 0;
ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL,
* Quickpanel Item functions
*
****************************************************************************/
-static int _init(void *data) {
+static int _init(void *data)
+{
int ret = QP_OK;
ret = _register_module_event_handler(data);
return ret;
}
-static int _fini(void *data) {
+static int _fini(void *data)
+{
int ret = QP_OK;
ret = _unregister_module_event_handler(data);
return ret;
}
-static void _lang_changed(void *data) {
+static void _lang_changed(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
_status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
}
-static void _refresh(void *data) {
+static void _refresh(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
_status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
}
*
*/
+#include <Elementary.h>
#include <vconf.h>
#include <tethering.h>
#include <glib.h>
-
+#include <bundle_internal.h>
#include <net_connection.h>
-#include <bundle.h>
#include <syspopup_caller.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.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 MOBILE_AP_SYSPOPUP_NAME "mobileap-syspopup"
#define BUTTON_LABEL _("IDS_ST_BUTTON2_WI_FI_NTETHERING")
static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static const char *_label_get(void) {
+static const char *_label_get(void)
+{
return BUTTON_LABEL;
}
-static const char *_icon_get(qp_setting_icon_image_type type) {
+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_NORMAL) {
+ } else if (type == QP_SETTING_ICON_HIGHLIGHT) {
return BUTTON_ICON_HIGHLIGHT;
} else if (type == QP_SETTING_ICON_DIM) {
#ifdef BUTTON_ICON_DIM
return NULL;
}
-static void _long_press_cb(void *data) {
+static void _long_press_cb(void *data)
+{
#ifdef PACKAGE_SETTING_MENU
- qp_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, NULL);
+ 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) {
+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;
- qp_setting_icon_state_set(view, state);
+ quickpanel_setting_icon_state_set(view, state);
if (state == ICON_VIEW_STATE_ON) {
#ifdef BUTTON_ICON_HIGHLIGHT
if (icon_path == NULL) {
icon_path = BUTTON_ICON_NORMAL;
}
- image = qp_setting_icon_image_new(view, icon_path);
- qp_setting_icon_content_set(view, image);
- qp_setting_icon_text_set(view, BUTTON_LABEL, state);
+ 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) {
+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!");
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_icon_timer_del(module);
if (tethering_is_enabled(module->loader->extra_handler_1, TETHERING_TYPE_WIFI)) {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
} else {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
}
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- qp_setting_module_icon_view_update(module,
- qp_setting_module_icon_state_get(module),
+ quickpanel_setting_module_icon_view_update(module,
+ quickpanel_setting_module_icon_state_get(module),
FLAG_VALUE_VOID);
}
if (result != TETHERING_ERROR_NONE) {
if (is_requested == TRUE) {
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ 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 ;
+ return;
}
if (is_requested == TRUE) {
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ 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);
retif(module->loader == NULL, , "Invalid parameter!");
if (result != TETHERING_ERROR_NONE && type == TETHERING_TYPE_WIFI) {
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ 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 ;
+ return;
}
if (type == TETHERING_TYPE_WIFI) {
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ 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 {
return QP_FAIL;
}
- if (state)
- {
- if (tethering_is_enabled(NULL, TETHERING_TYPE_WIFI) == FALSE)
- {
+ 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)
- {
+ if (!b) {
ERR("Failed to create bundle.");
return QP_FAIL;
}
syspopup_launch(MOBILE_AP_SYSPOPUP_NAME, b);
bundle_free(b);
}
- }
- else
- {
- if (tethering_is_enabled(NULL, TETHERING_TYPE_WIFI) == TRUE)
- {
+ } else {
+ if (tethering_is_enabled(NULL, TETHERING_TYPE_WIFI) == TRUE) {
bundle *b = bundle_create();
- if (!b)
- {
+ if (!b) {
ERR("Failed to create bundle.");
return QP_FAIL;
}
return QP_OK;
}
-static void _mouse_clicked_cb(void *data,
- Evas_Object *obj, const char *emission, const char *source) {
+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 (qp_setting_module_is_icon_clickable(module) == 0)
- {
+ if (quickpanel_setting_module_is_icon_clickable(module) == 0) {
DBG("Icon is not clickable");
return;
}
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) {
+ 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");
if (ret == QP_OK) {
if (is_on == 1) {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
} else {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF);
}
- qp_setting_module_icon_timer_add(module);
+ quickpanel_setting_module_icon_timer_add(module);
}
return;
}
-static int _register_module_event_handler(void *data) {
+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!");
return QP_OK;
}
-static int _unregister_module_event_handler(void *data) {
+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!");
* Quickpanel Item functions
*
****************************************************************************/
-static int _init(void *data) {
+static int _init(void *data)
+{
int ret = QP_OK;
ret = _register_module_event_handler(data);
return ret;
}
-static int _fini(void *data) {
+static int _fini(void *data)
+{
int ret = QP_OK;
ret = _unregister_module_event_handler(data);
return ret;
}
-static void _lang_changed(void *data) {
+static void _lang_changed(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
-static void _refresh(void *data) {
+static void _refresh(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
-static void _reset_icon(QP_Module_Setting *module) {
+static void _reset_icon(QP_Module_Setting *module)
+{
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_VALUE_VOID);
+ 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) {
+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!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) {
+ if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) {
ret = _tethering_enabled_set(module, EINA_TRUE);
if (ret == QP_OK) {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
- qp_setting_module_icon_timer_add(module);
+ 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);
}
}
}
-static void _handler_off(void *data) {
+static void _handler_off(void *data)
+{
int ret = TETHERING_ERROR_NONE;
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
+ if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
ret = _tethering_enabled_set(module, EINA_FALSE);
if (ret == QP_OK) {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_add(module);
+ 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);
}
}
}
-static void _handler_progress_on(void *data) {
+static void _handler_progress_on(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
}
-static void _handler_progress_off(void *data) {
+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) {
+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) {
+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");
*/
+#include <Elementary.h>
+
#include <app.h>
#include <vconf.h>
#include <syspopup_caller.h>
+#include <bundle_internal.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.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_QP_BUTTON2_U_POWER_NSAVING_ABB")
#define BUTTON_ICON_NORMAL "quick_icon_ultra_power_saving.png"
static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static const char *_label_get(void) {
+static const char *_label_get(void)
+{
return BUTTON_LABEL;
}
-static const char *_icon_get(qp_setting_icon_image_type type) {
+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 NULL;
}
-static void _long_press_cb(void *data) {
+static void _long_press_cb(void *data)
+{
#ifdef PACKAGE_SETTING_MENU
bundle *kb = bundle_create();
if (kb != NULL) {
bundle_add(kb, "power_saving", "upsm");
- qp_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, kb);
+ 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;
return 1;
}
+#endif
static void _turn_on(int is_on)
{
bundle *b = NULL;
- if (_is_need_to_show_disclaimer() == 1)
+ //if(_is_need_to_show_disclaimer() == 1)
{
b = bundle_create();
- if (b != NULL)
- {
+ if (b != NULL) {
bundle_add(b, "viewtype", "disc");
- qp_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);
+ quickpanel_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, b);
bundle_free(b);
}
- else
- {
- ERR("failed to create a bundle");
- }
}
+ /*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) {
+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;
- qp_setting_icon_state_set(view, state);
+ quickpanel_setting_icon_state_set(view, state);
if (state == ICON_VIEW_STATE_ON) {
#ifdef BUTTON_ICON_HIGHLIGHT
if (icon_path == NULL) {
icon_path = BUTTON_ICON_NORMAL;
}
- image = qp_setting_icon_image_new(view, icon_path);
- qp_setting_icon_content_set(view, image);
- qp_setting_icon_text_set(view, BUTTON_LABEL, state);
+ 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) {
+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!");
msgif(ret != 0, "fail to get VCONFKEY_SETAPPL_PSMODE:%d", ret);
if (status == SETTING_PSMODE_EMERGENCY) {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
} else {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
}
- qp_setting_module_icon_view_update(module,
- qp_setting_module_icon_state_get(module),
+ 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) {
+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 (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
+ 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) {
+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) {
+static int _register_module_event_handler(void *data)
+{
int ret = 0;
ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_PSMODE,
return QP_OK;
}
-static int _unregister_module_event_handler(void *data) {
+static int _unregister_module_event_handler(void *data)
+{
int ret = 0;
ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_PSMODE,
* Quickpanel Item functions
*
****************************************************************************/
-static int _init(void *data) {
+static int _init(void *data)
+{
int ret = QP_OK;
ret = _register_module_event_handler(data);
return ret;
}
-static int _fini(void *data) {
+static int _fini(void *data)
+{
int ret = QP_OK;
ret = _unregister_module_event_handler(data);
return ret;
}
-static void _lang_changed(void *data) {
+static void _lang_changed(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
-static void _refresh(void *data) {
+static void _refresh(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
QP_Module_Setting u_power_saving = {
*
*/
+#include <Elementary.h>
#include <app.h>
#include <tethering.h>
-
#include <wifi.h>
#include <vconf.h>
+
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.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 E_DATA_POPUP_MODULE_ITEM "mobule_item"
#define BUTTON_LABEL _("IDS_ST_BUTTON2_WI_FI_ABB")
static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
static void _reset_icon(QP_Module_Setting *module);
-static const char *_label_get(void) {
+static const char *_label_get(void)
+{
return BUTTON_LABEL;
}
-static const char *_icon_get(qp_setting_icon_image_type type) {
+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_NORMAL) {
+ } else if (type == QP_SETTING_ICON_HIGHLIGHT) {
return BUTTON_ICON_HIGHLIGHT;
} else if (type == QP_SETTING_ICON_DIM) {
#ifdef BUTTON_ICON_DIM
return NULL;
}
-static void _long_press_cb(void *data) {
+static void _long_press_cb(void *data)
+{
#ifdef PACKAGE_SETTING_MENU
- if (quickpanel_ui_is_package_exist(PACKAGE_SETTING_MENU))
- {
- qp_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, NULL);
- }
- else
- {
+ if (quickpanel_common_ui_is_package_exist(PACKAGE_SETTING_MENU)) {
+ quickpanel_setting_icon_handler_longpress(PACKAGE_SETTING_MENU, NULL);
+ } else {
DBG("No package[%s] try[%s]", PACKAGE_SETTING_MENU, PACKAGE_SETTING_MENU_PTN);
- qp_setting_icon_handler_longpress(PACKAGE_SETTING_MENU_PTN, NULL);
+ quickpanel_setting_icon_handler_longpress(PACKAGE_SETTING_MENU_PTN, NULL);
}
#endif
}
-static void _view_update(Evas_Object *view, int state, int flag_extra_1, int flag_extra_2) {
+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;
- qp_setting_icon_state_set(view, state);
+ quickpanel_setting_icon_state_set(view, state);
if (state == ICON_VIEW_STATE_ON) {
#ifdef BUTTON_ICON_HIGHLIGHT
if (icon_path == NULL) {
icon_path = BUTTON_ICON_NORMAL;
}
- image = qp_setting_icon_image_new(view, icon_path);
- qp_setting_icon_content_set(view, image);
- qp_setting_icon_text_set(view, BUTTON_LABEL, state);
+ 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 wifi_status, int flag_extra_2) {
+static void _status_update(QP_Module_Setting *module, int wifi_status, int flag_extra_2)
+{
ERR("");
int ret = -1;
bool is_on = 0;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_icon_timer_del(module);
if (wifi_status == FLAG_VALUE_VOID) {
ret = _wifi_is_on(&is_on);
}
if (ret == 0 && is_on == true) {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);
} else {
- qp_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
+ quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);
}
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- qp_setting_module_icon_view_update(module,
- qp_setting_module_icon_state_get(module),
+ 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) {
+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 (qp_setting_module_is_icon_clickable(module) == 0) return ;
+ if (quickpanel_setting_module_is_icon_clickable(module) == 0) {
+ return;
+ }
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
+ if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
is_on = FLAG_TURN_OFF;
ret = _wifi_off();
} else {
if (ret != 0) {
ERR("wifi op failed:%d", ret);
- return ;
+ return;
}
if (is_on == 1) {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
} else {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF);
}
- qp_setting_module_icon_timer_add(module);
+ quickpanel_setting_module_icon_timer_add(module);
}
-static int _register_module_event_handler(void *data) {
+static int _register_module_event_handler(void *data)
+{
int ret = 0;
ret = wifi_initialize();
return QP_OK;
}
-static int _unregister_module_event_handler(void *data) {
+static int _unregister_module_event_handler(void *data)
+{
int ret = 0;
ret = wifi_unset_device_state_changed_cb();
*
****************************************************************************/
-static int _init(void *data) {
+static int _init(void *data)
+{
int ret = QP_OK;
ret = _register_module_event_handler(data);
return ret;
}
-static int _fini(void *data) {
+static int _fini(void *data)
+{
int ret = QP_OK;
ret = _unregister_module_event_handler(data);
return ret;
}
-static void _lang_changed(void *data) {
+static void _lang_changed(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
-static void _refresh(void *data) {
+static void _refresh(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_icon_view_update_text(module);
+ quickpanel_setting_module_icon_view_update_text(module);
}
static void _wifi_activated_cb(wifi_error_e result, void *user_data)
ret = wifi_activate_with_wifi_picker_tested(_wifi_activated_cb, NULL);
if (ret != WIFI_ERROR_NONE) {
ERR("Fail to activate Wi-Fi device [%d]\n", ret);
- return ;
+ return;
}
}
retif(module == NULL, false, "Invalid parameter!");
- if (qp_setting_module_is_icon_clickable(module) == 0) {
- return false;
- }
-
/* disable wifi tethering */
ret = tethering_create(&th);
if (ret != TETHERING_ERROR_NONE) {
}
ret = tethering_set_disabled_cb(th, type,
- _tethering_disabled_cb, module);
+ _tethering_disabled_cb, module);
if (ret != TETHERING_ERROR_NONE) {
/* failed to set disabled callback */
tethering_destroy(th);
}
module->loader->extra_handler_1 = th;
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
- qp_setting_module_icon_timer_add(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
+ quickpanel_setting_module_icon_timer_add(module);
ret = tethering_disable(th, type);
if (ret != TETHERING_ERROR_NONE) {
char *resp_type = NULL;
DBG("Result[%d]", result);
- if (result == APP_CONTROL_RESULT_SUCCEEDED && reply)
- {
+ if (result == APP_CONTROL_RESULT_SUCCEEDED && reply) {
app_control_get_extra_data(reply, "_SYSPOPUP_RESP_", &resp_type);
- if (resp_type)
- {
+ if (resp_type) {
DBG("Response[%s]", resp_type);
- if (!strcmp("RESP_TETHERING_TYPE_WIFI_OFF", resp_type))
- {
+ if (!strcmp("RESP_TETHERING_TYPE_WIFI_OFF", resp_type)) {
_tethering_disable(TETHERING_TYPE_WIFI, user_data);
- }
- else if (!strcmp("RESP_TETHERING_TYPE_WIFI_AP_OFF", resp_type))
- {
+ } else if (!strcmp("RESP_TETHERING_TYPE_WIFI_AP_OFF", resp_type)) {
_tethering_disable(TETHERING_TYPE_RESERVED, user_data);
}
int ret = APP_CONTROL_ERROR_NONE;
ret = app_control_create(&service);
- if (ret != APP_CONTROL_ERROR_NONE)
- {
+ if (ret != APP_CONTROL_ERROR_NONE) {
ERR("Failed to create app_control[%d]", ret);
return;
}
app_control_add_extra_data(service, "_SYSPOPUP_TITLE_", "mobileap");
- if (type == TETHERING_TYPE_WIFI)
- {
+ if (type == TETHERING_TYPE_WIFI) {
app_control_add_extra_data(service, "_SYSPOPUP_CONTENT_", "TETHERING_TYPE_WIFI");
- }
- else
- {
+ } else {
app_control_add_extra_data(service, "_SYSPOPUP_CONTENT_", "TETHERING_TYPE_WIFI_AP");
}
app_control_add_extra_data(service, "_SYSPOPUP_TYPE_", "popup_user_resp");
app_control_set_app_id(service, "net.netpopup");
ret = app_control_send_launch_request(service, _tethering_wifi_reply_cb, data);
- if (ret != APP_CONTROL_ERROR_NONE)
- {
+ if (ret != APP_CONTROL_ERROR_NONE) {
ERR("Failed to send launch request[%d]", ret);
}
}
/*
- Set Wi-Fi status changed callback
- - needs to update your Wi-Fi status.
-*/
+ Set Wi-Fi status changed callback
+ - needs to update your Wi-Fi status.
+ */
static void _wifi_state_changed_cb(wifi_device_state_e state, void *user_data)
{
ERR("state:%d", state);
if (state == WIFI_DEVICE_STATE_ACTIVATED) {
/* Wi-Fi is activated(On) - change your Wi-Fi status */
_status_update(user_data, state, FLAG_VALUE_VOID);
- } else if(state == WIFI_DEVICE_STATE_DEACTIVATED) {
+ } else if (state == WIFI_DEVICE_STATE_DEACTIVATED) {
/* Wi-Fi is deactivated(Off) - change your Wi-Fi status */
_status_update(user_data, state, FLAG_VALUE_VOID);
} else {
static void _reset_icon(QP_Module_Setting *module) {
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_VALUE_VOID);
+ 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) {
+static void _handler_on(void *data)
+{
int ret = 0;
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) {
+ if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) {
ret = _wifi_on(module, _("IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"));
if (ret == 0) {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);
- qp_setting_module_icon_timer_add(module);
+ 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);
}
}
}
-static void _handler_off(void *data) {
+static void _handler_off(void *data)
+{
int ret = 0;
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);
+ quickpanel_setting_module_icon_timer_del(module);
- if (qp_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
+ if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {
ret = _wifi_off();
if (ret == 0) {
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF);
- qp_setting_module_icon_timer_add(module);
+ 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);
}
}
}
-static void _handler_progress_on(void *data) {
+static void _handler_progress_on(void *data)
+{
QP_Module_Setting *module = (QP_Module_Setting *)data;
retif(module == NULL, , "Invalid parameter!");
- qp_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_VALUE_VOID);
+ quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_VALUE_VOID);
}
-static void _handler_progress_off(void *data) {
+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) {
+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");
*
*/
+#include <Elementary.h>
+
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
#include "common.h"
#include "quickpanel_def.h"
#include "quickpanel-ui.h"
#include "settings.h"
#include "setting_utils.h"
+#include "setting_module_api.h"
+#include "settings_icon_common.h"
+
#ifdef QP_SCREENREADER_ENABLE
#include "accessibility.h"
#endif
-#include "setting_module_api.h"
#define E_DATA_CONTAINER_TYPE "container_type"
-static qp_setting_icon_container_type
-_icon_container_type_get(Evas_Object *view)
+static qp_setting_icon_container_type _icon_container_type_get(Evas_Object *view)
{
retif(view == NULL, QP_SETTING_ICON_CONTAINER_NONE, "invalid parameter");
return (qp_setting_icon_container_type)evas_object_data_get(view, E_DATA_CONTAINER_TYPE);
}
-static void _icon_view_add(QP_Module_Setting *module, Evas_Object *view
- ,qp_setting_icon_container_type container_type)
+static void _icon_view_add(QP_Module_Setting *module, Evas_Object *view ,qp_setting_icon_container_type container_type)
{
retif(module == NULL, , "invalid parameter");
retif(view == NULL, , "invalid parameter");
module->view_list = eina_list_remove(module->view_list, view);
}
-Evas_Object *qp_setting_module_icon_create(QP_Module_Setting *module, Evas_Object *parent) {
+HAPI Evas_Object *quickpanel_setting_module_icon_create(QP_Module_Setting *module, Evas_Object *parent)
+{
Evas_Object *view = NULL;
retif(module == NULL, NULL, "invalid parameter");
retif(parent == NULL, NULL, "invalid parameter");
- view = qp_setting_icon_new(parent);
+ view = quickpanel_setting_icon_new(parent);
retif(view == NULL, NULL, "failed to create icon");
if (module->label_get != NULL) {
- qp_setting_icon_text_set(view, module->label_get(), ICON_VIEW_STATE_OFF);
+ quickpanel_setting_icon_text_set(view, module->label_get(), ICON_VIEW_STATE_OFF);
}
if (module->handler_press != NULL) {
if (module->is_disable_feedback) {
- qp_setting_icon_click_cb_without_feedback_add(view, module->handler_press, module);
+ quickpanel_setting_icon_click_cb_without_feedback_add(view, module->handler_press, module);
} else {
- qp_setting_icon_click_cb_add(view, module->handler_press, module);
+ quickpanel_setting_icon_click_cb_add(view, module->handler_press, module);
}
}
evas_object_data_set(view, E_DATA_MODULE_INFO, module);
return view;
}
-QP_Module_Setting *qp_setting_module_get_from_icon(Evas_Object *icon) {
+HAPI QP_Module_Setting *quickpanel_setting_module_get_from_icon(Evas_Object *icon)
+{
return evas_object_data_get(icon, E_DATA_MODULE_INFO);
}
-void qp_setting_module_icon_add(QP_Module_Setting *module, Evas_Object *icon,
- qp_setting_icon_container_type container_type) {
+HAPI void quickpanel_setting_module_icon_add(QP_Module_Setting *module, Evas_Object *icon, qp_setting_icon_container_type container_type)
+{
_icon_view_add(module, icon, container_type);
}
-Evas_Object *qp_setting_module_icon_get(QP_Module_Setting *module,
- qp_setting_icon_container_type container_type) {
+HAPI Evas_Object *quickpanel_setting_module_icon_get(QP_Module_Setting *module, qp_setting_icon_container_type container_type)
+{
Eina_List *l;
Eina_List *l_next;
Evas_Object *view = NULL;
retif(module == NULL, NULL, "invalid parameter");
if (module->view_update != NULL) {
- EINA_LIST_FOREACH_SAFE(module->view_list, l, l_next, view)
- {
+ EINA_LIST_FOREACH_SAFE(module->view_list, l, l_next, view) {
if (_icon_container_type_get(view) == container_type) {
return view;
}
return NULL;
}
-void qp_setting_module_icon_remove(QP_Module_Setting *module, Evas_Object *icon) {
+HAPI void quickpanel_setting_module_icon_remove(QP_Module_Setting *module, Evas_Object *icon)
+{
_icon_view_del(module, icon);
}
-void qp_setting_module_icon_state_set(QP_Module_Setting *module, int state) {
+HAPI void quickpanel_setting_module_icon_state_set(QP_Module_Setting *module, int state)
+{
retif(module == NULL, , "invalid parameter");
retif(module->loader == NULL, , "invalid parameter");
module->loader->state = state;
}
-int qp_setting_module_icon_state_get(QP_Module_Setting *module) {
+HAPI int quickpanel_setting_module_icon_state_get(QP_Module_Setting *module)
+{
retif(module == NULL, FLAG_TURN_OFF, "invalid parameter");
retif(module->loader == NULL, FLAG_TURN_OFF, "invalid parameter");
return module->loader->state;
}
-void qp_setting_module_icon_view_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2) {
+HAPI void quickpanel_setting_module_icon_view_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2)
+{
Eina_List *l;
Eina_List *l_next;
Evas_Object *view = NULL;
retif(module == NULL, , "invalid parameter");
- int status = qp_setting_module_icon_state_get(module);
+ int status = quickpanel_setting_module_icon_state_get(module);
if (module->view_update != NULL) {
- EINA_LIST_FOREACH_SAFE(module->view_list, l, l_next, view)
- {
+ EINA_LIST_FOREACH_SAFE(module->view_list, l, l_next, view) {
module->view_update(view, status, flag_extra_1, flag_extra_2);
}
}
}
-void qp_setting_module_icon_view_update_text(QP_Module_Setting *module) {
+HAPI void quickpanel_setting_module_icon_view_update_text(QP_Module_Setting *module)
+{
Eina_List *l;
Eina_List *l_next;
Evas_Object *view = NULL;
retif(module == NULL, , "invalid parameter");
if (module->view_update != NULL && module->label_get != NULL) {
- EINA_LIST_FOREACH_SAFE(module->view_list, l, l_next, view)
- {
- qp_setting_icon_text_set(view, module->label_get(), qp_setting_module_icon_state_get(module));
+ EINA_LIST_FOREACH_SAFE(module->view_list, l, l_next, view) {
+ quickpanel_setting_icon_text_set(view, module->label_get(), quickpanel_setting_module_icon_state_get(module));
}
}
}
-void qp_setting_module_icon_status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2) {
+HAPI void quickpanel_setting_module_icon_status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2)
+{
retif(module == NULL, , "invalid parameter");
if (module->status_update != NULL) {
}
}
-int qp_setting_module_is_icon_clickable(QP_Module_Setting *module)
+HAPI int quickpanel_setting_module_is_icon_clickable(QP_Module_Setting *module)
{
retif(module == NULL, 0, "invalid parameter");
retif(module->loader == NULL, 0, "invalid parameter");
- if (module->loader->timer != NULL) return 0;
- if (module->loader->state_icon == STATE_ICON_BUSY) return 0;
+ if (module->loader->timer != NULL) {
+ return 0;
+ }
+ if (module->loader->state_icon == STATE_ICON_BUSY) {
+ return 0;
+ }
return 1;
}
-static Eina_Bool _timer_expire_cb(void *data) {
+static Eina_Bool _timer_expire_cb(void *data)
+{
retif(data == NULL, ECORE_CALLBACK_CANCEL, "invalid parameter");
- qp_setting_module_icon_timer_del(data);
- qp_setting_module_icon_status_update(data, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
+ quickpanel_setting_module_icon_timer_del(data);
+ quickpanel_setting_module_icon_status_update(data, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
return ECORE_CALLBACK_CANCEL;
}
-void qp_setting_module_icon_timer_add(QP_Module_Setting *module)
+HAPI void quickpanel_setting_module_icon_timer_add(QP_Module_Setting *module)
{
retif(module == NULL, , "invalid parameter");
retif(module->loader == NULL, , "invalid parameter");
- qp_setting_module_icon_timer_del(module);
+ quickpanel_setting_module_icon_timer_del(module);
module->loader->timer = ecore_timer_add(TIMER_COUNT, _timer_expire_cb, module);
}
-void qp_setting_module_icon_timer_del(QP_Module_Setting *module)
+HAPI void quickpanel_setting_module_icon_timer_del(QP_Module_Setting *module)
{
retif(module == NULL, , "invalid parameter");
retif(module->loader == NULL, , "invalid parameter");
Evas_Object *content = NULL;
content = elm_progressbar_add(parent);
+ elm_progressbar_unit_format_set(content, "%0.0f%%");
retif(!content, NULL, "fail to elm_progressbar_add");
elm_object_style_set(content, "quickpanel_style");
retif(view == NULL, , "invalid parameter");
if (is_enable == FLAG_ENABLE) {
- content_old = qp_setting_icon_content_get(view);
+ content_old = quickpanel_setting_icon_content_get(view);
if (content_old != NULL) {
evas_object_del(content_old);
content_old = NULL;
}
content = _progressbar_get(view);
- qp_setting_icon_content_set(view, content);
+ quickpanel_setting_icon_content_set(view, content);
- qp_setting_icon_state_progress_set(view);
- qp_setting_icon_state_set(view, ICON_VIEW_STATE_DIM);
+ quickpanel_setting_icon_state_progress_set(view);
+ quickpanel_setting_icon_state_set(view, ICON_VIEW_STATE_DIM);
}
}
#endif
-void qp_setting_module_progress_mode_set(QP_Module_Setting *module, int is_enable, int is_request_on)
+HAPI void quickpanel_setting_module_progress_mode_set(QP_Module_Setting *module, int is_enable, int is_request_on)
{
Eina_List *l;
Eina_List *l_next;
retif(module == NULL, , "invalid parameter");
retif(module->loader == NULL, , "invalid parameter");
- EINA_LIST_FOREACH_SAFE(module->view_list, l, l_next, view)
- {
+ EINA_LIST_FOREACH_SAFE(module->view_list, l, l_next, view) {
#ifdef __PROGRESSBAR_ENABLED__
_progressbar_set(view, is_enable, is_request_on);
#else
- if (is_enable)
- {
- qp_setting_icon_state_progress_set(view);
+ if (is_enable) {
+ quickpanel_setting_icon_state_progress_set(view);
}
#endif
}
}
}
-void qp_setting_module_icon_destroy(QP_Module_Setting *module, Evas_Object *icon) {
+HAPI void quickpanel_setting_module_icon_destroy(QP_Module_Setting *module, Evas_Object *icon)
+{
retif(module == NULL, , "invalid parameter");
retif(icon == NULL, , "invalid parameter");
_icon_view_del(module, icon);
- qp_setting_icon_click_cb_del(icon, module->handler_press);
+ quickpanel_setting_icon_click_cb_del(icon, module->handler_press);
evas_object_del(icon);
icon = NULL;
}
#ifndef __SETTING_MODULE_API_H__
#define __SETTING_MODULE_API_H__
-#include <Elementary.h>
-#include "settings.h"
-
#define FLAG_VALUE_VOID 0xDEADDEAD
#define FLAG_ENABLE 1
QP_SETTING_ICON_CONTAINER_ALL_LIST,
} qp_setting_icon_container_type;
-Evas_Object *qp_setting_module_icon_create(QP_Module_Setting *module, Evas_Object *parent);
-void qp_setting_module_icon_add(QP_Module_Setting *module, Evas_Object *icon, qp_setting_icon_container_type container_type);
-void qp_setting_module_icon_remove(QP_Module_Setting *module, Evas_Object *icon);
-void qp_setting_module_icon_state_set(QP_Module_Setting *module, int state);
-int qp_setting_module_icon_state_get(QP_Module_Setting *module);
-Evas_Object *qp_setting_module_icon_get(QP_Module_Setting *module,
- qp_setting_icon_container_type container_type);
-void qp_setting_module_icon_view_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2);
-void qp_setting_module_icon_view_update_text(QP_Module_Setting *module);
-void qp_setting_module_icon_status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2);
-int qp_setting_module_is_icon_clickable(QP_Module_Setting *module);
-void qp_setting_module_icon_timer_add(QP_Module_Setting *module);
-void qp_setting_module_icon_timer_del(QP_Module_Setting *module);
-void qp_setting_module_progress_mode_set(QP_Module_Setting *module, int is_enable, int is_request_on);
-void qp_setting_module_icon_destroy(QP_Module_Setting *module, Evas_Object *icon);
-
-QP_Module_Setting *qp_setting_module_get_from_icon(Evas_Object *icon);
+extern Evas_Object *quickpanel_setting_module_icon_create(QP_Module_Setting *module, Evas_Object *parent);
+extern void quickpanel_setting_module_icon_add(QP_Module_Setting *module, Evas_Object *icon, qp_setting_icon_container_type container_type);
+extern void quickpanel_setting_module_icon_remove(QP_Module_Setting *module, Evas_Object *icon);
+extern void quickpanel_setting_module_icon_state_set(QP_Module_Setting *module, int state);
+extern int quickpanel_setting_module_icon_state_get(QP_Module_Setting *module);
+extern Evas_Object *quickpanel_setting_module_icon_get(QP_Module_Setting *module, qp_setting_icon_container_type container_type);
+extern void quickpanel_setting_module_icon_view_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2);
+extern void quickpanel_setting_module_icon_view_update_text(QP_Module_Setting *module);
+extern void quickpanel_setting_module_icon_status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2);
+extern int quickpanel_setting_module_is_icon_clickable(QP_Module_Setting *module);
+extern void quickpanel_setting_module_icon_timer_add(QP_Module_Setting *module);
+extern void quickpanel_setting_module_icon_timer_del(QP_Module_Setting *module);
+extern void quickpanel_setting_module_progress_mode_set(QP_Module_Setting *module, int is_enable, int is_request_on);
+extern void quickpanel_setting_module_icon_destroy(QP_Module_Setting *module, Evas_Object *icon);
+
+extern QP_Module_Setting *quickpanel_setting_module_get_from_icon(Evas_Object *icon);
#endif /* __SETTING_MODULE_API_H__ */
*
*/
-
+#include <Elementary.h>
#include <glib.h>
-#include <efl_assist.h>
+
+#if defined(WINSYS_X11)
+#include <Ecore_X.h>
+#endif
+
#include <notification.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include "settings.h"
#include "common.h"
#include "quickpanel_def.h"
#include "quickpanel-ui.h"
#define DIVIDER_MAGIC 0xCAFECAFE
#define E_DATA_DIVIDER_MAGIC "divider_magic"
-static inline void __escaped_text_set(Evas_Object *obj,
- const char *part, const char *text)
+static inline void __escaped_text_set(Evas_Object *obj, const char *part, const char *text)
{
char buf[256] = {0,};
char *ecaped = NULL;
- if (!obj)
+ if (!obj) {
return;
+ }
- if (!part)
+ if (!part) {
return;
+ }
strncpy(buf, text, sizeof(buf) - 1);
- quickpanel_util_char_trim(buf);
+ quickpanel_common_util_char_trim(buf);
ecaped = evas_textblock_text_utf8_to_markup(NULL, buf);
elm_object_part_text_set(obj, part, ecaped);
- if (ecaped)
+ if (ecaped) {
free(ecaped);
+ }
}
-int qp_setting_icon_text_set(Evas_Object *icon, const char *text, int state)
+HAPI int quickpanel_setting_icon_text_set(Evas_Object *icon, const char *text, int state)
{
retif(icon == NULL, QP_FAIL, "invalid parameter");
retif(text == NULL, QP_FAIL, "invalid parameter");
char buf[256] = {0,};
Evas_Object *ao = NULL;
- ao = quickpanel_screen_reader_object_get(icon,
+ ao = quickpanel_accessibility_screen_reader_object_get(icon,
SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", icon);
if (ao != NULL) {
elm_access_info_set(ao, ELM_ACCESS_TYPE, _NOT_LOCALIZED("Button"));
strncpy(buf, text, sizeof(buf) - 1);
- quickpanel_util_char_replace(buf, '\n', ' ');
+ quickpanel_common_util_char_replace(buf, '\n', ' ');
elm_access_info_set(ao, ELM_ACCESS_INFO, buf);
}
- ao = quickpanel_screen_reader_object_get(icon,
+ ao = quickpanel_accessibility_screen_reader_object_get(icon,
SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", icon);
if (ao != NULL) {
if (state == ICON_VIEW_STATE_ON) {
return QP_OK;
}
-void qp_setting_icon_access_text_set(Evas_Object *icon, const char *text)
+HAPI void quickpanel_setting_icon_access_text_set(Evas_Object *icon, const char *text)
{
#ifdef QP_SCREENREADER_ENABLE
char buf[256] = {0,};
retif(text == NULL, , "invalid parameter");
#ifdef QP_SCREENREADER_ENABLE
- ao = quickpanel_screen_reader_object_get(icon,
+ ao = quickpanel_accessibility_screen_reader_object_get(icon,
SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", icon);
if (ao != NULL) {
elm_access_info_set(ao, ELM_ACCESS_TYPE, _NOT_LOCALIZED("Button"));
strncpy(buf, text, sizeof(buf) - 1);
- quickpanel_util_char_replace(buf, '\n', ' ');
+ quickpanel_common_util_char_replace(buf, '\n', ' ');
elm_access_info_set(ao, ELM_ACCESS_INFO, buf);
}
#endif
}
-Evas_Object *qp_setting_icon_content_get(Evas_Object *icon)
+HAPI Evas_Object *quickpanel_setting_icon_content_get(Evas_Object *icon)
{
retif(icon == NULL, NULL, "invalid parameter");
return elm_object_part_content_get(icon, "icon.swallow.wvga");
}
-int qp_setting_icon_content_set(Evas_Object *icon, Evas_Object *content)
+HAPI int quickpanel_setting_icon_content_set(Evas_Object *icon, Evas_Object *content)
{
retif(icon == NULL, QP_FAIL, "invalid parameter");
retif(content == NULL, QP_FAIL, "invalid parameter");
return QP_OK;
}
-int qp_setting_icon_state_set(Evas_Object *icon, int state)
+HAPI int quickpanel_setting_icon_state_set(Evas_Object *icon, int state)
{
#ifdef QP_SCREENREADER_ENABLE
Evas_Object *ao = NULL;
SERR("icon:%p state:%d", icon, state);
#ifdef QP_SCREENREADER_ENABLE
- ao = quickpanel_screen_reader_object_get(icon,
+ ao = quickpanel_accessibility_screen_reader_object_get(icon,
SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", icon);
if (ao != NULL) {
if (state == ICON_VIEW_STATE_ON) {
return 0;
}
-int qp_setting_icon_state_progress_set(Evas_Object *icon)
+HAPI int quickpanel_setting_icon_state_progress_set(Evas_Object *icon)
{
retif(icon == NULL, -1, "invalid parameter");
return 0;
}
-Evas_Object *qp_setting_icon_new(Evas_Object *parent)
+HAPI Evas_Object *quickpanel_setting_icon_new(Evas_Object *parent)
{
const char *signal = NULL;
Evas_Object *icon = NULL;
EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_object_signal_emit(icon, "icon.off", "quickpanl.prog");
- Evas_Object *focus = quickpanel_ui_get_focus_object(icon);
+ Evas_Object *focus = quickpanel_accessibility_ui_get_focus_object(icon);
elm_object_part_content_set(icon, "focus", focus);
- if (ad->angle == 0 || ad->angle == 180)
+ if (ad->angle == 0 || ad->angle == 180) {
signal = "icon.portrait";
- else
+ } else {
signal = "icon.landscape";
+ }
elm_object_signal_emit(icon, signal, "quickpanl.prog");
edje_object_message_signal_process(_EDJ(icon));
return icon;
}
-Evas_Object *qp_setting_icon_image_new(Evas_Object *parent, const char *img_path)
+HAPI Evas_Object *quickpanel_setting_icon_image_new(Evas_Object *parent, const char *img_path)
{
Evas_Object *content = NULL;
retif(parent == NULL, NULL, "invalid parameter");
return content;
}
-static Evas_Object *qp_setting_container_get(Evas_Object *base)
+static Evas_Object *quickpanel_setting_container_get(Evas_Object *base)
{
Evas_Object *container = NULL;
retif(base == NULL, NULL, "invalid parameter");
return container;
}
-Evas_Object *qp_setting_scroller_get(Evas_Object *base)
+HAPI Evas_Object *quickpanel_setting_scroller_get(Evas_Object *base)
{
Evas_Object *container = NULL;
Evas_Object *scroller = NULL;
struct appdata *ad = (struct appdata*)quickpanel_get_app_data();
retif(ad == NULL, NULL, "application data is NULL");
- container = qp_setting_container_get(base);
+ container = quickpanel_setting_container_get(base);
scroller = elm_object_part_content_get(container, QP_SETTING_SCROLLER_PART_WVGA);
return scroller;
}
-Evas_Object *qp_setting_box_get(Evas_Object *base)
+HAPI Evas_Object *quickpanel_setting_box_get_from_scroller(Evas_Object *base)
{
Evas_Object *scroller = NULL;
Evas_Object *box = NULL;
retif(base == NULL, NULL, "invalid parameter");
- scroller = qp_setting_scroller_get(base);
+ scroller = quickpanel_setting_scroller_get(base);
retif(scroller == NULL, NULL, "invalid parameter");
box = elm_object_content_get(scroller);
return box;
}
-int qp_setting_container_rotation_set(Evas_Object *base, int angle)
+HAPI Evas_Object *quickpanel_setting_box_get(Evas_Object *base)
+{
+ Evas_Object *container = NULL;
+ Evas_Object *box = NULL;
+ retif(base == NULL, NULL, "invalid parameter");
+
+ container = quickpanel_setting_container_get(base);
+ retif(container == NULL, NULL, "invalid parameter");
+ box = elm_object_part_content_get(container, QP_SETTING_SCROLLER_PART_WVGA);
+
+ return box;
+}
+
+HAPI int quickpanel_setting_container_rotation_set(Evas_Object *base, int angle)
{
Evas_Object *container = NULL;
const char *signal = NULL;
retif(!base, -1, "base is NULL");
retif(angle < 0, -1, "angle is %d", angle);
- container = qp_setting_container_get(base);
+ container = quickpanel_setting_container_get(base);
retif(!container, -1, "box is NULL");
- if (angle % 180 == 0)
+ if (angle % 180 == 0) {
signal = "portrait";
- else
+ } else {
signal = "landscape";
+ }
elm_object_signal_emit(container, signal, "background");
edje_object_message_signal_process(_EDJ(container));
return 0;
}
-int qp_setting_icons_rotation_set(Evas_Object *base, int angle)
+HAPI int quickpanel_setting_icons_rotation_set(Evas_Object *base, int angle)
{
Evas_Object *box = NULL;
Evas_Object *icon = NULL;
retif(!base, -1, "base is NULL");
retif(angle < 0, -1, "angle is %d", angle);
- box = qp_setting_box_get(base);
+ box = quickpanel_setting_box_get(base);
retif(!box, -1, "box is NULL");
icons = elm_box_children_get(box);
retif(!icons, -1, "icons list is NULL");
- if (angle % 180 == 0)
+ if (angle % 180 == 0) {
signal = "icon.portrait";
- else
+ } else {
signal = "icon.landscape";
+ }
EINA_LIST_FOREACH(icons, l, icon) {
elm_object_signal_emit(icon, signal, "quickpanl.prog");
return 0;
}
-void qp_setting_icons_emit_sig(Evas_Object *icon, const char *signal)
+HAPI void quickpanel_setting_icons_emit_sig(Evas_Object *icon, const char *signal)
{
retif(!icon, , "icon is NULL");
retif(!signal, , "icon is NULL");
edje_object_message_signal_process(_EDJ(icon));
}
-int qp_setting_icons_dragging_set(Evas_Object *icon, int is_on)
+HAPI int quickpanel_setting_icons_dragging_set(Evas_Object *icon, int is_on)
{
const char *signal = NULL;
retif(!icon, QP_FAIL, "icon is NULL");
- if (is_on == 1)
+ if (is_on == 1) {
signal = "dragging.on";
- else
+ } else {
signal = "dragging.off";
+ }
elm_object_signal_emit(icon, signal, "quickpanl.prog");
edje_object_message_signal_process(_EDJ(icon));
return QP_OK;
}
-int qp_setting_icons_screen_mode_set(Evas_Object *icon, int screen_mode)
+HAPI int quickpanel_setting_icons_screen_mode_set(Evas_Object *icon, int screen_mode)
{
const char *signal = NULL;
retif(!icon, QP_FAIL, "icon is NULL");
- if (screen_mode == 0)
+ if (screen_mode == 0) {
signal = "icon.portrait";
- else
+ } else {
signal = "icon.landscape";
+ }
elm_object_signal_emit(icon, signal, "quickpanl.prog");
edje_object_message_signal_process(_EDJ(icon));
return QP_OK;
}
-int qp_setting_icon_pack(Evas_Object *box, Evas_Object *icon, int is_attach_divider)
+HAPI int quickpanel_setting_icon_pack(Evas_Object *box, Evas_Object *icon, int is_attach_divider)
{
retif(box == NULL, QP_FAIL, "box is NULL");
return QP_OK;
}
-void qp_setting_icon_unpack_all(Evas_Object *box)
+HAPI void quickpanel_setting_icon_unpack_all(Evas_Object *box)
{
Eina_List *l;
Eina_List *l_next;
elm_box_unpack_all(box);
- EINA_LIST_FOREACH_SAFE(list, l, l_next, node)
- {
+ EINA_LIST_FOREACH_SAFE(list, l, l_next, node) {
if (node != NULL) {
if (evas_object_data_get(node, E_DATA_DIVIDER_MAGIC) == (void *)DIVIDER_MAGIC) {
evas_object_del(node);
eina_list_free(list);
}
-int qp_setting_scroll_page_get(void *data)
+HAPI int quickpanel_setting_scroll_page_get(void *data)
{
int page_h = 0x99;
struct appdata *ad = NULL;
ad = data;
retif(!ad->ly, QP_FAIL, "layout is NULL!");
- Evas_Object *scroller = qp_setting_scroller_get(ad->ly);
+ Evas_Object *scroller = quickpanel_setting_scroller_get(ad->ly);
elm_scroller_current_page_get(scroller, &page_h, NULL);
return page_h;
}
-int qp_setting_set_scroll_page_width(void *data)
+HAPI int quickpanel_setting_set_scroll_page_width(void *data)
{
struct appdata *ad = NULL;
retif(data == NULL, QP_FAIL, "Invalid parameter!");
ad = data;
retif(!ad->ly, QP_FAIL, "layout is NULL!");
- Evas_Object *scroller = qp_setting_scroller_get(ad->ly);
+ Evas_Object *scroller = quickpanel_setting_scroller_get(ad->ly);
int w, h;
+#if defined(WINSYS_X11)
Ecore_X_Screen *screen = ecore_x_default_screen_get();
ecore_x_screen_size_get(screen, &w, &h);
+#else
+ elm_win_screen_size_get(ad->win, NULL, NULL, &w, &h);
+#endif
elm_scroller_page_size_set(scroller, w / QP_SETTING_NUM_PORTRAIT_ICONS, 0);
return 0;
}
-int qp_setting_start(Evas_Object *base)
+HAPI int quickpanel_setting_start(Evas_Object *base)
{
Evas_Object *scroller = NULL;
retif(base == NULL, QP_FAIL, "Invalid parameter!");
- scroller = qp_setting_scroller_get(base);
+ scroller = quickpanel_setting_scroller_get(base);
retif(scroller == NULL, QP_FAIL, "Invalid parameter!");
elm_scroller_page_bring_in(scroller, 0, 0);
return QP_OK;
}
-int qp_setting_stop(Evas_Object *base, int is_bring_in)
+HAPI int quickpanel_setting_stop(Evas_Object *base, int is_bring_in)
{
int page = QP_SETTING_INITIAL_PAGE_NUM;
Evas_Object *scroller = NULL;
retif(base == NULL, QP_FAIL, "Invalid parameter!");
- scroller = qp_setting_scroller_get(base);
+ scroller = quickpanel_setting_scroller_get(base);
retif(scroller == NULL, QP_FAIL, "Invalid parameter!");
- if (is_bring_in == 1)
+ if (is_bring_in == 1) {
elm_scroller_page_bring_in(scroller, page, 0);
- else
+ } else {
elm_scroller_page_show(scroller, page, 0);
+ }
return QP_OK;
}
-int qp_setting_layout_set(Evas_Object *base, Evas_Object *setting)
+HAPI int quickpanel_setting_layout_set(Evas_Object *base, Evas_Object *setting)
{
retif(base == NULL, QP_FAIL, "Invalid parameter!");
retif(setting == NULL, QP_FAIL, "Invalid parameter!");
return 0;
}
-Evas_Object *qp_setting_layout_get(Evas_Object *base, const char *setting_part)
+HAPI Evas_Object *quickpanel_setting_layout_get(Evas_Object *base, const char *setting_part)
{
retif(base == NULL, NULL, "Invalid parameter!");
retif(setting_part == NULL, NULL, "Invalid parameter!");
return elm_object_part_content_get(base, setting_part);
}
-int qp_setting_layout_remove(Evas_Object *base)
+HAPI int quickpanel_setting_layout_remove(Evas_Object *base)
{
Evas_Object *container = NULL;
Evas_Object *scroller = NULL;
Evas_Object *box = NULL;
retif(base == NULL, QP_FAIL, "Invalid parameter!");
- container = qp_setting_container_get(base);
- scroller = qp_setting_scroller_get(base);
- box = qp_setting_box_get(base);
+ container = quickpanel_setting_container_get(base);
+ scroller = quickpanel_setting_scroller_get(base);
+ box = quickpanel_setting_box_get(base);
if (box) {
elm_box_clear(box);
return QP_OK;
}
-void qp_setting_create_confirm_popup(
- Evas_Object *parent,
- char *title,
- char *text,
- Evas_Smart_Cb func)
+HAPI void quickpanel_setting_create_confirm_popup(
+ Evas_Object *parent,
+ char *title,
+ char *text,
+ Evas_Smart_Cb func)
{
Evas_Object *popup = elm_popup_add(parent);
Evas_Object *btn = NULL;
if (popup == NULL) {
- return ;
+ return;
}
evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
+ EVAS_HINT_EXPAND);
if (title) {
elm_object_part_text_set(popup, "title,text", title);
evas_object_smart_callback_add(btn, "clicked", func, popup);
evas_object_show(popup);
- quickpanel_ui_set_current_popup(popup, func);
+ quickpanel_common_ui_set_current_popup(popup, func);
}
-void qp_setting_create_2button_confirm_popup(
- Evas_Object *parent,
- char *title,
- char *text,
- char *btn1_text,
- Evas_Smart_Cb btn1_func,
- char *btn2_text,
- Evas_Smart_Cb btn2_func)
+HAPI void quickpanel_setting_create_2button_confirm_popup(
+ Evas_Object *parent,
+ char *title,
+ char *text,
+ char *btn1_text,
+ Evas_Smart_Cb btn1_func,
+ char *btn2_text,
+ Evas_Smart_Cb btn2_func)
{
Evas_Object *popup = elm_popup_add(parent);
Evas_Object *btn = NULL;
if (popup == NULL) {
- return ;
+ return;
}
evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
+ EVAS_HINT_EXPAND);
if (title) {
elm_object_part_text_set(popup, "title,text", title);
}
evas_object_show(popup);
- quickpanel_ui_set_current_popup(popup, btn1_func);
+ quickpanel_common_ui_set_current_popup(popup, btn1_func);
}
-void
-qp_setting_create_timeout_popup(Evas_Object *parent, char *msg)
+HAPI void quickpanel_setting_create_timeout_popup(Evas_Object *parent, char *msg)
{
retif(msg == NULL, , "invalid parameter");
#ifndef __SETTING_UTILS_H__
#define __SETTING_UTILS_H__
-#include <Elementary.h>
-#include "settings.h"
#define TIMER_CONTINUE 1
#define TIMER_STOP 0
#define QP_SETTING_BRIGHTNESS_PART_HD "brightness.container.swallow.hd"
#define QP_SETTING_BRIGHTNESS_PART_WVGA "brightness.container.swallow.wvga"
-int qp_setting_start(Evas_Object *base);
-int qp_setting_stop(Evas_Object *base, int is_bring_in);
+extern int quickpanel_setting_start(Evas_Object *base);
+extern int quickpanel_setting_stop(Evas_Object *base, int is_bring_in);
-Evas_Object *qp_setting_scroller_get(Evas_Object *base);
-int qp_setting_set_scroll_page_width(void *data);
-int qp_setting_layout_set(Evas_Object *base, Evas_Object *setting);
-Evas_Object *qp_setting_layout_get(Evas_Object *base, const char *setting_part);
+extern Evas_Object *quickpanel_setting_scroller_get(Evas_Object *base);
+extern int quickpanel_setting_set_scroll_page_width(void *data);
+extern int quickpanel_setting_layout_set(Evas_Object *base, Evas_Object *setting);
+extern Evas_Object *quickpanel_setting_layout_get(Evas_Object *base, const char *setting_part);
-int qp_setting_layout_remove(Evas_Object *base);
-int qp_setting_icon_text_set(Evas_Object *icon, const char *text, int state);
-void qp_setting_icon_access_text_set(Evas_Object *icon, const char *text);
-int qp_setting_icon_content_set(Evas_Object *icon, Evas_Object *content);
+extern int quickpanel_setting_layout_remove(Evas_Object *base);
+extern int quickpanel_setting_icon_text_set(Evas_Object *icon, const char *text, int state);
+extern void quickpanel_setting_icon_access_text_set(Evas_Object *icon, const char *text);
+extern int quickpanel_setting_icon_content_set(Evas_Object *icon, Evas_Object *content);
-Evas_Object *qp_setting_box_get(Evas_Object *base);
-Evas_Object *qp_setting_icon_new(Evas_Object *parent);
-Evas_Object *qp_setting_icon_image_new(Evas_Object *parent, const char *img_path);
-int qp_setting_icon_pack(Evas_Object *box, Evas_Object *icon, int is_attach_divider);
-void qp_setting_icon_unpack_all(Evas_Object *box);
-int qp_setting_container_rotation_set(Evas_Object *base, int angle);
-int qp_setting_icons_rotation_set(Evas_Object *base, int angle);
-int qp_setting_icons_dragging_set(Evas_Object *icon, int is_on);
-int qp_setting_icons_screen_mode_set(Evas_Object *icon, int screen_mode);
-void qp_setting_icons_emit_sig(Evas_Object *icon, const char *signal);
-Evas_Object *qp_setting_icon_content_get(Evas_Object *icon);
-int qp_setting_icon_content_set(Evas_Object *icon, Evas_Object *content);
+extern Evas_Object *quickpanel_setting_box_get(Evas_Object *base);
+extern Evas_Object *quickpanel_setting_icon_new(Evas_Object *parent);
+extern Evas_Object *quickpanel_setting_icon_image_new(Evas_Object *parent, const char *img_path);
+extern int quickpanel_setting_icon_pack(Evas_Object *box, Evas_Object *icon, int is_attach_divider);
+extern void quickpanel_setting_icon_unpack_all(Evas_Object *box);
+extern int quickpanel_setting_container_rotation_set(Evas_Object *base, int angle);
+extern int quickpanel_setting_icons_rotation_set(Evas_Object *base, int angle);
+extern int quickpanel_setting_icons_dragging_set(Evas_Object *icon, int is_on);
+extern int quickpanel_setting_icons_screen_mode_set(Evas_Object *icon, int screen_mode);
+extern void quickpanel_setting_icons_emit_sig(Evas_Object *icon, const char *signal);
+extern Evas_Object *quickpanel_setting_icon_content_get(Evas_Object *icon);
+extern int quickpanel_setting_icon_content_set(Evas_Object *icon, Evas_Object *content);
-int qp_setting_icon_state_set(Evas_Object *icon, int is_on);
-int qp_setting_icon_state_progress_set(Evas_Object *icon);
+extern int quickpanel_setting_icon_state_set(Evas_Object *icon, int is_on);
+extern int quickpanel_setting_icon_state_progress_set(Evas_Object *icon);
// Do not use full window popup in quickpanel
-void qp_setting_create_confirm_popup(Evas_Object *parent, char *title, char *text, Evas_Smart_Cb func);
-void qp_setting_create_2button_confirm_popup(Evas_Object *parent, char *title, char *text,
- char *btn1_text, Evas_Smart_Cb btn1_func, char *btn2_text, Evas_Smart_Cb btn2_func);
-void qp_setting_create_timeout_popup(Evas_Object *parent, char *msg);
+extern void quickpanel_setting_create_confirm_popup(Evas_Object *parent, char *title, char *text, Evas_Smart_Cb func);
+extern void quickpanel_setting_create_2button_confirm_popup(Evas_Object *parent, char *title, char *text, char *btn1_text, Evas_Smart_Cb btn1_func, char *btn2_text, Evas_Smart_Cb btn2_func);
+extern void quickpanel_setting_create_timeout_popup(Evas_Object *parent, char *msg);
-int qp_setting_scroll_page_get(void *data);
+extern int quickpanel_setting_scroll_page_get(void *data);
#endif /* __SETTING_UTILS_H__ */
#include <stdlib.h>
#include <glib.h>
+#include <Elementary.h>
+
#include <vconf.h>
+#include <notification.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
#include "common.h"
#include "quickpanel-ui.h"
#include "quickpanel_def.h"
#include "settings.h"
#include "setting_utils.h"
#include "settings_ipc.h"
+#include "pager.h"
#include "pager_common.h"
+#include "preference.h"
+
#ifdef QP_SCREENREADER_ENABLE
#include "accessibility.h"
#endif
-#include "preference.h"
+
#ifdef QP_EMERGENCY_MODE_ENABLE
#include "emergency_mode.h"
#endif
-#include "configuration.h"
static int quickpanel_settings_init(void *data);
static int quickpanel_settings_fini(void *data);
&gps,
&sound,
&rotate,
- &mobile_data,
&bluetooth,
- &flightmode,
- &u_power_saving,
- &tethering,
- &assistive_light,
NULL,
},
};
return NULL;
}
-void _reservied_list_get_with_active_list(Eina_List **list) {
- int i = 0, module_count = 0;
- Eina_List *list_featured = NULL;
- retif(list == NULL, , "invalid data.");
-
- quickpanel_settings_featured_list_get(&list_featured);
- retif(list_featured == NULL, , "failed to get default active list");
-
- module_count = _module_count_get();
-
- for (i = 0; i < module_count; i++) {
- if (eina_list_data_find(list_featured, s_info.modules[i]) == NULL){
- if (_module_is_enabled(s_info.modules[i]) == EINA_TRUE) {
- *list = eina_list_append (*list, s_info.modules[i]);
- }
- }
- }
-
- eina_list_free(list_featured);
-}
-
static int quickpanel_settings_init(void *data)
{
int i;
s_info.module_table = NULL;
}
s_info.module_table = g_hash_table_new_full(g_str_hash, g_str_equal,
- (GDestroyNotify)g_free,
- NULL);
- if (s_info.module_table != NULL)
- {
- for (i = 0; i < mod_count; i++)
- {
- if (s_info.modules[i]->supported_get != NULL)
- {
- if (s_info.modules[i]->supported_get() == 0)
+ (GDestroyNotify)g_free,
+ NULL);
+ if (s_info.module_table != NULL) {
+ for (i = 0; i < mod_count; i++) {
+ if (s_info.modules[i]->supported_get != NULL) {
+ if (s_info.modules[i]->supported_get() == 0) {
continue;
+ }
}
- if (s_info.modules[i]->init != NULL && s_info.modules[i]->name != NULL)
- {
+ if (s_info.modules[i]->init != NULL && s_info.modules[i]->name != NULL) {
ERR("quickbutton %s is initialized", s_info.modules[i]->name);
DBG("quickbutton %s is initialized", s_info.modules[i]->name);
g_hash_table_insert(s_info.module_table,
_module_init(s_info.modules[i]);
}
}
- }
- else
- {
+ } else {
ERR("failed to create module has table");
return QP_FAIL;
}
- qp_settings_ipc_init(ad);
+ quickpanel_settings_ipc_init(ad);
return QP_OK;
}
struct appdata *ad = data;
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
- qp_settings_ipc_fini(ad);
+ quickpanel_settings_ipc_fini(ad);
for (i = 0; s_info.modules[i] != NULL; i++) {
if (_module_is_enabled(s_info.modules[i]) == EINA_TRUE) {
}
}
-int quickpanel_settings_featured_list_validation_check(char *order) {
+HAPI int quickpanel_settings_featured_list_validation_check(char *order)
+{
int i = 0, is_valid = 0;
int order_count = 0;
gchar **order_split = NULL;
return is_valid;
}
-void quickpanel_settings_featured_list_get(Eina_List **list) {
+HAPI void quickpanel_settings_featured_list_get(Eina_List **list)
+{
int i = 0, seq_count = 0;
int num_featured = 0;
int seq_added_count = 0;
seq_count = g_strv_length(params);
for (i = 0; i < seq_count; i++) {
- if (seq_added_count >= num_featured) break;
+ if (seq_added_count >= num_featured){
+ break;
+ }
module = _module_get_by_name(params[i]);
if (module != NULL) {
}
}
-void quickpanel_settings_all_list_get(Eina_List **list) {
+HAPI void quickpanel_settings_all_list_get(Eina_List **list)
+{
int i = 0, seq_count = 0;
gchar **params = NULL;
QP_Module_Setting *module = NULL;
}
}
-HAPI void qp_setting_save_list_to_file(Eina_List *list, int num_featured) {
+HAPI void quickpanel_setting_save_list_to_file(Eina_List *list, int num_featured)
+{
Eina_List *l;
Eina_List *l_next;
QP_Module_Setting *module = NULL;
char *base = NULL;
char *temp = NULL;
- EINA_LIST_FOREACH_SAFE(list, l, l_next, module)
- {
- if (module == NULL) continue;
- if (module->name == NULL) continue;
- if (_module_is_enabled(module) == EINA_FALSE) continue;
+ EINA_LIST_FOREACH_SAFE(list, l, l_next, module) {
+ if (module == NULL){
+ continue;
+ }
+ if (module->name == NULL) {
+ continue;
+ }
+ if (_module_is_enabled(module) == EINA_FALSE) {
+ continue;
+ }
if (is_first == 1) {
base = g_strdup(module->name);
}
}
-QP_Module_Setting *qp_settings_module_get_by_name(const char *name) {
+HAPI QP_Module_Setting *quickpanel_settings_module_get_by_name(const char *name)
+{
return _module_get_by_name(name);
}
-int qp_settings_module_count_get(void) {
+HAPI int quickpanel_settings_module_count_get(void)
+{
return _module_count_get();
}
#ifndef __SETTING_H__
#define __SETTING_H__
-#include <Elementary.h>
-#include "quickpanel_def.h"
-#include "quickpanel-ui.h"
-#include "settings_icon_common.h"
-
#define MODULE_BLANK "blank"
#define FILE_QP_BUTTON_ORDER_INI DATADIR_RW"/qp_setting_order.ini"
#define E_DATA_MODULE_INFO "module_info"
void *extra_handler_1;
};
-void qp_setting_save_list_to_file(Eina_List *list, int num_featured);
-int quickpanel_settings_featured_list_validation_check(char *order);
-void quickpanel_settings_featured_list_get(Eina_List **list);
-void quickpanel_settings_all_list_get(Eina_List **list);
+extern void quickpanel_setting_save_list_to_file(Eina_List *list, int num_featured);
+extern int quickpanel_settings_featured_list_validation_check(char *order);
+extern void quickpanel_settings_featured_list_get(Eina_List **list);
+extern void quickpanel_settings_all_list_get(Eina_List **list);
-QP_Module_Setting *qp_settings_module_get_by_name(const char *name);
-int qp_settings_module_count_get(void);
+extern QP_Module_Setting *quickpanel_settings_module_get_by_name(const char *name);
+extern int quickpanel_settings_module_count_get(void);
#endif
*
*/
+#include <Elementary.h>
+
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
#include "quickpanel-ui.h"
#include "common.h"
int height;
} info_position;
-static Eina_List *_position_info_add(Eina_List *list, int is_icon, int index, int offset_x, int offset_y, int width, int height) {
+static Eina_List *_position_info_add(Eina_List *list, int is_icon, int index, int offset_x, int offset_y, int width, int height)
+{
info_position *pos_info = (info_position *) calloc(1, sizeof(info_position));
retif(pos_info == NULL, NULL, "failed to allocate memory");
return eina_list_append(list, pos_info);
}
-static void _position_info_clear(Eina_List *list) {
+static void _position_info_clear(Eina_List *list)
+{
info_position *pos_info = NULL;
- EINA_LIST_FREE(list, pos_info)
- {
- if(pos_info != NULL)
- {
+ EINA_LIST_FREE(list, pos_info) {
+ if (pos_info != NULL) {
free(pos_info);
pos_info = NULL;
}
}
}
-static Eina_List *_position_info_get(Evas_Object *gridbox) {
+static Eina_List *_position_info_get(Evas_Object *gridbox)
+{
return evas_object_data_get(gridbox, E_DATA_POS_INFO);
}
-static void _position_info_set(Evas_Object *gridbox, Eina_List *list) {
+static void _position_info_set(Evas_Object *gridbox, Eina_List *list)
+{
evas_object_data_set(gridbox, E_DATA_POS_INFO, list);
}
-static info_layout *_get_layout(Evas_Object *gridbox) {
+static info_layout *_get_layout(Evas_Object *gridbox)
+{
struct appdata *ad = quickpanel_get_app_data();
info_layout *info_layout = NULL;
return info_layout;
}
-static int _item_is_icon(Evas_Object *icon) {
+static int _item_is_icon(Evas_Object *icon)
+{
const char *item_type = NULL;
retif(icon == NULL, 1, "invalid parameter");
return 0;
}
-static void _item_pos_get(int order, int *x, int *y, void *data) {
+static void _item_pos_get(int order, int *x, int *y, void *data)
+{
info_layout *info_layout = data;
retif(info_layout == NULL, , "invalid parameter");
int column = (order - 1) - (row * n_per_row);
int row_x = info_layout->padding_left
- + ((info_layout->child_w + info_layout->padding_between_h) * column);
+ + ((info_layout->child_w + info_layout->padding_between_h) * column);
int row_y = info_layout->padding_top
- + ((info_layout->child_h + info_layout->padding_between_v) * row);
+ + ((info_layout->child_h + info_layout->padding_between_v) * row);
- if (x != NULL)
+ if (x != NULL) {
*x = row_x;
+ }
- if (y != NULL)
+ if (y != NULL) {
*y = row_y;
+ }
}
-static inline void _item_move_and_resize(Evas_Object *item, int x, int y, int w, int h) {
+static inline void _item_move_and_resize(Evas_Object *item, int x, int y, int w, int h)
+{
evas_object_move(item, x, y);
evas_object_size_hint_min_set(item, w, h);
evas_object_resize(item, w, h);
}
-static void _layout_cb(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) {
+static void _layout_cb(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
+{
int n_children;
int x, y;
int off_x = 0, off_y = 0;
int order_divider = 1;
Evas_Object *btn_previous = NULL;
- EINA_LIST_FOREACH_SAFE(priv->children, l, l_next, opt)
- {
+ EINA_LIST_FOREACH_SAFE(priv->children, l, l_next, opt) {
if (_item_is_icon(opt->obj)) {
_item_pos_get(order_children, &off_x, &off_y, info_layout);
_item_move_and_resize(opt->obj, x + off_x, y + off_y,
info_layout->child_w, info_layout->child_h);
order_children++;
list_pos_info =
- _position_info_add(list_pos_info, 1, order_obj, off_x, off_y, info_layout->child_w, info_layout->child_h);
+ _position_info_add(list_pos_info, 1, order_obj, off_x, off_y, info_layout->child_w, info_layout->child_h);
if (btn_previous != NULL && opt->obj != NULL) {
elm_object_focus_next_object_set(opt->obj, btn_previous, ELM_FOCUS_LEFT);
elm_object_focus_next_object_set(btn_previous, opt->obj, ELM_FOCUS_RIGHT);
}
order_divider++;
list_pos_info =
- _position_info_add(list_pos_info, 0, order_obj, off_x + info_layout->child_w, off_y,
- info_layout->padding_between_h, info_layout->child_h);
+ _position_info_add(list_pos_info, 0, order_obj, off_x + info_layout->child_w, off_y,
+ info_layout->padding_between_h, info_layout->child_h);
}
order_obj++;
}
_position_info_clear(list);
_position_info_set(gridbox, NULL);
- settings_gridbox_item_remove_all(gridbox);
+ quickpanel_settings_gridbox_item_remove_all(gridbox);
evas_object_data_del(gridbox, E_DATA_LAYOUT_PORTRAIT);
evas_object_data_del(gridbox, E_DATA_LAYOUT_LANDSCAPE);
- if (info_layout_portrait != NULL)
+ if (info_layout_portrait != NULL) {
free(info_layout_portrait);
- if (info_layout_landscape != NULL)
+ }
+ if (info_layout_landscape != NULL) {
free(info_layout_landscape);
+ }
}
-HAPI Evas_Object *settings_gridbox_create(Evas_Object *parent, void *data) {
-
+HAPI Evas_Object *quickpanel_settings_gridbox_create(Evas_Object *parent, void *data)
+{
retif(parent == NULL, NULL, "invalid parameter");
retif(data == NULL, NULL, "invalid parameter");
struct appdata *ad = data;
info_layout_portrait->limit_w = ad->win_width;
info_layout_portrait->scale = ad->scale;
- info_layout_landscape = (info_layout *) calloc(1,
- sizeof(info_layout));
+ info_layout_landscape = (info_layout *) calloc(1, sizeof(info_layout));
if (info_layout_landscape == NULL) {
free(info_layout_portrait);
ERR("memory allocation failed");
return gridbox;
}
-HAPI void settings_gridbox_remove(Evas_Object *gridbox) {
+HAPI void quickpanel_settings_gridbox_remove(Evas_Object *gridbox)
+{
retif(gridbox == NULL, , "invalid parameter");
- settings_gridbox_item_remove_all(gridbox);
+ quickpanel_settings_gridbox_item_remove_all(gridbox);
evas_object_del(gridbox);
gridbox = NULL;
}
-HAPI void settings_gridbox_item_add(Evas_Object *gridbox, Evas_Object *item, const char *item_type, int is_prepend) {
-
+HAPI void quickpanel_settings_gridbox_item_add(Evas_Object *gridbox, Evas_Object *item, const char *item_type, int is_prepend)
+{
evas_object_data_set(item, E_DATA_ITEM_TYPE, item_type);
- if (is_prepend == SETTINGS_GRIDBOX_PREPEND)
+ if (is_prepend == SETTINGS_GRIDBOX_PREPEND) {
elm_box_pack_start(gridbox, item);
- else
+ } else {
elm_box_pack_end(gridbox, item);
+ }
}
-HAPI void settings_gridbox_item_remove(Evas_Object *gridbox, Evas_Object *item) {
+HAPI void quickpanel_settings_gridbox_item_remove(Evas_Object *gridbox, Evas_Object *item)
+{
retif(gridbox == NULL, , "invalid parameter");
retif(item == NULL, , "invalid parameter");
item = NULL;
}
-HAPI void settings_gridbox_item_remove_all(Evas_Object *gridbox) {
+HAPI void quickpanel_settings_gridbox_item_remove_all(Evas_Object *gridbox)
+{
Eina_List *l;
Eina_List *l_next;
Evas_Object *obj = NULL;
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)
- {
- settings_gridbox_item_remove(gridbox, obj);
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
+ if (obj != NULL) {
+ quickpanel_settings_gridbox_item_remove(gridbox, obj);
}
}
eina_list_free(item_list);
}
-HAPI void settings_gridbox_rotation(Evas_Object *gridbox, int angle) {
+HAPI void quickpanel_settings_gridbox_rotation(Evas_Object *gridbox, int angle)
+{
const char *signal = NULL;
retif(gridbox == NULL, , "invalid parameter");
signal = "icon.portrait";
}
- EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj)
- {
+ EINA_LIST_FOREACH_SAFE(item_list, l, l_next, obj) {
if (obj != NULL) {
elm_object_signal_emit(obj, signal, "quickpanl.prog");
edje_object_message_signal_process(_EDJ(obj));
}
}
-HAPI int settings_gridbox_item_count_get(Evas_Object *gridbox) {
+HAPI int quickpanel_settings_gridbox_item_count_get(Evas_Object *gridbox)
+{
int item_count = 0;
Eina_List *items = NULL;
retif(gridbox == NULL, 0, "invalid parameter");
}
}
-HAPI int settings_gridbox_item_index_get(Evas_Object *gridbox, int touch_x, int touch_y) {
+HAPI int quickpanel_settings_gridbox_item_index_get(Evas_Object *gridbox, int touch_x, int touch_y)
+{
Eina_List *l;
Eina_List *l_next;
Eina_List *list_pos_info = NULL;
if (touch_x >= x && touch_x <= x + w && touch_y >= y && touch_y <= y + h) {
touch_x = touch_x - x;
touch_y = touch_y - y;
- EINA_LIST_FOREACH_SAFE(list_pos_info, l, l_next, pos_info)
- {
+ EINA_LIST_FOREACH_SAFE(list_pos_info, l, l_next, pos_info) {
if (pos_info != NULL) {
if (touch_x >= pos_info->offset_x && touch_x <= pos_info->offset_x + pos_info->width
&& touch_y >= pos_info->offset_y && touch_y <= pos_info->offset_y + pos_info->height) {
return -1;
}
-void settings_gridbox_unpack_all(Evas_Object *gridbox)
+HAPI void quickpanel_settings_gridbox_unpack_all(Evas_Object *gridbox)
{
Eina_List *l;
Eina_List *l_next;
elm_box_unpack_all(gridbox);
- EINA_LIST_FOREACH_SAFE(list, l, l_next, node)
- {
+ EINA_LIST_FOREACH_SAFE(list, l, l_next, node) {
if (node != NULL) {
if (_item_is_icon(node) == 0) {
evas_object_del(node);
#define SETTINGS_GRIDBOX_ITEM_ICON "item_icon"
#define SETTINGS_GRIDBOX_ITEM_DIVIDER "item_divider"
-Evas_Object *settings_gridbox_create(Evas_Object *parent, void *data);
-void settings_gridbox_remove(Evas_Object *gridbox);
-void settings_gridbox_item_add(Evas_Object *gridbox, Evas_Object *item, const char *item_type, int is_prepend);
-void settings_gridbox_item_remove(Evas_Object *gridbox, Evas_Object *item);
-void settings_gridbox_item_remove_all(Evas_Object *gridbox);
-void settings_gridbox_rotation(Evas_Object *gridbox, int angle);
-int settings_gridbox_item_count_get(Evas_Object *gridbox);
-int settings_gridbox_item_index_get(Evas_Object *gridbox, int touch_x, int touch_y);
-void settings_gridbox_unpack_all(Evas_Object *gridbox);
+extern Evas_Object *quickpanel_settings_gridbox_create(Evas_Object *parent, void *data);
+extern void quickpanel_settings_gridbox_remove(Evas_Object *gridbox);
+extern void quickpanel_settings_gridbox_item_add(Evas_Object *gridbox, Evas_Object *item, const char *item_type, int is_prepend);
+extern void quickpanel_settings_gridbox_item_remove(Evas_Object *gridbox, Evas_Object *item);
+extern void quickpanel_settings_gridbox_item_remove_all(Evas_Object *gridbox);
+extern void quickpanel_settings_gridbox_rotation(Evas_Object *gridbox, int angle);
+extern int quickpanel_settings_gridbox_item_count_get(Evas_Object *gridbox);
+extern int quickpanel_settings_gridbox_item_index_get(Evas_Object *gridbox, int touch_x, int touch_y);
+extern void quickpanel_settings_gridbox_unpack_all(Evas_Object *gridbox);
+
#endif
*
*/
+#include <Elementary.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+#include <sound_manager.h>
+
+#include "media.h"
#include "quickpanel-ui.h"
#include "quickpanel_def.h"
+#include "common_uic.h"
#include "common.h"
#include "modules.h"
#include "settings.h"
#include "setting_utils.h"
#include "setting_module_api.h"
#include "accessibility.h"
-#include "configuration.h"
+#include "pager.h"
#include "pager_common.h"
#define E_DATA_ICON_CLICKED_CB "clicked_cb"
#define E_DATA_ICON_ORIGINAL_OBJ "original_obj"
+#define TAP_AND_DELAY_LONG 1.000
+
static struct _info {
int down_x;
Eina_Bool is_longpressed;
.timer_longpress = NULL,
};
-static Eina_Bool _icon_handler_longpress(void *data) {
+static Eina_Bool _icon_handler_longpress(void *data)
+{
DBG("");
Evas_Object *obj = data;
QP_Module_Setting *module = NULL;
struct appdata *ad = (struct appdata*)quickpanel_get_app_data();
retif(ad == NULL, ECORE_CALLBACK_CANCEL, "application data is NULL");
- quickpanel_play_feedback();
+ quickpanel_media_play_feedback();
ecore_timer_del(s_info.timer_longpress);
s_info.timer_longpress = NULL;
return ECORE_CALLBACK_CANCEL;
}
-static void _icon_mouse_move_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info) {
+static void _icon_mouse_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
int down_x = 0;
retif(obj == NULL, , "invalid argument");
}
}
-static void _icon_mouse_up_cb(void *data, Evas_Object *obj,
- const char *emission, const char *source) {
+static void _icon_mouse_up_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
retif(obj == NULL, , "invalid argument");
if (s_info.timer_longpress != NULL) {
}
evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_MOVE,
- _icon_mouse_move_cb);
+ _icon_mouse_move_cb);
}
-static void _icon_mouse_down_cb(void *data, Evas_Object *obj,
- const char *emission, const char *source) {
+static void _icon_mouse_down_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
retif(obj == NULL, , "invalid argument");
if (s_info.timer_longpress != NULL) {
quickpanel_page_get_touched_pos(&(s_info.down_x), NULL);
s_info.is_longpressed = EINA_FALSE;
- s_info.timer_longpress = ecore_timer_add(
- quickpanel_service_conf_longpress_time_get(),
- _icon_handler_longpress, obj);
+ s_info.timer_longpress = ecore_timer_add(TAP_AND_DELAY_LONG,_icon_handler_longpress, obj);
evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_MOVE,
_icon_mouse_move_cb, NULL);
}
#ifdef QP_SCREENREADER_ENABLE
-static void
-_icon_focus_clicked_cb(void *data, Evas_Object *obj, void *event_info) {
+static void _icon_focus_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
Evas_Object *icon = NULL;
Edje_Signal_Cb func = NULL;
retif(obj == NULL, , "invalid argument");
}
if (s_info.is_longpressed != EINA_TRUE) {
- quickpanel_play_feedback();
+ quickpanel_media_play_feedback();
}
icon = evas_object_data_get(obj, E_DATA_ICON_ORIGINAL_OBJ);
}
}
-static void
-_icon_focus_clicked_cb_without_feedback(void *data, Evas_Object *obj, void *event_info) {
+static void _icon_focus_clicked_cb_without_feedback(void *data, Evas_Object *obj, void *event_info)
+{
Evas_Object *icon = NULL;
Edje_Signal_Cb func = NULL;
retif(obj == NULL, , "invalid argument");
}
#endif
-int qp_setting_icon_click_cb_add(Evas_Object *icon,
- Edje_Signal_Cb func, void *data)
+HAPI int quickpanel_setting_icon_click_cb_add(Evas_Object *icon, Edje_Signal_Cb func, void *data)
{
retif(icon == NULL, QP_FAIL, "invalid parameter");
retif(func == NULL, QP_FAIL, "invalid parameter");
#ifdef QP_SCREENREADER_ENABLE
Evas_Object *ao = NULL;
- ao = quickpanel_screen_reader_object_get(icon,
+ ao = quickpanel_accessibility_screen_reader_object_get(icon,
SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", icon);
if (ao != NULL) {
evas_object_smart_callback_add(ao, "clicked",
return 0;
}
-int qp_setting_icon_click_cb_without_feedback_add(Evas_Object *icon,
- Edje_Signal_Cb func, void *data)
+HAPI int quickpanel_setting_icon_click_cb_without_feedback_add(Evas_Object *icon, Edje_Signal_Cb func, void *data)
{
retif(icon == NULL, QP_FAIL, "invalid parameter");
retif(func == NULL, QP_FAIL, "invalid parameter");
#ifdef QP_SCREENREADER_ENABLE
Evas_Object *ao = NULL;
- ao = quickpanel_screen_reader_object_get(icon,
+ ao = quickpanel_accessibility_screen_reader_object_get(icon,
SCREEN_READER_OBJ_TYPE_ELM_OBJECT, "focus", icon);
if (ao != NULL) {
evas_object_smart_callback_add(ao, "clicked",
return 0;
}
-int qp_setting_icon_click_cb_del(Evas_Object *icon, Edje_Signal_Cb func)
+HAPI int quickpanel_setting_icon_click_cb_del(Evas_Object *icon, Edje_Signal_Cb func)
{
retif(icon == NULL, QP_FAIL, "invalid parameter");
retif(func == NULL, QP_FAIL, "invalid parameter");
return QP_OK;
}
-void qp_setting_icon_handler_longpress(const char *pkgname, void *data)
+HAPI void quickpanel_setting_icon_handler_longpress(const char *pkgname, void *data)
{
int ret;
- ret = quickpanel_launch_ug_by_appcontrol(pkgname, data);
- quickpanel_launch_app_inform_result(pkgname, ret);
- quickpanel_close_quickpanel(true, 1);
+ ret = quickpanel_uic_launch_ug_by_appcontrol(pkgname, data);
+ quickpanel_uic_launch_app_inform_result(pkgname, ret);
+ quickpanel_uic_close_quickpanel(true, 1);
}
#ifndef __SETTING_ICON_COMMON_H__
#define __SETTING_ICON_COMMON_H__
-int qp_setting_icon_click_cb_add(Evas_Object *icon,
- Edje_Signal_Cb func, void *data);
-int qp_setting_icon_click_cb_without_feedback_add(Evas_Object *icon,
- Edje_Signal_Cb func, void *data);
-int qp_setting_icon_click_cb_del(Evas_Object *icon, Edje_Signal_Cb func);
-void qp_setting_icon_handler_longpress(const char *pkgname, void *data);
+extern int quickpanel_setting_icon_click_cb_add(Evas_Object *icon, Edje_Signal_Cb func, void *data);
+extern int quickpanel_setting_icon_click_cb_without_feedback_add(Evas_Object *icon, Edje_Signal_Cb func, void *data);
+extern int quickpanel_setting_icon_click_cb_del(Evas_Object *icon, Edje_Signal_Cb func);
+extern void quickpanel_setting_icon_handler_longpress(const char *pkgname, void *data);
#endif /* __SETTING_ICON_COMMON_H__ */
*
*/
-
+#include <Elementary.h>
+#include <E_DBus.h>
#include <glib.h>
+
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
#include "quickpanel-ui.h"
#include "quickpanel_def.h"
#include "common.h"
return;
}
- mod = qp_settings_module_get_by_name(module);
+ mod = quickpanel_settings_module_get_by_name(module);
if (mod != NULL) {
DBG("module:%s, command:%s", module, command);
if (mod->handler_ipc != NULL) {
DBG("count of quicksettings:%d", order_count);
for (i = 0; i < order_count; i++) {
- mod = qp_settings_module_get_by_name(order_split[i]);
+ mod = quickpanel_settings_module_get_by_name(order_split[i]);
if (mod != NULL && mod->init != NULL) {
list_active = eina_list_append (list_active, mod);
} else {
if (is_error == 0) {
if (list_active != NULL) {
- qp_setting_view_featured_reload(list_active, num_featured);
- qp_setting_view_all_reload(list_active);
- qp_setting_save_list_to_file(list_active, num_featured);
- eina_list_free(list_active);
+ quickpanel_setting_view_featured_reload(list_active, num_featured);
+ quickpanel_setting_view_all_reload(list_active);
+ quickpanel_setting_save_list_to_file(list_active, num_featured);
+ eina_list_free(list_active);
}
}
g_strfreev(order_split);
}
}
-
/*****************************************************************************
*
* Util functions
*
*****************************************************************************/
-int qp_settings_ipc_init(void *data)
+HAPI int quickpanel_settings_ipc_init(void *data)
{
_settings_ipc_init(data);
return QP_OK;
}
-int qp_settings_ipc_fini(void *data)
+HAPI int quickpanel_settings_ipc_fini(void *data)
{
_settings_ipc_fini(data);
#ifndef __SETTING_IPC_H__
#define __SETTING_IPC_H__
-int qp_settings_ipc_init(void *data);
-int qp_settings_ipc_fini(void *data);
+extern int quickpanel_settings_ipc_init(void *data);
+extern int quickpanel_settings_ipc_fini(void *data);
#endif /* __SETTING_IPC_H__ */
*
*/
-
+#include <Elementary.h>
#include <glib.h>
+
#include <notification.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
#include "common.h"
+#include "common_uic.h"
#include "quickpanel-ui.h"
#include "quickpanel_def.h"
#include "modules.h"
#include "setting_utils.h"
#include "settings_gridbox.h"
#include "setting_module_api.h"
+#include "settings_view_all.h"
+#include "pager.h"
#include "pager_common.h"
#include "page_setting_all.h"
#include "accessibility.h"
-#include "configuration.h"
+
#ifdef QP_EMERGENCY_MODE_ENABLE
#include "emergency_mode.h"
#endif
.lang_changed = NULL,
};
-int _icons_rotation_set(int angle)
+static int _icons_rotation_set(int angle)
{
Evas_Object *icon = NULL;
Eina_List *icons = NULL;
icons = elm_box_children_get(section);
retif(!icons, -1, "icons list is NULL");
- if (angle % 180 == 0)
+ if (angle % 180 == 0) {
signal = "icon.portrait";
- else
+ } else {
signal = "icon.landscape";
+ }
EINA_LIST_FOREACH(icons, l, icon) {
elm_object_signal_emit(icon, signal, "quickpanl.prog");
retif(module == NULL, NULL, "Invalid parameter!");
retif(parent == NULL, NULL, "Invalid parameter!");
- return qp_setting_module_icon_create(module, parent);
+ return quickpanel_setting_module_icon_create(module, parent);
}
static Evas_Object *_divider_create(Evas_Object *parent) {
struct appdata *ad = (struct appdata*)quickpanel_get_app_data();
retif(ad == NULL, NULL, "application data is NULL");
- divider = quickpanel_ui_load_edj(parent, DEFAULT_EDJ, "quickpanel/setting_icon_divider_wvga", 0);
+ divider = quickpanel_uic_load_edj(parent, DEFAULT_EDJ, "quickpanel/setting_icon_divider", 0);
retif(divider == NULL, NULL, "failed to load divider");
return divider;
}
-static void _icon_pack(Evas_Object *gridbox, Evas_Object *icon, int need_divider) {
+static void _icon_pack(Evas_Object *gridbox, Evas_Object *icon, int need_divider)
+{
Evas_Object *divider = NULL;
retif(gridbox == NULL, , "Invalid parameter!");
retif(icon == NULL, , "Invalid parameter!");
- settings_gridbox_item_add(gridbox, icon, SETTINGS_GRIDBOX_ITEM_ICON, SETTINGS_GRIDBOX_APPEND);
+ quickpanel_settings_gridbox_item_add(gridbox, icon, SETTINGS_GRIDBOX_ITEM_ICON, SETTINGS_GRIDBOX_APPEND);
if (need_divider == 1) {
divider = _divider_create(gridbox);
if (divider != NULL) {
- settings_gridbox_item_add(gridbox, divider,
+ quickpanel_settings_gridbox_item_add(gridbox, divider,
SETTINGS_GRIDBOX_ITEM_DIVIDER, SETTINGS_GRIDBOX_APPEND);
}
}
}
-static void _view_icons_add() {
+static void _view_icons_add(void)
+{
int index = 0, total = 0;
Eina_List *l;
Eina_List *l_next;
gridbox = quickpanel_page_setting_all_view_get("ACTIVE.BUTTONS");
if (gridbox == NULL) {
- gridbox = settings_gridbox_create(layout, quickpanel_get_app_data());
+ gridbox = quickpanel_settings_gridbox_create(layout, quickpanel_get_app_data());
quickpanel_page_setting_all_view_set("ACTIVE.BUTTONS", gridbox);
}
total = eina_list_count(list_all_icon);
DBG("total:%d", total);
- EINA_LIST_FOREACH_SAFE(list_all_icon, l, l_next, module)
- {
+ EINA_LIST_FOREACH_SAFE(list_all_icon, l, l_next, module) {
icon = _icon_create(module, gridbox);
if (icon != NULL) {
_icon_pack(gridbox, icon, (index != total - 1) ? 1 : 0);
- qp_setting_module_icon_add(module, icon, QP_SETTING_ICON_CONTAINER_ALL_LIST);
- qp_setting_module_icon_status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
+ quickpanel_setting_module_icon_add(module, icon, QP_SETTING_ICON_CONTAINER_ALL_LIST);
+ quickpanel_setting_module_icon_status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
}
DBG("all list:%s", module->name);
index++;
eina_list_free(list_all_icon);
}
-static void _view_icons_del(void) {
+static void _view_icons_del(void)
+{
Eina_List *l;
Eina_List *l_next;
Evas_Object *icon = NULL;
list_icons = elm_box_children_get(box);
- EINA_LIST_FOREACH_SAFE(list_icons, l, l_next, icon)
- {
- module = qp_setting_module_get_from_icon(icon);
- qp_setting_module_icon_remove(module, icon);
+ EINA_LIST_FOREACH_SAFE(list_icons, l, l_next, icon) {
+ module = quickpanel_setting_module_get_from_icon(icon);
+ quickpanel_setting_module_icon_remove(module, icon);
elm_box_unpack(box, icon);
if (icon != NULL) {
evas_object_del(icon);
struct appdata *ad = (struct appdata *)data;
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
- _view_create(data);
+ _view_create(data);
return QP_OK;
}
_icons_rotation_set(ad->angle);
}
-HAPI void qp_setting_view_all_reload(Eina_List *list_all_module) {
+HAPI void quickpanel_setting_view_all_reload(Eina_List *list_all_module)
+{
int index = 0, total = 0;
Eina_List *l;
Eina_List *l_next;
gridbox = quickpanel_page_setting_all_view_get("ACTIVE.BUTTONS");
retif(gridbox == NULL, , "Invalid parameter!");
- settings_gridbox_unpack_all(gridbox);
+ quickpanel_settings_gridbox_unpack_all(gridbox);
total = eina_list_count(list_all_module);
DBG("total:%d", total);
- EINA_LIST_FOREACH_SAFE(list_all_module, l, l_next, module)
- {
- if ((icon = qp_setting_module_icon_get(module,
- QP_SETTING_ICON_CONTAINER_ALL_LIST)) == NULL) {
+ EINA_LIST_FOREACH_SAFE(list_all_module, l, l_next, module) {
+ if ((icon = quickpanel_setting_module_icon_get(module,
+ QP_SETTING_ICON_CONTAINER_ALL_LIST)) == NULL) {
icon = _icon_create(module, gridbox);
}
if (icon != NULL) {
_icon_pack(gridbox, icon, (index != total - 1) ? 1 : 0);
- qp_setting_module_icon_add(module, icon, QP_SETTING_ICON_CONTAINER_ALL_LIST);
- qp_setting_module_icon_status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
+ quickpanel_setting_module_icon_add(module, icon, QP_SETTING_ICON_CONTAINER_ALL_LIST);
+ quickpanel_setting_module_icon_status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
}
DBG("all list:%s", module->name);
index++;
#ifndef __SETTING_VIEW_ALL_H__
#define __SETTING_VIEW_ALL_H__
-void qp_setting_view_all_reload(Eina_List *list_all_module);
+extern void qp_setting_view_all_reload(Eina_List *list_all_module);
+extern void quickpanel_setting_view_all_reload(Eina_List *list_all_module);
#endif /* __SETTING_VIEW_ALL_H__ */
*
*/
-
+#include <Elementary.h>
#include <glib.h>
+
#include <notification.h>
-#include <efl_assist.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
#include "common.h"
+#include "common_uic.h"
#include "quickpanel-ui.h"
#include "quickpanel_def.h"
#include "modules.h"
#include "settings_gridbox.h"
#include "setting_module_api.h"
#include "settings_view_featured.h"
+#include "pager.h"
#include "pager_common.h"
#include "accessibility.h"
-#include "configuration.h"
+
#ifdef QP_EMERGENCY_MODE_ENABLE
#include "emergency_mode.h"
#endif
-#include "help_overlay.h"
static int _init(void *data);
static void _init_job_cb(void *data);
.lang_changed = _lang_changed,
};
-static void _view_layout_create(void *data) {
- Evas_Object *scroller = NULL;
+static void _view_layout_create(void *data)
+{
Evas_Object *box = NULL;
Evas_Object *container = NULL;
struct appdata *ad = data;
retif(!ad->ly, , "layout is NULL!");
- container = quickpanel_ui_load_edj(ad->ly, DEFAULT_EDJ, "quickpanel/setting_container_wvga", 0);
+ container = quickpanel_uic_load_edj(ad->ly, DEFAULT_EDJ, "quickpanel/setting_container_wvga", 0);
retif(container == NULL, , "failed to load container");
- scroller = elm_scroller_add(container);
- retif(!scroller, , "fail to add scroller");
- elm_object_style_set(scroller, "effect");
- elm_scroller_bounce_set(scroller, EINA_TRUE, EINA_FALSE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
-
- ea_theme_object_color_replace(scroller, "B018", "AO033");
-
- box = elm_box_add(scroller);
+ box = elm_box_add(container);
if (!box) {
- ERR("fail to add box");
- if (scroller != NULL) {
- evas_object_del(scroller);
- scroller = NULL;
- }
if (container != NULL) {
evas_object_del(container);
container = NULL;
}
- return ;
+ return;
}
- evas_object_size_hint_weight_set(box,
- 0.0, EVAS_HINT_EXPAND);
+
+ elm_object_style_set(box, "effect");
+
+ evas_object_size_hint_weight_set(box, 0.0 , EVAS_HINT_EXPAND);
evas_object_size_hint_fill_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_box_horizontal_set(box, EINA_TRUE);
evas_object_show(box);
- elm_object_content_set(scroller, box);
-
- elm_object_part_content_set(container, QP_SETTING_SCROLLER_PART_WVGA, scroller);
+ elm_object_part_content_set(container, QP_SETTING_SCROLLER_PART_WVGA, box);
- qp_setting_layout_set(ad->ly, container);
+ quickpanel_setting_layout_set(ad->ly, container);
}
-static void _view_icons_add(void *data) {
+static void _view_icons_add(void *data)
+{
int index = 0, total = 0;
Eina_List *l;
Eina_List *l_next;
QP_Module_Setting *module = NULL;
Eina_List *list_featured_icon = NULL;
struct appdata *ad = (struct appdata *)data;
- Evas_Object *box = qp_setting_box_get(ad->ly);
+ Evas_Object *box = quickpanel_setting_box_get(ad->ly);
retif(box == NULL, , "Invalid parameter!");
quickpanel_settings_featured_list_get(&list_featured_icon);
retif(list_featured_icon == NULL, , "Invalid parameter!");
total = eina_list_count(list_featured_icon);
- EINA_LIST_FOREACH_SAFE(list_featured_icon, l, l_next, module)
- {
- icon = qp_setting_module_icon_create(module, box);
- qp_setting_module_icon_add(module, icon, QP_SETTING_ICON_CONTAINER_FEATURED);
- qp_setting_icon_pack(box, icon,
- (index == total - 1) ? 0 : 1);
- qp_setting_module_icon_status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
+ EINA_LIST_FOREACH_SAFE(list_featured_icon, l, l_next, module) {
+ icon = quickpanel_setting_module_icon_create(module, box);
+ quickpanel_setting_module_icon_add(module, icon, QP_SETTING_ICON_CONTAINER_FEATURED);
+ quickpanel_setting_icon_pack(box, icon, (index == total - 1) ? 0 : 1);
+ quickpanel_setting_module_icon_status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
index++;
}
eina_list_free(list_featured_icon);
}
-static void _view_icons_del(void *data) {
+static void _view_icons_del(void *data)
+{
Eina_List *l;
Eina_List *l_next;
Evas_Object *icon = NULL;
Eina_List *list_featured_icon = NULL;
struct appdata *ad = (struct appdata *)data;
retif(ad == NULL, , "Invalid parameter!");
- Evas_Object *box = qp_setting_box_get(ad->ly);
+ Evas_Object *box = quickpanel_setting_box_get(ad->ly);
retif(box == NULL, , "Invalid parameter!");
list_featured_icon = elm_box_children_get(box);
- EINA_LIST_FOREACH_SAFE(list_featured_icon, l, l_next, icon)
- {
- module = qp_setting_module_get_from_icon(icon);
- qp_setting_module_icon_remove(module, icon);
+ EINA_LIST_FOREACH_SAFE(list_featured_icon, l, l_next, icon) {
+ module = quickpanel_setting_module_get_from_icon(icon);
+ quickpanel_setting_module_icon_remove(module, icon);
elm_box_unpack(box, icon);
if (icon != NULL) {
evas_object_del(icon);
}
#endif
- _view_layout_create(data);
- _view_icons_add(data);
+ _view_layout_create(data);
+ _view_icons_add(data);
elm_object_signal_emit(ad->ly, "quickpanel.setting.show", "quickpanel.prog");
Evas_Object *scroller = NULL;
retif(ad == NULL, , "Invalid parameter!");
- qp_setting_set_scroll_page_width(ad);
- qp_setting_stop(ad->ly, 0);
- scroller = qp_setting_scroller_get(ad->ly);
+ quickpanel_setting_set_scroll_page_width(ad);
+ quickpanel_setting_stop(ad->ly, 0);
+ scroller = quickpanel_setting_scroller_get(ad->ly);
evas_object_show(scroller);
}
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
_view_icons_del(ad);
- qp_setting_layout_remove(ad->ly);
+ quickpanel_setting_layout_remove(ad->ly);
elm_object_signal_emit(ad->ly, "quickpanel.setting.hide", "quickpanel.prog");
return QP_OK;
struct appdata *ad = data;
retif(ad == NULL, , "Invalid parameter!");
- if (quickpanel_help_could_be_displayed() == 1) {
- return ;
- }
-
- qp_setting_view_featured_initial_focus_set();
+ quickpanel_setting_view_featured_initial_focus_set();
}
static void _closed(void *data)
Evas_Object *focused_obj = NULL;
retif(ad == NULL, , "Invalid parameter!");
- qp_setting_stop(ad->ly, 0);
+ quickpanel_setting_stop(ad->ly, 0);
if (ad->win != NULL) {
focused_obj = elm_object_focused_object_get(ad->win);
struct appdata *ad = data;
retif(ad == NULL, , "Invalid parameter!");
- qp_setting_container_rotation_set(ad->ly, ad->angle);
- qp_setting_icons_rotation_set(ad->ly, ad->angle);
+ quickpanel_setting_container_rotation_set(ad->ly, ad->angle);
+ quickpanel_setting_icons_rotation_set(ad->ly, ad->angle);
if (ad->is_opened == 0) {
- qp_setting_stop(ad->ly, 1);
+ quickpanel_setting_stop(ad->ly, 1);
}
}
retif(ad == NULL, , "Invalid parameter!");
if (ad->is_opened == 0) {
- qp_setting_stop(ad->ly, 0);
+ quickpanel_setting_stop(ad->ly, 0);
}
}
-HAPI Eina_Bool qp_settings_is_in_left_edge(void) {
- if (qp_setting_scroll_page_get(quickpanel_get_app_data()) == 0) {
+HAPI Eina_Bool quickpanel_settings_is_in_left_edge(void)
+{
+ if (quickpanel_setting_scroll_page_get(quickpanel_get_app_data()) == 0) {
return EINA_TRUE;
}
return EINA_FALSE;
}
-HAPI void qp_setting_view_featured_reload(Eina_List *list_all_module, int num_featured) {
+HAPI void quickpanel_setting_view_featured_reload(Eina_List *list_all_module, int num_featured)
+{
int index = 0, total = 0;
Eina_List *l;
Eina_List *l_next;
struct appdata *ad = quickpanel_get_app_data();
retif(list_all_module == NULL, , "Invalid parameter!");
- box = qp_setting_box_get(ad->ly);
+ box = quickpanel_setting_box_get(ad->ly);
retif(box == NULL, , "invalid parameter");
- qp_setting_icon_unpack_all(box);
+ quickpanel_setting_icon_unpack_all(box);
total = eina_list_count(list_all_module);
DBG("total:%d", total);
- EINA_LIST_FOREACH_SAFE(list_all_module, l, l_next, module)
- {
+ EINA_LIST_FOREACH_SAFE(list_all_module, l, l_next, module) {
if (index < num_featured) {
- if ((icon = qp_setting_module_icon_get(module,
- QP_SETTING_ICON_CONTAINER_FEATURED)) == NULL) {
- icon = qp_setting_module_icon_create(module, box);
+ if ((icon = quickpanel_setting_module_icon_get(module,
+ QP_SETTING_ICON_CONTAINER_FEATURED)) == NULL) {
+ icon = quickpanel_setting_module_icon_create(module, box);
}
if (icon != NULL) {
- qp_setting_module_icon_add(module, icon, QP_SETTING_ICON_CONTAINER_FEATURED);
- qp_setting_icon_pack(box, icon,
- (index == num_featured - 1) ? 0 : 1);
- qp_setting_module_icon_status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
+ quickpanel_setting_module_icon_add(module, icon, QP_SETTING_ICON_CONTAINER_FEATURED);
+ quickpanel_setting_icon_pack(box, icon, (index == num_featured - 1) ? 0 : 1);
+ quickpanel_setting_module_icon_status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID);
}
DBG("all list:%s", module->name);
} else {
- if ((icon = qp_setting_module_icon_get(module,
- QP_SETTING_ICON_CONTAINER_FEATURED)) != NULL) {
- qp_setting_module_icon_remove(module, icon);
+ if ((icon = quickpanel_setting_module_icon_get(module,
+ QP_SETTING_ICON_CONTAINER_FEATURED)) != NULL) {
+ quickpanel_setting_module_icon_remove(module, icon);
evas_object_del(icon);
icon = NULL;
}
}
}
-HAPI void qp_setting_view_featured_initial_focus_set(void) {
+HAPI void quickpanel_setting_view_featured_initial_focus_set(void)
+{
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, , "Invalid parameter!");
Evas_Object *obj_first = NULL;
Eina_List *list_featured_icon = NULL;
- Evas_Object *box = qp_setting_box_get(ad->ly);
+ Evas_Object *box = quickpanel_setting_box_get(ad->ly);
retif(box == NULL, , "Invalid parameter!");
#ifdef QP_EMERGENCY_MODE_ENABLE
}
#endif
- if (quickpanel_opened_reason_get() == OPENED_BY_CMD_SHOW_SETTINGS) {
- return ;
+ if (quickpanel_uic_opened_reason_get() == OPENED_BY_CMD_SHOW_SETTINGS) {
+ return;
}
list_featured_icon = elm_box_children_get(box);
}
}
-HAPI void qp_setting_view_featured_brightness_init(Evas_Object *brightness_view) {
+HAPI void quickpanel_setting_view_featured_brightness_init(Evas_Object *brightness_view)
+{
struct appdata *ad = quickpanel_get_app_data();
retif(ad == NULL, , "Invalid parameter!");
Evas_Object *container = NULL;
- container = qp_setting_layout_get(ad->ly, QP_SETTING_BASE_PART);
+ container = quickpanel_setting_layout_get(ad->ly, QP_SETTING_BASE_PART);
retif(container == NULL, ,"Failed to get container");
#ifndef __SETTING_VIEW_FEATURED_H__
#define __SETTING_VIEW_FEATURED_H__
-Eina_Bool qp_settings_is_in_left_edge(void);
-void qp_setting_view_featured_reload(Eina_List *list_all_module, int num_featured);
-void qp_setting_view_featured_initial_focus_set(void);
-void qp_setting_view_featured_brightness_init(Evas_Object *brightness_view);
+extern Eina_Bool quickpanel_settings_is_in_left_edge(void);
+extern void quickpanel_setting_view_featured_reload(Eina_List *list_all_module, int num_featured);
+extern void quickpanel_setting_view_featured_initial_focus_set(void);
+extern void quickpanel_setting_view_featured_brightness_init(Evas_Object *brightness_view);
#endif /* __SETTING_VIEW_FEATURED_H__ */
*/
+#include <Elementary.h>
#include <stdio.h>
#include <stdlib.h>
-#include <Evas.h>
-#include <Elementary.h>
-#include <Eina.h>
-#include <dlog.h>
-#include <vconf.h>
+#include <E_DBus.h>
#include <tapi_common.h>
#include <ITapiSim.h>
#include <TelCall.h>
#include <ITapiCall.h>
#include <TelNetwork.h>
+
+#include <dlog.h>
+#include <vconf.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
#include "setting_utils.h"
#include "list_util.h"
#include "quickpanel-ui.h"
#include "common.h"
-#include "dual_sim_view.h"
#include "handler_controller.h"
#define TAPI_HANDLE_MAX 2
}
sim_state_info =
{
- .handle[0] = NULL,
- .handle[1] = NULL,
- .handle[2] = NULL,
- .sim_card_ready[0] = EINA_FALSE,
- .sim_card_ready[1] = EINA_FALSE,
- .layout = NULL,
- .call_state = 0,
+ .handle[0] = NULL,
+ .handle[1] = NULL,
+ .handle[2] = NULL,
+ .sim_card_ready[0] = EINA_FALSE,
+ .sim_card_ready[1] = EINA_FALSE,
+ .layout = NULL,
+ .call_state = 0,
};
-static int _sim_controller_get_call_state(void);
-
static void register_sim_callbacks();
static void unregister_sim_callbacks();
-static void on_preferred_voice_subscription_sim_1_cb(TapiHandle *handle, int result, void *data, void *user_data)
-{
- if (result == TAPI_API_SUCCESS)
- {
- INFO("Setting preffered subscription to sim 1");
-
- dualsim_view_set_activated_button(QP_DUALSIM_NUM_SIM1);
- }
- else
- {
- ERR("Could not set preffered subscription to sim 1: %d", result);
- }
-}
-
-static void on_preferred_voice_subscription_sim_2_cb(TapiHandle *handle, int result, void *data, void *user_data)
-{
- if (result == TAPI_API_SUCCESS)
- {
- INFO("Setting preffered subscription to sim 2");
-
- dualsim_view_set_activated_button(QP_DUALSIM_NUM_SIM2);
- }
- else
- {
- ERR("Could not set preffered subscription to sim 2: %d", result);
- }
-}
-
-static void on_preferred_voice_subscription_sim_ask_cb(TapiHandle *handle, int result, void *data, void *user_data)
-{
- if (result == TAPI_API_SUCCESS)
- {
- INFO("Setting preffered subscription to \'Always ask\'");
-
- dualsim_view_set_activated_button(QP_DUALSIM_NUM_ALWAYS_ASK);
- }
- else
- {
- ERR("Could not set preffered subscription to always ask: %d", result);
- }
-}
-
-static void __sim_controller_button_selected_cb(qp_dualsim_number_e sim_num)
-{
- if (sim_state_info.call_state)
- {
- DBG("Can not change preferred sim while calling");
- return;
- }
-
- char buf[1024] = { 0, };
- char *format = _("IDS_ST_TPOP_UNABLE_TO_MAKE_VOICE_CALLS_VIDEO_CALLS_AND_SEND_TEXT_MESSAGES_USING_PS");
-
- TelCallPreferredVoiceSubs_t expected_voice_subscription = TAPI_CALL_PREFERRED_VOICE_SUBS_UNKNOWN;
- tapi_response_cb callback = NULL;
- int vconf_dual_sim_vc_setting = VCONFKEY_DUALSIM_VOICE_CALL_UNKNOWN;
-
-
- if (sim_num == QP_DUALSIM_NUM_SIM1)
- {
- snprintf(buf, sizeof(buf), format, _("IDS_ST_BODY_SIM_1")); // TODO: Get SIM1
-
- expected_voice_subscription = TAPI_CALL_PREFERRED_VOICE_SUBS_SIM1;
- callback = on_preferred_voice_subscription_sim_1_cb;
- vconf_dual_sim_vc_setting = VCONFKEY_DUALSIM_VOICE_CALL_SIM1;
- }
- else if (sim_num == QP_DUALSIM_NUM_SIM2)
- {
- snprintf(buf, sizeof(buf), format, _("IDS_ST_BODY_SIM_2")); // TODO: Get SIM2
-
- expected_voice_subscription = TAPI_CALL_PREFERRED_VOICE_SUBS_SIM2;
- callback = on_preferred_voice_subscription_sim_2_cb;
- vconf_dual_sim_vc_setting = VCONFKEY_DUALSIM_VOICE_CALL_SIM2;
- }
- else if (sim_num == QP_DUALSIM_NUM_ALWAYS_ASK)
- {
- snprintf(buf, sizeof(buf), format, _("IDS_QP_BUTTON_ALWAYS_ASK_ABB"));
-
- expected_voice_subscription = TAPI_CALL_PREFERRED_VOICE_SUBS_ASK_ALWAYS;
- callback = on_preferred_voice_subscription_sim_ask_cb;
- vconf_dual_sim_vc_setting = VCONFKEY_DUALSIM_VOICE_CALL_ASK_ALWAYS;
- }
-
- quickpanel_play_feedback();
-
- TelCallPreferredVoiceSubs_t preferred_subscription;
- int ret = tel_get_call_preferred_voice_subscription(sim_state_info.handle[0], &preferred_subscription);
-
- struct appdata *ad = quickpanel_get_app_data();
-
- if(ret != TAPI_API_SUCCESS)
- {
- ERR("Failed to read preferred_voice_subscription[%d]", ret);
- qp_setting_create_timeout_popup(ad->win, buf);
-
- return;
- }
-
- if(preferred_subscription != expected_voice_subscription)
- {
- ret = tel_set_call_preferred_voice_subscription(sim_state_info.handle[0],
- expected_voice_subscription, callback, NULL);
-
- if(ret != TAPI_API_SUCCESS)
- {
- ERR("Failed to change preferred voice subscription[%d]", ret);
- qp_setting_create_timeout_popup(ad->win, buf);
-
- return;
- }
-
- vconf_set_int(VCONFKEY_DUALSIM_VOICE_CALL_INT, vconf_dual_sim_vc_setting);
- }
-}
-
-static void __sim_controller_call_state_changed_cb(keynode_t *key, void *data)
-{
- int call_state = _sim_controller_get_call_state();
-
- if (sim_state_info.call_state != call_state)
- {
- DBG("Call state changed[%d]", call_state);
- dualsim_view_activate(call_state);
-
- sim_state_info.call_state = call_state;
- }
-}
-
-static int _sim_controller_get_call_state(void)
-{
- int value = 0;
- int ret = 0;
-
- ret = vconf_get_int(VCONFKEY_CALL_STATE, &value);
- if (ret != 0)
- {
- ERR("Failed to get call state");
- return 0;
- }
-
- if (value == VCONFKEY_CALL_OFF)
- {
- return 0;
- }
-
- DBG("Call status[%d]", value);
- return 1;
-}
-
static char *get_sim_plmn(TapiHandle *handle)
{
int ret;
TAPI_PROP_NETWORK_NETWORK_NAME, &network_name);
if(ret == TAPI_API_SUCCESS)
{
- /* ‘network_name’ contains valid Network name based on Display condition */
+ /* ‘network_name’ contains valid Network name based on Display condition */
return network_name;
}
else
{
- ERR("Dual-sim Sim = %p PLMN = ERROR[%d]", handle, ret);
- /* get property failed */
+ ERR("Sim = %p PLMN = ERROR[%d]", handle, ret);
+ /* get property failed */
}
return NULL;
TAPI_PROP_NETWORK_SPN_NAME, &spn_name);
if(ret == TAPI_API_SUCCESS)
{
- /* ‘spn_name’ contains valid Service provider name */
+ /* ‘spn_name’ contains valid Service provider name */
return spn_name;
}
else
{
- ERR("Dual-sim Sim = %p SPN = ERROR[%d]", handle, ret);
- /* get property failed */
+ ERR("Sim = %p SPN = ERROR[%d]", handle, ret);
+ /* get property failed */
return NULL;
}
}
// get service type
ret = tel_get_property_int(handle, TAPI_PROP_NETWORK_SERVICE_TYPE, &service_type);
- if (ret != TAPI_API_SUCCESS)
- {
+ if (ret != TAPI_API_SUCCESS) {
ERR("Failed to get service type[%d]", ret);
}
- if (service_type >= TAPI_NETWORK_SERVICE_TYPE_2G)
- {
+ if (service_type >= TAPI_NETWORK_SERVICE_TYPE_2G) {
// get network name option
ret = tel_get_property_int(handle, TAPI_PROP_NETWORK_NAME_OPTION, &name_option);
- if (ret != TAPI_API_SUCCESS)
- {
+ if (ret != TAPI_API_SUCCESS) {
ERR("Failed to get name option[%d]", ret);
}
- switch (name_option)
- {
+ switch (name_option) {
case TAPI_NETWORK_DISP_SPN:
spn = get_sim_spn(handle);
- if (spn != NULL && spn[0] != 0)
- {
+ if (spn != NULL && spn[0] != 0) {
INFO("PLMN/SPN - Sim %p using SPN: %s", handle, spn);
snprintf(buf, sizeof(buf), "%s", spn);
}
break;
case TAPI_NETWORK_DISP_PLMN:
plmn = get_sim_plmn(handle);
- if (plmn != NULL && plmn[0] != 0)
- {
+ if (plmn != NULL && plmn[0] != 0) {
INFO("PLMN/SPN - Sim %p using PLMN: %s", handle, plmn);
snprintf(buf, sizeof(buf), "%s", plmn);
}
case TAPI_NETWORK_DISP_SPN_PLMN:
spn = get_sim_spn(handle);
plmn = get_sim_plmn(handle);
- if (spn != NULL && spn[0] != 0 && plmn != NULL && plmn[0] != 0)
- {
+ if (spn != NULL && spn[0] != 0 && plmn != NULL && plmn[0] != 0) {
INFO("PLMN/SPN - Sim %p using SPN: %s, PLMN: %s", handle, spn, plmn);
snprintf(buf, sizeof(buf), "%s - %s", plmn, spn);
- }
- else if (spn != NULL && spn[0] != 0)
- {
+ } else if (spn != NULL && spn[0] != 0) {
INFO("PLMN/SPN - Sim %p using SPN: %s", handle, spn);
snprintf(buf, sizeof(buf), "%s", spn);
- }
- else if (plmn != NULL && plmn[0] != 0)
- {
+ } else if (plmn != NULL && plmn[0] != 0) {
INFO("PLMN/SPN - Sim %p using PLMN: %s", handle, plmn);
snprintf(buf, sizeof(buf), "%s", plmn);
}
default:
ERR("Invalid name option[%d]", name_option);
plmn = get_sim_plmn(handle);
- if (plmn != NULL && plmn[0] != 0)
- {
+ if (plmn != NULL && plmn[0] != 0) {
INFO("PLMN/SPN - Sim %p using PLMN: %s", handle, plmn);
snprintf(buf, sizeof(buf), "%s", plmn);
}
break;
}
- }
- else
- {
- switch (service_type)
- {
+ } else {
+ switch (service_type) {
case TAPI_NETWORK_SERVICE_TYPE_NO_SERVICE:
snprintf(buf, sizeof(buf), "%s", _("IDS_IDLE_BODY_NO_SERVICE"));
break;
default:
ERR("invalid service type[%d]", service_type);
plmn = get_sim_plmn(handle);
- if (plmn != NULL && plmn[0] != 0)
- {
+ if (plmn != NULL && plmn[0] != 0) {
INFO("PLMN/SPN - Sim %p using PLMN: %s", handle, plmn);
snprintf(buf, sizeof(buf), "%s", plmn);
}
DBG("handle[%d][%p] service_type[%d], name_option[%d] >> [%s]", handle_num, handle, service_type, name_option, buf);
- if (strlen(buf) == 0)
- {
+ if (strlen(buf) == 0) {
ERR("Empty string");
snprintf(buf, sizeof(buf), "%s", _("IDS_IDLE_BODY_NO_SERVICE"));
- }
- else if (strncasecmp(buf, "No Service", strlen("No Service")) == 0)
- {
+ } else if (strncasecmp(buf, "No Service", strlen("No Service")) == 0) {
ERR("USING SPECIAL NETWORK NAME: %s in handle: %d", _("IDS_IDLE_BODY_NO_SERVICE"), handle_num);
return strdup(_("IDS_IDLE_BODY_NO_SERVICE"));
- }
- else if (strncasecmp(buf, "EMERGENCY", strlen("EMERGENCY")) == 0)
- {
+ } else if (strncasecmp(buf, "EMERGENCY", strlen("EMERGENCY")) == 0) {
ERR("USING SPECIAL NETWORK NAME: %s in handle: %d", _("IDS_IDLE_MBODY_EMERGENCY_CALLS_ONLY"), handle_num);
return strdup(_("IDS_IDLE_MBODY_EMERGENCY_CALLS_ONLY"));
- }
- else if (strncasecmp(buf, "Searching", strlen("Searching")) == 0)
- {
+ } else if (strncasecmp(buf, "Searching", strlen("Searching")) == 0) {
ERR("USING SPECIAL NETWORK NAME: %s in handle: %d", _("IDS_COM_BODY_SEARCHING"), handle_num);
return strdup(_("IDS_COM_BODY_SEARCHING"));
- }
- else if (strncasecmp(buf, "SIM Error", strlen("SIM Error")) == 0)
- {
+ } else if (strncasecmp(buf, "SIM Error", strlen("SIM Error")) == 0) {
ERR("USING SPECIAL NETWORK NAME: %s in handle: %d", _("IDS_IDLE_BODY_INVALID_SIM_CARD"), handle_num);
return strdup(_("IDS_IDLE_BODY_INVALID_SIM_CARD"));
- }
- else if (strncasecmp(buf, "NO SIM", strlen("NO SIM")) == 0)
- {
+ } else if (strncasecmp(buf, "NO SIM", strlen("NO SIM")) == 0) {
ERR("USING SPECIAL NETWORK NAME: %s in handle: %d", _("IDS_IDLE_MBODY_EMERGENCY_CALLS_ONLY"), handle_num);
return strdup(_("IDS_IDLE_MBODY_EMERGENCY_CALLS_ONLY"));
}
// --------------------------------------------------------------------------------------------
static void print_sim_status(TelSimCardStatus_t sim_status, int card_changed)
{
- switch(sim_status)
- {
- case TAPI_SIM_STATUS_CARD_ERROR :
- INFO("Sim card status: TAPI_SIM_STATUS_CARD_ERROR");
+ switch(sim_status) {
+ case TAPI_SIM_STATUS_CARD_ERROR:
+ INFO("Sim card status: TAPI_SIM_STATUS_CARD_ERROR");
break;
- case TAPI_SIM_STATUS_CARD_NOT_PRESENT :
- INFO("Sim card status: TAPI_SIM_STATUS_CARD_NOT_PRESENT");
+ case TAPI_SIM_STATUS_CARD_NOT_PRESENT:
+ INFO("Sim card status: TAPI_SIM_STATUS_CARD_NOT_PRESENT");
break;
- case TAPI_SIM_STATUS_SIM_INITIALIZING :
- INFO("Sim card status: TAPI_SIM_STATUS_SIM_INITIALIZING");
+ case TAPI_SIM_STATUS_SIM_INITIALIZING:
+ INFO("Sim card status: TAPI_SIM_STATUS_SIM_INITIALIZING");
break;
- case TAPI_SIM_STATUS_SIM_INIT_COMPLETED:
- INFO("Sim card status: TAPI_SIM_STATUS_SIM_INIT_COMPLETED");
+ case TAPI_SIM_STATUS_SIM_INIT_COMPLETED:
+ INFO("Sim card status: TAPI_SIM_STATUS_SIM_INIT_COMPLETED");
break;
- case TAPI_SIM_STATUS_SIM_PIN_REQUIRED :
- INFO("Sim card status: TAPI_SIM_STATUS_SIM_PIN_REQUIRED");
+ case TAPI_SIM_STATUS_SIM_PIN_REQUIRED:
+ INFO("Sim card status: TAPI_SIM_STATUS_SIM_PIN_REQUIRED");
break;
- case TAPI_SIM_STATUS_SIM_PUK_REQUIRED :
- INFO("Sim card status: TAPI_SIM_STATUS_SIM_PUK_REQUIRED");
+ case TAPI_SIM_STATUS_SIM_PUK_REQUIRED:
+ INFO("Sim card status: TAPI_SIM_STATUS_SIM_PUK_REQUIRED");
break;
- case TAPI_SIM_STATUS_CARD_BLOCKED :
- INFO("Sim card status: TAPI_SIM_STATUS_CARD_BLOCKED");
+ case TAPI_SIM_STATUS_CARD_BLOCKED:
+ INFO("Sim card status: TAPI_SIM_STATUS_CARD_BLOCKED");
break;
- case TAPI_SIM_STATUS_SIM_NCK_REQUIRED :
- INFO("Sim card status: TAPI_SIM_STATUS_SIM_NCK_REQUIRED");
+ case TAPI_SIM_STATUS_SIM_NCK_REQUIRED:
+ INFO("Sim card status: TAPI_SIM_STATUS_SIM_NCK_REQUIRED");
break;
- case TAPI_SIM_STATUS_SIM_NSCK_REQUIRED :
- INFO("Sim card status: TAPI_SIM_STATUS_SIM_NSCK_REQUIRED");
+ case TAPI_SIM_STATUS_SIM_NSCK_REQUIRED:
+ INFO("Sim card status: TAPI_SIM_STATUS_SIM_NSCK_REQUIRED");
break;
- case TAPI_SIM_STATUS_SIM_SPCK_REQUIRED :
- INFO("Sim card status: TAPI_SIM_STATUS_SIM_SPCK_REQUIRED");
+ case TAPI_SIM_STATUS_SIM_SPCK_REQUIRED:
+ INFO("Sim card status: TAPI_SIM_STATUS_SIM_SPCK_REQUIRED");
break;
- case TAPI_SIM_STATUS_SIM_CCK_REQUIRED :
- INFO("Sim card status: TAPI_SIM_STATUS_SIM_CCK_REQUIRED");
+ case TAPI_SIM_STATUS_SIM_CCK_REQUIRED:
+ INFO("Sim card status: TAPI_SIM_STATUS_SIM_CCK_REQUIRED");
break;
- case TAPI_SIM_STATUS_CARD_REMOVED :
- INFO("Sim card status: TAPI_SIM_STATUS_CARD_REMOVED");
+ case TAPI_SIM_STATUS_CARD_REMOVED:
+ INFO("Sim card status: TAPI_SIM_STATUS_CARD_REMOVED");
break;
- case TAPI_SIM_STATUS_SIM_LOCK_REQUIRED :
- INFO("Sim card status: TAPI_SIM_STATUS_SIM_LOCK_REQUIRED");
+ case TAPI_SIM_STATUS_SIM_LOCK_REQUIRED:
+ INFO("Sim card status: TAPI_SIM_STATUS_SIM_LOCK_REQUIRED");
break;
- case TAPI_SIM_STATUS_CARD_CRASHED :
- INFO("Sim card status: TAPI_SIM_STATUS_CARD_CRASHED");
+ case TAPI_SIM_STATUS_CARD_CRASHED:
+ INFO("Sim card status: TAPI_SIM_STATUS_CARD_CRASHED");
break;
- case TAPI_SIM_STATUS_CARD_POWEROFF :
- INFO("Sim card status: TAPI_SIM_STATUS_CARD_POWEROFF");
+ case TAPI_SIM_STATUS_CARD_POWEROFF:
+ INFO("Sim card status: TAPI_SIM_STATUS_CARD_POWEROFF");
break;
- case TAPI_SIM_STATUS_UNKNOWN :
- INFO("Sim card status: TAPI_SIM_STATUS_UNKNOWN");
+ case TAPI_SIM_STATUS_UNKNOWN:
+ INFO("Sim card status: TAPI_SIM_STATUS_UNKNOWN");
break;
}
TelSimCardStatus_t sim_status;
int card_changed;
- for(i = 0; i < TAPI_HANDLE_MAX + 1; ++i)
- {
- if(sim_state_info.handle[i])
- {
+ for (i = 0; i < TAPI_HANDLE_MAX + 1; ++i) {
+ if (sim_state_info.handle[i]) {
ret = tel_get_sim_init_info (sim_state_info.handle[i], &sim_status, &card_changed);
- if(ret == 0)
- {
+ if(ret == 0) {
print_sim_status(sim_status, card_changed);
- if(sim_status == TAPI_SIM_STATUS_SIM_INIT_COMPLETED ||
- sim_status == TAPI_SIM_STATUS_SIM_PIN_REQUIRED)
- {
- if (i < TAPI_HANDLE_MAX)
- {
+ if(sim_status == TAPI_SIM_STATUS_SIM_INIT_COMPLETED || sim_status == TAPI_SIM_STATUS_SIM_PIN_REQUIRED) {
+ if (i < TAPI_HANDLE_MAX) {
sim_state_info.sim_card_ready[i] = EINA_TRUE;
}
- }
- else
- {
+ } else {
ERR("SIM[%d] is not completed initialization [%d]", i, sim_status);
}
- }
- else
- {
+ } else {
ERR("Could not get sim[%d] status[%d]", i, ret);
- }
- }
- }
+ } // if ret == 0
+ } // if sim_state_info
+ } // for
}
static void sim_handler_text_set(Eina_Bool flight_mode)
{
- if (flight_mode)
- {
+ if (flight_mode) {
// if flight mode, No service
- handler_text_set(_("IDS_IDLE_BODY_NO_SERVICE"));
- }
- else if (sim_state_info.sim_card_ready[0] && sim_state_info.sim_card_ready[1])
- {
- // if dual sim is displaying, handler image
- handler_text_set(NULL);
- }
- else if(sim_state_info.sim_card_ready[0])
- {
+ quickpanel_handler_text_set(_("IDS_IDLE_BODY_NO_SERVICE"));
+ } else if (sim_state_info.sim_card_ready[0] && sim_state_info.sim_card_ready[1]) {
+ quickpanel_handler_text_set(NULL);
+ } else if(sim_state_info.sim_card_ready[0]) {
char *plmn_spn1 = get_plmn_spn_network(0, sim_state_info.handle[0]);
- handler_text_set(plmn_spn1);
- if (plmn_spn1)
- {
+ quickpanel_handler_text_set(plmn_spn1);
+ if (plmn_spn1) {
free(plmn_spn1);
}
- }
- else if(sim_state_info.sim_card_ready[1])
- {
+ } else if(sim_state_info.sim_card_ready[1]) {
char *plmn_spn1 = get_plmn_spn_network(1, sim_state_info.handle[1]);
- handler_text_set(plmn_spn1);
- if (plmn_spn1)
- {
+ quickpanel_handler_text_set(plmn_spn1);
+ if (plmn_spn1) {
free(plmn_spn1);
}
+ } else {
+ quickpanel_handler_text_set(_("IDS_IDLE_MBODY_EMERGENCY_CALLS_ONLY"));
}
- else
- {
- handler_text_set(_("IDS_IDLE_MBODY_EMERGENCY_CALLS_ONLY"));
- }
-
}
static void init_view()
{
struct appdata *ad = NULL;
- Evas_Object *layout = NULL;
ad = quickpanel_get_app_data();
- if (ad == NULL)
- {
+ if (ad == NULL) {
ERR("invalid data");
return;
}
int flight_mode_state = EINA_FALSE;
int ret = vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &flight_mode_state);
- if(ret != 0)
- {
+ if(ret != 0) {
ERR("Could not get 'VCONFKEY_TELEPHONY_FLIGHT_MODE' value");
}
- DBG("Init view");
-
- if(!flight_mode_state && sim_state_info.sim_card_ready[0] && sim_state_info.sim_card_ready[1])
- {
- char *plmn_spn1 = get_plmn_spn_network(0, sim_state_info.handle[0]);
- char *plmn_spn2 = get_plmn_spn_network(1, sim_state_info.handle[1]);
-
- if (sim_state_info.layout == NULL)
- {
- layout = dualsim_view_create(ad->ly);
- if (layout)
- {
- sim_state_info.layout = layout;
-
- // set info
- dualsim_view_set_info_text(QP_DUALSIM_NUM_SIM1, plmn_spn1);
- dualsim_view_set_info_text(QP_DUALSIM_NUM_SIM2, plmn_spn2);
-
- // get preferred sim
- TelCallPreferredVoiceSubs_t preferred_subscription;
- int tapi_ret = tel_get_call_preferred_voice_subscription(sim_state_info.handle[0], &preferred_subscription);
- if (tapi_ret == TAPI_API_SUCCESS)
- {
- if (preferred_subscription == TAPI_CALL_PREFERRED_VOICE_SUBS_SIM1)
- {
- dualsim_view_set_activated_button(QP_DUALSIM_NUM_SIM1);
- }
- else if (preferred_subscription == TAPI_CALL_PREFERRED_VOICE_SUBS_SIM2)
- {
- dualsim_view_set_activated_button(QP_DUALSIM_NUM_SIM2);
- }
- else if (preferred_subscription == TAPI_CALL_PREFERRED_VOICE_SUBS_ASK_ALWAYS)
- {
- dualsim_view_set_activated_button(QP_DUALSIM_NUM_ALWAYS_ASK);
- }
- }
-
- // register button selected event
- dualsim_view_set_selected_cb(__sim_controller_button_selected_cb);
-
- // set call state
- __sim_controller_call_state_changed_cb(NULL, NULL);
- }
- else
- {
- ERR("Failed to create dualsim view");
- }
- }
-
- if (plmn_spn1)
- {
- free(plmn_spn1);
- }
- if (plmn_spn2)
- {
- free(plmn_spn2);
- }
- }
- else
- {
- if (sim_state_info.layout)
- {
- dualsim_view_destroy();
- sim_state_info.layout = NULL;
- }
- }
-
sim_handler_text_set(flight_mode_state);
}
/* Get CP name list – cp_list */
cp_list = tel_get_cp_name_list();
- if(cp_list == NULL)
- {
- ERR("Dual-sim - Could not get the cp_name_list");
+ if(cp_list == NULL) {
+ ERR("Could not get the cp_name_list");
return;
}
- while (cp_list[modem_num])
- {
+ while (cp_list[modem_num]) {
/* Initialize TAPI handle */
sim_state_info.handle[modem_num] = tel_init(cp_list[modem_num]);
- if(cp_list[modem_num])
- ERR("sim_state_info.handle[%d] = %s; ptr = %p", modem_num,
- cp_list[modem_num], sim_state_info.handle[modem_num]);
+ if (cp_list[modem_num]) {
+ ERR("sim_state_info.handle[%d] = %s; ptr = %p", modem_num, cp_list[modem_num], sim_state_info.handle[modem_num]);
+ }
/* Move to next CP Name in cp_list */
modem_num++;
static void _deinit_tel()
{
int i = 0;
- while (sim_state_info.handle[i])
- {
+ while (sim_state_info.handle[i]) {
/* De-initialize TAPI handle */
tel_deinit(sim_state_info.handle[i]);
sim_state_info.handle[i] = NULL;
status = vconf_keynode_get_bool(key);
- if (status == TRUE)
- { /* Telephony State - READY */
+ if (status == TRUE) { /* Telephony State - READY */
DBG("tel status[%d]", status);
_init_tel();
register_sim_callbacks();
get_sim_status();
init_view();
- }
- else
- { /* Telephony State – NOT READY */
+ } else { /* Telephony State – NOT READY */
/* De-initialization is optional here (ONLY if required) */
ERR("tel status[%d]", status);
_deinit_tel();
sim_state_info.sim_card_ready[0] = EINA_FALSE;
sim_state_info.sim_card_ready[1] = EINA_FALSE;
- if (sim_state_info.layout)
- {
- dualsim_view_destroy();
- sim_state_info.layout = NULL;
- }
-
unregister_sim_callbacks();
}
}
Eina_Bool flight_mode_state = EINA_FALSE;
flight_mode_state = vconf_keynode_get_bool(key);
-
- if(flight_mode_state)
- {
- DBG("Hide dual sim view");
- if (sim_state_info.layout)
- {
- dualsim_view_destroy();
- sim_state_info.layout = NULL;
- }
- }
- else
- {
- DBG("Show dual sim view");
- init_view();
- }
-
sim_handler_text_set(flight_mode_state);
-
}
// --------------------------------------------------------------------------------------------
static void on_sim_card_status_changed(TapiHandle *handle, const char *noti_id, void *data, void *user_data)
{
- int handle_num = (int)user_data;
+ int handle_num;
int *sim_status = data;
+ /**
+ * @note
+ * Casting the pointer to "long" first for 64 bits architecture.
+ * And then convert it to "int"
+ */
+ handle_num = (int)((long)user_data);
+
ERR("SIM[%p][%d] status[%d], [%d][%d]", handle, handle_num, *sim_status, sim_state_info.sim_card_ready[0], sim_state_info.sim_card_ready[1]);
- if(*sim_status == TAPI_SIM_STATUS_SIM_INIT_COMPLETED ||
- *sim_status == TAPI_SIM_STATUS_SIM_PIN_REQUIRED)
- {
+ if(*sim_status == TAPI_SIM_STATUS_SIM_INIT_COMPLETED || *sim_status == TAPI_SIM_STATUS_SIM_PIN_REQUIRED) {
sim_state_info.sim_card_ready[handle_num] = EINA_TRUE;
- }
- else
- {
+ } else {
sim_state_info.sim_card_ready[handle_num] = EINA_FALSE;
}
init_view();
}
-static void on_preferred_voice_subscription_external_change(TapiHandle *handle, const char *noti_id,
- void *data, void *user_data)
-{
- LOGI("QUICKPANEL Status Notification: [%s]", noti_id);
-
- TelCallPreferredVoiceSubs_t *preferred_subscription = data;
-
- if (*preferred_subscription == TAPI_CALL_PREFERRED_VOICE_SUBS_SIM1)
- {
- dualsim_view_set_activated_button(QP_DUALSIM_NUM_SIM1);
- }
- else if (*preferred_subscription == TAPI_CALL_PREFERRED_VOICE_SUBS_SIM2)
- {
- dualsim_view_set_activated_button(QP_DUALSIM_NUM_SIM2);
- }
- else if (*preferred_subscription == TAPI_CALL_PREFERRED_VOICE_SUBS_ASK_ALWAYS)
- {
- dualsim_view_set_activated_button(QP_DUALSIM_NUM_ALWAYS_ASK);
- }
- else
- {
- dualsim_view_set_activated_button(QP_DUALSIM_NUM_NONE);
- }
-}
-
static void on_plmn_spn_changed(TapiHandle *handle, const char *noti_id,
void *data, void *user_data)
{
- if(!handle)
- {
+ if (!handle) {
ERR("handle == NULL");
return;
}
-
- int num = (int)user_data;
-
- int flight_mode_state = EINA_FALSE;
+ int flight_mode_state = EINA_FALSE;
int ret = vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &flight_mode_state);
- if(ret != 0)
- {
+ if (ret != 0) {
ERR("Could not get the 'VCONFKEY_TELEPHONY_FLIGHT_MODE' value");
}
-
- char *plm_spn = get_plmn_spn_network(num, handle);
- if(sim_state_info.sim_card_ready[0] && sim_state_info.sim_card_ready[1])
- {
- if(flight_mode_state == EINA_FALSE)
- {
- if (num == 0)
- {
- dualsim_view_set_info_text(QP_DUALSIM_NUM_SIM1, plm_spn);
- }
- else if (num == 1)
- {
- dualsim_view_set_info_text(QP_DUALSIM_NUM_SIM2, plm_spn);
- }
- }
- }
-
sim_handler_text_set(flight_mode_state);
-
- /* txt value is invalid */
-// ERR("SIM_CONTROLLER PLM_SPN CHANGED: [%d] %s; %s; %p; %s;", num, plm_spn, txt, handle, noti_id);
- ERR("SIM_CONTROLLER PLM_SPN CHANGED: [%d] %s; %p; %s;", num, plm_spn, handle, noti_id);
-
- if (plm_spn)
- {
- free(plm_spn);
- }
}
static void register_sim_callbacks()
{
- int i;
+ long i;
int ret;
- for(i = 0; i < TAPI_HANDLE_MAX; ++i)
- {
- if(sim_state_info.handle[i])
- {
- ret = tel_register_noti_event (sim_state_info.handle[i],
- TAPI_NOTI_SIM_STATUS, on_sim_card_status_changed, (void*)i);
- if (ret != TAPI_API_SUCCESS)
- {
+ for (i = 0; i < TAPI_HANDLE_MAX; ++i) {
+ if (sim_state_info.handle[i]) {
+ ret = tel_register_noti_event(sim_state_info.handle[i], TAPI_NOTI_SIM_STATUS, on_sim_card_status_changed, (void *)i);
+ if (ret != TAPI_API_SUCCESS) {
ERR("Failed to register 'on_sim_card_status_changed' callback to handle[%d][%d]", i, ret);
- }
- else
- {
+ } else {
ERR("SIM card status changed event registered");
}
- ret = tel_register_noti_event(sim_state_info.handle[i],
- TAPI_PROP_NETWORK_SPN_NAME, on_plmn_spn_changed, (void*)i);
- if (ret != TAPI_API_SUCCESS)
- {
+ ret = tel_register_noti_event(sim_state_info.handle[i], TAPI_PROP_NETWORK_SPN_NAME, on_plmn_spn_changed, (void *)i);
+ if (ret != TAPI_API_SUCCESS) {
ERR("Failed to register 'on_plmn_spn_changed' callback to handle[%d][%d]", i, ret);
}
- ret = tel_register_noti_event(sim_state_info.handle[i],
- TAPI_PROP_NETWORK_NETWORK_NAME, on_plmn_spn_changed, (void*)i);
- if (ret != TAPI_API_SUCCESS)
- {
+ ret = tel_register_noti_event(sim_state_info.handle[i], TAPI_PROP_NETWORK_NETWORK_NAME, on_plmn_spn_changed, (void *)i);
+ if (ret != TAPI_API_SUCCESS) {
ERR("Failed to register 'on_plmn_spn_changed' callback to handle: %i", i);
}
- ret = tel_register_noti_event(sim_state_info.handle[i], TAPI_PROP_NETWORK_SERVICE_TYPE, on_plmn_spn_changed, (void*) i);
- if (ret != TAPI_API_SUCCESS)
- {
+ ret = tel_register_noti_event(sim_state_info.handle[i], TAPI_PROP_NETWORK_SERVICE_TYPE, on_plmn_spn_changed, (void *)i);
+ if (ret != TAPI_API_SUCCESS) {
ERR("Failed to register network service type[%d][%d]", ret, i);
}
- ret = tel_register_noti_event(sim_state_info.handle[i], TAPI_PROP_NETWORK_NAME_OPTION, on_plmn_spn_changed, (void*) i);
- if (ret != TAPI_API_SUCCESS)
- {
+ ret = tel_register_noti_event(sim_state_info.handle[i], TAPI_PROP_NETWORK_NAME_OPTION, on_plmn_spn_changed, (void *)i);
+ if (ret != TAPI_API_SUCCESS) {
ERR("Failed to register network name option[%d][%d]", ret, i);
}
- }
- else
- {
+ } else {
ERR("No handle [%d]", i);
}
}
-
- if(sim_state_info.handle[0])
- {
- ret = tel_register_noti_event(sim_state_info.handle[0],
- TAPI_NOTI_CALL_PREFERRED_VOICE_SUBSCRIPTION,
- on_preferred_voice_subscription_external_change, NULL);
-
- if (ret != TAPI_API_SUCCESS)
- {
- ERR("Failed to register TAPI_NOTI_CALL_PREFERRED_VOICE_SUBSCRIPTION callback to handle[0][%d]", ret);
- }
- }
- else
- {
- ERR("No handle [%d]", 0);
- }
}
static void unregister_sim_callbacks()
{
int i;
int ret;
- for(i = 0; i < TAPI_HANDLE_MAX; ++i)
- {
- if(sim_state_info.handle[i])
- {
+ for(i = 0; i < TAPI_HANDLE_MAX; ++i) {
+ if(sim_state_info.handle[i]) {
ret = tel_deregister_noti_event(sim_state_info.handle[i], TAPI_NOTI_SIM_STATUS);
- if (ret != TAPI_API_SUCCESS)
- {
+ if (ret != TAPI_API_SUCCESS) {
ERR("Failed to dereregister TAPI_NOTI_SIM_STATUS callback from handle: %i", i);
- }
- else
- {
+ } else {
DBG("SIM status changed event deregistered");
}
ret = tel_deregister_noti_event(sim_state_info.handle[i], TAPI_PROP_NETWORK_NETWORK_NAME);
- if (ret != TAPI_API_SUCCESS)
- {
+ if (ret != TAPI_API_SUCCESS) {
ERR("Failed to dereregister TAPI_PROP_NETWORK_PLMN callback from handle: %i", i);
}
ret = tel_deregister_noti_event(sim_state_info.handle[i], TAPI_PROP_NETWORK_SPN_NAME);
- if (ret != TAPI_API_SUCCESS)
- {
+ if (ret != TAPI_API_SUCCESS) {
ERR("Failed to dereregister TAPI_PROP_NETWORK_SPN_NAME callback from handle: %i", i);
}
ret = tel_deregister_noti_event(sim_state_info.handle[i], TAPI_PROP_NETWORK_SERVICE_TYPE);
- if (ret != TAPI_API_SUCCESS)
- {
+ if (ret != TAPI_API_SUCCESS) {
ERR("Failed to deregister network service type[%d][%d]", ret, i);
}
ret = tel_deregister_noti_event(sim_state_info.handle[i], TAPI_PROP_NETWORK_NAME_OPTION);
- if (ret != TAPI_API_SUCCESS)
- {
+ if (ret != TAPI_API_SUCCESS) {
ERR("Failed to deregister network name option[%d][%d]", ret, i);
}
- if(i == 0)
- {
+ if(i == 0) {
ret = tel_deregister_noti_event(sim_state_info.handle[i], TAPI_NOTI_CALL_PREFERRED_VOICE_SUBSCRIPTION);
- if (ret != TAPI_API_SUCCESS)
- {
+ if (ret != TAPI_API_SUCCESS) {
ERR("Failed to dereregister callback to handle: %d", i);
}
}
}
- }
+ } // for
}
-
void sim_controller_init(Evas_Object *master_layout)
{
int state = EINA_FALSE;
/* Check if Telephony state - READY */
ret = vconf_get_bool(VCONFKEY_TELEPHONY_READY, &state);
- DBG("DUAL-SIM VCONFKEY_TELEPHONY_READY == %d", state);
+ DBG("VCONFKEY_TELEPHONY_READY == %d", state);
- if (ret != -1 && state == TRUE)
- { /* Telephony State - READY */
+ if (ret != -1 && state == TRUE) {
+ /* Telephony State - READY */
/* Initialize TAPI handles */
_init_tel();
get_sim_status();
init_view();
- }
- else
- { /* Telephony State – NOT READY, register for change in state */
+ } else { /* Telephony State – NOT READY, register for change in state */
DBG("Telephony state: [NOT Ready]");
}
/* Register for Telephony state change */
ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_READY, tel_ready_cb, master_layout);
- if(ret != 0)
+ if(ret != 0) {
ERR("Failed to register VCONFKEY_TELEPHONY_READY key changed callback");
+ }
ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, tel_flight_mode_cb, master_layout);
- if(ret != 0)
+ if(ret != 0) {
ERR("Failed to register VCONFKEY_TELEPHONY_FLIGHT_MODE key changed callback");
-
- ret = vconf_notify_key_changed(VCONFKEY_CALL_STATE, __sim_controller_call_state_changed_cb, NULL);
- if (ret != 0)
- {
- ERR("Failed to notify call state[%d]", ret);
}
}
-void sim_controller_pause()
-{
- dualsim_view_pause();
-}
-
void sim_controller_resume()
{
- // For debugging dual sim, remove this if there are no issues.
int state = FALSE;
int ret = 0;
int i = 0;
int card_changed;
ret = vconf_get_bool(VCONFKEY_TELEPHONY_READY, &state);
- if (ret != 0 || state == FALSE)
- {
+ if (ret != 0 || state == FALSE) {
ERR("Failed to get telephony state[%d][%d]", state, ret);
return;
}
- for (i = 0; i < TAPI_HANDLE_MAX; ++i)
- {
- if (sim_state_info.handle[i])
- {
+ for (i = 0; i < TAPI_HANDLE_MAX; ++i) {
+ if (sim_state_info.handle[i]) {
ret = tel_get_sim_init_info(sim_state_info.handle[i], &sim_status, &card_changed);
DBG("SIM[%d] info[%d][%d][%d]", i, ret, sim_status, card_changed);
- if (sim_status == TAPI_SIM_STATUS_SIM_INIT_COMPLETED ||
- sim_status == TAPI_SIM_STATUS_SIM_PIN_REQUIRED)
- {
- if (sim_state_info.sim_card_ready[i] != EINA_TRUE)
- {
+ if (sim_status == TAPI_SIM_STATUS_SIM_INIT_COMPLETED || sim_status == TAPI_SIM_STATUS_SIM_PIN_REQUIRED) {
+ if (sim_state_info.sim_card_ready[i] != EINA_TRUE) {
ERR("SIM[%d] is init completed but local value is not ture", i);
}
}
- }
- else
- {
+ } else {
ERR("No handle[%d]", i);
}
}
-
- dualsim_view_resume();
}
void sim_controller_on_language_change()
on_plmn_spn_changed(sim_state_info.handle[0], "SELF", NULL, (void*) 0);
on_plmn_spn_changed(sim_state_info.handle[1], "SELF", NULL, (void*) 1);
- if (sim_state_info.handle[0] == NULL && sim_state_info.handle[1] == NULL)
- {
+ if (sim_state_info.handle[0] == NULL && sim_state_info.handle[1] == NULL) {
int flight_mode = EINA_FALSE;
int ret = vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &flight_mode);
- if (ret != 0)
- {
+ if (ret != 0) {
ERR("Failed to get flight mode[%d]", ret);
}
sim_handler_text_set(flight_mode);
}
-
- dualsim_view_language_changed();
}
*/
-#ifndef __DUAL_SIM_VIEW_H__
-#define __DUAL_SIM_VIEW_H__
+#ifndef __SIM_CONTROL_H__
+#define __SIM_CONTROL_H__
-#include <Elementary.h>
-#include <Evas.h>
-void sim_controller_init(Evas_Object *master_layout);
-void sim_controller_pause();
-void sim_controller_resume();
-void sim_controller_on_language_change();
+extern void sim_controller_init(Evas_Object *master_layout);
+extern void sim_controller_resume();
+extern void sim_controller_on_language_change();
-#endif // __DUAL_SIM_VIEW_H__
+#endif // __SIM_CONTROL_H__
*
*/
+#include <Elementary.h>
-#include "vi_manager.h"
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
+#include "quickpanel-ui.h"
+#include "common_uic.h"
+#include "common.h"
#include "list_util.h"
+#include "vi_manager.h"
#include "pager.h"
-static int quickpanel_vi_init(void *data);
-static int quickpanel_vi_fini(void *data);
-static int quickpanel_vi_resume(void *data);
-static void quickpanel_vi_qp_opened(void *data);
+static int _init(void *data);
+static int _fini(void *data);
+static int _resume(void *data);
+static void _qp_opened(void *data);
QP_Module vi_manager = {
.name = "vi_manager",
- .init = quickpanel_vi_init,
- .fini = quickpanel_vi_fini,
- .resume = quickpanel_vi_resume,
- .qp_opened = quickpanel_vi_qp_opened,
+ .init = _init,
+ .fini = _fini,
+ .resume = _resume,
+ .qp_opened = _qp_opened,
.lang_changed = NULL,
.refresh = NULL
};
static QP_VI *_vi_user_event_list_get_first(void);
static void _vi_list_del(QP_VI *vi);
-static inline void _vim_set_state(qp_vim_state_type state) {
+static inline void _vim_set_state(qp_vim_state_type state)
+{
s_info.state = state;
}
-static inline qp_vim_state_type _vim_get_state(void) {
+static inline qp_vim_state_type _vim_get_state(void)
+{
return s_info.state;
}
return vi;
}
-HAPI QP_VI *quickpanel_vi_new(void) {
+HAPI QP_VI *quickpanel_vi_new(void)
+{
QP_VI *vi = (QP_VI *)calloc(1, sizeof(QP_VI));
retif(vi == NULL, NULL, "failed to memory allocation");
return vi;
}
-HAPI QP_VI *quickpanel_vi_new_with_data(qp_vi_op_type op_type,
- qp_item_type_e item_type,
- void *container,
- void *target,
- vi_cb init_cb,
- vi_cb job_cb,
- vi_cb done_cb,
- vi_cb interrupt_cb,
- void *extra_data_1,
- void *extra_data_2,
- int extra_flag_1,
- int extra_flag_2) {
+HAPI QP_VI *quickpanel_vi_new_with_data(qp_vi_op_type op_type, qp_item_type_e item_type, void *container, void *target, vi_cb init_cb, vi_cb job_cb, vi_cb done_cb, vi_cb interrupt_cb, void *extra_data_1, void *extra_data_2, int extra_flag_1, int extra_flag_2)
+{
QP_VI *vi = (QP_VI *)calloc(1, sizeof(QP_VI));
retif(vi == NULL, NULL, "failed to memory allocation");
return vi;
}
-HAPI void quickpanel_vi_start(QP_VI *vi) {
+HAPI void quickpanel_vi_start(QP_VI *vi)
+{
retif(vi == NULL, , "vi is NULL");
/*
evas_object_freeze_events_set(vi->target, EINA_TRUE);
}
}
- if (_vim_get_state() == VIM_STATE_NOT_READY)
+ if (_vim_get_state() == VIM_STATE_NOT_READY) {
_vi_restart_job_cb(NULL);
- else
+ } else {
ecore_job_add(_vi_restart_job_cb, NULL);
+ }
}
-HAPI void quickpanel_vi_interrupt(QP_VI *vi) {
+HAPI void quickpanel_vi_interrupt(QP_VI *vi)
+{
retif(vi == NULL, , "vi is NULL");
if (!_vi_list_is_data_valid(vi)) {
- return ;
+ return;
}
_vi_list_del(vi);
s_info.current = NULL;
}
if (_vim_get_state() == VIM_STATE_WORKING) {
- if (!quickpanel_is_opened()) {
+ if (!quickpanel_uic_is_opened()) {
_vim_set_state(VIM_STATE_SUSPENDED);
} else {
_vim_set_state(VIM_STATE_READY);
ecore_job_add(_vi_restart_job_cb, NULL);
}
-HAPI void quickpanel_vi_done(QP_VI *vi) {
+HAPI void quickpanel_vi_done(QP_VI *vi)
+{
retif(vi == NULL, , "vi is NULL");
if (!_vi_list_is_data_valid(vi)) {
- return ;
+ return;
}
_vi_list_del(vi);
s_info.current = NULL;
}
if (_vim_get_state() == VIM_STATE_WORKING) {
- if (!quickpanel_is_opened()) {
+ if (!quickpanel_uic_is_opened()) {
_vim_set_state(VIM_STATE_SUSPENDED);
} else {
_vim_set_state(VIM_STATE_READY);
ecore_job_add(_vi_restart_job_cb, NULL);
}
-HAPI void quickpanel_vi_done_cb_for_transit(void *data, Elm_Transit *transit) {
+HAPI void quickpanel_vi_done_cb_for_transit(void *data, Elm_Transit *transit)
+{
retif(data == NULL, , "data is NULL");
quickpanel_vi_done(data);
}
-HAPI void quickpanel_vim_set_state_ready(void) {
- if (!quickpanel_is_opened()) {
+HAPI void quickpanel_vim_set_state_ready(void)
+{
+ if (!quickpanel_uic_is_opened()) {
_vim_set_state(VIM_STATE_SUSPENDED);
} else {
_vim_set_state(VIM_STATE_READY);
}
}
-HAPI void quickpanel_vim_set_state_suspend(void) {
+HAPI void quickpanel_vim_set_state_suspend(void)
+{
_vim_set_state(VIM_STATE_SUSPENDED);
}
#define VIM_DURATION_REORDER 0.25
#define VIM_THROTTLE_THRESHOLD 5
-HAPI double quickpanel_vim_get_duration(qp_vi_op_type op_type) {
+HAPI double quickpanel_vim_get_duration(qp_vi_op_type op_type)
+{
int count = 0;
double duration = 0.0;
switch (op_type) {
- case VI_OP_INSERT:
- duration = VIM_DURATION_INSERT;
- break;
- case VI_OP_UPDATE:
- duration = VIM_DURATION_UPDATE;
- break;
- case VI_OP_DELETE:
- duration = VIM_DURATION_DELETE;
- break;
- case VI_OP_REORDER:
- duration = VIM_DURATION_REORDER;
- break;
- default :
- duration = VIM_DURATION_INSERT;
- break;
+ case VI_OP_INSERT:
+ duration = VIM_DURATION_INSERT;
+ break;
+ case VI_OP_UPDATE:
+ duration = VIM_DURATION_UPDATE;
+ break;
+ case VI_OP_DELETE:
+ duration = VIM_DURATION_DELETE;
+ break;
+ case VI_OP_REORDER:
+ duration = VIM_DURATION_REORDER;
+ break;
+ default :
+ duration = VIM_DURATION_INSERT;
+ break;
}
if ((count = _vi_list_count()) > VIM_THROTTLE_THRESHOLD) {
return duration;
}
-HAPI Elm_Transit_Tween_Mode quickpanel_vim_get_tweenmode(qp_vi_op_type op_type) {
+HAPI Elm_Transit_Tween_Mode quickpanel_vim_get_tweenmode(qp_vi_op_type op_type)
+{
Elm_Transit_Tween_Mode mode = ELM_TRANSIT_TWEEN_MODE_LINEAR;
switch (op_type) {
* Util functions
*
*****************************************************************************/
-static int quickpanel_vi_init(void *data)
+static int _init(void *data)
{
struct appdata *ad = (struct appdata *)data;
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
return QP_OK;
}
-static int quickpanel_vi_fini(void *data)
+static int _fini(void *data)
{
struct appdata *ad = (struct appdata *)data;
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
return QP_OK;
}
-static int quickpanel_vi_resume(void *data)
+static int _resume(void *data)
{
struct appdata *ad = data;
retif(ad == NULL, QP_FAIL, "Invalid parameter!");
return QP_OK;
}
-static void quickpanel_vi_qp_opened(void *data)
+static void _qp_opened(void *data)
{
struct appdata *ad = data;
retif(ad == NULL, , "Invalid parameter!");
}
}
-void quickpanel_vi_user_event_add(QP_VI *new_vi)
+HAPI void quickpanel_vi_user_event_add(QP_VI *new_vi)
{
retif(new_vi == NULL, ,"invalid parameter");
s_info.vi_user_event_list = eina_list_append(s_info.vi_user_event_list, new_vi);
}
-void quickpanel_vi_user_event_del(QP_VI *vi)
+HAPI void quickpanel_vi_user_event_del(QP_VI *vi)
{
retif(vi == NULL, ,"invalid parameter");
}
}
-void quickpanel_vi_object_event_freeze_set(Evas_Object *obj, Eina_Bool freeze)
+HAPI void quickpanel_vi_object_event_freeze_set(Evas_Object *obj, Eina_Bool freeze)
{
retif(obj == NULL, ,"invalid parameter");
#ifndef __QUICKPANEL_VI_MANAGER_H__
#define __QUICKPANEL_VI_MANAGER_H__
-#include "quickpanel-ui.h"
-#include "common.h"
-#include "list_util.h"
typedef Eina_Bool (*vi_cb)(void *data);
void (*handler)(void *data);
} qp_vi_op_table;
-QP_VI *quickpanel_vi_new(void);
-QP_VI *quickpanel_vi_new_with_data( qp_vi_op_type op_type,
- qp_item_type_e item_type,
- void *container,
- void *target,
- vi_cb init_cb,
- vi_cb job_cb,
- vi_cb done_cb,
- vi_cb interrupt_cb,
- void *extra_data_1,
- void *extra_data_2,
- int extra_flag_1,
- int extra_flag_2);
-void quickpanel_vi_start(QP_VI *vi);
-void quickpanel_vi_interrupt(QP_VI *vi);
-void quickpanel_vi_done(QP_VI *vi);
-void quickpanel_vim_set_state_ready(void);
-void quickpanel_vim_set_state_suspend(void);
-double quickpanel_vim_get_duration(qp_vi_op_type op_type);
-void quickpanel_vi_done_cb_for_transit(void *data, Elm_Transit *transit);
-Elm_Transit_Tween_Mode quickpanel_vim_get_tweenmode(qp_vi_op_type op_type);
+extern QP_VI *quickpanel_vi_new(void);
+extern QP_VI *quickpanel_vi_new_with_data(qp_vi_op_type op_type, qp_item_type_e item_type, void *container, void *target, vi_cb init_cb, vi_cb job_cb, vi_cb done_cb, vi_cb interrupt_cb, void *extra_data_1, void *extra_data_2, int extra_flag_1, int extra_flag_2);
+extern void quickpanel_vi_start(QP_VI *vi);
+extern void quickpanel_vi_interrupt(QP_VI *vi);
+extern void quickpanel_vi_done(QP_VI *vi);
+extern void quickpanel_vim_set_state_ready(void);
+extern void quickpanel_vim_set_state_suspend(void);
+extern double quickpanel_vim_get_duration(qp_vi_op_type op_type);
+extern void quickpanel_vi_done_cb_for_transit(void *data, Elm_Transit *transit);
+extern Elm_Transit_Tween_Mode quickpanel_vim_get_tweenmode(qp_vi_op_type op_type);
-void quickpanel_vi_user_event_add(QP_VI *vi);
-void quickpanel_vi_user_event_del(QP_VI *vi);
-void quickpanel_vi_object_event_freeze_set(Evas_Object *obj, Eina_Bool freeze);
+extern void quickpanel_vi_user_event_add(QP_VI *vi);
+extern void quickpanel_vi_user_event_del(QP_VI *vi);
+extern void quickpanel_vi_object_event_freeze_set(Evas_Object *obj, Eina_Bool freeze);
#endif
--- /dev/null
+/*
+ * 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 <Elementary.h>
+
+#include <voice_control_setting.h>
+#include <app_control_internal.h>
+#include <tzsh.h>
+#include <tzsh_quickpanel_service.h>
+
+#include "common.h"
+#include "common_uic.h"
+#include "voice_control.h"
+#include "quickpanel-ui.h"
+#include "list_util.h"
+
+
+static int _init(void *data);
+static int _fini(void *data);
+Evas_Object* _voice_control_view_create(void *data);
+static void _voice_control_register_event(void *data);
+static bool _check_voice_control_enabled(void);
+
+QP_Module voice_control = {
+ .name = "voice_control",
+ .init = _init,
+ .fini = _fini,
+ .suspend = NULL,
+ .resume = NULL,
+ .hib_enter = NULL,
+ .hib_leave = NULL,
+ .lang_changed = NULL,
+ .refresh = NULL,
+ .get_height = NULL,
+ .qp_opened = NULL,
+ .qp_closed = NULL,
+};
+
+static Evas_Object *g_layout = NULL;
+
+static void _voice_control_view_destroy(void *data)
+{
+ DBG("_voice_control_view_destroy");
+ struct appdata *ad = data;
+
+ if (ad == NULL)
+ {
+ ERR("invalid data");
+ return;
+ }
+
+ if (g_layout == NULL)
+ {
+ ERR("g_layout is not exist");
+ return;
+ }
+
+ quickpanel_list_util_item_unpack_by_object(ad->list, g_layout, 0, 0);
+ quickpanel_list_util_item_del_tag(g_layout);
+ elm_object_signal_emit(ad->ly, "voice_icon.hide", "quickpanel.prog");
+
+ if (g_layout != NULL) {
+ evas_object_del(g_layout);
+ g_layout = NULL;
+ }
+}
+
+static int _init(void *data)
+{
+ struct appdata *ad = (struct appdata *)data;
+
+ if (0 != vc_setting_initialize()) {
+ ERR("Fail to init");
+ return QP_FAIL;
+ }
+
+ _voice_control_register_event(data);
+
+ if (_check_voice_control_enabled()) { //when module restart
+ _voice_control_view_create(ad);
+ }
+
+ return QP_OK;
+}
+
+static int _fini(void *data)
+{
+ struct appdata *ad = (struct appdata *)data;
+
+ if (0 != vc_setting_deinitialize()) {
+ ERR("Fail to vc_setting_deinitialize");
+ }
+
+ _voice_control_view_destroy(ad);
+
+ return QP_OK;
+}
+
+static void _vc_enabled_changed_cb(bool enabled, void* user_data)
+{
+ DBG("_vc_enabled_changed_cb");
+ struct appdata *ad = user_data;
+
+ if( !enabled ) { //deactivated voice controller
+ _voice_control_view_destroy(ad);
+ } else {
+ _voice_control_view_create(ad);
+ }
+}
+
+static void _voice_control_register_event(void *data)
+{
+ DBG("_voice_control_register_event");
+ if (0 != vc_setting_set_enabled_changed_cb(_vc_enabled_changed_cb, data)) {
+ ERR("Fail to set enabled cb");
+ return;
+ }
+}
+
+static bool _check_voice_control_enabled(void)
+{
+ bool enabled = false;
+
+ if (0 != vc_setting_get_enabled(&enabled)) {
+ ERR("Fail to get enabled");
+ }
+ DBG("_check_voice_control_enabled enabled %d",enabled);
+
+ return enabled;
+}
+
+static void _button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ DBG("_button_clicked_cb");
+ int ret = 0;
+ quickpanel_uic_launch_ug_by_appcontrol(VOICE_CONTOL_REF_APP, NULL);
+ quickpanel_uic_launch_app_inform_result(VOICE_CONTOL_REF_APP, ret);
+ quickpanel_uic_close_quickpanel(true, 1);
+
+}
+
+Evas_Object* _voice_control_view_create(void *data)
+{
+ DBG("_voice_control_view_create");
+ struct appdata *ad = data;
+ Evas_Object *layout = NULL;
+ Eina_Bool ret = EINA_FALSE;
+
+ if (!_check_voice_control_enabled()) {
+ ERR("voice control is not enabled.");
+ return layout;
+ }
+ if (ad->win == NULL)
+ {
+ ERR("invalid parent");
+ return layout;
+ }
+
+ if (g_layout)
+ {
+ ERR("voice control view is already created.");
+ return g_layout;
+ }
+
+ layout = elm_layout_add(ad->win);
+ if (layout == NULL)
+ {
+ ERR("Failed to create voice control layout");
+ return layout;
+ }
+
+ g_layout = layout;
+
+ ret = elm_layout_file_set(layout, VOICE_CONTOL_EDJ, "quickpanel/voice_control/default");
+ if (ret == EINA_FALSE)
+ {
+ ERR("Failed to set layout file[%d]", ret);
+ evas_object_del(layout);
+ return NULL;
+ }
+
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(layout);
+
+ elm_object_signal_callback_add(layout, "button_clicked" , "", _button_clicked_cb, ad);
+ elm_object_signal_emit(ad->ly, "voice_icon.show", "quickpanel.prog");
+
+ // attach to list
+ qp_item_data *qid = quickpanel_list_util_item_new(QP_ITEM_TYPE_VOICE_CONTOL, layout);
+ quickpanel_list_util_item_set_tag(layout, qid);
+ quickpanel_list_util_sort_insert(ad->list, layout);
+ quickpanel_uic_initial_resize(layout, QP_VOICE_CONTOL_HEIGHT);
+
+ return layout;
+}
+
*/
-#ifndef _QP_SERVICE_CONFIGURATION_DEF_
-#define _QP_SERVICE_CONFIGURATION_DEF_
+#ifndef VOICE_CONTROL_VIEW_H_
+#define VOICE_CONTROL_VIEW_H_
-#include "quickpanel-ui.h"
-void quickpanel_service_conf_init(void *data);
-void quickpanel_service_conf_fini(void *data);
-double quickpanel_service_conf_longpress_time_get(void);
+#define EDJE_DIR "/usr/apps/org.tizen.quickpanel/res/edje/"
+#define VOICE_CONTOL_EDJ EDJE_DIR"/quickpanel_voice_control.edj"
+
+#define QP_VOICE_CONTOL_HEIGHT 80
+#define VOICE_CONTOL_REF_APP "org.tizen.voice-control-panel"
+
+
+#endif /* VOICE_CONTROL_VIEW_H_ */
-#endif
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.${PROJECT_NAME}.desktop DESTINATION ${DESKTOPDIR})
CONFIGURE_FILE(${PROJECT_NAME}.xml.in ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.${PROJECT_NAME}.xml)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.${PROJECT_NAME}.xml DESTINATION ${MANIFESTXMLDIR})
-
CONFIGURE_FILE(${PROJECT_NAME}.sh.in ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME})
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME} DESTINATION /etc/init.d/)
-
-#CONFIGURE_FILE(${PROJECT_NAME}.png ${CMAKE_CURRENT_BINARY_DIR}/${VENDOR}.${PROJECT_NAME}.png COPYONLY)
-#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${VENDOR}.${PROJECT_NAME}.png DESTINATION "/usr/share/icons/default/small")
-
-#color/font tables
-CONFIGURE_FILE(ChangeableColorInfo.xml ${CMAKE_CURRENT_BINARY_DIR}/${VENDOR}.${PROJECT_NAME}_ChangeableColorInfo.xml COPYONLY)
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${VENDOR}.${PROJECT_NAME}_ChangeableColorInfo.xml DESTINATION ${SHARED_DIR}/tables)
-CONFIGURE_FILE(ChangeableColorInfo_font.xml ${CMAKE_CURRENT_BINARY_DIR}/${VENDOR}.${PROJECT_NAME}_ChangeableColorInfo_font.xml COPYONLY)
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${VENDOR}.${PROJECT_NAME}_ChangeableColorInfo_font.xml DESTINATION ${SHARED_DIR}/tables)
MESSAGE("EDJE_CC CUSTOM FLAG : ${EDJEFLAGS}")
-
ADD_CUSTOM_TARGET(quickpanel.edj
COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images_icon -id ${CMAKE_CURRENT_SOURCE_DIR}/images "${EDJEFLAGS}"
${CMAKE_CURRENT_SOURCE_DIR}/quickpanel.edc
)
ADD_DEPENDENCIES(${PROJECT_NAME} quickpanel.edj)
-ADD_CUSTOM_TARGET(quickpanel_ticker.edj
+ADD_CUSTOM_TARGET(quickpanel_activenoti.edj
COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images_icon -id ${CMAKE_CURRENT_SOURCE_DIR}/images "${EDJEFLAGS}"
- ${CMAKE_CURRENT_SOURCE_DIR}/quickpanel_ticker.edc
- ${CMAKE_CURRENT_BINARY_DIR}/quickpanel_ticker.edj
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/quickpanel_ticker.edc
+ ${CMAKE_CURRENT_SOURCE_DIR}/quickpanel_activenoti.edc
+ ${CMAKE_CURRENT_BINARY_DIR}/quickpanel_activenoti.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/quickpanel_activenoti.edc
)
-ADD_DEPENDENCIES(${PROJECT_NAME} quickpanel_ticker.edj)
+ADD_DEPENDENCIES(${PROJECT_NAME} quickpanel_activenoti.edj)
+
+ADD_CUSTOM_TARGET(quickpanel_voice_control.edj
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images_icon -id ${CMAKE_CURRENT_SOURCE_DIR}/images "${EDJEFLAGS}"
+ ${CMAKE_CURRENT_SOURCE_DIR}/quickpanel_voice_control.edc
+ ${CMAKE_CURRENT_BINARY_DIR}/quickpanel_voice_control.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/quickpanel_voice_control.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} quickpanel_voice_control.edj)
+
+
ADD_CUSTOM_TARGET(quickpanel_theme.edj
COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images_icon -id ${CMAKE_CURRENT_SOURCE_DIR}/images "${EDJEFLAGS}"
)
ADD_DEPENDENCIES(${PROJECT_NAME} quickpanel_theme.edj)
-ADD_CUSTOM_TARGET(quickpanel_dual_sim.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images/dual-sim/ "${EDJEFLAGS}"
- ${CMAKE_CURRENT_SOURCE_DIR}/quickpanel_dual_sim.edc
- ${CMAKE_CURRENT_BINARY_DIR}/quickpanel_dual_sim.edj
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/quickpanel_dual_sim.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} quickpanel_dual_sim.edj)
-
-ADD_CUSTOM_TARGET(quickpanel_dual_sim_button.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images/dual-sim/ "${EDJEFLAGS}"
- ${CMAKE_CURRENT_SOURCE_DIR}/quickpanel_dual_sim_button.edc
- ${CMAKE_CURRENT_BINARY_DIR}/quickpanel_dual_sim_button.edj
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/quickpanel_dual_sim_button.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} quickpanel_dual_sim_button.edj)
-
-ADD_CUSTOM_TARGET(quickpanel_textblock_slide_style.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images/dual-sim/ "${EDJEFLAGS}"
- ${CMAKE_CURRENT_SOURCE_DIR}/quickpanel_textblock_slide_style.edc
- ${CMAKE_CURRENT_BINARY_DIR}/quickpanel_textblock_slide_style.edj
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/quickpanel_textblock_slide_style.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} quickpanel_textblock_slide_style.edj)
-
-
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/quickpanel.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/quickpanel_ticker.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/quickpanel_activenoti.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/quickpanel_voice_control.edj DESTINATION ${EDJDIR})
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/quickpanel_theme.edj DESTINATION ${EDJDIR})
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/icons DESTINATION ${RESDIR} FILES_MATCHING PATTERN "*.png")
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/quickpanel_textblock_slide_style.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/quickpanel_dual_sim_button.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/quickpanel_dual_sim.edj DESTINATION ${EDJDIR})
-INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/images/dual_sim DESTINATION ${RESDIR}/ FILES_MATCHING PATTERN "*.png")
-
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<ChangeableColorTables>
- <ChangeableColorTable num="1">
- <Theme style="Dark">
- </Theme>
- <Theme style="Light">
- <ChangeableColorInfo id="AO007L1" inputColor="1" hue="2" saturation="-3" value="-16" alpha="100" />
- <ChangeableColorInfo id="AO007L1P" inputColor="1" hue="4" saturation="-3" value="-23" alpha="100" />
- <ChangeableColorInfo id="AO007L2" inputColor="-" hue="0" saturation="0" value="100" alpha="20" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO007L3" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO018" inputColor="1" hue="-3" saturation="-80" value="16" alpha="50" />
- <ChangeableColorInfo id="AO021" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO021P" inputColor="1" hue="0" saturation="0" value="0" alpha="30" />
- <ChangeableColorInfo id="AO022" inputColor="1" hue="0" saturation="-1" value="27" alpha="100" />
- <ChangeableColorInfo id="AO022D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO023" inputColor="-" hue="29" saturation="78" value="92" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO023D" inputColor="-" hue="29" saturation="78" value="92" alpha="60" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO023i" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO023iD" inputColor="-" hue="0" saturation="0" value="100" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO025" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO027" inputColor="-" hue="0" saturation="0" value="100" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO033" inputColor="-" hue="0" saturation="0" value="0" alpha="5" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO001L1" inputColor="1" hue="2" saturation="-3" value="-16" alpha="100" />
- <ChangeableColorInfo id="AO001L1D" inputColor="1" hue="2" saturation="-3" value="-16" alpha="50" />
- <ChangeableColorInfo id="AO001L1P" inputColor="1" hue="4" saturation="-3" value="-23" alpha="100" />
- <ChangeableColorInfo id="AO001L2F" inputColor="1" hue="5" saturation="11" value="33" alpha="100" />
- <ChangeableColorInfo id="AO002" inputColor="-" hue="80" saturation="100" value="94" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO003" inputColor="-" hue="0" saturation="0" value="100" alpha="50" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO003D" inputColor="-" hue="0" saturation="0" value="100" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO003E1" inputColor="-" hue="0" saturation="0" value="100" alpha="65" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO004" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO004D" inputColor="1" hue="0" saturation="-38" value="9" alpha="100" />
- <ChangeableColorInfo id="AO005L2" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO005L1" inputColor="1" hue="0" saturation="-1" value="-14" alpha="100" />
- <ChangeableColorInfo id="AO005L1D" inputColor="-" hue="0" saturation="0" value="70" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO005L3" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO005L4" inputColor="-" hue="0" saturation="0" value="100" alpha="20" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO006L1" inputColor="1" hue="0" saturation="-1" value="-14" alpha="100" />
- <ChangeableColorInfo id="AO006L1D" inputColor="1" hue="0" saturation="-1" value="-14" alpha="40" />
- <ChangeableColorInfo id="AO006L2" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO006L2D" inputColor="-" hue="0" saturation="0" value="100" alpha="40" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO008" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO009" inputColor="1" hue="1" saturation="-77" value="4" alpha="100" />
- <ChangeableColorInfo id="AO010" inputColor="-" hue="0" saturation="85" value="88" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO031" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO032" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO011L1" inputColor="1" hue="0" saturation="0" value="0" alpha="60" />
- <ChangeableColorInfo id="AO011L1P" inputColor="1" hue="0" saturation="-18" value="23" alpha="100" />
- <ChangeableColorInfo id="AO011L1D" inputColor="1" hue="0" saturation="0" value="0" alpha="60" />
- <ChangeableColorInfo id="AO011L1E01" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO011i" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO011iD" inputColor="-" hue="0" saturation="0" value="100" alpha="50" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO011L3" inputColor="-" hue="0" saturation="0" value="19" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO011L3P" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO011L3D" inputColor="-" hue="0" saturation="0" value="19" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO0111i" inputColor="-" hue="0" saturation="85" value="88" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO0111" inputColor="1" hue="0" saturation="0" value="0" alpha="60" />
- <ChangeableColorInfo id="AO012L1" inputColor="-" hue="97" saturation="94" value="77" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO012L1P" inputColor="-" hue="97" saturation="94" value="62" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO012L1D" inputColor="-" hue="97" saturation="74" value="77" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO013L1" inputColor="-" hue="9" saturation="91" value="98" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO013L1P" inputColor="-" hue="9" saturation="91" value="83" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO013L1D" inputColor="-" hue="9" saturation="91" value="98" alpha="23" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO014L1" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO014L1P" inputColor="1" hue="0" saturation="0" value="-25" alpha="100" />
- <ChangeableColorInfo id="AO014L1D" inputColor="1" hue="0" saturation="-20" value="0" alpha="100" />
- <ChangeableColorInfo id="AO014" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO014P" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO014D" inputColor="-" hue="0" saturation="0" value="100" alpha="40" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO015" inputColor="-" hue="80" saturation="100" value="94" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO015P" inputColor="-" hue="80" saturation="100" value="94" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO015D" inputColor="-" hue="80" saturation="100" value="94" alpha="40" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO016" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO016P" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO016D" inputColor="-" hue="0" saturation="0" value="100" alpha="40" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO019" inputColor="1" hue="0" saturation="-18" value="23" alpha="100" />
- <ChangeableColorInfo id="AO020" inputColor="-" hue="216" saturation="3" value="69" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO021" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO029" inputColor="1" hue="0" saturation="0" value="10" alpha="80" />
- <ChangeableColorInfo id="AO029P" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO029D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" />
- <ChangeableColorInfo id="AO030E1" inputColor="-" hue="198" saturation="100" value="71" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E2" inputColor="-" hue="290" saturation="77" value="67" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E3" inputColor="-" hue="204" saturation="18" value="28" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E4" inputColor="-" hue="45" saturation="97" value="97" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E5" inputColor="-" hue="24" saturation="99" value="95" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E6" inputColor="-" hue="226" saturation="79" value="49" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E7" inputColor="-" hue="160" saturation="100" value="59" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E8" inputColor="-" hue="328" saturation="70" value="91" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E9" inputColor="-" hue="97" saturation="85" value="69" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO010S" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="ATO008" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO0081" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO009" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO016" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO016P" inputColor="-" hue="0" saturation="0" value="100" alpha="70" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO019" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO001" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO017" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO006P" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="ATO006D" inputColor="1" hue="0" saturation="0" value="0" alpha="50" />
- <ChangeableColorInfo id="ATO005" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO006" inputColor="-" hue="0" saturation="0" value="30" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO002" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO002D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO003" inputColor="-" hue="0" saturation="85" value="88" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO014" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO014D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO015" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO015D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO018" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E1" inputColor="-" hue="198" saturation="100" value="71" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E2" inputColor="-" hue="290" saturation="77" value="67" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E3" inputColor="-" hue="204" saturation="18" value="28" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E4" inputColor="-" hue="45" saturation="97" value="97" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E5" inputColor="-" hue="24" saturation="99" value="95" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E6" inputColor="-" hue="226" saturation="79" value="49" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E7" inputColor="-" hue="160" saturation="100" value="59" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E8" inputColor="-" hue="328" saturation="70" value="91" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E9" inputColor="-" hue="97" saturation="85" value="69" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004D" inputColor="-" hue="0" saturation="0" value="30" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E1" inputColor="-" hue="198" saturation="100" value="71" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E2" inputColor="-" hue="290" saturation="77" value="67" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E3" inputColor="-" hue="204" saturation="18" value="28" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E4" inputColor="-" hue="45" saturation="97" value="97" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E5" inputColor="-" hue="24" saturation="99" value="95" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E6" inputColor="-" hue="226" saturation="79" value="49" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E7" inputColor="-" hue="160" saturation="100" value="59" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E8" inputColor="-" hue="328" saturation="70" value="91" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E9" inputColor="-" hue="97" saturation="85" value="69" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007D" inputColor="-" hue="0" saturation="0" value="30" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO010" inputColor="-" hue="0" saturation="0" value="30" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO010S" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="ATO003_STATUS" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO002_STATUS" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO008_STATUS" inputColor="1" hue="2" saturation="-3" value="-16" alpha="100" />
- </Theme>
- </ChangeableColorTable>
- <ChangeableColorTable num="2">
- <Theme style="Dark">
- </Theme>
- <Theme style="Light">
- <ChangeableColorInfo id="AO007L1" inputColor="1" hue="2" saturation="-3" value="-16" alpha="100" />
- <ChangeableColorInfo id="AO007L1P" inputColor="1" hue="4" saturation="-3" value="-23" alpha="100" />
- <ChangeableColorInfo id="AO007L2" inputColor="-" hue="0" saturation="0" value="100" alpha="20" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO007L3" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO018" inputColor="1" hue="-3" saturation="-80" value="16" alpha="50" />
- <ChangeableColorInfo id="AO021" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO021P" inputColor="1" hue="0" saturation="0" value="0" alpha="30" />
- <ChangeableColorInfo id="AO022" inputColor="1" hue="0" saturation="-1" value="27" alpha="100" />
- <ChangeableColorInfo id="AO022D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO023" inputColor="-" hue="29" saturation="78" value="92" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO023D" inputColor="-" hue="29" saturation="78" value="92" alpha="60" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO023i" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO023iD" inputColor="-" hue="0" saturation="0" value="100" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO025" inputColor="-" hue="0" saturation="0" value="100" alpha="100" />
- <ChangeableColorInfo id="AO027" inputColor="-" hue="0" saturation="0" value="100" alpha="30" />
- <ChangeableColorInfo id="AO033" inputColor="-" hue="0" saturation="0" value="0" alpha="5" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO001L1" inputColor="1" hue="2" saturation="-3" value="-16" alpha="100" />
- <ChangeableColorInfo id="AO001L1D" inputColor="1" hue="2" saturation="-3" value="-16" alpha="50" />
- <ChangeableColorInfo id="AO001L1P" inputColor="1" hue="4" saturation="-3" value="-23" alpha="100" />
- <ChangeableColorInfo id="AO001L2F" inputColor="1" hue="5" saturation="11" value="33" alpha="100" />
- <ChangeableColorInfo id="AO002" inputColor="-" hue="80" saturation="100" value="94" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO003" inputColor="-" hue="0" saturation="0" value="100" alpha="50" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO003D" inputColor="-" hue="0" saturation="0" value="100" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO003E1" inputColor="-" hue="0" saturation="0" value="100" alpha="65" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO004" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO004D" inputColor="1" hue="0" saturation="-30" value="12" alpha="100" />
- <ChangeableColorInfo id="AO005L2" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO005L1" inputColor="1" hue="0" saturation="-1" value="-14" alpha="100" />
- <ChangeableColorInfo id="AO005L1D" inputColor="-" hue="0" saturation="0" value="80" alpha="50" />
- <ChangeableColorInfo id="AO005L3" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO005L4" inputColor="-" hue="0" saturation="0" value="100" alpha="20" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO006L1" inputColor="1" hue="0" saturation="-1" value="-14" alpha="100" />
- <ChangeableColorInfo id="AO006L1D" inputColor="1" hue="0" saturation="-1" value="-14" alpha="40" />
- <ChangeableColorInfo id="AO006L2" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO006L2D" inputColor="-" hue="0" saturation="0" value="100" alpha="40" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO008" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO009" inputColor="1" hue="1" saturation="-77" value="4" alpha="100" />
- <ChangeableColorInfo id="AO010" inputColor="-" hue="0" saturation="85" value="88" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO031" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO032" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO011L1" inputColor="1" hue="0" saturation="0" value="0" alpha="60" />
- <ChangeableColorInfo id="AO011L1P" inputColor="1" hue="0" saturation="-18" value="23" alpha="100" />
- <ChangeableColorInfo id="AO011L1D" inputColor="1" hue="0" saturation="0" value="0" alpha="60" />
- <ChangeableColorInfo id="AO011L1E01" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO011i" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO011iD" inputColor="-" hue="0" saturation="0" value="100" alpha="50" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO011L3" inputColor="-" hue="0" saturation="0" value="19" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO011L3P" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO011L3D" inputColor="-" hue="0" saturation="0" value="19" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO0111i" inputColor="-" hue="0" saturation="85" value="88" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO0111" inputColor="1" hue="0" saturation="0" value="0" alpha="60" />
- <ChangeableColorInfo id="AO012L1" inputColor="-" hue="116" saturation="100" value="68" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO012L1P" inputColor="-" hue="116" saturation="100" value="47" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO012L1D" inputColor="-" hue="116" saturation="100" value="68" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO013L1" inputColor="-" hue="9" saturation="91" value="98" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO013L1P" inputColor="-" hue="9" saturation="91" value="83" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO013L1D" inputColor="-" hue="9" saturation="91" value="98" alpha="23" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO014L1" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO014L1P" inputColor="1" hue="0" saturation="0" value="-25" alpha="100" />
- <ChangeableColorInfo id="AO014L1D" inputColor="1" hue="0" saturation="-20" value="0" alpha="100" />
- <ChangeableColorInfo id="AO014" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO014P" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO014D" inputColor="-" hue="0" saturation="0" value="100" alpha="40" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO015" inputColor="-" hue="80" saturation="100" value="94" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO015P" inputColor="-" hue="80" saturation="100" value="94" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO015D" inputColor="-" hue="80" saturation="100" value="94" alpha="40" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO016" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO016P" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO016D" inputColor="-" hue="0" saturation="0" value="100" alpha="40" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO019" inputColor="1" hue="0" saturation="-18" value="23" alpha="100" />
- <ChangeableColorInfo id="AO020" inputColor="-" hue="216" saturation="3" value="69" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO021" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO029" inputColor="1" hue="0" saturation="10" value="-25" alpha="80" minValue="50" maxValue="60" />
- <ChangeableColorInfo id="AO029P" inputColor="1" hue="0" saturation="0" value="-20" alpha="100" />
- <ChangeableColorInfo id="AO029D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" />
- <ChangeableColorInfo id="AO030E1" inputColor="-" hue="198" saturation="100" value="71" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E2" inputColor="-" hue="290" saturation="77" value="67" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E3" inputColor="-" hue="204" saturation="18" value="28" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E4" inputColor="-" hue="45" saturation="97" value="97" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E5" inputColor="-" hue="24" saturation="99" value="95" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E6" inputColor="-" hue="226" saturation="79" value="49" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E7" inputColor="-" hue="160" saturation="100" value="59" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E8" inputColor="-" hue="328" saturation="70" value="91" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E9" inputColor="-" hue="97" saturation="85" value="69" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO010S" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="ATO008" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO0081" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO009" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO016" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO016P" inputColor="-" hue="0" saturation="0" value="100" alpha="70" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO019" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO001" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO017" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO006P" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="ATO006D" inputColor="1" hue="0" saturation="0" value="0" alpha="50" />
- <ChangeableColorInfo id="ATO005" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO006" inputColor="-" hue="0" saturation="0" value="30" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO002" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO002D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO003" inputColor="-" hue="0" saturation="85" value="88" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO014" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO014D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO015" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO015D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO018" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E1" inputColor="-" hue="198" saturation="100" value="71" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E2" inputColor="-" hue="290" saturation="77" value="67" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E3" inputColor="-" hue="204" saturation="18" value="28" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E4" inputColor="-" hue="45" saturation="97" value="97" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E5" inputColor="-" hue="24" saturation="99" value="95" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E6" inputColor="-" hue="226" saturation="79" value="49" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E7" inputColor="-" hue="160" saturation="100" value="59" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E8" inputColor="-" hue="328" saturation="70" value="91" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E9" inputColor="-" hue="97" saturation="85" value="69" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004D" inputColor="-" hue="0" saturation="0" value="30" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E1" inputColor="-" hue="198" saturation="100" value="71" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E2" inputColor="-" hue="290" saturation="77" value="67" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E3" inputColor="-" hue="204" saturation="18" value="28" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E4" inputColor="-" hue="45" saturation="97" value="97" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E5" inputColor="-" hue="24" saturation="99" value="95" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E6" inputColor="-" hue="226" saturation="79" value="49" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E7" inputColor="-" hue="160" saturation="100" value="59" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E8" inputColor="-" hue="328" saturation="70" value="91" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E9" inputColor="-" hue="97" saturation="85" value="69" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007D" inputColor="-" hue="0" saturation="0" value="30" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO010" inputColor="-" hue="0" saturation="0" value="30" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO010S" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="ATO003_STATUS" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO002_STATUS" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO008_STATUS" inputColor="1" hue="2" saturation="-3" value="-16" alpha="100" />
- </Theme>
- </ChangeableColorTable>
- <ChangeableColorTable num="3">
- <Theme style="Dark">
- </Theme>
- <Theme style="Light">
- <ChangeableColorInfo id="AO007L1" inputColor="1" hue="2" saturation="-3" value="-16" alpha="100" />
- <ChangeableColorInfo id="AO007L1P" inputColor="1" hue="4" saturation="-3" value="-23" alpha="100" />
- <ChangeableColorInfo id="AO007L2" inputColor="-" hue="0" saturation="0" value="100" alpha="20" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO007L3" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO018" inputColor="1" hue="-3" saturation="-80" value="16" alpha="50" />
- <ChangeableColorInfo id="AO021" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO021P" inputColor="1" hue="0" saturation="0" value="0" alpha="30" />
- <ChangeableColorInfo id="AO022" inputColor="1" hue="0" saturation="-1" value="27" alpha="100" />
- <ChangeableColorInfo id="AO022D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO023" inputColor="-" hue="29" saturation="78" value="92" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO023D" inputColor="-" hue="29" saturation="78" value="92" alpha="60" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO023i" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO023iD" inputColor="-" hue="0" saturation="0" value="100" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO025" inputColor="-" hue="0" saturation="0" value="100" alpha="100" />
- <ChangeableColorInfo id="AO027" inputColor="-" hue="0" saturation="0" value="100" alpha="30" />
- <ChangeableColorInfo id="AO033" inputColor="-" hue="0" saturation="0" value="0" alpha="5" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO001L1" inputColor="W" hue="0" saturation="0" value="-40" alpha="25" />
- <ChangeableColorInfo id="AO001L1D" inputColor="W" hue="0" saturation="0" value="-40" alpha="10" />
- <ChangeableColorInfo id="AO001L1P" inputColor="W" hue="0" saturation="0" value="-40" alpha="45" />
- <ChangeableColorInfo id="AO001L2F" inputColor="W" hue="0" saturation="0" value="-40" alpha="100" />
- <ChangeableColorInfo id="AO002" inputColor="-" hue="80" saturation="100" value="94" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO003" inputColor="-" hue="0" saturation="0" value="100" alpha="35" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO003D" inputColor="-" hue="0" saturation="0" value="100" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO003E1" inputColor="-" hue="0" saturation="0" value="100" alpha="65" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO004" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO004D" inputColor="1" hue="0" saturation="0" value="9" alpha="100" fixedSaturation="true" />
- <ChangeableColorInfo id="AO005L2" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO005L1" inputColor="W" hue="0" saturation="0" value="-40" alpha="25" />
- <ChangeableColorInfo id="AO005L1D" inputColor="-" hue="0" saturation="0" value="70" alpha="30" />
- <ChangeableColorInfo id="AO005L3" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO005L4" inputColor="-" hue="0" saturation="0" value="100" alpha="20" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO006L1" inputColor="1" hue="0" saturation="-1" value="-14" alpha="100" />
- <ChangeableColorInfo id="AO006L1D" inputColor="1" hue="0" saturation="-1" value="-14" alpha="40" />
- <ChangeableColorInfo id="AO006L2" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO006L2D" inputColor="-" hue="0" saturation="0" value="100" alpha="40" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO008" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO009" inputColor="1" hue="1" saturation="-77" value="4" alpha="100" />
- <ChangeableColorInfo id="AO010" inputColor="-" hue="0" saturation="85" value="88" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO031" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO032" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO011L1" inputColor="1" hue="0" saturation="0" value="0" alpha="60" />
- <ChangeableColorInfo id="AO011L1P" inputColor="1" hue="0" saturation="-18" value="23" alpha="100" />
- <ChangeableColorInfo id="AO011L1D" inputColor="1" hue="0" saturation="0" value="0" alpha="60" />
- <ChangeableColorInfo id="AO011L1E01" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO011i" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO011iD" inputColor="-" hue="0" saturation="0" value="100" alpha="50" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO011L3" inputColor="-" hue="0" saturation="0" value="19" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO011L3P" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO011L3D" inputColor="-" hue="0" saturation="0" value="19" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO0111i" inputColor="-" hue="0" saturation="85" value="88" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO0111" inputColor="1" hue="0" saturation="0" value="0" alpha="60" />
- <ChangeableColorInfo id="AO012L1" inputColor="-" hue="116" saturation="100" value="68" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO012L1P" inputColor="-" hue="116" saturation="100" value="47" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO012L1D" inputColor="-" hue="116" saturation="100" value="68" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO013L1" inputColor="-" hue="9" saturation="91" value="98" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO013L1P" inputColor="-" hue="9" saturation="91" value="83" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO013L1D" inputColor="-" hue="9" saturation="91" value="98" alpha="23" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO014L1" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO014L1P" inputColor="1" hue="0" saturation="0" value="-25" alpha="100" />
- <ChangeableColorInfo id="AO014L1D" inputColor="1" hue="0" saturation="-20" value="0" alpha="100" />
- <ChangeableColorInfo id="AO014" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO014P" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO014D" inputColor="-" hue="0" saturation="0" value="100" alpha="40" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO015" inputColor="-" hue="80" saturation="100" value="94" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO015P" inputColor="-" hue="80" saturation="100" value="94" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO015D" inputColor="-" hue="80" saturation="100" value="94" alpha="40" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO016" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO016P" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO016D" inputColor="-" hue="0" saturation="0" value="100" alpha="40" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO019" inputColor="1" hue="0" saturation="-18" value="23" alpha="100" />
- <ChangeableColorInfo id="AO020" inputColor="-" hue="216" saturation="3" value="69" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO021" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO029" inputColor="1" hue="0" saturation="10" value="0" alpha="80" />
- <ChangeableColorInfo id="AO029P" inputColor="1" hue="0" saturation="50" value="30" alpha="100" minSaturation="65" maxValue="60" />
- <ChangeableColorInfo id="AO029D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" />
- <ChangeableColorInfo id="AO030E1" inputColor="-" hue="198" saturation="100" value="71" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E2" inputColor="-" hue="290" saturation="77" value="67" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E3" inputColor="-" hue="204" saturation="18" value="28" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E4" inputColor="-" hue="45" saturation="97" value="97" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E5" inputColor="-" hue="24" saturation="99" value="95" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E6" inputColor="-" hue="226" saturation="79" value="49" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E7" inputColor="-" hue="160" saturation="100" value="59" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E8" inputColor="-" hue="328" saturation="70" value="91" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030E9" inputColor="-" hue="97" saturation="85" value="69" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO030D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO010S" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="ATO008" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO0081" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO009" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO016" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO016P" inputColor="-" hue="0" saturation="0" value="100" alpha="70" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO019" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO001" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO017" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO006P" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="ATO006D" inputColor="1" hue="0" saturation="0" value="0" alpha="50" />
- <ChangeableColorInfo id="ATO005" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO006" inputColor="-" hue="0" saturation="0" value="30" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO002" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO002D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO003" inputColor="-" hue="0" saturation="85" value="88" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO014" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO014D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO015" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO015D" inputColor="-" hue="0" saturation="0" value="0" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO018" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E1" inputColor="-" hue="198" saturation="100" value="71" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E2" inputColor="-" hue="290" saturation="77" value="67" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E3" inputColor="-" hue="204" saturation="18" value="28" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E4" inputColor="-" hue="45" saturation="97" value="97" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E5" inputColor="-" hue="24" saturation="99" value="95" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E6" inputColor="-" hue="226" saturation="79" value="49" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E7" inputColor="-" hue="160" saturation="100" value="59" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E8" inputColor="-" hue="328" saturation="70" value="91" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004E9" inputColor="-" hue="97" saturation="85" value="69" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO004D" inputColor="-" hue="0" saturation="0" value="30" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E1" inputColor="-" hue="198" saturation="100" value="71" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E2" inputColor="-" hue="290" saturation="77" value="67" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E3" inputColor="-" hue="204" saturation="18" value="28" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E4" inputColor="-" hue="45" saturation="97" value="97" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E5" inputColor="-" hue="24" saturation="99" value="95" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E6" inputColor="-" hue="226" saturation="79" value="49" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E7" inputColor="-" hue="160" saturation="100" value="59" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E8" inputColor="-" hue="328" saturation="70" value="91" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007E9" inputColor="-" hue="97" saturation="85" value="69" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO007D" inputColor="-" hue="0" saturation="0" value="30" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO010" inputColor="-" hue="0" saturation="0" value="30" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="ATO010S" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="ATO003_STATUS" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
- <ChangeableColorInfo id="AO002_STATUS" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
- <ChangeableColorInfo id="AO008_STATUS" inputColor="1" hue="2" saturation="-3" value="-16" alpha="100" />
- </Theme>
- </ChangeableColorTable>
-</ChangeableColorTables>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<FontInfoTable>
- <FontInfo id="ATO008" style="R" size="26" />
- <FontInfo id="ATO0081" style="R" size="26" />
- <FontInfo id="ATO009" style="R" size="22" />
- <FontInfo id="ATO016" style="R" size="20" />
- <FontInfo id="ATO016P" style="R" size="20" />
- <FontInfo id="ATO019" style="R" size="22" />
- <FontInfo id="ATO001" style="R" size="24" />
- <FontInfo id="ATO017" style="R" size="22" />
- <FontInfo id="ATO006P" style="R" size="27" />
- <FontInfo id="ATO006D" style="R" size="27" />
- <FontInfo id="ATO005" style="R" size="30" />
- <FontInfo id="ATO006" style="R" size="24" />
- <FontInfo id="ATO002" style="R" size="24" />
- <FontInfo id="ATO002D" style="R" size="24" />
- <FontInfo id="ATO003" style="R" size="24" />
- <FontInfo id="ATO014" style="R" size="42" />
- <FontInfo id="ATO014D" style="R" size="42" />
- <FontInfo id="ATO015" style="R" size="25" />
- <FontInfo id="ATO015D" style="R" size="25" />
- <FontInfo id="ATO018" style="R" size="24" />
- <FontInfo id="ATO004E1" style="R" size="27" />
- <FontInfo id="ATO004E2" style="R" size="27" />
- <FontInfo id="ATO004E3" style="R" size="27" />
- <FontInfo id="ATO004E4" style="R" size="27" />
- <FontInfo id="ATO004E5" style="R" size="27" />
- <FontInfo id="ATO004E6" style="R" size="27" />
- <FontInfo id="ATO004E7" style="R" size="27" />
- <FontInfo id="ATO004E8" style="R" size="27" />
- <FontInfo id="ATO004E9" style="R" size="27" />
- <FontInfo id="ATO004D" style="R" size="27" />
- <FontInfo id="ATO007E1" style="R" size="17" />
- <FontInfo id="ATO007E2" style="R" size="17" />
- <FontInfo id="ATO007E3" style="R" size="17" />
- <FontInfo id="ATO007E4" style="R" size="17" />
- <FontInfo id="ATO007E5" style="R" size="17" />
- <FontInfo id="ATO007E6" style="R" size="17" />
- <FontInfo id="ATO007E7" style="R" size="17" />
- <FontInfo id="ATO007E8" style="R" size="17" />
- <FontInfo id="ATO007E9" style="R" size="17" />
- <FontInfo id="ATO007D" style="R" size="17" />
- <FontInfo id="ATO010" style="R" size="24" />
- <FontInfo id="ATO010S" style="R" size="24" />
- <FontInfo id="ATO003_STATUS" style="R" size="24" />
-</FontInfoTable>
--- /dev/null
+/*
+* Samsung API
+* Copyright (c) 2009-2015 Samsung Electronics Co., Ltd.
+*
+* 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/license/
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an AS IS BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+color_classes {
+ color_class {
+ name: "AO007L1";
+ color: 18 75 107 255;
+ }
+ color_class {
+ name: "AO007L2";
+ color: 255 255 255 51;
+ }
+ color_class {
+ name: "AO021P";
+ color: 20 107 147 76;
+ }
+ color_class {
+ name: "AO025";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO027";
+ color: 255 255 255 76;
+ }
+ color_class {
+ name: "AO033";
+ color: 0 0 0 12;
+ }
+ color_class {
+ name: "AO001L1";
+ color: 18 75 107 255;
+ }
+ color_class {
+ name: "AO001L1D";
+ color: 18 75 107 127;
+ }
+ color_class {
+ name: "AO001L1P";
+ color: 15 60 89 255;
+ }
+ color_class {
+ name: "AO002";
+ color: 159 239 0 255;
+ }
+ color_class {
+ name: "AO003";
+ color: 255 255 255 127;
+ }
+ color_class {
+ name: "AO003D";
+ color: 255 255 255 76;
+ }
+ color_class {
+ name: "AO003E1";
+ color: 255 255 255 165;
+ }
+ color_class {
+ name: "AO004";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO004D";
+ color: 88 144 170 255;
+ }
+ color_class {
+ name: "AO005L2";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO005L1";
+ color: 16 81 112 255;
+ }
+ color_class {
+ name: "AO005L1D";
+ color: 178 178 178 76;
+ }
+ color_class {
+ name: "AO005L3";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO005L4";
+ color: 255 255 255 51;
+ }
+ color_class {
+ name: "AO008";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO010";
+ color: 224 33 33 255;
+ }
+ color_class {
+ name: "AO031";
+ color: 20 107 147 255;
+ }
+ color_class {
+ name: "AO032";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO011L1";
+ color: 20 107 147 153;
+ }
+ color_class {
+ name: "AO011L1P";
+ color: 66 162 206 255;
+ }
+ color_class {
+ name: "AO011L1D";
+ color: 20 107 147 153;
+ }
+ color_class {
+ name: "AO011L1E01";
+ color: 20 107 147 255;
+ }
+ color_class {
+ name: "AO011i";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO011iD";
+ color: 255 255 255 127;
+ }
+ color_class {
+ name: "AO011L3";
+ color: 48 48 48 255;
+ }
+ color_class {
+ name: "AO011L3P";
+ color: 20 107 147 255;
+ }
+ color_class {
+ name: "AO011L3D";
+ color: 48 48 48 76;
+ }
+ color_class {
+ name: "AO0111i";
+ color: 224 33 33 255;
+ }
+ color_class {
+ name: "AO0111";
+ color: 20 107 147 153;
+ }
+ color_class {
+ name: "AO012L1";
+ color: 82 196 11 255;
+ }
+ color_class {
+ name: "AO012L1P";
+ color: 66 158 9 255;
+ }
+ color_class {
+ name: "AO012L1D";
+ color: 106 196 51 255;
+ }
+ color_class {
+ name: "AO013L1";
+ color: 249 56 22 255;
+ }
+ color_class {
+ name: "AO013L1P";
+ color: 211 47 19 255;
+ }
+ color_class {
+ name: "AO013L1D";
+ color: 249 56 22 58;
+ }
+ color_class {
+ name: "AO014L1";
+ color: 20 107 147 255;
+ }
+ color_class {
+ name: "AO014L1P";
+ color: 11 61 84 255;
+ }
+ color_class {
+ name: "AO014L1D";
+ color: 50 116 147 255;
+ }
+ color_class {
+ name: "AO014";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO014P";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO014D";
+ color: 255 255 255 102;
+ }
+ color_class {
+ name: "AO015";
+ color: 159 239 0 255;
+ }
+ color_class {
+ name: "AO015P";
+ color: 159 239 0 255;
+ }
+ color_class {
+ name: "AO015D";
+ color: 159 239 0 102;
+ }
+ color_class {
+ name: "AO016";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO016P";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO016D";
+ color: 255 255 255 102;
+ }
+ color_class {
+ name: "AO019";
+ color: 66 162 206 255;
+ }
+ color_class {
+ name: "AO020";
+ color: 170 172 175 255;
+ }
+ color_class {
+ name: "AO029";
+ color: 24 126 173 204;
+ }
+ color_class {
+ name: "AO029P";
+ color: 20 107 147 255;
+ }
+ color_class {
+ name: "AO029D";
+ color: 0 0 0 76;
+ }
+ color_class {
+ name: "AO030E1";
+ color: 0 126 181 255;
+ }
+ color_class {
+ name: "AO030E2";
+ color: 148 39 170 255;
+ }
+ color_class {
+ name: "AO030E3";
+ color: 58 66 71 255;
+ }
+ color_class {
+ name: "AO030E4";
+ color: 247 187 7 255;
+ }
+ color_class {
+ name: "AO030E5";
+ color: 242 98 2 255;
+ }
+ color_class {
+ name: "AO030E6";
+ color: 26 49 124 255;
+ }
+ color_class {
+ name: "AO030E7";
+ color: 0 150 100 255;
+ }
+ color_class {
+ name: "AO030E8";
+ color: 232 69 156 255;
+ }
+ color_class {
+ name: "AO030E9";
+ color: 83 175 26 255;
+ }
+ color_class {
+ name: "AO030D";
+ color: 0 0 0 76;
+ }
+ color_class {
+ name: "AO010S";
+ color: 20 107 147 255;
+ }
+ color_class {
+ name: "ATO008";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "ATO0081";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "ATO009";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "ATO016";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "ATO019";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "ATO017";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "ATO006P";
+ color: 20 107 147 255;
+ }
+ color_class {
+ name: "ATO006D";
+ color: 20 107 147 127;
+ }
+ color_class {
+ name: "ATO005";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "ATO006";
+ color: 76 76 76 255;
+ }
+ color_class {
+ name: "ATO007E1";
+ color: 0 126 181 255;
+ }
+ color_class {
+ name: "ATO007E2";
+ color: 148 39 170 255;
+ }
+ color_class {
+ name: "ATO007E3";
+ color: 58 66 71 255;
+ }
+ color_class {
+ name: "ATO007E4";
+ color: 247 187 7 255;
+ }
+ color_class {
+ name: "ATO007E5";
+ color: 242 98 2 255;
+ }
+ color_class {
+ name: "ATO007E6";
+ color: 26 49 124 255;
+ }
+ color_class {
+ name: "ATO007E7";
+ color: 0 150 100 255;
+ }
+ color_class {
+ name: "ATO007E8";
+ color: 232 69 156 255;
+ }
+ color_class {
+ name: "ATO007E9";
+ color: 83 175 26 255;
+ }
+ color_class {
+ name: "ATO007D";
+ color: 76 76 76 255;
+ }
+ color_class {
+ name: "AO008_STATUS";
+ color: 18 75 107 255;
+ }
+ color_class {
+ name: "A03O003L1";
+ color: 61 185 204 255;
+ }
+ color_class {
+ name: "ATO012";
+ color: 128 128 128 255;
+ }
+ color_class {
+ name: "F043P";
+ color: 31 92 102 255;
+ }
+ color_class {
+ name: "T023";
+ color: 72 72 72 255;
+ }
+ color_class {
+ name: "B011";
+ color: 20 107 147 127;
+ }
+ color_class {
+ name: "B0517";
+ color: 147 147 147 255;
+ }
+ color_class {
+ name: "W0661";
+ color: 155 216 226 255;
+ }
+}
#include "quickpanel_def.h"
+#include "color_classes.edc"
#define QP_SETTING_H 221
#define QP_SETTING_SEPERATOR_H 0
#define QP_SETTING_SEPERATOR_COLOR "AO007"
#define QP_HANDLER_COLOR "AO010"
-#define QP_HANDLER_PRESS_COLOR "AO010P"
+#define QP_HANDLER_PRESS_COLOR "AO010S"
+
+
#define QUICKPANEL_FOCUS_OBJECT(NAME, TO_1, TO_2)\
part {\
{
image: "handler_bg.#.png" COMP;
image: "handler_bg_ef.#.png" COMP;
- image: "handler_btn.png" COMP;
-
+ image: "handler_btn_02.png" COMP;
+ image: "core_theme_bg_01.png" COMP;
}
collections {
base_scale: 1.8;
- group { name: "quickpanel/root";
+ group {
+ name: "quickpanel/root";
script {
public g_is_portrait;
parts {
part {
- name: "background";
+ name: "base";
type: RECT;
scale: 1;
mouse_events: 1;
description {
state: "default" 0.0;
- visible: 0;
+ visible: 1;
+ }
+ }
+
+
+ part {
+ name: "background";
+ type: IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 {
+ to: "base";
+ }
+ rel2 {
+ to: "base";
+ }
+ image {
+ normal: "core_theme_bg_01.png";
+ }
}
}
+
part{
name: "qp.base.rect.datetime";
type:SPACER;
normal:"handler_bg.#.png";
}
align: 0.0 1.0;
- color_class: "AO007L1";
+ color_class: "W0113";
}
description {
state: "pressed" 0.0;
inherit: "default";
- color_class: "AO007L1P";
+ color_class: "W0113P";
}
}
scale:1;
description {
state: "default" 0.0;
- min: 34 10;
- max: 34 10;
+ min: 50 50;
+ max: 50 50;
fixed: 1 1;
rel1
{
to: "qp.handler.bg";
}
image {
- normal:"handler_btn.png";
+ normal:"handler_btn_02.png";
}
align: 0.5 0.5;
- color_class: "AO007L3";
+ color_class: "AO007L1";
visible: 1;
}
description {
description {
state: "default" 0.0;
fixed: 0 1;
- min: 480 26;
- max: 480 26;
+ min: 0 QP_HANDLE_H;
align: 0.5 0.5;
rel1 {
relative: 0.0 0.0;
to: "qp.handler.bg";
}
- text
- {
- text_class: "ATO016";
- align: 0.5 0.5;
+ text {
+ font : "Tizen:style=Regular";
+ size : 25;
+ text_class : "Tizen";
}
-
- color_class: "ATO016";
-
+ color_class: "AO007L1";
visible: 1;
}
description
}
}
- group { name: "quickpanel/base";
+ group {
+ name: "quickpanel/base";
parts {
part {
name: "background";
description {
state: "default" 0.0;
fixed: 0 1;
-#ifdef QP_SETTING_ENABLE
min: 0 QP_SETTING_H;
-#else
- min: 0 0;
-#endif
rel1 {
relative: 0.0 0.0;
to: "background";
}
align: 0.0 0.0;
}
+ description {
+ state: "enable_voice_icon" 0.0;
+ inherit: "default";
+ rel1 {
+ to_y:"qp.base.setting.swallow";
+ relative: 0.0 1.0;
+ offset : 0 110;
+ }
+ }
}
part {
name: "qp.base.list.swallow";
target: "qp.base.setting.swallow";
}
program {
+ name: "voice_icon.show";
+ action: STATE_SET "enable_voice_icon" 0.0;
+ signal: "voice_icon.show";
+ source: "quickpanel.prog";
+ target: "background.touch";
+ }
+ program {
+ name: "voice_icon.hide";
+ action: STATE_SET "default" 0.0;
+ signal: "voice_icon.hide";
+ source: "quickpanel.prog";
+ target: "background.touch";
+ }
+ program {
name: "background.touch";
action: SIGNAL_EMIT "close.quickpanel" "";
signal: "mouse,down,1";
<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="@PKGNAME@" version="0.6.22" install-location="internal-only" api-version="2.3.1">
- <label>Quickpanel</label>
+<manifest xmlns="http://tizen.org/ns/packages" package="@PKGNAME@" version="0.8.0" install-location="auto" api-version="2.3.1" support-mode="screen-reader">
+ <label>@PROJECT_NAME@</label>
<author email="yjoo93.park@samsung.com" href="www.samsung.com">Youngjoo Park</author>
- <author email="seungtaek.chung@samsung.com" href="www.samsung.com">seungtaek chung</author>
- <author email="ys4610.ko@samsung.com" href="www.samsung.com">Youngsub Ko</author>
+ <author email="jin0.kim@samsung.com" href="www.samsung.com">Jinyoung Kim</author>
<description>@PROJECT_NAME@</description>
<ui-application appid="@PKGNAME@" exec="@BINDIR@/@PROJECT_NAME@" nodisplay="true" multiple="false" type="capp" taskmanage="false">
+ <icon>@PKGNAME@.png</icon>
<label>@PROJECT_NAME@</label>
</ui-application>
+ <privileges>
+ <privilege>http://tizen.org/privilege/call</privilege>
+ <privilege>http://tizen.org/privilege/location.enable</privilege>
+ <privilege>http://tizen.org/privilege/contact.read</privilege>
+ </privileges>
</manifest>
--- /dev/null
+/*
+ * 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"
+
+#define ACTIVENOTI_BG_COLOR "AO003"
+#define ACTIVENOTI_MAIN_TEXT_HEIGHT_INC 1
+
+#define BOX_ICON_SIZE_W 96
+#define BOX_ICON_SIZE_H 96
+#define BOX_ICON_BG_SIZE_W 96
+#define BOX_ICON_BG_SIZE_H 96
+
+images
+{
+ image: "handler_btn_02.png" COMP;
+ image: "core_theme_bg_01.png" COMP;
+ image: "core_list_button_bg.#.png" COMP;
+}
+
+collections
+{
+ base_scale: 1.8;
+
+ group {
+ name: "headsup/base";
+
+ styles {
+ style {
+ name: "style_title_text";
+ base: "font=Tizen:style=Bold font_size="33" color=#FFFFFFFF text_class=tizen wrap=mixed ellipsis=1.0";
+ }
+ }
+
+ styles {
+ style {
+ name: "style_main_text";
+ base: "font=Tizen:style=Regular font_size="29" color=#FFFFFFFF text_class=tizen wrap=mixed ellipsis=1.0";
+ }
+ }
+
+ images {
+ image: "quick_button_icon_bg.png" COMP;
+ }
+
+ parts {
+ part {
+ name: "background";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ }
+ }
+
+ part {
+ name: "bg";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1 {
+ to: "background";
+ }
+ rel2 {
+ to: "background";
+ }
+ image {
+ normal: "core_theme_bg_01.png";
+ }
+ }
+ }
+
+
+ part {
+ name: "bg_img";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1 {
+ to: "bg";
+ }
+ rel2 {
+ to: "bg";
+ }
+ }
+ }
+
+
+ part {
+ name: "rect_main";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1
+ {
+ relative: 0.0 0.05;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 0.6;
+ to: "bg";
+ }
+ align: 0.0 0.0;
+ visible: 0;
+ }
+ }
+
+ part{
+ name: "button.space";
+ type:SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.6;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 0.9;
+ to: "bg";
+ }
+ }
+ }
+
+ part{
+ name: "button.swallow";
+ type:SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "button.space";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "button.space";
+ }
+ visible: 1;
+ }
+ description {
+ state: "btn_hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "btn_show" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+
+
+ part {
+ name: "rect_handle";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 1.0;
+ fixed: 0 1;
+ min: 0 40;
+ rel1 {
+ relative: 0.0 0.9;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ visible: 1;
+ color : 0 0 0 0;
+ }
+ }
+
+ part {
+ name: "handle_img";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ max: 40 40;
+ align: 0.5 0.5;
+ rel1 {
+ to: "rect_handle";
+ }
+ rel2 {
+ to: "rect_handle";
+ }
+ image {
+ normal: "handler_btn_02.png";
+ }
+ }
+ }
+
+
+ part {
+ name: "elm.padding.image";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 32 0;
+ fixed: 1 0;
+ rel1.to:"rect_main";
+ rel2.to:"rect_main";
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 1.0 1.0;
+ align: 1.0 0.0;
+ }
+ }
+
+
+ // Icon
+ part {
+ name: "icon_space";
+ mouse_events: 1;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1 {
+ relative: 0.03 0.1;
+ to: "rect_main";
+ }
+ rel2 {
+ relative: 0.2 0.7;
+ to: "rect_main";
+ }
+ visible: 0;
+ }
+ }
+
+ part {
+ name: "masking";
+ type: IMAGE;
+ precise_is_inside: 1;
+ description {
+ state: "default" 0.0;
+ min : BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H;
+ fixed : 1 1;
+ rel1 {
+ relative: 0.5 0.5;
+ to: "icon_space";
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ to: "icon_space";
+ }
+ image.normal: "quick_button_icon_bg.png";
+ }
+ }
+
+ part {
+ name: "icon_big";
+ type: SWALLOW;
+ clip_to : "masking";
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ min : BOX_ICON_SIZE_W BOX_ICON_SIZE_H;
+ max : BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_W;
+ fixed : 1 1;
+ rel1 {
+ relative: 0.5 0.5;
+ to: "icon_space";
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ to: "icon_space";
+ }
+ }
+ }
+
+ part {
+ name: "icon_badge";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0.0 1.0;
+ fixed : 1 1;
+ min : 45 45;
+ rel1 {
+ relative: 0.6 0.6;
+ to: "icon_big";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "icon_big";
+ }
+ }
+ }
+
+
+ /*text*/
+ part {
+ name: "text_space";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 0.22 0.0;
+ to: "rect_main";
+ }
+ rel2 {
+ relative: 0.98 0.89;
+ to: "rect_main";
+ }
+ visible: 0;
+ }
+ }
+
+ part {
+ name: "subtitle_text";
+ type: TEXTBLOCK;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ text {
+ style : "style_main_text";
+ align: 0.0 0.0;
+ }
+ rel1 {
+ relative: 0.0 0.0;
+ to: "text_space";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "text_space";
+ }
+ }
+ description {
+ state: "sub_show" 0.0;
+ inherit: "default" 0.0;
+ fixed: 0 0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "text_space";
+ }
+ rel2 {
+ relative: 1.0 0.25;
+ to: "text_space";
+ }
+ }
+ description {
+ state: "sub_hide" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+
+ part {
+ name: "title_text";
+ type: TEXTBLOCK;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ text {
+ style : "style_title_text";
+ align: 0.0 0.0;
+ }
+ rel1 {
+ relative: 0.0 0.0;
+ to: "text_space";
+ }
+ rel2 {
+ relative: 1.0 0.3;
+ to: "text_space";
+ }
+ }
+ description {
+ state: "sub_show" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.3;
+ to: "text_space";
+ }
+ rel2 {
+ relative: 1.0 0.6;
+ to: "text_space";
+ }
+
+ }
+ description {
+ state: "sub_hide" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+
+ part {
+ name: "content_text";
+ type: TEXTBLOCK;
+ scale: 1;
+ multiline: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ text {
+ style: "style_main_text";
+ align: 0.0 0.5;
+ }
+ rel1 {
+ relative: 0.0 0.3;
+ to: "text_space";
+ }
+ rel2 {
+ relative: 1.0 0.9;
+ to: "text_space";
+ }
+ }
+ description {
+ state: "sub_show" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.6;
+ to: "text_space";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "text_space";
+ }
+ }
+ description {
+ state: "sub_hide" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+
+ part {
+ name: "touch";
+ mouse_events: 1;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "text_space";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "text_space";
+ }
+ color : 0 0 0 0;
+ }
+ }
+ }
+
+
+ programs {
+ program {
+ name: "pressed_noti";
+ signal: "mouse,clicked,1";
+ source: "touch";
+ action: SIGNAL_EMIT "noti_press" "";
+ }
+
+ program {
+ name: "pressed_image";
+ signal: "mouse,clicked,1";
+ source: "icon_big";
+ action: SIGNAL_EMIT "image_press" "";
+ }
+
+ program {
+ name: "pressed_handle";
+ signal: "mouse,clicked,1";
+ source: "rect_handle";
+ source: "handle_img";
+ action: SIGNAL_EMIT "del" "";
+ }
+
+ program {
+ name: "subtext_show";
+ signal: "sub_show";
+ source: "subtitle_text";
+ action: STATE_SET "sub_show" 0.0;
+ target: "subtitle_text";
+ target: "title_text";
+ target: "content_text";
+ }
+
+ program {
+ name: "subtext_hide";
+ signal: "sub_hide";
+ source: "subtitle_text";
+ action: STATE_SET "sub_hide" 0.0;
+ target: "subtitle_text";
+ target: "title_text";
+ target: "content_text";
+ }
+
+ program {
+ name: "btn_hide";
+ signal: "btn_hide";
+ source: "button.space";
+ action: STATE_SET "btn_hide" 0.0;
+ target: "button.swallow";
+ }
+
+ program {
+ name: "btn_show";
+ signal: "btn_show";
+ source: "button.space";
+ action: STATE_SET "btn_show" 0.0;
+ target: "button.swallow";
+ }
+ }
+ }
+
+
+ group {
+ name: "button_layout";
+
+ parts {
+ part {
+ name: "rect.button";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color_class: "ATO006P";
+ align: 0.0 0.0;
+ visible: 0;
+ }
+ }
+
+ part {
+ name: "button.bg.img";
+ type:IMAGE;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.1 0.1;
+ to: "rect.button";
+ }
+ rel2 {
+ relative: 0.9 0.9;
+ to: "rect.button";
+ }
+ color_class: "AO001L1";
+ image {
+ normal: "core_list_button_bg.#.png";
+ }
+ align: 0.5 0.5;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color_class: "AO001L1P";
+ }
+ }
+
+ part {
+ name: "content.button.image";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ rel1 {
+ to: "button.bg.img";
+ }
+ rel2 {
+ to: "button.bg.img";
+ }
+ }
+ }
+
+ part {
+ name: "content.button.text";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ rel1 {
+ to: "button.bg.img";
+ }
+ rel2 {
+ to: "button.bg.img";
+ }
+ text {
+ font: "Tizen:style=Regular";
+ size: 30;
+ text_class: "tizen";
+ align: 0.5 0.5;
+ }
+ }
+ }
+
+ part {
+ name: "touch";
+ mouse_events: 1;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "rect.button";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "rect.button";
+ }
+ color : 0 0 0 0;
+ }
+ }
+
+ programs {
+ program {
+ name: "pressed_button";
+ signal: "mouse,clicked,1";
+ source: "touch";
+ action: SIGNAL_EMIT "button_clicked" "";
+ }
+
+ }
+
+ }
+ }
+}
}
}
- group { name: "quickpanel/brightness_controller/wrapper";
+ group {
+ name: "quickpanel/brightness_controller/wrapper";
parts {
part { name: "base";
type: SPACER;
}
}
- group { name: "quickpanel/brightness_controller/default";
+ group {
+ name: "quickpanel/brightness_controller/default";
images {
image: "quick_icon_brightness.png" COMP;
image: "quick_icon_brightness_09.png" COMP;
image: "quick_icon_brightness_10.png" COMP;
image: "quick_icon_brightness_11.png" COMP;
+ image: "core_theme_bg_01.png" COMP;
}
script {
visible: QP_THEME_BG_VISIBILITY;
}
}
+
+ part {
+ name: "background";
+ type: IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 {
+ to: "base";
+ }
+ rel2 {
+ to: "base";
+ }
+ image {
+ normal: "core_theme_bg_01.png";
+ }
+ visible: 0;
+ }
+ description {
+ state: "show.bg" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description {
+ state: "hide.bg" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+
part { name: "disabler";
type: RECT;
mouse_events: 0;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
rel1 {
to: "base";
}
to: "base";
}
color_class: AO004;
- }
+ }
description {
state: "disabled" 0.0;
inherit: "default" 0.0;
rel1.to:"base";
rel2.to:"base";
color_class: QP_THEME_BRIGHTNESS_BG_COLOR;
+ visible: QP_THEME_BG_VISIBILITY;
}
description {
state: "selected" 0.0;
type: RECT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 42 42;
max: 42 42;
fixed: 1 1;
type: RECT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 0 0;
fixed: 1 0;
rel1 {
type: RECT;
mouse_events: 1;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 0 48;
fixed: 0 1;
rel1 {
color: 0 0 0 0;
visible: 0;
}
- description { state: "disabled" 0.0;
+ description {
+ state: "disabled" 0.0;
inherit: "default" 0.0;
visible: 1;
}
state: "default" 0.0;
rel1 {
relative: 0.0 0.0;
- to: "elm.swallow.check";
+ to: "elm.check.swallow";
}
rel2 {
relative: 0.0 1.0;
- to: "elm.swallow.check";
+ to: "elm.check.swallow";
}
align: 1.0 0.5;
}
}
- part { name: "elm.swallow.check";
+
+ part { name: "elm.check.swallow";
type: SWALLOW;
scale: 1;
description {
state: "default" 0.0;
rel1 {
relative: 0.0 0.0;
- to: "elm.padding.bf.outdoor";
+ to: "elm.padding.bf.auto";
}
rel2 {
relative: 0.0 1.0;
- to: "elm.padding.bf.outdoor";
+ to: "elm.padding.bf.auto";
}
align: 1.0 0.5;
- min: 40 40;
+ min: 0 40;
fixed: 1 1;
}
}
- part { name: "elm.padding.bf.outdoor";
+
+ part { name: "elm.padding.bf.auto";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
rel1 {
relative: 0.0 0.0;
- to: "elm.rect.outdoor";
+ to: "elm.rect.auto";
}
rel2 {
relative: 0.0 1.0;
- to: "elm.rect.outdoor";
+ to: "elm.rect.auto";
}
align: 1.0 0.5;
- min: 15 0;
+ min: 0 0;
fixed: 1 0;
}
}
- part { name: "elm.rect.outdoor";
+ part { name: "elm.rect.auto";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
rel1 {
relative : 0.0 0.0;
- to : "elm.text.outdoor";
+ to : "elm.check.text";
}
rel2 {
relative : 1.0 1.0;
- to : "elm.text.outdoor";
+ to : "elm.check.text";
}
}
}
- part { name: "elm.text.outdoor";
+ part { name: "elm.check.text";
type: TEXT;
scale: 1;
description {
color_class: ATO019;
}
}
- part { name: "elm.rect.button";
- type: RECT;
- mouse_events: 1;
- repeat_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- to: "elm.swallow.button";
- }
- rel2 {
- to: "elm.swallow.button";
- }
- color: 0 0 0 0;
- visible: 1;
- }
- }
- part { name: "elm.swallow.button";
- type: SWALLOW;
- mouse_events: 1;
- repeat_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 {
- relative: 0.0 0.0;
- to: "elm.padding.bf.check";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "elm.padding.right";
- }
- visible: 1;
- }
- }
+
part { name: "elm.padding.right";
type: SPACER;
scale: 1;
}
}
program{
+ name: "show.bg";
+ signal: "show.bg";
+ source: "prog.bg";
+ action: STATE_SET "show.bg" 0.0;
+ target: "background";
+ }
+ program{
+ name: "hide.bg";
+ signal: "hide.bg";
+ source: "prog.bg";
+ action: STATE_SET "hide.bg" 0.0;
+ target: "background";
+ }
+ program{
name: "icon.state.0";
signal: "icon.state.0";
source: "prog";
styles {
style {
name: "font_time_am_pm_style";
- base: "font=Tizen:style=Regular text_class=ATO008 color_class=ATO008 font_size=26 valign=middle ellipsis=1.0 wrap=none";
- tag: "time" "+ text_class=ATO008 color_class=ATO008 color=#FFFFFF ";
- tag: "ampm" "+ text_class=ATO0081 color_class=ATO0081 color=#FFFFFF ";
+ base: "font=Tizen:style=Regular font_size=22 valign=middle ellipsis=1.0 wrap=none";
+ tag: "time" "+ color=#FFFFFF ";
+ tag: "ampm" "+ color=#FFFFFF ";
}
style {
name: "font_date_style";
- base: "font=Tizen:style=Regular text_class=ATO009 font_size=22 color=#FFFFFF valign=middle color_class=ATO009 ellipsis=1.0 wrap=none";
+ base: "font=Tizen:style=Regular font_size=22 color=#FFFFFF valign=middle color_class=tizen ellipsis=1.0 wrap=none";
}
}
description {
state: "default" 0.0;
color_class: QP_BACKGROUND_COLOR;
+ visible: 0;
}
}
QUICKPANEL_FOCUS_OBJECT("focus", "base", "base")
scale: 1;
description {
state: "default" 0.0;
- min: 30 30;
+ min: 42 42;
fixed: 1 1;
align: 0.5 0.5;
rel1 {
fixed: 1 1;
align: 0.5 0.5;
rel1 {
- relative: 0.0 0.5;
+ relative: 0.5 0.5;
to: "space.divider";
}
rel2 {
image {
normal: "line_indicator_divider.png";
}
- color_class: "AO027";
+ color_class: "AO003E1";
}
}
}
}
}
+
part {
name: "date.top.padding";
type: SPACER;
}
}
+ part { name: "text.time.left.padding";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 15 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 {
+ //relative : 0.0 0.0;
+ to: "text.time";
+ }
+ rel2 {
+ relative : 0.0 1.0;
+ to: "text.time";
+ }
+ }
+ }
+
part { name: "text.date";
type: TEXTBLOCK;
mouse_events: 0;
}
rel2 {
relative : 0.0 1.0;
- to_x: "text.time";
+ to_x : "text.time.left.padding";
to_y: "space.datetime";
}
text {
style: "font_date_style";
- min: 1 0;
+ min: 0 0;
max: 1 0;
align: 0.0 0.5;
}
#define QP_BG_COLOR "AO001"
#define QP_INDICATOR_H 0
-#define QP_HANDLE_H 42
+#define QP_HANDLE_H 50
#define QP_SPN_H 41 //66
#define QP_SPN_TEXT_W 343 //520
-#define QP_DATE_H 36
+#define QP_DATE_H 50
#define QP_COLOR_BLACK 0 0 0 255
#define QP_SETTING_ICON_DRAGGING_BG_CORRECTION_W_L 0
#define QP_SETTING_ICON_DRAGGING_BG_MIN_H 72
#define QP_SETTING_ICON_DRAGGING_MARGIN 0
-
+
// WVGA
#define QP_SETTING_ICON_MIN_WH_WVGA 66
#define QP_SETTING_ICON_BG_MIN_W_P_WVGA 96
#define BOX_PART_ICON "object.icon"
#define BOX_PART_ICON_SUB "object.icon.sub"
-#define BOX_ICON_BG_SIZE_W 46
-#define BOX_ICON_BG_SIZE_H 46
-#define BOX_ICON_SIZE_W 46
-#define BOX_ICON_SIZE_H 46
+#define BOX_ICON_BG_SIZE_W 96
+#define BOX_ICON_BG_SIZE_H 96
+#define BOX_ICON_SIZE_W 96
+#define BOX_ICON_SIZE_H 96
#define BOX_ICON_SUB_SIZE_W 29 //44
#define BOX_ICON_SUB_SIZE_H 29 //44
+#define BOX_TEXT_TOP_PADDING 15
+#define BOX_ICON_TOP_PADDING 20
+
#define BOX_COLOR_BG QP_THEME_ITEM_BG_COLOR
#define BOX_COLOR_BG_HIGHLIGHT QP_THEME_ITEM_BG_PRESS_COLOR
+++ /dev/null
-/*
- * 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"
-
-#define QP_THEME_DUAL_SIM_BG_COLOR "B0211"
-#define QP_THEME_DUAL_SIM_HEIGHT 80
-
-collections
-{
- base_scale: 1.8;
-
- group {
- name: "quickpanel/dual_sim/default";
- data.item: "bgcolor" QP_THEME_DUAL_SIM_BG_COLOR;
-
- parts {
- part {
- name: "base";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 QP_THEME_DUAL_SIM_HEIGHT;
- max: -1 QP_THEME_DUAL_SIM_HEIGHT;
- }
- }
- part {
- name: "bgcolor";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- rel1 {
- to: "base";
- relative: 0.0 0.0;
- }
- rel2 {
- to: "base";
- relative: 1.0 1.0;
- }
- color_class: QP_THEME_DUAL_SIM_BG_COLOR;
- }
- }
- part {
- name: "clipper";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- to: "base";
- relative: 0.0 0.0;
- }
- rel2 {
- to: "base";
- relative: 1.0 1.0;
- }
- color: 255 255 255 255;
- }
- description {
- state: "deactivate" 0.0;
- inherit: "default" 0.0;
- color: 255 255 255 153;
- }
- }
- part {
- name: "spacer.button.always_ask";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 136 QP_THEME_DUAL_SIM_HEIGHT;
- max: 136 QP_THEME_DUAL_SIM_HEIGHT;
- fixed: 1 1;
- align: 1.0 0.5;
- rel1 {
- to: "base";
- relative: 1.0 0.0;
- }
- rel2 {
- to: "base";
- relative: 1.0 1.0;
- }
- }
- }
- part {
- name: "spacer.button.always_ask.left";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- to: "base";
- relative: 0.0 0.0;
- }
- rel2 {
- to: "spacer.button.always_ask";
- relative: 0.0 1.0;
- }
- }
- }
-
- part {
- name: "dual_sim_btn1";
- type: SWALLOW;
- clip_to: "clipper";
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- to: "spacer.button.always_ask.left";
- relative: 0.0 0.0;
- }
- rel2 {
- to: "spacer.button.always_ask.left";
- relative: 0.5 1.0;
- }
- }
- }
- part {
- name: "dual_sim_btn2";
- type: SWALLOW;
- clip_to: "clipper";
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- to: "spacer.button.always_ask.left";
- relative: 0.5 0.0;
- }
- rel2 {
- to: "spacer.button.always_ask.left";
- relative: 1.0 1.0;
- }
- }
- }
- part {
- name: "dual_sim_btn3";
- type: SWALLOW;
- clip_to: "clipper";
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 0.0 0.0;
- to: "spacer.button.always_ask";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "spacer.button.always_ask";
- }
- }
- }
- }
- programs {
- program {
- name: "dualsim.activate";
- signal: "dualsim.activate";
- source: "clipper";
- action: STATE_SET "default" 0.0;
- target: "clipper";
- }
- program {
- name: "dualsim.deactivate";
- signal: "dualsim.deactivate";
- source: "clipper";
- action: STATE_SET "deactivate" 0.0;
- target: "clipper";
- }
- }
- }
-}
+++ /dev/null
-/*
- * 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 ICON_DESC(sim_num, sim_name) \
- description { \
- state: "icon_"sim_num".on" 0.0; \
- inherit: "default" 0.0; \
- image { \
- normal: "icon_sim_"sim_name".png"; \
- } \
- visible: 1; \
- } \
- description { \
- state: "icon_"sim_num".off" 0.0; \
- inherit: "default" 0.0; \
- image { \
- normal: "icon_sim_"sim_name"_dim.png"; \
- } \
- visible: 1; \
- } \
-
-#define LINE_DESC(sim_num, color_code) \
- description { \
- state: "icon_"sim_num".on" 0.0; \
- inherit: "default" 0.0; \
- color_class: color_code; \
- visible: 1; \
- } \
- description { \
- state: "icon_"sim_num".off" 0.0; \
- inherit: "default" 0.0; \
- } \
-
-#define ICON_PROG(sim_num) \
- program { \
- name: "state.icon_"sim_num".on"; \
- signal: "icon_"sim_num".on"; \
- source: "dual_sim_button"; \
- action: STATE_SET "icon_"sim_num".on" 0.0; \
- target: "image.icon.sim"; \
- target: "image.underline"; \
- } \
- program { \
- name: "state.icon_"sim_num".off"; \
- signal: "icon_"sim_num".off"; \
- source: "dual_sim_button"; \
- action: STATE_SET "icon_"sim_num".off" 0.0; \
- target: "image.icon.sim"; \
- target: "image.underline"; \
- } \
-
-
-styles
-{
- style {
- name: "dualsim_main_text_style";
- base: "font=Tizen:style=Regular font_size=27 text_class=ATO004D color=#FFFFFF color_class=ATO004D align=center ellipsis=1.0 wrap=mixed "; // unconnected
- tag: "icon_0" "+ text_class=ATO004E1 color=#FFFFFF color_class=ATO004E1 "; // SIM1
- tag: "icon_1" "+ text_class=ATO004E2 color=#FFFFFF color_class=ATO004E2 "; // SIM2
- tag: "icon_2" "+ text_class=ATO004E9 color=#FFFFFF color_class=ATO004E9 "; // Call
- tag: "icon_3" "+ text_class=ATO004E4 color=#FFFFFF color_class=ATO004E4 "; // Messages
- tag: "icon_4" "+ text_class=ATO004E5 color=#FFFFFF color_class=ATO004E5 "; // Data
- tag: "icon_5" "+ text_class=ATO004E6 color=#FFFFFF color_class=ATO004E6 "; // Internet
- tag: "icon_6" "+ text_class=ATO004E7 color=#FFFFFF color_class=ATO004E7 "; // Home
- tag: "icon_7" "+ text_class=ATO004E3 color=#FFFFFF color_class=ATO004E3 "; // Office
- tag: "icon_8" "+ text_class=ATO004E8 color=#FFFFFF color_class=ATO004E8 "; // Heart
- }
- style {
- name: "dualsim_always_ask_text_style";
- base: "font=Tizen:style=Regular font_size=24 text_class=ATO010 color=#FFFFFF color_class=ATO010 align=center ellipsis=1.0 wrap=mixed "; // unconnected
- tag: "on" "+ text_class=ATO010S color=#FFFFFF color_class=ATO010S "; // on
- }
-}
-
-collections
-{
- base_scale: 1.8;
-
- group
- {
- name: "quickpanel/dual_sim/button";
-
- images
- {
- image: "line_selected.#.png" COMP;
-
- image: "icon_sim_1.png" COMP;
- image: "icon_sim_2.png" COMP;
- image: "icon_sim_office.png" COMP;
- image: "icon_sim_messages.png" COMP;
- image: "icon_sim_data.png" COMP;
- image: "icon_sim_internet.png" COMP;
- image: "icon_sim_home.png" COMP;
- image: "icon_sim_heart.png" COMP;
- image: "icon_sim_phone.png" COMP;
-
- image: "icon_sim_1_dim.png" COMP;
- image: "icon_sim_2_dim.png" COMP;
- image: "icon_sim_office_dim.png" COMP;
- image: "icon_sim_messages_dim.png" COMP;
- image: "icon_sim_data_dim.png" COMP;
- image: "icon_sim_internet_dim.png" COMP;
- image: "icon_sim_home_dim.png" COMP;
- image: "icon_sim_heart_dim.png" COMP;
- image: "icon_sim_phone_dim.png" COMP;
- }
-
- parts
- {
- part
- {
- name: "dual_sim_button";
- type: RECT;
- scale: 1;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 0.0 0.0;
- }
- rel2 {
- relative: 1.0 1.0;
- }
- color: 255 0 0 0;
- }
- }
- part {
- name: "padding.bottom";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 8;
- fixed: 0 1;
- align: 0.5 1.0;
- rel1 {
- relative: 0.0 1.0;
- to: "dual_sim_button";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "dual_sim_button";
- }
- }
- }
- part {
- name: "spacer.content";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: (32 + 18 + 84) 0;
- fixed: 1 0;
- align: 0.5 0.5;
- rel1 {
- relative: 0.5 0.0;
- to: "dual_sim_button";
- }
- rel2 {
- relative: 0.5 1.0;
- to: "dual_sim_button";
- }
- }
- }
- part {
- name: "spacer.text";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 84 (80 - 14 - 14);
- fixed: 1 1;
- align: 1.0 0.5;
- rel1 {
- relative: 1.0 0.5;
- to: "spacer.content";
- }
- rel2 {
- relative: 1.0 0.5;
- to: "spacer.content";
- }
- }
- }
- part {
- name: "spacer.text.main";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 84 29;
- fixed: 1 1;
- align: 1.0 0.0;
- rel1 {
- relative: 1.0 0.0;
- to: "spacer.text";
- }
- rel2 {
- relative: 1.0 0.0;
- to: "spacer.text";
- }
- }
- }
- part {
- name: "spacer.text.sub";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 84 19;
- fixed: 1 1;
- align: 1.0 0.0;
- rel1 {
- relative: 1.0 1.0;
- to: "spacer.text.main";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "spacer.text.main";
- }
- }
- }
- part {
- name: "image.icon.sim";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 32 32;
- fixed: 1 1;
- align: 0.0 0.5;
- rel1 {
- relative: 0.0 0.5;
- to: "spacer.content";
- }
- rel2 {
- relative: 0.0 0.5;
- to: "spacer.content";
- }
- image {
- normal: "icon_sim_1_dim.png";
- }
- visible: 1;
- }
- ICON_DESC(0, 1);
- ICON_DESC(1, 2);
- ICON_DESC(2, phone);
- ICON_DESC(3, messages);
- ICON_DESC(4, data);
- ICON_DESC(5, internet);
- ICON_DESC(6, home);
- ICON_DESC(7, office);
- ICON_DESC(8, heart);
- }
-
- part {
- name: "dual_sim_button,text,main";
- type: TEXTBLOCK;
- scale: 1;
- repeat_events: 1;
- description {
- state: "default" 0.0;
- min: 84 29;
- max: 84 29;
- align: 0.5 0.5;
- rel1 {
- relative: 0.0 0.0;
- to: "spacer.text.main";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "spacer.text.main";
- }
- text {
- style: "dualsim_main_text_style";
- align: 0.5 0.5;
- }
- }
- }
-
- part {
- name: "dual_sim_button,text,info";
- type: SWALLOW;
- scale: 1;
- repeat_events: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- align: 0.5 0.5;
- rel1 {
- relative: 0.0 0.5;
- to: "spacer.text.sub";
- }
- rel2 {
- relative: 1.0 0.5;
- to: "spacer.text.sub";
- }
- }
- }
-
- part
- {
- name: "image.underline";
- type: IMAGE;
- scale: 1;
- repeat_events: 1;
- description
- {
- state: "default" 0.0;
- min: 84 4;
- max: 84 4;
- fixed: 1 1;
- align: 0.5 1.0;
- rel1 {
- relative: 0.0 0.0;
- to_x: "spacer.text";
- to_y: "padding.bottom";
- }
- rel2 {
- relative: 1.0 0.0;
- to_x: "spacer.text";
- to_y: "padding.bottom";
- }
- image
- {
- normal:"line_selected.#.png";
- }
- visible:0;
- }
- LINE_DESC(0, AO030E1);
- LINE_DESC(1, AO030E2);
- LINE_DESC(2, AO030E9);
- LINE_DESC(3, AO030E4);
- LINE_DESC(4, AO030E5);
- LINE_DESC(5, AO030E6);
- LINE_DESC(6, AO030E7);
- LINE_DESC(7, AO030E3);
- LINE_DESC(8, AO030E8);
- }
- }
-
- programs {
- ICON_PROG(0);
- ICON_PROG(1);
- ICON_PROG(2);
- ICON_PROG(3);
- ICON_PROG(4);
- ICON_PROG(5);
- ICON_PROG(6);
- ICON_PROG(7);
- ICON_PROG(8);
- }
- }
-
- group
- {
- name: "quickpanel/dual_sim/button_no_image";
-
- images {
- image: "line_selected.#.png" COMP;
- }
-
- parts
- {
- part {
- name: "dual_sim_button";
- type: RECT;
- scale: 1;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- min: 136 0;
- max: 136 -1;
- fixed: 1 0;
-
- color: 255 0 0 0;
- }
- }
- part {
- name: "padding.left";
- type: SPACER;
- repeat_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 15 0;
- fixed: 1 0;
- align: 0.0 0.0;
- rel1 {
- relative: 0.0 0.0;
- to: "dual_sim_button";
- }
- rel2 {
- relative: 0.0 1.0;
- to: "dual_sim_button";
- }
- }
- }
- part {
- name: "padding.right";
- type: SPACER;
- repeat_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 15 0;
- fixed: 1 0;
- align: 1.0 0.0;
- rel1 {
- relative: 1.0 0.0;
- to: "dual_sim_button";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "dual_sim_button";
- }
- }
- }
- part {
- name: "padding.bottom";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 8;
- fixed: 0 1;
- align: 0.5 1.0;
- rel1 {
- relative: 0.0 1.0;
- to: "dual_sim_button";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "dual_sim_button";
- }
- }
- }
-
- part {
- name: "spacer.text";
- type: SPACER;
- repeat_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 0.0;
- to: "padding.left";
- }
- rel2 {
- relative: 0.0 1.0;
- to: "padding.right";
- }
- }
- }
-
- part
- {
- name: "dual_sim_button,text,main";
- type: TEXTBLOCK;
- scale: 1;
- repeat_events: 1;
- multiline: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 0.0 0.0;
- to: "spacer.text";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "spacer.text";
- }
-
- text
- {
- style: "dualsim_always_ask_text_style";
- align: 0.5 0.5;
- max: 1 0;
- }
- }
- }
-
- part {
- name: "spacer.underline";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 84 4;
- fixed: 1 1;
- align: 0.5 1.0;
- rel1 {
- relative: 0.5 0.0;
- to: "padding.bottom";
- }
- rel2 {
- relative: 0.5 0.0;
- to: "padding.bottom";
- }
- }
- }
- part {
- name: "image.underline";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 84 4;
- fixed: 1 1;
- align: 0.5 0.5;
- rel1 {
- relative: 0.0 0.0;
- to: "spacer.underline";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "spacer.underline";
- }
- image {
- normal: "line_selected.#.png";
- }
- color_class: AO010S;
- visible: 0;
- }
- description {
- state: "state,on" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- }
-
- programs
- {
- program
- {
- name: "dual_sim_button,state,on";
- signal: "dual_sim_button,state,on";
- source: "dual_sim_button";
-
- action: STATE_SET "state,on" 0.0;
- target: "image.underline";
- }
- program
- {
- name: "dual_sim_button,state,off";
- signal: "dual_sim_button,state,off";
- source: "dual_sim_button";
-
- action: STATE_SET "default" 0.0;
- target: "image.underline";
- }
- }
-
- }
-}
RESOURCE_IMAGE("quick_icon_wifi_tethering.png");
RESOURCE_IMAGE("quick_icon_mobile_data.png");
RESOURCE_IMAGE("quick_icon_wifi.png");
- RESOURCE_IMAGE("quick_icon_downloadbooster_off.png");
- RESOURCE_IMAGE("quick_icon_outdoormode.png");
\ No newline at end of file
+ RESOURCE_IMAGE("quick_icon_downloadbooster_off.png");
\ No newline at end of file
part { name: "elm.padding.bottom.mutiline.content";
type: RECT;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 0 0;
fixed: 0 1;
visible: 0;
part { name: "elm.padding.bottom.time";
type: RECT;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 0 82;
fixed: 0 1;
#ifdef DEBUG
part { name: "elm.padding.bottom.icon";
type: RECT;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 0 31;
fixed: 0 1;
rel1.to:"base";
part { name: "elm.padding.top.bg";
type: RECT;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 0 QP_THEME_LIST_ITEM_ONGOING_SEPERATOR_HEIGHT;
fixed: 0 1;
rel1.to:"base";
type: RECT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 124 124;
fixed: 1 1;
rel1 {
type: SWALLOW;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
fixed: 1 1;
rel1 {
to: "elm.rect.thumbnail";
type: SWALLOW;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 40 40;
fixed: 1 1;
rel1 {
part { name: "elm.padding.right.slider.bounder";
type: RECT;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 202 0;
fixed: 1 0;
rel1 {
part { name: "elm.padding.right.text.bounder";
type: RECT;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 144 0;
fixed: 1 0;
rel1 {
type: TEXT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 0 36;
align: 0.0 0.0;
fixed: 0 1;
size_range: 34 44;
}
}
- description { state: "selected" 0.0;
+ description {
+ state: "selected" 0.0;
inherit: "default" 0.0;
color: 248 246 239 255;
}
type: TEXT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
fixed: 0 1;
min: 0 28;
align: 0.0 1.0;
align: 1.0 0.0;
}
}
- description { state: "selected" 0.0;
+ description {
+ state: "selected" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
- part { name: "elm.rect.content";
+ part {
+ name: "elm.rect.content";
type: RECT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
align: 0.0 0.0;
min: 0 28;
fixed: 0 1;
visible: 0;
}
}
- part { name: "elm.text.content";
+ part {
+ name: "elm.text.content";
type: TEXT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
align: 0.0 0.0;
fixed: 0 1;
rel1 {
}
visible: 0;
}
- description { state: "show" 0.0;
+ description {
+ state: "show" 0.0;
inherit: "default" 0.0;
visible: 1;
}
- description { state: "selected" 0.0;
+ description {
+ state: "selected" 0.0;
inherit: "default" 0.0;
color: 130 131 132 255;
visible: 1;
}
}
- part { name: "elm.rect.content.multiline";
+ part {
+ name: "elm.rect.content.multiline";
type: RECT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
align: 0.0 0.0;
min: 0 0;
fixed: 1 1;
visible: 0;
}
}
- part { name: "elm.text.content.multiline";
+ part {
+ name: "elm.text.content.multiline";
type: TEXTBLOCK;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
align: 0.0 0.0;
fixed: 1 1;
rel1 {
}
visible:0;
}
- description { state: "show" 0.0;
+ description {
+ state: "show" 0.0;
inherit: "default" 0.0;
visible:1;
}
- description { state: "selected" 0.0;
+ description {
+ state: "selected" 0.0;
inherit: "default" 0.0;
color: 130 131 132 255;
visible: 1;
}
}
- part { name: "elm.box.progress";
+ part {
+ name: "elm.box.progress";
type: BOX;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 0 20;
fixed: 0 1;
align: 0.0 1.0;
#endif
}
}
- part { name: "elm.swallow.progress";
+ part {
+ name: "elm.swallow.progress";
type: SWALLOW;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
rel1 {
to: "elm.box.progress";
}
#define QP_NOTI_LISTTYPE_TITLE_COLOR "T023"
#define QP_NOTI_LISTTYPE_TITLE_PRESS_COLOR "T023P"
-#define QP_NOTI_LISTTYPE_CONTENTS_COLOR "T024"
+#define QP_NOTI_LISTTYPE_CONTENTS_COLOR "ATO012"
#define QP_NOTI_LISTTYPE_COUNT_COLOR "T112"
#define QP_NOTI_LISTTYPE_COUNT_BG_COLOR "B0517"
-#define QP_NOTI_LISTTYPE_TIME_COLOR "T024L1"
+#define QP_NOTI_LISTTYPE_TIME_COLOR "ATO012"
#define QP_NOTI_LISTTYPE_TITLE_FONT_SIZE 30
#define QP_NOTI_LISTTYPE_CONTENTS_FONT_SIZE 24
styles {
style {
name: "noti_content_text";
- base: "font=Tizen:style=Regular text_class=tizen align=left valign=0.5 font_size="QP_NOTI_LISTTYPE_CONTENTS_FONT_SIZE" ellipsis=1.0 color=#FFFFFF color_class="QP_NOTI_LISTTYPE_CONTENTS_COLOR" wrap=none";
+ base: "font=Tizen:style=Regular text_class=tizen align=left valign=0.5 font_size="QP_NOTI_LISTTYPE_CONTENTS_FONT_SIZE" ellipsis=1.0 color=#2B2B2BFF color_class="QP_NOTI_LISTTYPE_CONTENTS_COLOR" wrap=none";
}
}
images {
image: "core_icon_badge_container.#.png" COMP;
+ image: "quick_button_icon_bg.png" COMP;
}
group {
data.item: "bgcolor" QP_THEME_BANDED_COLOR;
parts {
- part { name: "base";
+ part {
+ name: "base";
type: SPACER;
scale: 1;
description {
max: -1 QP_THEME_LIST_ITEM_NOTIFICATION_LISTTYPE_HEIGHT;
}
}
- part { name: "bgcolor";
+ part {
+ name: "bgcolor";
type: "RECT";
mouse_events: 0;
description {
}
}
- part { name: "elm.padding.right";
+ part {
+ name: "elm.padding.right";
type: SPACER;
scale: 1;
description {
align: 1.0 0.0;
}
}
- part { name: "elm.padding.top.icon";
+ part {
+ name: "elm.padding.top.icon";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
- min: 0 25;
- fixed: 0 1;
+ //min: 0 BOX_ICON_TOP_PADDING;
+ //fixed: 0 1;
rel1.to:"base";
rel2.to:"base";
rel1.relative: 0.0 0.0;
align: 0.0 0.0;
}
}
- part { name: "elm.padding.left.icon";
+ part {
+ name: "elm.padding.left.icon";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "elm.padding.top.text";
+ part {
+ name: "elm.padding.top.text";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
- min: 0 13;
+ min: 0 BOX_TEXT_TOP_PADDING;
fixed: 0 1;
rel1.to:"base";
rel2.to:"base";
align: 0.0 0.0;
}
}
- part { name: "elm.padding.bottom.text";
+ part {
+ name: "elm.padding.bottom.text";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
- min: 0 13;
+ min: 0 BOX_TEXT_TOP_PADDING;
fixed: 0 1;
rel1.to:"base";
rel2.to:"base";
align: 0.0 1.0;
}
}
- part { name: "elm.padding.left.text";
+ part {
+ name: "elm.padding.left.text";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
- min: (15 + 46 + 15) 0;
+ min: (15 + BOX_ICON_SIZE_W + 15) 0;
fixed: 1 0;
rel1.to:"base";
rel2.to:"base";
align: 0.0 0.0;
}
}
- part { name: "elm.rect.thumbnail";
+ part {
+ name: "elm.rect.thumbnail";
type: SPACER;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
- min: 46 46;
+ description {
+ state: "default" 0.0;
+ min: BOX_ICON_SIZE_W BOX_ICON_SIZE_W;
fixed: 1 1;
rel1 {
relative: 1.0 1.0;
align: 0.0 0.0;
}
}
- part { name: "elm.rect.icon";
+ part {
+ name: "elm.rect.icon";
type: SPACER;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 36 36;
fixed: 1 1;
rel1 {
align: 0.0 0.0;
}
}
- part { name: "elm.rect.text.title";
+ part {
+ name: "elm.rect.text.title";
type: SPACER;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 0 38;
fixed: 0 1;
rel1 {
align: 0.0 0.5;
}
}
- part { name: "elm.rect.text.content";
+ part {
+ name: "elm.rect.text.content";
type: SPACER;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 0 32;
fixed: 0 1;
rel1 {
align: 0.0 0.0;
}
}
- part { name: "elm.swallow.thumbnail";
+ part {
+ name: "masking";
+ type: IMAGE;
+ precise_is_inside: 1;
+ description {
+ state: "default" 0.0;
+ min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_W;
+ fixed : 1 1;
+ rel1 {
+ relative: 0.5 0.5;
+ to: "elm.rect.thumbnail";
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ to: "elm.rect.thumbnail";
+ }
+ image.normal: "quick_button_icon_bg.png";
+ }
+ }
+ part {
+ name: "elm.swallow.thumbnail";
type: SWALLOW;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ clip_to: "masking";
+ description {
+ state: "default" 0.0;
min: BOX_ICON_SIZE_W BOX_ICON_SIZE_H;
max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H;
fixed: 1 1;
rel1 {
+ relative: 0.5 0.5;
to: "elm.rect.thumbnail";
}
rel2 {
+ relative: 0.5 0.5;
to: "elm.rect.thumbnail";
}
align: 0.5 0.5;
}
}
- part { name: "elm.swallow.icon";
+ part {
+ name: "elm.swallow.icon";
type: SWALLOW;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 30 30;
fixed: 1 1;
rel1 {
align: 0.5 0.5;
}
}
- part { name: "elm.text.title";
+ part {
+ name: "elm.text.title";
type: TEXT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
align: 0.0 0.0;
//fixed: 0 1;
rel1 {
align: 0.0 0.5;
}
}
- description { state: "short" 0.0;
+ description {
+ state: "short" 0.0;
inherit: "default" 0.0;
rel1 {
relative: 0.0 0.0;
}
rel2 {
relative: 0.0 1.0;
- to_x: "elm.image.count.bg";
+ to_x: "elm.padding.left.time";
to_y: "elm.rect.text.title";
offset: -15 0;
}
}
- description { state: "short.center" 0.0;
+ description {
+ state: "short.center" 0.0;
inherit: "default" 0.0;
rel1 {
relative: 0.0 0.0;
}
rel2 {
relative: 0.0 1.0;
- to_x: "elm.text.time";
+ to_x: "elm.padding.left.time";
to_y: "elm.rect.text.title";
offset: -15 0;
}
}
}
- part{ name: "elm.image.count.bg";
- type:IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 1.0 0.5;
- fixed: 1 1;
- min: 32 32;
- max: 68 32;
- rel1 {
- relative: 0.0 0.5;
- to_x: "elm.padding.left.count";
- to_y: "elm.rect.text";
- }
- rel2 {
- relative: 1.0 0.5;
- to_x: "elm.padding.right.count";
- to_y: "elm.rect.text";
- }
- image {
- normal:"core_icon_badge_container.#.png";
- }
- color_class: QP_NOTI_LISTTYPE_COUNT_BG_COLOR;
- 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: "elm.padding.left.count";
+
+ part {
+ name: "elm.padding.left.time";
type: SPACER;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
fixed: 1 0;
min: 10 0;
rel1 {
relative: 0.0 1.0;
- to_x: "elm.text.count";
+ to_x: "elm.text.time";
to_y: "elm.padding.top.text";
}
rel2 {
relative: 0.0 1.0;
- to_x: "elm.text.count";
+ to_x: "elm.text.time";
to_y: "elm.padding.top.text";
}
align: 1.0 0.0;
}
}
- part { name: "elm.padding.right.count";
+ part {
+ name: "elm.padding.right.time";
type: SPACER;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
fixed: 1 0;
min: 10 0;
rel1 {
align: 1.0 0.0;
}
}
- part { name: "elm.text.count";
+ part {
+ name: "elm.text.time";
type: TEXT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
align: 1.0 0.5;
fixed: 1 1;
min: 0 38;
rel1 {
relative: 0.0 0.5;
- to_x: "elm.padding.right.count";
+ to_x: "elm.padding.right";
to_y: "elm.rect.text";
}
rel2 {
relative: 0.0 0.5;
- to_x: "elm.padding.right.count";
+ to_x: "elm.padding.right";
to_y: "elm.rect.text";
}
- color_class: QP_NOTI_LISTTYPE_COUNT_COLOR;
+ color_class: QP_NOTI_LISTTYPE_TIME_COLOR;
text {
font: "Tizen:style=Regular";
text_class: "tizen";
- size: QP_NOTI_LISTTYPE_COUNT_FONT_SIZE;
+ size: QP_NOTI_LISTTYPE_TIME_FONT_SIZE;
ellipsis: 0.0;
align: 0.0 0.5;
min: 1 0;
}
+
+ }
+ description {
+ state: "center" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ to_x: "elm.padding.right";
+ to_y: "elm.rect.text";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "elm.padding.right";
+ to_y: "elm.rect.text";
+ }
}
}
- part { name: "elm.text.content";
+ part {
+ name: "elm.text.content";
type: TEXT;
mouse_events: 0;
multiline: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
align: 0.0 0.0;
fixed: 1 1;
- min: 0 32;
- max: -1 27;
+ min: 0 34;
+ max: -1 30;
rel1 {
to: "elm.rect.text.content";
}
min: 0 1;
}
}
- description { state: "short" 0.0;
+ description {
+ state: "short" 0.0;
inherit: "default" 0.0;
rel1 {
relative: 0.0 0.0;
}
rel2 {
relative: 0.0 1.0;
- to_x: "elm.text.time";
+ to_x: "elm.image.count.bg";
to_y: "elm.rect.text.content";
offset: -15 0;
}
}
}
- part { name: "elm.text.time";
+ part{
+ name: "elm.image.count.bg";
+ type:IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 1.0 0.0;
+ fixed: 1 1;
+ min: 32 32;
+ max: 68 32;
+ rel1 {
+ relative: 0.0 1.0;
+ to_x: "elm.padding.left.count";
+ to_y: "elm.rect.text";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "elm.padding.right.count";
+ to_y: "elm.padding.bottom.text";
+ }
+ image {
+ normal:"core_icon_badge_container.#.png";
+ }
+ color_class: QP_NOTI_LISTTYPE_COUNT_BG_COLOR;
+ 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: "elm.padding.left.count";
+ type: SPACER;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 0;
+ min: 10 0;
+ rel1 {
+ relative: 0.0 1.0;
+ to_x: "elm.text.count";
+ to_y: "elm.padding.bottom.text";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "elm.text.count";
+ to_y: "elm.padding.bottom.text";
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part {
+ name: "elm.padding.right.count";
+ type: SPACER;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 0;
+ min: 10 0;
+ rel1 {
+ relative: 0.0 1.0;
+ to_x: "elm.padding.right";
+ to_y: "elm.padding.bottom.text";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "elm.padding.right";
+ to_y: "elm.padding.bottom.text";
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part {
+ name: "elm.text.count";
type: TEXT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
align: 1.0 0.0;
fixed: 1 1;
min: 0 32;
rel1 {
relative: 0.0 1.0;
- to_x: "elm.padding.right";
+ to_x: "elm.padding.right.count";
to_y: "elm.rect.text";
}
rel2 {
- relative: 0.0 0.0;
- to_x: "elm.padding.right";
- to_y: "elm.padding.bottom.text";
+ relative: 0.0 1.0;
+ to_x: "elm.padding.right.count";
+ to_y: "elm.rect.text";
}
- color_class: QP_NOTI_LISTTYPE_TIME_COLOR;
+ color_class: QP_NOTI_LISTTYPE_COUNT_COLOR;
text {
font: "Tizen:style=Regular";
text_class: "tizen";
- size: QP_NOTI_LISTTYPE_TIME_FONT_SIZE;
+ size: QP_NOTI_LISTTYPE_COUNT_FONT_SIZE;
ellipsis: 0.0;
align: 0.0 0.5;
min: 1 0;
action: STATE_SET "default" 0.0;
target: "elm.rect.text.title";
}
+ program {
+ name: "time.move.center";
+ signal: "time.move.center";
+ source: "prog";
+ action: STATE_SET "center" 0.0;
+ target: "elm.text.time";
+ }
+ program {
+ name: "time.move.default";
+ signal: "time.move.default";
+ source: "prog";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text.time";
+ }
}
}
}
parts {
- part { name: "background";
+ part {
+ name: "background";
type: SPACER;
scale: 1;
description {
max: -1 (QP_THEME_LIST_ITEM_NOTIFICATION_LEGACY_SINGLE_MULTI_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT);
}
}
- part { name: "seperator.top";
+ part {
+ name: "seperator.top";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "seperator.left";
+ part {
+ name: "seperator.left";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "seperator.right";
+ part {
+ name: "seperator.right";
type: SPACER;
scale: 1;
description {
}
align: 0.0 0.0;
}
- description { state: "short" 0.0;
+ description {
+ state: "short" 0.0;
inherit: "default" 0.0;
rel1 {
to_x:"rect.icon.bg";
visible:0;
}
}
- part { name: "object.touch.effect";
+ part {
+ name: "object.touch.effect";
type: RECT;
mouse_events: 0;
description {
visible:1;
}
}
- part { name: "object.text.time";
+ part {
+ name: "object.text.time";
type: TEXTBLOCK;
mouse_events: 0;
scale: 1;
}
parts {
- part { name: "background";
+ part {
+ name: "background";
type: SPACER;
scale: 1;
description {
max: -1 (QP_THEME_LIST_ITEM_NOTIFICATION_LEGACY_SINGLE_MULTI_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT);
}
}
- part { name: "seperator.top";
+ part {
+ name: "seperator.top";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "seperator.left";
+ part {
+ name: "seperator.left";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "seperator.right";
+ part {
+ name: "seperator.right";
type: SPACER;
scale: 1;
description {
}
align: 0.0 0.0;
}
- description { state: "short" 0.0;
+ description {
+ state: "short" 0.0;
inherit: "default" 0.0;
rel1 {
to_x:"rect.icon.bg";
visible:1;
}
}
- part { name: "object.text.time";
+ part {
+ name: "object.text.time";
type: TEXTBLOCK;
mouse_events: 0;
scale: 1;
#define QP_ONGOING_PROGRESS_TITLE_COLOR "T023"
#define QP_ONGOING_PROGRESS_TITLE_PRESS_COLOR "T023P"
-#define QP_ONGOING_PROGRESS_CONTENTS_COLOR "T024"
-#define QP_ONGOING_PROGRESS_RATE_COLOR "T024L1"
+#define QP_ONGOING_PROGRESS_CONTENTS_COLOR "ATO012"
+#define QP_ONGOING_PROGRESS_RATE_COLOR "ATO012"
#define QP_ONGOING_PROGRESS_TITLE_FONT_SIZE 30
#define QP_ONGOING_PROGRESS_CONTENTS_FONT_SIZE 24
data.item: "bgcolor" QP_THEME_BANDED_COLOR;
parts {
- part { name: "background";
+ part {
+ name: "background";
type: SPACER;
scale: 1;
description {
max: -1 (QP_THEME_LIST_ITEM_ONGOING_PROGRESS_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT);
}
}
- part { name: "seperator.top";
+ part {
+ name: "seperator.top";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "seperator.left";
+ part {
+ name: "seperator.left";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "seperator.right";
+ part {
+ name: "seperator.right";
type: SPACER;
scale: 1;
description {
align: 1.0 0.0;
}
}
- part { name: "base";
+ part {
+ name: "base";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "bgcolor";
+ part {
+ name: "bgcolor";
type: "RECT";
mouse_events: 0;
description {
}
}
- part { name: "elm.padding.right";
+ part {
+ name: "elm.padding.right";
type: SPACER;
scale: 1;
description {
align: 1.0 0.0;
}
}
- part { name: "elm.padding.right.content";
+ part {
+ name: "elm.padding.right.content";
type: SPACER;
scale: 1;
description {
align: 1.0 0.0;
}
}
- part { name: "elm.padding.top.icon";
+ part {
+ name: "elm.padding.top.icon";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
- min: 0 25;
- fixed: 0 1;
+ //min: 0 BOX_ICON_TOP_PADDING;
+ //fixed: 0 1;
rel1.to:"base";
rel2.to:"base";
rel1.relative: 0.0 0.0;
align: 0.0 0.0;
}
}
- part { name: "elm.padding.left.icon";
+ part {
+ name: "elm.padding.left.icon";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "elm.padding.top.text";
+ part {
+ name: "elm.padding.top.text";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "elm.padding.bottom.text";
+ part {
+ name: "elm.padding.bottom.text";
type: SPACER;
scale: 1;
description {
align: 0.0 1.0;
}
}
- part { name: "elm.padding.left.title";
+ part {
+ name: "elm.padding.left.title";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
- min: (15 + 46 + 15) 0;
+ min: (15 + BOX_ICON_SIZE_W + 15) 0;
fixed: 1 0;
rel1.to:"base";
rel2.to:"base";
align: 0.0 0.0;
}
}
- part { name: "elm.padding.left.progress.text";
+ part {
+ name: "elm.padding.left.progress.text";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
- min: (15 + 46 + 15) 0;
+ min: (15 + BOX_ICON_SIZE_W + 15) 0;
fixed: 1 0;
rel1.to:"base";
rel2.to:"base";
align: 0.0 0.0;
}
}
- part { name: "elm.padding.left.progress";
+ part {
+ name: "elm.padding.left.progress";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
- min: (15 + 46 + 15) 0;
+ min: (15 + BOX_ICON_SIZE_W + 15) 0;
fixed: 1 0;
rel1.to:"base";
rel2.to:"base";
align: 0.0 0.0;
}
}
- part { name: "elm.padding.top.progress";
+ part {
+ name: "elm.padding.top.progress";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "elm.rect.thumbnail";
+ part {
+ name: "elm.rect.thumbnail";
type: SPACER;
mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
- min: 46 46;
+ min: BOX_ICON_SIZE_W BOX_ICON_SIZE_W;
fixed: 1 1;
rel1 {
relative: 1.0 1.0;
align: 0.0 0.0;
}
}
- part { name: "elm.rect.icon";
+ part {
+ name: "elm.rect.icon";
type: SPACER;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 29 29;
fixed: 1 1;
rel1 {
align: 0.0 0.0;
}
}
- part { name: "elm.rect.text.title";
+ part {
+ name: "elm.rect.text.title";
type: SPACER;
mouse_events: 0;
scale: 1;
align: 0.0 0.0;
}
}
- part { name: "elm.rect.text.progress";
+ part {
+ name: "elm.rect.text.progress";
type: SPACER;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 99 33;
fixed: 1 1;
rel1 {
align: 1.0 1.0;
}
}
- part { name: "elm.rect.text.content";
+ part {
+ name: "elm.rect.text.content";
type: SPACER;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 0 33;
fixed: 0 1;
rel1 {
align: 0.0 1.0;
}
}
- part { name: "elm.rect.progress";
+ part {
+ name: "elm.rect.progress";
type: SPACER;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
align: 0.0 0.0;
min: 0 6;
max: 9999 6;
}
}
}
- part { name: "elm.swallow.thumbnail";
+
+ part {
+ name: "masking";
+ type: IMAGE;
+ precise_is_inside: 1;
+ description {
+ state: "default" 0.0;
+ min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_W;
+ fixed : 1 1;
+ rel1 {
+ relative: 0.5 0.5;
+ to: "elm.rect.thumbnail";
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ to: "elm.rect.thumbnail";
+ }
+ image.normal: "quick_button_icon_bg.png";
+ }
+ }
+
+ part {
+ name: "elm.swallow.thumbnail";
type: SWALLOW;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ clip_to: "masking";
+ description {
+ state: "default" 0.0;
fixed: 1 1;
min: BOX_ICON_SIZE_W BOX_ICON_SIZE_H;
max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_H;
rel1 {
+ relative: 0.5 0.5;
to: "elm.rect.thumbnail";
}
rel2 {
+ relative: 0.5 0.5;
to: "elm.rect.thumbnail";
}
align: 0.5 0.5;
}
}
- part { name: "elm.swallow.icon";
+ part {
+ name: "elm.swallow.icon";
type: SWALLOW;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 45 45;
fixed: 1 1;
rel1 {
align: 0.5 0.5;
}
}
- part { name: "elm.text.title";
+ part {
+ name: "elm.text.title";
type: TEXT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
align: 0.0 0.5;
fixed: 0 1;
rel1 {
align: 0.0 0.5;
}
}
- description { state: "selected" 0.0;
+ description {
+ state: "short" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ to: "elm.rect.text.content";
+ to_y: "elm.rect.text.title";
+ }
+ rel2 {
+ to: "elm.rect.text.content";
+ to_y: "elm.rect.text.title";
+ }
+ }
+ description {
+ state: "selected" 0.0;
inherit: "default" 0.0;
}
}
- part { name: "elm.text.time";
+
+ part {
+ name: "elm.text.count";
type: TEXT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
align: 1.0 0.5;
+ fixed: 0 1;
+ min: 0 38;
rel1 {
- to:"elm.rect.text.progress";
+ to:"elm.rect.text.title";
}
rel2 {
- to:"elm.rect.text.progress";
+ to:"elm.rect.text.title";
+
}
color_class: QP_ONGOING_PROGRESS_RATE_COLOR;
text {
font: "Tizen:style=Regular";
text_class: "tizen";
size: QP_ONGOING_PROGRESS_RATE_FONT_SIZE;
+ ellipsis: 0.0;
align: 1.0 0.5;
}
}
- description { state: "selected" 0.0;
+ description {
+ state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible:1;
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible:0;
+ }
+ description {
+ state: "selected" 0.0;
inherit: "default" 0.0;
}
}
- part { name: "elm.text.content";
+ part {
+ name: "elm.text.time";
type: TEXT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
+ align: 1.0 0.5;
+ rel1 {
+ to:"elm.rect.text.title";
+ }
+ rel2 {
+ to:"elm.rect.text.title";
+ }
+ color_class: QP_ONGOING_PROGRESS_RATE_COLOR;
+ text {
+ font: "Tizen:style=Regular";
+ text_class: "tizen";
+ size: QP_ONGOING_PROGRESS_RATE_FONT_SIZE;
+ align: 1.0 0.5;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part {
+ name: "elm.text.content";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
align: 0.0 0.5;
fixed: 0 1;
rel1 {
visible: 1;
}
}
- part { name: "elm.swallow.progress";
+ part {
+ name: "elm.swallow.progress";
type: SWALLOW;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
rel1 {
to: "elm.rect.progress";
}
action: SIGNAL_EMIT "selected" "edje";
}
#endif
+
+ program{
+ name: "content.long";
+ signal: "content.long";
+ source: "prog";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text.title";
+ }
+ program{
+ name: "content.short";
+ signal: "content.short";
+ source: "prog";
+ action: STATE_SET "short" 0.0;
+ target: "elm.text.title";
+ }
+ program{
+ name: "count.show";
+ signal: "count.show";
+ source: "prog";
+ action: STATE_SET "show" 0.0;
+ target: "elm.text.count";
+ }
+ program{
+ name: "count.hide";
+ signal: "count.hide";
+ source: "prog";
+ action: STATE_SET "hide" 0.0;
+ target: "elm.text.count";
+ }
+
}
}
styles {
style {
name: "ongoing_event_content_text";
- base: "font=Tizen:style=Regular text_class=tizen align=left valign=0.5 font_size="QP_ONGOING_EVENT_CONTENTS_FONT_SIZE" ellipsis=1.0 color=#FFFFFF color_class="QP_ONGOING_EVENT_CONTENTS_COLOR" wrap=none";
+ base: "font=Tizen:style=Regular text_class=tizen align=left valign=0.5 font_size="QP_ONGOING_EVENT_CONTENTS_FONT_SIZE" ellipsis=1.0 color=#2B2B2BFF color_class="QP_ONGOING_EVENT_CONTENTS_COLOR" wrap=none";
}
}
parts {
- part { name: "background";
+ part {
+ name: "background";
type: SPACER;
scale: 1;
description {
}
}
- part { name: "seperator.top";
+ part {
+ name: "seperator.top";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "seperator.left";
+ part {
+ name: "seperator.left";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "seperator.right";
+ part {
+ name: "seperator.right";
type: SPACER;
scale: 1;
description {
align: 1.0 0.0;
}
}
- part { name: "base";
+ part {
+ name: "base";
type: SPACER;
scale: 1;
description {
}
}
- part { name: "bgcolor";
+ part {
+ name: "bgcolor";
type: "RECT";
mouse_events: 0;
description {
}
}
- part { name: "elm.padding.right";
+ part {
+ name: "elm.padding.right";
type: SPACER;
scale: 1;
description {
align: 1.0 0.0;
}
}
- part { name: "elm.padding.top.icon";
+ part {
+ name: "elm.padding.top.icon";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
- min: 0 25;
- fixed: 0 1;
+ //min: 0 BOX_ICON_TOP_PADDING;
+ //fixed: 0 1;
rel1.to:"base";
rel2.to:"base";
rel1.relative: 0.0 0.0;
description {
state: "line1" 0.0;
inherit: "default" 0.0;
- min: 0 25;
+ //min: 0 BOX_ICON_TOP_PADDING;
}
description {
state: "line2" 0.0;
inherit: "default" 0.0;
- min: 0 25;
+ min: 0 2BOX_ICON_PADDING_H5;
}
description {
state: "line3" 0.0;
min: 0 35;
}
}
- part { name: "elm.padding.left.icon";
+ part {
+ name: "elm.padding.left.icon";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "elm.padding.top.text";
+ part {
+ name: "elm.padding.top.text";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
- min: 0 13;
+ min: 0 BOX_TEXT_TOP_PADDING;
fixed: 0 1;
rel1.to:"base";
rel2.to:"base";
description {
state: "line1" 0.0;
inherit: "default" 0.0;
- min: 0 13;
+ min: 0 BOX_TEXT_TOP_PADDING;
}
description {
state: "line2" 0.0;
min: 0 12;
}
}
- part { name: "elm.padding.bottom.text";
+ part {
+ name: "elm.padding.bottom.text";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
- min: 0 13;
+ min: 0 BOX_TEXT_TOP_PADDING;
fixed: 0 1;
rel1.to:"base";
rel2.to:"base";
description {
state: "line1" 0.0;
inherit: "default" 0.0;
- min: 0 13;
+ min: 0 BOX_TEXT_TOP_PADDING;
}
description {
state: "line2" 0.0;
min: 0 0; //19
}
}
- part { name: "elm.padding.left.title";
+ part {
+ name: "elm.padding.left.title";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
- min: (15 + 46 + 15) 0;
+ min: (15 + BOX_ICON_SIZE_W + 15) 0;
fixed: 1 0;
rel1.to:"base";
rel2.to:"base";
scale: 1;
description {
state: "default" 0.0;
- min: (15 + 46 + 15) 0;
+ min: (15 + BOX_ICON_SIZE_W + 15) 0;
fixed: 1 0;
rel1.to:"base";
rel2.to:"base";
align: 0.0 0.0;
}
}
- part { name: "elm.rect.thumbnail";
+ part {
+ name: "elm.rect.thumbnail";
type: SPACER;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
- min: 46 46;
+ description {
+ state: "default" 0.0;
+ min: BOX_ICON_SIZE_W BOX_ICON_SIZE_W;
fixed: 1 1;
rel1 {
relative: 1.0 1.0;
align: 0.0 0.0;
}
}
- part { name: "elm.rect.icon";
+ part {
+ name: "elm.rect.icon";
type: SPACER;
mouse_events: 0;
scale: 1;
align: 0.0 0.0;
}
}
- part { name: "elm.rect.text.title";
+ part {
+ name: "elm.rect.text.title";
type: SPACER;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 0 38;
fixed: 0 1;
rel1 {
align: 0.0 0.5;
}
}
- part { name: "elm.rect.text.content";
+ part {
+ name: "elm.rect.text.content";
type: SPACER;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
- min: 0 32;
+ description {
+ state: "default" 0.0;
+ min: 35 35;
fixed: 0 1;
rel1 {
relative: 1.0 1.0;
align: 0.0 0.0;
}
}
- part { name: "elm.swallow.thumbnail";
+ part {
+ name: "masking";
+ type: IMAGE;
+ precise_is_inside: 1;
+ description {
+ state: "default" 0.0;
+ min: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_W;
+ fixed : 1 1;
+ rel1 {
+ relative: 0.5 0.5;
+ to: "elm.rect.thumbnail";
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ to: "elm.rect.thumbnail";
+ }
+ image.normal: "quick_button_icon_bg.png";
+ }
+ }
+ part {
+ name: "elm.swallow.thumbnail";
type: SWALLOW;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ clip_to: "masking";
+ description {
+ state: "default" 0.0;
min: BOX_ICON_SIZE_W BOX_ICON_SIZE_W;
max: BOX_ICON_BG_SIZE_W BOX_ICON_BG_SIZE_W;
fixed: 1 1;
rel1 {
+ relative: 0.5 0.5;
to: "elm.rect.thumbnail";
}
rel2 {
+ relative: 0.5 0.5;
to: "elm.rect.thumbnail";
}
align: 0.5 0.5;
}
}
- part { name: "elm.swallow.icon";
+ part {
+ name: "elm.swallow.icon";
type: SWALLOW;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
- min: 46 46;
+ description {
+ state: "default" 0.0;
+ min: BOX_ICON_SIZE_W BOX_ICON_SIZE_W;
fixed: 1 1;
rel1 {
relative: 0.5 0.5;
align: 0.5 0.5;
}
}
- part { name: "elm.text.title";
+ part {
+ name: "elm.text.title";
type: TEXT;
mouse_events: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
align: 0.0 0.0;
fixed: 0 1;
rel1 {
align: 0.0 0.5;
}
}
- description { state: "selected" 0.0;
+ description {
+ state: "selected" 0.0;
inherit: "default" 0.0;
}
}
- part { name: "elm.text.content";
+ part {
+ name: "elm.text.content";
type: TEXTBLOCK;
mouse_events: 0;
multiline: 0;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
align: 0.0 0.0;
fixed: 1 1;
- min: 0 30;
+ min: 34 34;
max: -1 30;
rel1 {
to: "elm.rect.text.content";
description {
state: "line1" 0.0;
inherit: "default" 0.0;
- min: 0 30;
- max: -1 30;
+ min: 0 34;
+ max: -1 34;
}
description {
state: "line2" 0.0;
inherit: "default" 0.0;
- min: 0 60; //68
- max: -1 60;
+ min: 0 68; //68
+ max: -1 68;
}
description {
state: "line3" 0.0;
inherit: "default" 0.0;
- min: 0 90; //102
- max: -1 90;
+ min: 0 102; //102
+ max: -1 102;
}
}
part {
//#define DEBUG
//#define DEBUG_TEXT
- group { name: "quickpanel/minictrl/default";
+ group {
+ name: "quickpanel/minictrl/default";
data.item: "bgcolor" QP_THEME_BANDED_COLOR;
parts {
- part { name: "base";
+ part {
+ name: "base";
type: SPACER;
repeat_events: 1;
scale: 1;
description {
state: "default" 0.0;
min: 480 QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT;
- max: 800 QP_THEME_LIST_ITEM_MINICONTRL_HEIGHT + QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT;
fixed: 0 1;
rel1 {
relative: 0.0 0.0;
align: 0.0 0.0;
}
}
- part { name: "elm.padding.top";
+ part {
+ name: "elm.padding.top";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "elm.padding.left.bg";
+ part {
+ name: "elm.padding.left.bg";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "elm.padding.right.bg";
+ part {
+ name: "elm.padding.right.bg";
type: SPACER;
scale: 1;
description {
align: 1.0 0.0;
}
}
- part { name: "elm.padding.top.bg";
+ part {
+ name: "elm.padding.top.bg";
type: SPACER;
scale: 1;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
min: 0 QP_THEME_LIST_ITEM_SEPERATOR_HEIGHT;
fixed: 0 1;
rel1.to:"base";
align: 0.0 0.0;
}
}
- part { name: "elm.content.bg";
+ part {
+ name: "elm.content.bg";
type: RECT;
scale: 1;
description {
color: 0 0 0 0;
}
}
- part { name: "bgcolor";
+ part {
+ name: "bgcolor";
type: "RECT";
mouse_events: 0;
description {
}
}
QUICKPANEL_FOCUS_OBJECT("focus", "elm.content.bg", "elm.content.bg")
- part { name: "elm.padding.left";
+ part {
+ name: "elm.padding.left";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "elm.padding.right";
+ part {
+ name: "elm.padding.right";
type: SPACER;
scale: 1;
description {
align: 1.0 0.0;
}
}
- part { name: "elm.icon";
+ part {
+ name: "elm.icon";
type: SWALLOW;
mouse_events: 1;
scale: 1;
description {
state: "default" 0.0;
align: 0.0 0.0;
- min: 480 135;
- max: 800 135;
+ min: 480 140;
rel1 {
to: "elm.content.bg";
}
}
}
}
- part { name: "elm.padding.bottom";
+ part {
+ name: "elm.padding.bottom";
type: SPACER;
scale: 1;
description {
target: "elm.content.bg";
}
}
- }
\ No newline at end of file
+ }
#define QP_THEME_LIST_TITLE_FONT_SIZE 27
#define QP_THEME_LIST_OPTION_FONT_COLOR "ATO006"
-#define QP_THEME_LIST_OPTION_PRESS_FONT_COLOR "ATO006P"
+#define QP_THEME_LIST_OPTION_PRESS_FONT_COLOR "ATO006P"
#define QP_THEME_LIST_OPTION_FONT_SIZE 27
#define QP_THEME_LIST_OPTION_ICON_PRESS_COLOR "AO005"
//Properties of "notifications (x) label in clear all notifications item"
#define QP_CLEAR_ALL_NOTIFICATIONS_LABEL_FONT_NAME "Tizen:style=Regular"
-#define QP_CLEAR_ALL_NOTIFICATIONS_LABEL_FONT_COLOR "T027L1"
+//#define QP_CLEAR_ALL_NOTIFICATIONS_LABEL_FONT_COLOR "T023"
+#define QP_CLEAR_ALL_NOTIFICATIONS_LABEL_FONT_COLOR "A03O003L1"
#define QP_CLEAR_ALL_NOTIFICATIONS_LABEL_FONT_SIZE 27
#define QP_CLEAR_ALL_NOTIFICATIONS_STR_X_OFFSET 17 //x offset of "notifications(x)" string
+#define QP_CLEAR_ALL_BASE_BG_COLOR "AO021"
//Properties of clear all button
#define QP_CLEAR_ALL_CLEAR_ALL_BTN_TEXT_FONT_NAME "Tizen:style=Regular"
-#define QP_CLEAR_ALL_CLEAR_ALL_BTN_FONT_COLOR "T027L2"
+#define QP_CLEAR_ALL_CLEAR_ALL_BTN_FONT_COLOR "T112"
#define QP_CLEAR_ALL_CLEAR_ALL_BTN_FONT_COLOR_PRESSED "ATO006P"
#define QP_CLEAR_ALL_CLEAR_ALL_BTN_FONT_COLOR_DIM "ATO006D"
-#define QP_CLEAR_ALL_CLEAR_ALL_BTN_FONT_SIZE 27
-#define QP_CLEAR_ALL_CLEAR_ALL_BTN_BG_COLOR "W021L1"
-#define QP_CLEAR_ALL_CLEAR_ALL_BTN_BG_COLOR_PRESSED "AO021P"
+#define QP_CLEAR_ALL_CLEAR_ALL_BTN_FONT_SIZE 20
+#define QP_CLEAR_ALL_CLEAR_ALL_BTN_BG_COLOR "A03O003L1"
+#define QP_CLEAR_ALL_CLEAR_ALL_BTN_BG_COLOR_PRESSED "B0517P"
//Properties of separator betwen notifiactions label and clear all button
#define QP_NOTIFICATIONS_SEP_X_OFFSET -235 //separator between "notification(x) | Clear all" button
images {
image: "icon_arrow_up.png" COMP;
image: "icon_arrow_down.png" COMP;
+ image: "core_icon_badge_container.#.png" COMP;
}
- group { name: "quickpanel/notisection/default";
+ group {
+ name: "quickpanel/notisection/default";
parts {
- part { name: "base";
+ part {
+ name: "base";
type: RECT;
repeat_events: 1;
scale: 1;
visible: QP_THEME_BG_VISIBILITY;
}
}
-
QUICKPANEL_FOCUS_OBJECT("focus.label", "base", "base")
- part { name: "elm.padding.left";
+ part {
+ name: "elm.padding.left";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "elm.padding.right";
+ part {
+ name: "elm.padding.right";
type: SPACER;
scale: 1;
description {
align: 1.0 0.0;
}
}
- part { name: "elm.padding.top";
+ part {
+ name: "elm.padding.top";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "elm.padding.bottom";
+ part {
+ name: "elm.padding.bottom";
type: SPACER;
scale: 1;
description {
align: 0.0 1.0;
}
}
- part { name: "elm.padding.top.button";
+ part {
+ name: "elm.padding.top.button";
type: SPACER;
scale: 1;
description {
align: 0.0 0.0;
}
}
- part { name: "elm.padding.bottom.button";
+ part {
+ name: "elm.padding.bottom.button";
type: SPACER;
scale: 1;
description {
align: 0.0 1.0;
}
}
- part { name: "elm.rect.text";
+ part {
+ name: "elm.rect.text";
type: SPACER;
scale: 1;
description {
align: 0.0 1.0;
}
}
- part { name: "elm.text.text";
+ part {
+ name: "elm.text.text";
type: TEXT;
scale: 1;
description {
}
}
- part { name: "elm.rect.icon";
+ part {
+ name: "elm.rect.icon";
type: SPACER;
scale: 1;
description {
align: 1.0 0.0;
}
}
- part { name: "text.clear";
+ part {
+ name: "text.clear";
type: TEXT;
scale: 1;
description {
visible: 1;
}
}
- part { name: "rect.text.touch";
+ part {
+ name: "rect.text.touch";
type: RECT;
scale: 1;
mouse_events: 1;
part {
name: "base";
type: RECT;
- repeat_events: 1;
scale: 1;
description
{
relative: 1.0 1.0;
}
align: 0.0 0.0;
- color_class: QP_CLEAR_ALL_CLEAR_ALL_BTN_BG_COLOR;
+ color_class: QP_CLEAR_ALL_BASE_BG_COLOR;
visible: 1;
}
}
-
- QUICKPANEL_FOCUS_OBJECT("focus.label", "base", "base")
-
part {
name: "notisection.padding.left";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
- min: 23 0;
+ min: 17 0;
fixed: 1 0;
align: 1.0 0.0;
rel1 {
part {
name: "underline";
type: RECT;
- repeat_events: 1;
scale: 1;
description {
state: "default" 0.0;
part {
name: "noti.clear.all.separator";
type: RECT;
- repeat_events: 1;
scale: 1;
description {
state: "default";
}
align: 1.0 0.5;
- visible: 1;
+ visible: 0;
}
description
{
scale: 1;
description {
state: "default" 0.0;
- min: 14 0;
+ min: 17 0;
fixed: 1 0;
align: 1.0 0.0;
rel1 {
}
color_class: QP_CLEAR_ALL_NOTIFICATIONS_LABEL_FONT_COLOR;
-
text {
font: QP_CLEAR_ALL_NOTIFICATIONS_LABEL_FONT_NAME;
size: QP_CLEAR_ALL_NOTIFICATIONS_LABEL_FONT_SIZE;
}
part {
name: "rect.button.clear_all";
- type: RECT;
+ type: IMAGE;
scale: 1;
- mouse_events: 1;
description {
state: "default" 0.0;
+ min: 75 36;
+ max: 130 36;
+ fixed: 1 1;
rel1 {
- to: "clear_all.padding.left";
relative: 0.0 0.0;
}
rel2 {
to_x: "notisection.padding.right";
to_y: "underline";
- relative: 1.0 0.0;
+ relative: 0.0 0.0;
}
+ image {
+ normal:"core_icon_badge_container.#.png";
+ }
color_class: QP_CLEAR_ALL_CLEAR_ALL_BTN_BG_COLOR;
-
- align: 0.5 0.5;
+ align: 1.0 0.5;
visible: 1;
}
description
visible: 0;
}
}
+
part {
name: "text.button.clear_all";
type: TEXT;
- repeat_events: 1;
scale: 1;
description
{
state: "default" 0.0;
- min: 98 36;
- max: 160 36;
+ min: 75 36;
+ max: 130 36;
fixed: 0 1;
- align: 1.0 0.5;
+ align: 0.5 0.0;
rel1 {
- to_x: "base";
- to_y: "notisection.padding.right";
- relative: 0.5 0.5;
+ to: "rect.button.clear_all";
+ relative: 0.0 0.0;
}
rel2 {
to: "notisection.padding.right";
- relative: 0.0 0.5;
+ relative: 0.0 1.0;
}
color_class: QP_CLEAR_ALL_CLEAR_ALL_BTN_FONT_COLOR;
text {
scale: 1;
description {
state: "default" 0.0;
- min: 14 0;
+ min: 17 0;
fixed: 1 0;
align: 1.0 0.0;
rel1 {
}
}
}
-
QUICKPANEL_FOCUS_OBJECT("focus", "rect.button.clear_all", "rect.button.clear_all")
}
programs
}
}
- group { name: "quickpanel/seperator/default";
+ group {
+ name: "quickpanel/seperator/default";
parts {
part { name: "base";
type: RECT;
}
}
}
- }
\ No newline at end of file
+ }
}
}
- group { name: "quickpanel/page_edit_base";
+ group {
+ name: "quickpanel/page_edit_base";
parts {
part {
name: "background";
}
}
}
- group { name: "quickpanel/page_edit";
+ group {
+ name: "quickpanel/page_edit";
parts {
part {
name: "background";
}
}
- group { name: "quickpanel/page_edit_section";
+ group {
+ name: "quickpanel/page_edit_section";
parts {
part {
name: "background";
#include "quickpanel_def.h"
+#include "color_classes.edc"
#define SETTING_ALL_BG_COLOR "AO001"
#define SETTING_ALL_SECTION_TEXT_COLOR "ATO006"
- group { name: "quickpanel/page_setting_all_base";
+ group {
+ name: "quickpanel/page_setting_all_base";
parts {
part {
name: "background";
}
}
}
- group { name: "quickpanel/page_setting_all";
+ group {
+ name: "quickpanel/page_setting_all";
parts {
part {
name: "background";
image: "quick_button_over_land.png" COMP;
image: "quick_button_over.png" COMP;
image: "quick_menu_divide_highlight.png" COMP;
-
image: "quick_button_icon_bg.png" COMP;
}
max: -1 QP_SETTINGS_HEIGHT;
align: 0.0 0.0;
-
- color_class: QP_BACKGROUND_COLOR;
- visible: 1;
+ visible: 0;
}
description {
state: "landscape" 0.0;
to: "background";
relative: 1.0 0.0;
}
-
align: 0.5 0.0;
}
}
action: STATE_SET "portrait" 0.0;
target: "setting.margin.left";
target: "setting.margin.right";
+ target: "setting.container.swallow.wvga";
after: "background.default";
}
program {
action: STATE_SET "landscape" 0.0;
target: "setting.margin.left";
target: "setting.margin.right";
+ target: "setting.container.swallow.wvga";
target: "background";
}
}
signal: "mouse,up,1";
source: "background.super";
script{
- if (get_int(icon_state) == 1)
- {
+ if (get_int(icon_state) == 1) {
set_state(PART:"bg.image", "default", 0.0);
#ifdef ENABLE_COLOR_CLIP
set_state(PART:"color_clip", "on", 0.0);
#endif
- }
- else if (get_int(icon_state) == 2)
- {
+ } else if (get_int(icon_state) == 2) {
set_state(PART:"bg.image", "dimmed", 0.0);
#ifdef ENABLE_COLOR_CLIP
set_state(PART:"color_clip", "dim", 0.0);
#endif
- }
- else
- {
+ } else {
set_state(PART:"bg.image", "default", 0.0);
#ifdef ENABLE_COLOR_CLIP
set_state(PART:"color_clip", "off", 0.0);
*
*/
+#include "color_classes.edc"
collections
{
*
*/
+#include "color_classes.edc"
#define SLIDER_BASE_HEIGHT_INC 6
#define SLIDER_INDICATOR_SIZE_INC 42
#define SLIDER_SWALLOWBAR_HEIGHT_INC 42
-#define SLIDER_LEFT_RIGHT_PADDING_SIZE_INC 15 0
+#define SLIDER_LEFT_RIGHT_PADDING_SIZE_INC 20 0
#define SLIDER_ICON_PADDING_SIZE_INC 5 0
#define SLIDER_CENTER_POINT_SIZE_INC 10 24
#define SLIDER_POPUP_WIDTH_INC 80
#define SLIDER_POPUP_HEIGHT_INC 92
- group { name: "elm/slider/horizontal/indicator/quickpanel_style";
- images {
- image: "core_slider_handle_normal.png" COMP;
- image: "core_slider_handle_press.png" COMP;
- }
- parts {
- part { name: "access";
- type: RECT;
- description { state: "default" 0.0;
- fixed: 1 1;
- color: 0 0 0 0;
- }
- }
- part { name: "button_events";
- type: RECT;
- mouse_events: 1;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- min: 2*SLIDER_INDICATOR_SIZE_INC 1.5*SLIDER_INDICATOR_SIZE_INC;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- color: 0 0 0 0;
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part { name: "button0";
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- min: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
- max: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
- image {
- normal: "core_slider_handle_normal.png";
- }
- color_class: "AO005L3";
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- color_class: "AO004D";
- visible: 1;
- }
- }
- part { name: "button0_press";
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- min: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
- max: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
- image {
- normal: "core_slider_handle_press.png";
- }
- color_class: "AO005L4";
- visible: 0;
- }
- description { state: "pressed" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- }
- programs {
- program { name: "mouse_down";
- signal: "mouse,down,*";
- source: "button_events";
- action: STATE_SET "pressed" 0.0;
- target: "button0_press";
- }
- program { name: "mouse_up";
- signal: "mouse,up,*";
- source: "button_events";
- action: STATE_SET "default" 0.0;
- target: "button0_press";
- }
- program { name: "slider_disable";
- signal: "elm,state,disabled";
- source: "elm";
- action: STATE_SET "disabled" 0.0;
- target: "button0";
- target: "button_events";
- }
- program { name: "slider_enable";
- signal: "elm,state,enabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "button0";
- target: "button_events";
- }
- }
- }
+group {
+ name: "elm/slider/horizontal/indicator/quickpanel_style";
+ images {
+ image: "core_slider_handle_normal.png" COMP;
+ image: "core_slider_handle_press.png" COMP;
+ }
+ parts {
+ part {
+ name: "access";
+ type: RECT;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "button_events";
+ type: RECT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ min: 2*SLIDER_INDICATOR_SIZE_INC 1.5*SLIDER_INDICATOR_SIZE_INC;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ color: 0 0 0 0;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "button0";
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ min: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
+ max: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
+ image {
+ normal: "core_slider_handle_normal.png";
+ }
+ color_class: "AO005L3";
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color_class: "AO004D";
+ visible: 1;
+ }
+ }
+ part {
+ name: "button0_press";
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ min: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
+ max: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
+ image {
+ normal: "core_slider_handle_press.png";
+ }
+ color_class: "AO005L4";
+ visible: 0;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "mouse_down";
+ signal: "mouse,down,*";
+ source: "button_events";
+ action: STATE_SET "pressed" 0.0;
+ target: "button0_press";
+ }
+ program { name: "mouse_up";
+ signal: "mouse,up,*";
+ source: "button_events";
+ action: STATE_SET "default" 0.0;
+ target: "button0_press";
+ }
+ program { name: "slider_disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "button0";
+ target: "button_events";
+ }
+ program { name: "slider_enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "button0";
+ target: "button_events";
+ }
+ }
+}
-group { name: "elm/slider/horizontal/quickpanel_style";
- images {
- image: "core_progressbar_bg.#.png" COMP;
- image: "core_progress_bar.#.png" COMP;
- image: "core_slider_center_point_bg.png" COMP;
- }
- script {
- public invert_on = 0;
- public popup_show = 1;
- public show = 0;
- public set_popup_show() {
- set_int(popup_show, 1);
- }
- public set_popup_hide() {
- set_int(popup_show, 0);
- }
- public set_invert_on() {
- set_state(PART:"level", "inverted", 0.0);
- set_state(PART:"level2", "inverted", 0.0);
- set_int(invert_on, 1);
- }
- public set_invert_off() {
- set_state(PART:"level", "default", 0.0);
- set_state(PART:"level2", "default", 0.0);
- set_int(invert_on, 0);
- }
- public thumb_down() {
- if (get_int(invert_on) == 0) {
- set_state(PART:"level", "pressed", 0.0);
- set_state(PART:"level2", "pressed", 0.0);
- }
- if (get_int(popup_show) == 1)
- emit("popup,show", "elm");
- }
- public thumb_up() {
- if (get_int(invert_on) == 0) {
- set_state(PART:"level", "default", 0.0);
- set_state(PART:"level2", "default", 0.0);
- }
- if (get_int(popup_show) == 1)
- emit("popup,hide", "elm");
- }
- public drag_state() {
- new Float:dx, Float:dy;
- get_drag(PART:"elm.dragable.slider", dx, dy);
- if (dx > 0.5) {
- set_state(PART:"level", "default", 0.0);
- set_state(PART:"level2", "default", 0.0);
- set_int(invert_on, 0);
- }
- else {
- set_state(PART:"level", "inverted", 0.0);
- set_state(PART:"level2", "inverted", 0.0);
- set_int(invert_on, 1);
- }
- }
- public message(Msg_Type:type, id, ...) {
- if (type == MSG_FLOAT_SET) {
- new Float:ratio;
- ratio = getfarg(2);
- if (id == 1) {
- custom_state(PART:"left_restrict", "default", 0.0);
- set_state_val(PART:"left_restrict", STATE_REL2, ratio, 0.0);
- set_state(PART:"left_restrict", "custom", 0.0);
- }
- else if (id == 2) {
- custom_state(PART:"right_restrict", "default", 0.0);
- set_state_val(PART:"right_restrict", STATE_REL1, 1.0 - ratio, 0.0);
- set_state(PART:"right_restrict", "custom", 0.0);
- }
- }
- }
- }
- parts {
- part { name: "access";
- type: RECT;
- description { state: "default" 0.0;
- fixed: 1 1;
- color: 0 0 0 0;
- }
- }
- part {
- name: "bg";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 SLIDER_SWALLOWBAR_HEIGHT_INC;
- }
- }
- part { name: "elm.swallow.icon";
- type: SWALLOW;
- clip_to: "icon_clipper";
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- align: 0.0 0.5;
- max: SLIDER_SWALLOWBAR_HEIGHT_INC SLIDER_SWALLOWBAR_HEIGHT_INC;
- rel1 {
- relative: 0.0 0.0;
- to: "bg";
- }
- rel2 {
- relative: 0.0 1.0;
- to: "bg";
- }
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part {
- name: "bar_icon_right_padding_1";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.0 0.5;
- min: 0 0;
- max: 0 0;
- rel1 {
- relative: 1.0 0.0;
- to: "elm.swallow.icon";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "elm.swallow.icon";
- }
- fixed: 1 1;
- }
- description { state: "visible";
- inherit: "default" 0.0;
- min: SLIDER_ICON_PADDING_SIZE_INC;
- max: SLIDER_ICON_PADDING_SIZE_INC;
- }
- }
- part {
- name: "bar_icon_right_padding_2";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.0 0.5;
- min: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
- max: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
- rel1 {
- relative: 1.0 0.0;
- to: "bar_icon_right_padding_1";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "bar_icon_right_padding_1";
- }
- fixed: 1 1;
- }
- }
- part { name: "left_restrict";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 SLIDER_BASE_HEIGHT_INC;
- max: -1 SLIDER_BASE_HEIGHT_INC;
- fixed: 1 1;
- rel1 {
- to: "base";
- relative: 0.0 0.0;
- }
- rel2 {
- to: "base";
- relative: 0.0 1.0;
- }
- align: 0.0 0.5;
- }
- }
- part { name: "right_restrict";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 SLIDER_BASE_HEIGHT_INC;
- max: -1 SLIDER_BASE_HEIGHT_INC;
- rel1 {
- to: "base";
- relative: 1.0 0.0;
- }
- rel2 {
- to: "base";
- relative: 1.0 1.0;
- }
- }
- }
- part { name: "base";
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 SLIDER_BASE_HEIGHT_INC;
- max: -1 SLIDER_BASE_HEIGHT_INC;
- rel1 {
- to: "bar_icon_right_padding_2";
- relative: 1.0 0.0;
- }
- rel2 {
- to: "bar_image_right_padding";
- relative: 0.0 1.0;
- }
- fixed: 0 1;
- image.normal: "core_progressbar_bg.#.png";
- color: 255 255 255 255;
- color_class: "AO005L1";
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- color: 255 255 255 128;
- //color_class: "AO005L1D";
- }
- }
- part { name: "drag_base";
- type: "SPACER";
- description { state: "default" 0.0;
- min: 0 SLIDER_SWALLOWBAR_HEIGHT_INC;
- rel1 {
- to_x: "left_restrict";
- to_y: "bg";
- relative: 1.0 0.0;
- offset: -SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
- }
- rel2 {
- to_x: "right_restrict";
- to_y: "bg";
- relative: 0.0 1.0;
- offset: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
- }
- fixed: 1 1;
- }
- }
- part { name: "level";
- mouse_events: 0;
- scale: 1;
- clip_to: "clipper";
- description { state: "default" 0.0;
- rel1 {
- to_x: "bar_icon_right_padding_2";
- relative: 1.0 0.0;
- }
- rel2 {
- to_x: "elm.dragable.slider";
- relative: 0.5 1.0;
- }
- fixed: 1 1;
- min: 0 SLIDER_BASE_HEIGHT_INC;
- max: -1 SLIDER_BASE_HEIGHT_INC;
- image.normal: "core_progressbar_bg.#.png";
- }
- description { state: "inverted" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part { name: "level2";
- mouse_events: 0;
- scale: 1;
- clip_to: "clipper";
- description { state: "default" 0.0;
- fixed: 1 1;
- visible: 0;
- rel1 {
- to_y: "base";
- to_x: "elm.dragable.slider";
- relative: 0.5 0.0;
- }
- rel2.to: "base";
- image.normal: "core_progressbar_bg.#.png";
- }
- description { state: "inverted" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part {
- name: "bar_image_right_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
- max: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- to: "bg";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "bg";
- }
- align: 1.0 0.5;
- }
- }
- part { name: "icon_clipper";
- scale: 1;
- type: RECT;
- description { state: "default" 0.0;
- color_class: "W0661";
- }
- description { state: "disabled" 0.0;
- color_class: "W0661D";
- }
- }
- part { name: "elm.swallow.bar";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 SLIDER_SWALLOWBAR_HEIGHT_INC;
- max: -1 SLIDER_SWALLOWBAR_HEIGHT_INC;
- fixed: 0 1;
- rel1 {
- to: "bar_icon_right_padding_2";
- relative: 1.0 0.0;
- }
- rel2 {
- to: "bar_image_right_padding";
- relative: 0.0 1.0;
- }
- }
- }
- part { name:"center_point";
- scale: 1;
- description { state: "default" 0.0;
- min: SLIDER_CENTER_POINT_SIZE_INC;
- max: SLIDER_CENTER_POINT_SIZE_INC;
- visible: 0;
- image.normal: "core_slider_center_point_bg.png";
- rel1.to: "base";
- rel2.to: "base";
- fixed: 0 1;
- color_class: "W062L1";
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- color_class: "W062L1D";
- }
- }
- part { name: "elm.track.slider";
- type: SWALLOW;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 SLIDER_POPUP_HEIGHT_INC;
- max: -1 SLIDER_POPUP_HEIGHT_INC;
- align: 0.5 1.0;
- fixed: 0 1;
- rel1.to: "elm.dragable.slider";
- rel1.offset: 0 8;
- rel2 {
- relative: 1.0 0.0;
- to: "elm.dragable.slider";
- offset: 0 8;
- }
- }
- }
- part { name: "elm.dragable.slider";
- type: GROUP;
- source: "elm/slider/horizontal/indicator/quickpanel_style";
- mouse_events: 1;
- scale: 1;
- dragable {
- x: 1 1 0;
- y: 0 0 0;
- confine: "drag_base";
- }
- description { state: "default" 0.0;
- min: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
- fixed: 1 1;
- align: 0.5 0.5;
- rel1.to: "drag_base";
- rel1.relative: 0.5 0.5;
- rel2.to: "drag_base";
- rel2.relative: 0.5 0.5;
- color: 0 0 0 0;
- }
- }
- part { name: "disabler";
- type: RECT;
- mouse_events: 1;
- repeat_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- color: 0 0 0 0;
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part { name: "clipper";
- type: RECT;
- description { state: "default" 0.0;
- color_class: "AO005L2";
- }
- description { state: "pressed" 0.0;
- color_class: "AO005L2";
- }
- description { state: "disabled" 0.0;
- color_class: "AO004D";
- }
- }
- }
- programs {
- program { name: "invert_on";
- signal: "elm,state,inverted,on";
- source: "elm";
- script {
- set_invert_on();
- }
- }
- program { name: "invert_off";
- signal: "elm,state,inverted,off";
- source: "elm";
- script {
- set_invert_off();
- }
- }
- program { name: "val_show";
- signal: "mouse,down,*";
- source: "elm.dragable.slider";
- script {
- thumb_down();
- }
- }
- program { name: "val_hide";
- signal: "mouse,up,*";
- source: "elm.dragable.slider";
- script {
- thumb_up();
- }
- }
- program { name: "popup_show";
- signal: "elm,state,val,show";
- source: "elm";
- script {
- set_popup_show();
- }
- }
- program { name: "popup_hide";
- signal: "elm,state,val,hide";
- source: "elm";
- script {
- set_popup_hide();
- }
- }
- program { name: "icon_show";
- signal: "elm,state,icon,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.swallow.icon";
- target: "bar_icon_right_padding_1";
- }
- program { name: "center_point_enable";
- signal: "slider,center,point,show";
- source: "elm";
- script {
- set_state(PART:"center_point", "visible", 0.0);
- set_int(show, 1);
- }
- }
- program { name: "center_point_disable";
- signal: "slider,center,point,hide";
- source: "elm";
- script {
- set_state(PART:"center_point", "default", 0.0);
- set_int(show, 0);
- }
- }
- program { name: "slider_disable";
- signal: "elm,state,disabled";
- source: "elm";
- script {
- if (get_int(show))
- set_state(PART:"center_point", "disabled", 0.0);
- set_state(PART:"disabler", "disabled", 0.0);
- set_state(PART:"icon_clipper", "disabled", 0.0);
- set_state(PART:"clipper", "disabled", 0.0);
- set_state(PART:"base", "disabled", 0.0);
- }
- }
- program { name: "slider_enable";
- signal: "elm,state,enabled";
- source: "elm";
- script {
- if (get_int(show))
- set_state(PART:"center_point", "default", 0.0);
- set_state(PART:"disabler", "default", 0.0);
- set_state(PART:"icon_clipper", "default", 0.0);
- set_state(PART:"clipper", "default", 0.0);
- set_state(PART:"base", "default", 0.0);
- }
- }
- }
- }
+group {
+ name: "elm/slider/horizontal/quickpanel_style";
+ images {
+ image: "core_progressbar_bg.#.png" COMP;
+ image: "core_progress_bar.#.png" COMP;
+ image: "core_slider_center_point_bg.png" COMP;
+ }
+ script {
+ public invert_on = 0;
+ public popup_show = 1;
+ public show = 0;
+ public set_popup_show() {
+ set_int(popup_show, 1);
+ }
+ public set_popup_hide() {
+ set_int(popup_show, 0);
+ }
+ public set_invert_on() {
+ set_state(PART:"level", "inverted", 0.0);
+ set_state(PART:"level2", "inverted", 0.0);
+ set_int(invert_on, 1);
+ }
+ public set_invert_off() {
+ set_state(PART:"level", "default", 0.0);
+ set_state(PART:"level2", "default", 0.0);
+ set_int(invert_on, 0);
+ }
+ public thumb_down() {
+ if (get_int(invert_on) == 0) {
+ set_state(PART:"level", "pressed", 0.0);
+ set_state(PART:"level2", "pressed", 0.0);
+ }
+ if (get_int(popup_show) == 1) {
+ emit("popup,show", "elm");
+ }
+ }
+ public thumb_up() {
+ if (get_int(invert_on) == 0) {
+ set_state(PART:"level", "default", 0.0);
+ set_state(PART:"level2", "default", 0.0);
+ }
+ if (get_int(popup_show) == 1) {
+ emit("popup,hide", "elm");
+ }
+ }
+ public drag_state() {
+ new Float:dx, Float:dy;
+ get_drag(PART:"elm.dragable.slider", dx, dy);
+ if (dx > 0.5) {
+ set_state(PART:"level", "default", 0.0);
+ set_state(PART:"level2", "default", 0.0);
+ set_int(invert_on, 0);
+ }
+ else {
+ set_state(PART:"level", "inverted", 0.0);
+ set_state(PART:"level2", "inverted", 0.0);
+ set_int(invert_on, 1);
+ }
+ }
+ public message(Msg_Type:type, id, ...) {
+ if (type == MSG_FLOAT_SET) {
+ new Float:ratio;
+ ratio = getfarg(2);
+ if (id == 1) {
+ custom_state(PART:"left_restrict", "default", 0.0);
+ set_state_val(PART:"left_restrict", STATE_REL2, ratio, 0.0);
+ set_state(PART:"left_restrict", "custom", 0.0);
+ } else if (id == 2) {
+ custom_state(PART:"right_restrict", "default", 0.0);
+ set_state_val(PART:"right_restrict", STATE_REL1, 1.0 - ratio, 0.0);
+ set_state(PART:"right_restrict", "custom", 0.0);
+ }
+ }
+ }
+ }
+ parts {
+ part {
+ name: "access";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "bg";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 SLIDER_SWALLOWBAR_HEIGHT_INC;
+ }
+ }
+ part {
+ name: "elm.swallow.icon";
+ type: SWALLOW;
+ clip_to: "icon_clipper";
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align: 0.0 0.5;
+ max: SLIDER_SWALLOWBAR_HEIGHT_INC SLIDER_SWALLOWBAR_HEIGHT_INC;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "bg";
+ }
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "bar_icon_right_padding_1";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.5;
+ min: 0 0;
+ max: 0 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "elm.swallow.icon";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "elm.swallow.icon";
+ }
+ fixed: 1 1;
+ }
+ description { state: "visible";
+ inherit: "default" 0.0;
+ min: SLIDER_ICON_PADDING_SIZE_INC;
+ max: SLIDER_ICON_PADDING_SIZE_INC;
+ }
+ }
+ part {
+ name: "bar_icon_right_padding_2";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.5;
+ min: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
+ max: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "bar_icon_right_padding_1";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "bar_icon_right_padding_1";
+ }
+ fixed: 1 1;
+ }
+ }
+ part {
+ name: "left_restrict";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 SLIDER_BASE_HEIGHT_INC;
+ max: -1 SLIDER_BASE_HEIGHT_INC;
+ fixed: 1 1;
+ rel1 {
+ to: "base";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "base";
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.5;
+ }
+ }
+ part {
+ name: "right_restrict";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 SLIDER_BASE_HEIGHT_INC;
+ max: -1 SLIDER_BASE_HEIGHT_INC;
+ rel1 {
+ to: "base";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to: "base";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part {
+ name: "base";
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 SLIDER_BASE_HEIGHT_INC;
+ max: -1 SLIDER_BASE_HEIGHT_INC;
+ rel1 {
+ to: "bar_icon_right_padding_2";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to: "bar_image_right_padding";
+ relative: 0.0 1.0;
+ }
+ fixed: 0 1;
+ image.normal: "core_progressbar_bg.#.png";
+ color: 255 255 255 255;
+ color_class: "AO005L1";
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color_class: "AO005L1D";
+ }
+ }
+ part {
+ name: "drag_base";
+ type: "SPACER";
+ description {
+ state: "default" 0.0;
+ min: 0 SLIDER_SWALLOWBAR_HEIGHT_INC;
+ rel1 {
+ to_x: "left_restrict";
+ to_y: "bg";
+ relative: 1.0 0.0;
+ offset: -SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
+ }
+ rel2 {
+ to_x: "right_restrict";
+ to_y: "bg";
+ relative: 0.0 1.0;
+ offset: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
+ }
+ fixed: 1 1;
+ }
+ }
+ part {
+ name: "level";
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "clipper";
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to_x: "bar_icon_right_padding_2";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to_x: "elm.dragable.slider";
+ relative: 0.5 1.0;
+ }
+ fixed: 1 1;
+ min: 0 SLIDER_BASE_HEIGHT_INC;
+ max: -1 SLIDER_BASE_HEIGHT_INC;
+ image.normal: "core_progressbar_bg.#.png";
+ }
+ description {
+ state: "inverted" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "level2";
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "clipper";
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ to_y: "base";
+ to_x: "elm.dragable.slider";
+ relative: 0.5 0.0;
+ }
+ rel2.to: "base";
+ image.normal: "core_progressbar_bg.#.png";
+ }
+ description {
+ state: "inverted" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "bar_image_right_padding";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
+ max: SLIDER_LEFT_RIGHT_PADDING_SIZE_INC;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ align: 1.0 0.5;
+ }
+ }
+ part { name: "icon_clipper";
+ scale: 1;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color_class: "W0661";
+ }
+ description {
+ state: "disabled" 0.0;
+ color_class: "W0661D";
+ }
+ }
+ part {
+ name: "elm.swallow.bar";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 SLIDER_SWALLOWBAR_HEIGHT_INC;
+ max: -1 SLIDER_SWALLOWBAR_HEIGHT_INC;
+ fixed: 0 1;
+ rel1 {
+ to: "bar_icon_right_padding_2";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to: "bar_image_right_padding";
+ relative: 0.0 1.0;
+ }
+ }
+ }
+ part {
+ name:"center_point";
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: SLIDER_CENTER_POINT_SIZE_INC;
+ max: SLIDER_CENTER_POINT_SIZE_INC;
+ visible: 0;
+ image.normal: "core_slider_center_point_bg.png";
+ rel1.to: "base";
+ rel2.to: "base";
+ fixed: 0 1;
+ color_class: "W062L1";
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color_class: "W062L1D";
+ }
+ }
+ part {
+ name: "elm.track.slider";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 SLIDER_POPUP_HEIGHT_INC;
+ max: -1 SLIDER_POPUP_HEIGHT_INC;
+ align: 0.5 1.0;
+ fixed: 0 1;
+ rel1.to: "elm.dragable.slider";
+ rel1.offset: 0 8;
+ rel2 {
+ relative: 1.0 0.0;
+ to: "elm.dragable.slider";
+ offset: 0 8;
+ }
+ }
+ }
+ part {
+ name: "elm.dragable.slider";
+ type: GROUP;
+ source: "elm/slider/horizontal/indicator/quickpanel_style";
+ mouse_events: 1;
+ scale: 1;
+ dragable {
+ x: 1 1 0;
+ y: 0 0 0;
+ confine: "drag_base";
+ }
+ description {
+ state: "default" 0.0;
+ min: SLIDER_INDICATOR_SIZE_INC SLIDER_INDICATOR_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "drag_base";
+ rel1.relative: 0.5 0.5;
+ rel2.to: "drag_base";
+ rel2.relative: 0.5 0.5;
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "disabler";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 0 0 0 0;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "clipper";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color_class: "AO005L2";
+ }
+ description {
+ state: "pressed" 0.0;
+ color_class: "AO005L2";
+ }
+ description {
+ state: "disabled" 0.0;
+ color_class: "AO004D";
+ }
+ }
+ }
+ programs {
+ program {
+ name: "invert_on";
+ signal: "elm,state,inverted,on";
+ source: "elm";
+ script {
+ set_invert_on();
+ }
+ }
+ program {
+ name: "invert_off";
+ signal: "elm,state,inverted,off";
+ source: "elm";
+ script {
+ set_invert_off();
+ }
+ }
+ program {
+ name: "val_show";
+ signal: "mouse,down,*";
+ source: "elm.dragable.slider";
+ script {
+ thumb_down();
+ }
+ }
+ program {
+ name: "val_hide";
+ signal: "mouse,up,*";
+ source: "elm.dragable.slider";
+ script {
+ thumb_up();
+ }
+ }
+ program {
+ name: "popup_show";
+ signal: "elm,state,val,show";
+ source: "elm";
+ script {
+ set_popup_show();
+ }
+ }
+ program {
+ name: "popup_hide";
+ signal: "elm,state,val,hide";
+ source: "elm";
+ script {
+ set_popup_hide();
+ }
+ }
+ program {
+ name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.icon";
+ target: "bar_icon_right_padding_1";
+ }
+ program {
+ name: "center_point_enable";
+ signal: "slider,center,point,show";
+ source: "elm";
+ script {
+ set_state(PART:"center_point", "visible", 0.0);
+ set_int(show, 1);
+ }
+ }
+ program {
+ name: "center_point_disable";
+ signal: "slider,center,point,hide";
+ source: "elm";
+ script {
+ set_state(PART:"center_point", "default", 0.0);
+ set_int(show, 0);
+ }
+ }
+ program {
+ name: "slider_disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ script {
+ if (get_int(show)) {
+ set_state(PART:"center_point", "disabled", 0.0);
+ }
+ set_state(PART:"disabler", "disabled", 0.0);
+ set_state(PART:"icon_clipper", "disabled", 0.0);
+ set_state(PART:"clipper", "disabled", 0.0);
+ set_state(PART:"base", "disabled", 0.0);
+ }
+ }
+ program {
+ name: "slider_enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ script {
+ if (get_int(show)) {
+ set_state(PART:"center_point", "default", 0.0);
+ }
+ set_state(PART:"disabler", "default", 0.0);
+ set_state(PART:"icon_clipper", "default", 0.0);
+ set_state(PART:"clipper", "default", 0.0);
+ set_state(PART:"base", "default", 0.0);
+ }
+ }
+ }
+}
+++ /dev/null
-/*
- * 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 TICKER_BG_COLOR "AO003"
-
-#define TICKERNOTI_MAIN_TEXT_HEIGHT_INC 1
-
-collections
-{
- base_scale: 1.8;
-
- group {
- name: "quickpanel/tickernoti/text";
- data {
- item: "height" TICKERNOTI_DEFAULT_BG_MIN_HEIGHT_INC;
- }
- styles {
- style {
- name: "style_main_text";
- base: "font=Tizen:style=Regular font_size="24" color=#FFFFFF text_class=tizen wrap=mixed";
- tag: "br" "\n";
- tag: "ps" "ps";
- tag: "b" "+ font_weight=Bold";
- }
- }
- parts {
- part {
- name: "elm.text";
- type: TEXTBLOCK;
- scale: 1;
- multiline: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: 434 0;
- align: 0.5 0.0;
- text {
- style: "style_main_text";
- min: 0 1;
- align: 0.0 0.0;
- }
- }
- }
- }
- }
-
-
- group {
- name: "quickpanel/tickernoti/normal";
- data {
- item: "height" TICKERNOTI_DEFAULT_BG_MIN_HEIGHT_INC;
- }
- parts {
- part {
- name: "base";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 0.0;
- min: 480 36;
- max: 800 36;
- }
- }
- part {
- name: "bg";
- mouse_events: 1;
- type: RECT;
- clip_to: "base";
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- rel1.to: "base";
- rel2.to: "base";
- }
- }
- part {
- name: "bg_img";
- mouse_events: 0;
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- visible: 1;
- align:0.0 0.0;
-
- rel1.to: "bg";
- rel2.to: "bg";
- color_class: "AO008_STATUS";
- }
- }
- // Icon
- part {
- name: "icon";
- type: SWALLOW;
- scale: 1;
- mouse_events: 1;
- clip_to: "base";
- description {
- state: "default" 0.0;
- fixed: 1 1;
- min: 25 25;
- max: 25 25;
- align: 0.0 0.5;
- rel1
- {
- relative: 0.0 0.5;
- to: "base";
- offset: 6 0;
- }
- rel2 {
- relative: 0.0 0.5;
- to: "base";
- }
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- }
- }
- /* Text */
- part {
- name: "text_rect";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 0;
- max: 800 28;
- align: 0.0 0.5;
- rel1 {
- relative: 1.0 0.0;
- to_x: "icon";
- to_y: "base";
- offset: 10 3;
- }
- rel2 {
- relative: 1.0 0.9;
- to: "base";
- }
- }
- }
- part {
- name: "event";
- type: RECT;
- mouse_events: 1;
- repeat_events: 1;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 {
- to: "bg";
- }
- rel2 {
- to: "bg";
- }
- }
- }
- }
- programs {
- program {
- name: "effect_show";
- signal: "effect,show";
- source: "elm";
- in: 0.1 0.0;
- action: STATE_SET "show" "0.0";
- transition: ACCEL 0.4;
- target: "bg";
- }
- program {
- name: "clicked";
- signal: "mouse,clicked,1";
- source: "event";
- action: SIGNAL_EMIT "clicked" "";
- after: "effect_hide";
- }
- program {
- name: "effect_hide";
- signal: "effect,hide";
- source: "elm";
- action: STATE_SET "default" "0.0";
- transition: DECEL 0.4;
- target: "bg";
- after: "hide";
- }
- program {
- name: "hide";
- action: SIGNAL_EMIT "request,hide" "";
- }
- }
- }
-}
\ No newline at end of file
--- /dev/null
+/*
+ * 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"
+#include "quickpanel_def.h"
+
+#define QP_THEME_VOICE_CONTOL_BG_COLOR "B0211"
+#define QP_VOICE_CONTOL_HEIGHT 80
+
+images
+{
+ image: "voice_control_icon_mic.png" COMP;
+ image: "core_list_button_bg.#.png" COMP;
+}
+
+collections
+{
+ base_scale: 1.8;
+
+ group {
+ name: "quickpanel/voice_control/default";
+ data.item: "bgcolor" QP_THEME_VOICE_CONTOL_BG_COLOR;
+
+ parts {
+ part {
+ name: "base";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 QP_VOICE_CONTOL_HEIGHT;
+ max: -1 QP_VOICE_CONTOL_HEIGHT;
+ }
+ }
+ part {
+ name: "bgcolor";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "base";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "base";
+ relative: 1.0 1.0;
+ }
+ color_class: QP_THEME_VOICE_CONTOL_BG_COLOR;
+ visible: 0;
+ }
+ }
+ part {
+ name: "button_bg";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ rel1 {
+ to: "base";
+ relative: 0.2 0.1;
+ }
+ rel2 {
+ to: "base";
+ relative: 0.8 0.9;
+ }
+ image {
+ normal: "core_list_button_bg.#.png";
+ }
+ color: 52 123 135 255;
+ }
+ description
+ {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color_class: "AO001L1P";
+ }
+ }
+ part {
+ name: "button_img";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ max: 50 50;
+ align: 0.5 0.5;
+ rel1 {
+ to: "button_bg";
+ }
+ rel2 {
+ to: "button_bg";
+ }
+ image {
+ normal: "voice_control_icon_mic.png";
+ }
+ }
+ }
+ }
+
+ programs {
+
+ program {
+ name: "pressed_button";
+ signal: "mouse,clicked,1";
+ source: "button_bg";
+ action: SIGNAL_EMIT "button_clicked" "";
+ }
+
+ program {
+ name: "pressed_button_img";
+ signal: "mouse,clicked,1";
+ source: "button_img";
+ action: SIGNAL_EMIT "button_clicked" "";
+ }
+
+ program {
+ name: "pressed_button_bg";
+ signal: "mouse,down,1";
+ source: "button_bg";
+ action: STATE_SET "pressed" 0.0;
+ target: "button_bg";
+ }
+
+ program {
+ name: "released_button_bg";
+ signal: "mouse,up,1";
+ source: "button_bg";
+ action: STATE_SET "default" 0.0;
+ target: "button_bg";
+ }
+ }
+ }
+}
+
+
+
+org.tizen.quickpanel systemd r----- ------
+org.tizen.quickpanel systemd r----- ------
+org.tizen.quickpanel syslogd -w---- ------
+org.tizen.quickpanel syslogd -w---- ------
org.tizen.quickpanel system::use_internet r----- ------
-org.tizen.quickpanel system::vconf_network rwx--l ------
-org.tizen.quickpanel system::vconf_system rwx--l ------
-org.tizen.quickpanel system::vconf_inhouse rwx--l ------
-org.tizen.quickpanel telephony_framework::vconf rwx--l ------
-org.tizen.quickpanel org.tizen.setting::private rwx--l ------
org.tizen.quickpanel secure-storage-client rw---- ------
org.tizen.quickpanel secure-storage rw---- ------
org.tizen.quickpanel secure-storage::tethering rw---- ------
org.tizen.quickpanel tethering::dbus-access rw---- ------
org.tizen.quickpanel mdm-server rwx--- ------
-org.tizen.quickpanel system r-x--- ------
org.tizen.quickpanel xorg rw---- ------
org.tizen.quickpanel device::bklight rw---- ------
org.tizen.quickpanel org.tizen.indicator rwx--- ------
org.tizen.quickpanel display_wd r-x--- ------
org.tizen.quickpanel sound_server rwxa-- ------
org.tizen.quickpanel dbus rwx--- ------
-org.tizen.quickpanel e17 rw---- ------
+org.tizen.quickpanel e17 rwx--- ------
+org.tizen.quickpanel e17::notification rwx--- ------
org.tizen.quickpanel svi-data r-x--- ------
-org.tizen.quickpanel ail::db rw---- ------
org.tizen.quickpanel org.tizen.oma-dm r-x--- ------
org.tizen.quickpanel isf rwx--- ------
org.tizen.quickpanel media-server r-x--- ------
org.tizen.quickpanel data-provider-master::badge.client -w---- ------
org.tizen.quickpanel data-provider-master::badge.manager -w---- ------
org.tizen.quickpanel org.tizen.setting::default-resources r-x--- ------
-org.tizen.quickpanel factory::vconf rw---- ------
org.tizen.quickpanel org.tizen.ready-to-share::state rw---- ------
-org.tizen.quickpanel starter::vconf rw---- ------
org.tizen.quickpanel oma-ds-agent::cfg r----- ------
org.tizen.quickpanel oma-ds-agent::svc rw---- ------
org.tizen.quickpanel nfc-manager rwx--- ------
-org.tizen.quickpanel nfc-manager::admin rwx--- ------
org.tizen.quickpanel tts-server r-x--- ------
org.tizen.quickpanel pkgmgr::db rw---l ------
org.tizen.quickpanel pkgmgr-client r-x--- ------
org.tizen.quickpanel connman::get rw---- ------
org.tizen.quickpanel net-config rw---- ------
org.tizen.quickpanel ug-setting-mobileap-efl r----l ------
-org.tizen.quickpanel ug-setting-call-efl::vconf rw---- ------
-org.tizen.quickpanel quickpanel_private::vconf rwx--- ------
org.tizen.quickpanel aul::launch --x--- ------
org.tizen.quickpanel alarm-manager::alarm rw---- ------
org.tizen.quickpanel alarm-server::alarm -w---- ------
dbus org.tizen.quickpanel rwx--- ------
org.tizen.app-tray org.tizen.quickpanel r-x--- ------
org.tizen.quickpanel system::homedir rwxat- ------
-org.tizen.quickpanel system::vconf rwxat- ------
org.tizen.quickpanel system::media rwxat- ------
org.tizen.quickpanel system::share rwxat- ------
org.tizen.quickpanel pulseaudio rwxat- ------
org.tizen.quickpanel device::app_logging -w---- ------
org.tizen.quickpanel sys-assert::core rwxat- ------
org.tizen.quickpanel privacy-manager::db r----l ------
-org.tizen.quickpanel system::vconf_setting rw---- ------
-org.tizen.quickpanel system::vconf_privacy rw---- ------
-org.tizen.quickpanel system::vconf_multimedia rw---- ------
-org.tizen.quickpanel system::vconf_misc rw---- ------
org.tizen.quickpanel ecore::lock rwxat- ------
+org.tizen.quickpanel com.samsung.download-manager r-x--- ------
+org.tizen.quickpanel tizen::vconf::setting::admin rw---- ------
+org.tizen.quickpanel tizen::vconf::location::enable rw---l ------
+org.tizen.quickpanel tizen::vconf::tethering::admin r----l ------
+org.tizen.quickpanel tizen::vconf::platform::r rwx--l ------
+org.tizen.quickpanel tizen::vconf::platform::rw rwx--l ------
+org.tizen.quickpanel tizen::vconf::telephony::admin r----- ------
+org.tizen.quickpanel tizen::vconf::display r----l ------
+org.tizen.quickpanel vc-server rwx--- ------
+org.tizen.quickpanel tizen::vconf::public::admin r----l ------
+org.tizen.quickpanel notification r-x--- ------
+org.tizen.quickpanel org.tizen.volume rwx--- ------
+org.tizen.quickpanel security-server::api-permissions -w---- ------
+++ /dev/null
-<manifest>
- <define>
- <domain name="org.tizen.quickpanel"/>
- </define>
- <assign>
- <filesystem path="/etc/init.d/quickpanel" label="_" exec_label="none"/>
- </assign>
- <request>
- <domain name="org.tizen.quickpanel"/>
- </request>
-</manifest>
--- /dev/null
+<manifest>
+ <define>
+ <domain name="org.tizen.quickpanel" policy="restricted" />
+ </define>
+ <request>
+ <domain name="_" />
+ </request>
+ <assign>
+ <filesystem path="/usr/apps/org.tizen.quickpanel/bin/quickpanel" label="org.tizen.quickpanel" exec_label="org.tizen.quickpanel" />
+ <filesystem path="/usr/apps/org.tizen.quickpanel/res/edje" label="org.tizen.quickpanel" />
+ <filesystem path="/usr/apps/org.tizen.quickpanel/shared" label="_" type="transmutable" />
+ <filesystem path="/usr/apps/org.tizen.quickpanel/data" label="org.tizen.quickpanel" />
+ <filesystem path="/usr/apps/org.tizen.quickpanel/bin" label="org.tizen.quickpanel" />
+ <filesystem path="/usr/apps/org.tizen.quickpanel/res" label="org.tizen.quickpanel" />
+ <filesystem path="/usr/apps/org.tizen.quickpanel/res/edje/quickpanel.edj" label="org.tizen.quickpanel" />
+ <filesystem path="/usr/apps/org.tizen.quickpanel/res/edje/quickpanel_activenoti.edj" label="org.tizen.quickpanel" />
+ <filesystem path="/usr/apps/org.tizen.quickpanel/res/edje/quickpanel_theme.edj" label="org.tizen.quickpanel" />
+ <filesystem path="/usr/apps/org.tizen.quickpanel/res/edje/quickpanel_voice_control.edj" label="org.tizen.quickpanel" />
+
+ <filesystem path="/opt/usr/apps/org.tizen.quickpanel/data" label="org.tizen.quickpanel" />
+
+ <filesystem path="/etc/smack/accesses.d/org.tizen.quickpanel.efl" label="_" />
+ <filesystem path="/usr/share/license/org.tizen.quickpanel" label="_" />
+ <filesystem path="/usr/share/packages/org.tizen.quickpanel.xml" label="org.tizen.quickpanel" />
+ </assign>
+</manifest>
--- /dev/null
+<manifest>
+ <request>
+ <domain name="_" />
+ </request>
+</manifest>
-%define PKGNAME org.tizen.quickpanel
-%define PREFIX /usr/apps/%{PKGNAME}
-%define PREFIX_RW /opt/usr/apps/%{PKGNAME}
-%define RESDIR %{PREFIX}/res
-%define DATADIR %{PREFIX}/data
-
-Name: org.tizen.quickpanel-lite
-Summary: Quick Panel
-Version: 0.6.22
-Release: 1
-Group: util
-License: Apache-2.0
-Source0: %{name}-%{version}.tar.gz
-Source102: quickpanel-system.service
-
-%if "%{?tizen_profile_name}" == "wearable"
+%bcond_with wayland
+
+Name: org.tizen.quickpanel
+Summary: Quick access panel for the notifications and various kinds of services.
+Version: 0.8.0
+Release: 1
+Group: Applications/Core Applications
+License: Apache-2.0
+Source0: %{name}-%{version}.tar.gz
+Source102: quickpanel-system.service
+
+%if %{with wayland}
+Source103: org.tizen.quickpanel.manifest.3.0
+%else
+Source103: org.tizen.quickpanel.manifest.2.4
+%endif
+
+%if "%{?tizen_profile_name}" == "wearable"
+ExcludeArch: %{arm} %ix86 x86_64
+%endif
+
+%if "%{?tizen_profile_name}"=="tv"
ExcludeArch: %{arm} %ix86 x86_64
%endif
BuildRequires: pkgconfig(capi-system-runtime-info)
BuildRequires: pkgconfig(capi-system-info)
BuildRequires: pkgconfig(capi-system-device)
+BuildRequires: pkgconfig(capi-location-manager)
BuildRequires: pkgconfig(capi-network-wifi)
BuildRequires: pkgconfig(capi-network-bluetooth)
BuildRequires: pkgconfig(capi-network-tethering)
BuildRequires: pkgconfig(capi-media-sound-manager)
BuildRequires: pkgconfig(capi-media-metadata-extractor)
BuildRequires: pkgconfig(capi-system-system-settings)
+BuildRequires: pkgconfig(capi-base-utils-i18n)
+BuildRequires: pkgconfig(capi-ui-efl-util)
BuildRequires: pkgconfig(tapi)
BuildRequires: pkgconfig(feedback)
BuildRequires: pkgconfig(appcore-common)
BuildRequires: pkgconfig(badge)
BuildRequires: pkgconfig(vconf)
BuildRequires: pkgconfig(libprivilege-control)
-BuildRequires: pkgconfig(ecore-x)
BuildRequires: pkgconfig(edbus)
BuildRequires: pkgconfig(evas)
BuildRequires: pkgconfig(ecore)
BuildRequires: pkgconfig(syspopup-caller)
BuildRequires: pkgconfig(bundle)
BuildRequires: pkgconfig(elementary)
-BuildRequires: pkgconfig(efl-assist)
BuildRequires: pkgconfig(syspopup-caller)
BuildRequires: pkgconfig(minicontrol-viewer)
BuildRequires: pkgconfig(minicontrol-monitor)
BuildRequires: pkgconfig(pkgmgr-info)
BuildRequires: pkgconfig(iniparser)
BuildRequires: pkgconfig(alarm-service)
+%if %{with wayland}
+BuildRequires: pkgconfig(ecore-wayland)
+Requires: e17
+%else
BuildRequires: pkgconfig(inputproto)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(utilX)
-
+BuildRequires: pkgconfig(ecore-x)
+%endif
+BuildRequires: pkgconfig(voice-control-setting)
+BuildRequires: pkgconfig(tzsh-quickpanel-service)
BuildRequires: gettext-tools
BuildRequires: cmake
BuildRequires: edje-tools
-BuildRequires: hash-signer
-
Requires(post): /usr/bin/vconftool
-Requires: e17
+
%description
Quick Panel
%prep
%setup -q
-
+cp %{SOURCE103} %{name}.manifest
%build
%if 0%{?tizen_build_binary_release_type_eng}
export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
%endif
-LDFLAGS+="-Wl,--rpath=%{PREFIX}/lib -Wl,--as-needed";export LDFLAGS
-LDFLAGS="$LDFLAGS" cmake . -DCMAKE_INSTALL_PREFIX=%{PREFIX} -DPREFIX_RW=%{PREFIX_RW} \
+LDFLAGS+="-Wl,--rpath=%{name}/lib -Wl,--as-needed";
+export LDFLAGS
+
+%if %{with wayland}
+export WINSYS="wayland"
+%else
+export WINSYS="x11"
+%endif
+%cmake . -DPKGNAME=%{name} -DWINSYS=${WINSYS}
make %{?jobs:-j%jobs}
rm -rf %{buildroot}
%make_install
-mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
-install -m 0644 %SOURCE102 %{buildroot}%{_libdir}/systemd/system/quickpanel.service
-ln -s ../quickpanel.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/quickpanel.service
-
-mkdir -p %{buildroot}/usr/share/license
-cp -f LICENSE %{buildroot}/usr/share/license/%{PKGNAME}
-
-%define tizen_sign 1
-%define tizen_sign_base /usr/apps/%{PKGNAME}
-%define tizen_sign_level platform
-%define tizen_author_sign 1
-%define tizen_dist_sign 1
+mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
+install -m 0644 %SOURCE102 %{buildroot}%{_unitdir}/quickpanel.service
+ln -s ../quickpanel.service %{buildroot}%{_unitdir}/multi-user.target.wants/quickpanel.service
%post
-/usr/bin/signing-client/hash-signer-client.sh -a -d -p platform /usr/apps/org.tizen.quickpanel
-PRIVATE_OPTION="-s quickpanel_private::vconf"
-
-vconftool set -t bool memory/private/%{PKGNAME}/enable_ask 1 -i -u 5000 -f $PRIVATE_OPTION
-vconftool set -t bool memory/private/%{PKGNAME}/disable_ask 1 -i -u 5000 -f $PRIVATE_OPTION
-vconftool set -t bool memory/private/%{PKGNAME}/hotspot/enable_ask 1 -i -u 5000 -f $PRIVATE_OPTION
-vconftool set -t bool memory/private/%{PKGNAME}/drivingmode/enable_ask 1 -i -u 5000 -f $PRIVATE_OPTION
-vconftool set -t int file/private/%{PKGNAME}/help_display_cnt "3" -i -u 5000 -f $PRIVATE_OPTION
-vconftool set -t int "file/private/%{PKGNAME}/split_view_enabled" 0 -i -u 5000 -f $PRIVATE_OPTION
%files
-%manifest %{PKGNAME}.manifest
+%manifest %{name}.manifest
%defattr(-,root,root,-)
-%attr(755,-,-) %{_sysconfdir}/init.d/quickpanel
-%attr(775,app,app) %{DATADIR}
-%attr(775,app,app) %{PREFIX_RW}/data
-%{PREFIX_RW}/data
-%{PREFIX}/bin/*
-%{RESDIR}/*
-/usr/share/packages/%{PKGNAME}.xml
-%{_sysconfdir}/init.d/quickpanel
-%{_libdir}/systemd/system/quickpanel.service
-%{_libdir}/systemd/system/multi-user.target.wants/quickpanel.service
-/usr/share/license/%{PKGNAME}
-/etc/smack/accesses.d/%{PKGNAME}.efl
-/usr/apps/%{PKGNAME}/author-signature.xml
-/usr/apps/%{PKGNAME}/signature1.xml
-/usr/apps/%{PKGNAME}/shared/res/icons/*
-/usr/apps/%{PKGNAME}/shared/res/tables/*
-/usr/apps/%{PKGNAME}/shared/res/noti_icons/*
+%attr(775,app,app) /opt/%{_prefix}/apps/%{name}/
+%attr(775,app,app) /opt/%{_prefix}/apps/%{name}/data
+/opt/%{_prefix}/apps/%{name}/data
+%{_prefix}/apps/%{name}
+%{_prefix}/share/packages/%{name}.xml
+%{_unitdir}/quickpanel.service
+%{_unitdir}/multi-user.target.wants/quickpanel.service
+%{_prefix}/share/license/%{name}
+%if %{with wayland}
+# Do not install the SMACK Rule file for Tizen 3.x
+%else
+%{_sysconfdir}/smack/accesses.d/%{name}.efl
+%endif
[Unit]
Description=Start the Quickpanel
-After=check-mount.service
+After=check-mount.service connman.service
[Service]
Type=simple
+User=app
+Group=app
+SmackProcessLabel=org.tizen.quickpanel
EnvironmentFile=/run/tizen-mobile-env
ExecStart=/usr/apps/org.tizen.quickpanel/bin/quickpanel
Restart=always
msgstr "تم تفعيل الوضع الآمن"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "الإشعارات (%d)"
+msgstr "الإشعارات %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "مسح الكل"
msgstr "Təhlük rej akt edil"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Bildirişlər (%d)"
+msgstr "Bildirişlər %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Hamını sil"
msgstr "Безоп. режим е активиран"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Уведомления (%d)"
+msgstr "Уведомления %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Изч.всички"
msgstr "Mode Segur activat"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Notificacions (%d)"
+msgstr "Notificacions %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Esbor tot"
msgstr "Bezpečný režim zapnut"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Oznámení (%d)"
+msgstr "Oznámení %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Smazat vše"
msgstr "Sikker tilstand aktiveret"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Meddelelser (%d)"
+msgstr "Meddelelser %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Ryd alle"
msgstr "Sicherer Modus aktiviert."
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Benachrichtig. (%d)"
+msgstr "Benachrichtig. %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Löschen"
msgstr "Ασφ. λειτουργία ενεργή"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Ειδοποιήσεις (%d)"
+msgstr "Ειδοποιήσεις %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Διαγ. όλων"
msgstr "Both Wi-Fi and mobile AP cannot be activated at the same time. Deactivate mobile AP?"
msgid "IDS_TASKMGR_BUTTON_CLEAR_ALL"
-msgstr "Clear all"
+msgstr "CLEAR ALL"
msgid "IDS_IDLE_SBODY_TAP_HERE_TO_DISABLE_SAFE_MODE_ABB"
msgstr "Tap here to disable Safe mode."
msgstr "Safe mode enabled"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Notifications (%d)"
+msgstr "Notifications %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
-msgstr "Clear all"
+msgstr "CLEAR ALL"
msgid "IDS_QP_BUTTON_NOTIFICATION"
msgstr "Notification"
msgstr "Both Wi-Fi and Mobile AP cannot be activated at the same time. Deactivate Mobile AP?"
msgid "IDS_TASKMGR_BUTTON_CLEAR_ALL"
-msgstr "Clear all"
+msgstr "CLEAR ALL"
msgid "IDS_IDLE_SBODY_TAP_HERE_TO_DISABLE_SAFE_MODE_ABB"
msgstr "Tap here to disable Safe mode."
msgstr "Safe mode enabled"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Notifications (%d)"
+msgstr "Notifications %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
-msgstr "Clear all"
+msgstr "CLEAR ALL"
msgid "IDS_QP_BUTTON_NOTIFICATION"
msgstr "Notification"
msgstr "Both Wi-Fi and Mobile AP cannot be activated at the same time. Deactivate Mobile AP?"
msgid "IDS_TASKMGR_BUTTON_CLEAR_ALL"
-msgstr "Clear all"
+msgstr "CLEAR ALL"
msgid "IDS_IDLE_SBODY_TAP_HERE_TO_DISABLE_SAFE_MODE_ABB"
msgstr "Tap here to disable Safe mode."
msgstr "Safe mode enabled"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Notifications (%d)"
+msgstr "Notifications %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
-msgstr "Clear all"
+msgstr "CLEAR ALL"
msgid "IDS_QP_BUTTON_NOTIFICATION"
msgstr "Notification"
msgstr "Modo seguro activado"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Notificaciones (%d)"
+msgstr "Notificaciones %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Elim todo"
msgstr "Ultra\nahorro"
msgid "IDS_QP_BUTTON2_TETHERING"
-msgstr "módem USB/Bluetooth"
+msgstr "Anclaje a red"
msgid "IDS_QP_BUTTON2_SOUND_ABB"
msgstr "Sonido"
msgstr "Ubicación"
msgid "IDS_QP_BUTTON2_FLIGHT_N_MODE"
-msgstr "Modo\nAvión"
+msgstr "Modo\navión"
msgid "IDS_QP_BUTTON2_BLUETOOTH"
msgstr "Bluetooth"
msgstr "Modo seguro activado"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Notificaciones (%d)"
+msgstr "Notificaciones %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Elim. todo"
msgstr "Turv. režiim aktiveeritud"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Teavitused (%d)"
+msgstr "Teavitused %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Kust. kõik"
msgstr "Segurua modua gaituta"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Jakinarazpenak (%d)"
+msgstr "Jakinarazpenak %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Garb. dena"
msgstr "Turvallisuustila käytössä"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Ilmoitukset (%d)"
+msgstr "Ilmoitukset %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Poista kaikki"
msgstr "Mode Sécurisé activé"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Notifications (%d)"
+msgstr "Notifications %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Eff. tout"
msgstr "Mode Sécurisé activé"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Notifications (%d)"
+msgstr "Notifications %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Eff. tout"
msgstr "Mód sábháilte cumasaithe"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Fógraí (%d)"
+msgstr "Fógraí %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Glan gach"
msgstr "Modo Seguro activado"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Notificacións (%d)"
+msgstr "Notificacións %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Borr. todo"
msgstr "सुरक्षित मोड सक्षम है"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "अधिसूचनाएँ (%d)"
+msgstr "अधिसूचनाएँ %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "सभी साफ"
msgstr "Sigurni način uključen"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Obavijesti (%d)"
+msgstr "Obavijesti %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Izbr. sve"
msgstr "Bizt. mód engedélyezve"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Értesítések (%d)"
+msgstr "Értesítések %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Ö. törlése"
msgstr "Անվտանգ ռեժիմ"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Ծանուցումներ (%d)"
+msgstr "Ծանուցումներ %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Մաքրել բլր"
msgstr "Örugg stilling á"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Tilkynningar (%d)"
+msgstr "Tilkynningar %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Hreinsa"
msgstr "Modalità provv. abilitata"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Notifiche (%d)"
+msgstr "Notifiche %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Canc. tutto"
msgstr "セーフモードが有効"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "通知(%d件)"
+msgstr "通知 %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "全て消去"
msgstr "消音"
msgid "IDS_QP_BUTTON2_MOBILE_DATA"
-msgstr "モバイル\nデータ"
+msgstr "モバイルデータ"
msgid "IDS_QP_BUTTON2_LOCATION_ABB"
msgstr "位置情報"
msgstr "საგანგებო რეჟიმი ჩართულია"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "შეტყობინებები (%d)"
+msgstr "შეტყობინებები %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "წაშლა"
msgstr "Қауіпсіз реж.іске қосылды"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Хабарландырулар (%d)"
+msgstr "Хабарландырулар %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Барл.өшіру"
-msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
-msgstr "Wi-Fi와 모바일 AP를 동시에 실행할 수 없습니다. 모바일 AP를 해제할까요?"
+msgid "IDS_IDLE_POP_UNABLE_TO_LAUNCH_PS"
+msgstr "%s을(를) 실행할 수 없습니다."
+
+msgid "IDS_ST_SK_OK"
+msgstr "확인"
+
+msgid "IDS_QP_BUTTON_NOTIFICATION"
+msgstr "알림"
+
+msgid "IDS_QP_BODY_NOTIFICATIONS_ABB2"
+msgstr "알림"
+
+msgid "IDS_ST_BODY_SIM_1"
+msgstr "SIM 카드1"
+
+msgid "IDS_ST_BODY_SIM_2"
+msgstr "SIM 카드2"
+
+msgid "IDS_ST_BODY_ALWAYS_ASK_ABB"
+msgstr "항상 묻기"
+
+msgid "IDS_ST_POP_UNABLE_TO_INCREASE_BRIGHTNESS_FURTHER_BECAUSE_OF_PHONE_OVERHEATING"
+msgstr "디바이스 온도가 높아져 밝기를 더 높일 수 없습니다."
+
+msgid "IDS_ST_BODY_INSERT_SIM_CARD_TO_ACCESS_NETWORK_SERVICES"
+msgstr "네트워크 서비스를 이용하려면 SIM 카드를 삽입하세요."
+
+msgid "IDS_ST_SK_NO"
+msgstr "아니요"
msgid "IDS_TASKMGR_BUTTON_CLEAR_ALL"
msgstr "모두 삭제"
-msgid "IDS_IDLE_SBODY_TAP_HERE_TO_DISABLE_SAFE_MODE_ABB"
-msgstr "[안전 모드]를 해제하려면 여기를 누르세요."
-
-msgid "IDS_IDLE_POP_UNABLE_TO_LAUNCH_PS"
-msgstr "%s을(를) 실행할 수 없습니다."
+msgid "IDS_IDLE_BODY_NO_SERVICE"
+msgstr "서비스 지역이 아닙니다"
-msgid "IDS_IDLE_MBODY_EMERGENCY_CALLS_ONLY"
-msgstr "긴급전화만 가능"
+msgid "IDS_IDLE_BODY_EMERGENCY_CALLS_ONLY"
+msgstr "긴급전화만 가능합니다."
msgid "IDS_IDLE_BODY_SEARCHING_ING"
msgstr "검색 중..."
+msgid "IDS_IDLE_BODY_INVALID_SIM_CARD"
+msgstr "SIM 카드가 바르지 않습니다."
+
msgid "IDS_IDLE_BODY_NO_SIM"
msgstr "SIM 카드가 없습니다"
-msgid "IDS_IDLE_BODY_NO_SERVICE"
-msgstr "서비스 지역이 아닙니다"
+msgid "IDS_WIFI_POP_BOTH_WI_FI_AND_MOBILE_AP_CANNOT_BE_ACTIVATED_AT_THE_SAME_TIME_DEACTIVATE_MOBILE_AP_Q"
+msgstr "Wi-Fi와 모바일 AP를 동시에 실행할 수 없습니다. 모바일 AP를 해제할까요?"
-msgid "IDS_IDLE_BODY_INVALID_SIM_CARD"
-msgstr "SIM 카드가 바르지 않습니다."
+msgid "IDS_ST_TPOP_OUTGOING_VOICE_CALLS_VIDEO_CALLS_AND_TEXT_MESSAGES_WILL_BE_MADE_USING_THE_PS_SIM_CARD"
+msgstr "음성통화, 영상통화를 걸고 문자 메시지를 보낼 때 SIM%s 카드를 사용합니다."
-msgid "IDS_IDLE_BODY_EMERGENCY_CALLS_ONLY"
-msgstr "긴급전화만 가능합니다."
+msgid "IDS_ST_TPOP_SELECT_SIM_CARD_FOR_OUTGOING_VOICE_CALLS_VIDEO_CALLS_AND_TEXT_MESSAGES"
+msgstr "음성통화, 영상통화를 걸고 문자 메시지를 보낼 때 SIM 카드를 선택합니다."
-msgid "IDS_QP_OPT_OUTDOORS_ABB"
-msgstr "야외"
+msgid "IDS_ST_TPOP_UNABLE_TO_MAKE_VOICE_CALLS_VIDEO_CALLS_AND_SEND_TEXT_MESSAGES_USING_PS"
+msgstr "%s를 사용하여 음성통화, 영상통화를 걸고 문자 메시지를 보낼 수 없습니다."
-msgid "IDS_QP_MBODY_SAFE_MODE_ENABLED"
-msgstr "안전 모드 실행"
+msgid "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"
+msgstr "[비행기 탑승 모드] 실행 중에는 모바일 네트워크에 연결할 수 없습니다. Wi-Fi 네트워크에 연결하거나 [비행기 탑승 모드]를 해제한 후 다시 시도하세요."
+
+msgid "IDS_IDLE_MBODY_EMERGENCY_CALLS_ONLY"
+msgstr "긴급전화만 가능"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "알림(%d)"
+msgstr "알림 %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "모두 삭제"
-msgid "IDS_QP_BUTTON_NOTIFICATION"
-msgstr "알림"
-
msgid "IDS_QP_BUTTON_ALWAYS_ASK_ABB"
msgstr "항상 묻기"
-msgid "IDS_QP_BUTTON2_WI_FI"
-msgstr "Wi-Fi"
-
-msgid "IDS_QP_BUTTON2_VIBRATE"
-msgstr "진동"
+msgid "IDS_QP_BODY_AM_ABB"
+msgstr "오전"
-msgid "IDS_QP_BUTTON2_U_POWER_NSAVING_ABB"
-msgstr "ì´\88ì \88ì \84\n모ë\93\9c"
+msgid "IDS_QP_BODY_PM_ABB"
+msgstr "ì\98¤í\9b\84"
-msgid "IDS_QP_BUTTON2_TETHERING"
-msgstr "테더링"
+msgid "IDS_QP_BUTTON2_WI_FI"
+msgstr "Wi-Fi"
-msgid "IDS_QP_BUTTON2_SOUND_ABB"
-msgstr "소리"
+msgid "IDS_QP_BUTTON2_MOBILE_DATA"
+msgstr "모바일\n데이터"
msgid "IDS_QP_BUTTON2_SOUND"
msgstr "소리"
-msgid "IDS_QP_BUTTON2_PRIVATE_MODE"
-msgstr "프라이빗 모드"
+msgid "IDS_QP_BUTTON2_ASSISTIVE_NLIGHT"
+msgstr "보조 조명"
+
+msgid "IDS_QP_BUTTON2_BLUETOOTH"
+msgstr "블루투스"
msgid "IDS_QP_BUTTON2_POWER_N_SAVING"
msgstr "절전 모드"
-msgid "IDS_QP_BUTTON2_MUTE_ABB"
-msgstr "무음"
-
-msgid "IDS_QP_BUTTON2_MOBILE_DATA"
-msgstr "모바일\n데이터"
+msgid "IDS_QP_BUTTON2_AUTO_ROTATE"
+msgstr "자동 회전"
msgid "IDS_QP_BUTTON2_LOCATION_ABB"
msgstr "위치"
+msgid "IDS_QP_BUTTON2_TETHERING"
+msgstr "테더링"
+
msgid "IDS_QP_BUTTON2_FLIGHT_N_MODE"
msgstr "비행기\n탑승 모드"
-msgid "IDS_QP_BUTTON2_BLUETOOTH"
-msgstr "블루투스"
-
-msgid "IDS_QP_BUTTON2_AUTO_ROTATE"
-msgstr "자동 회전"
-
-msgid "IDS_QP_BUTTON2_ASSISTIVE_NLIGHT"
-msgstr "보조 조명"
-
-msgid "IDS_QP_BODY_PM_ABB"
-msgstr "오후"
-
-msgid "IDS_QP_BODY_NOTIFICATIONS_ABB2"
-msgstr "알림"
-
-msgid "IDS_QP_BODY_AM_ABB"
-msgstr "오전"
-
-msgid "IDS_ST_TPOP_UNABLE_TO_MAKE_VOICE_CALLS_VIDEO_CALLS_AND_SEND_TEXT_MESSAGES_USING_PS"
-msgstr "%s를 사용하여 음성통화, 영상통화를 걸고 문자 메시지를 보낼 수 없습니다."
-
-msgid "IDS_ST_TPOP_SELECT_SIM_CARD_FOR_OUTGOING_VOICE_CALLS_VIDEO_CALLS_AND_TEXT_MESSAGES"
-msgstr "음성통화, 영상통화를 걸고 문자 메시지를 보낼 때 SIM 카드를 선택합니다."
-
-msgid "IDS_ST_TPOP_OUTGOING_VOICE_CALLS_VIDEO_CALLS_AND_TEXT_MESSAGES_WILL_BE_MADE_USING_THE_PS_SIM_CARD"
-msgstr "음성통화, 영상통화를 걸고 문자 메시지를 보낼 때 SIM%s 카드를 사용합니다."
-
-msgid "IDS_ST_SK_OK"
-msgstr "확인"
-
-msgid "IDS_ST_SK_NO"
-msgstr "아니요"
-
-msgid "IDS_ST_POP_UNABLE_TO_INCREASE_BRIGHTNESS_FURTHER_BECAUSE_OF_PHONE_OVERHEATING"
-msgstr "디바이스 온도가 높아져 밝기를 더 높일 수 없습니다."
-
msgid "IDS_ST_NPBODY_NO_SERVICE"
msgstr "서비스를 사용할 수 없습니다"
msgid "IDS_ST_NPBODY_EMERGENCY_CALLS_ONLY_ABB"
msgstr "긴급전화만 가능합니다"
-msgid "IDS_ST_HEADER_OUTDOOR"
-msgstr "야외 모드"
-
-msgid "IDS_ST_BUTTON2_WI_FI_NTETHERING"
-msgstr "Wi-Fi\n테더링"
+msgid "IDS_ST_BODY_SCANNING_FOR_MOBILE_NETWORK_ING_ABB"
+msgstr "모바일 네트워크 찾는 중..."
msgid "IDS_ST_BUTTON2_WI_FI_ABB"
msgstr "Wi-Fi"
+msgid "IDS_ST_BUTTON2_MOBILE_NDATA"
+msgstr "모바일\n데이터"
+
msgid "IDS_ST_BUTTON2_TORCH_ABB"
msgstr "손전등"
+msgid "IDS_ST_BUTTON2_BLUETOOTH_ABB"
+msgstr "블루투스"
+
msgid "IDS_ST_BUTTON2_POWER_NSAVING"
msgstr "절전\n모드"
-msgid "IDS_ST_BUTTON2_MOBILE_NDATA"
-msgstr "모바일\n데이터"
+msgid "IDS_ST_BUTTON2_AUTO_NROTATE"
+msgstr "자동\n회전"
msgid "IDS_ST_BUTTON2_GPS_ABB"
msgstr "GPS"
+msgid "IDS_ST_BUTTON2_WI_FI_NTETHERING"
+msgstr "Wi-Fi\n테더링"
+
msgid "IDS_ST_BUTTON2_FLIGHT_NMODE"
msgstr "비행기\n탑승 모드"
-msgid "IDS_ST_BUTTON2_BLUETOOTH_ABB"
-msgstr "블루투스"
-
-msgid "IDS_ST_BUTTON2_AUTO_NROTATE"
-msgstr "자동\n회전"
-
-msgid "IDS_ST_BODY_SIM_2"
-msgstr "SIM2 카드"
-
-msgid "IDS_ST_BODY_SIM_1"
-msgstr "SIM1 카드"
-
-msgid "IDS_ST_BODY_SCANNING_FOR_MOBILE_NETWORK_ING_ABB"
-msgstr "모바일 네트워크 찾는 중..."
+msgid "IDS_QP_BUTTON2_SOUND_ABB"
+msgstr "소리"
-msgid "IDS_ST_BODY_INSERT_SIM_CARD_TO_ACCESS_NETWORK_SERVICES"
-msgstr "네트워크 서비스를 이용하려면 SIM 카드를 삽입하세요."
+msgid "IDS_QP_BUTTON2_VIBRATE"
+msgstr "진동"
-msgid "IDS_ST_BODY_ALWAYS_ASK_ABB"
-msgstr "항상 묻기"
+msgid "IDS_QP_BUTTON2_MUTE_ABB"
+msgstr "무음"
-msgid "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"
-msgstr "[비행기 탑승 모드] 실행 중에는 모바일 네트워크에 연결할 수 없습니다. Wi-Fi 네트워크에 연결하거나 [비행기 탑승 모드]를 해제한 후 다시 시도하세요."
+msgid "IDS_QP_BUTTON2_U_POWER_NSAVING_ABB"
+msgstr "초절전\n모드"
-msgid "IDS_COM_BODY_SEARCHING"
-msgstr "검색 중..."
+msgid "IDS_QP_BUTTON2_PRIVATE_MODE"
+msgstr "프라이빗 모드"
-msgid "IDS_QP_TPOP_UNABLE_TO_OPEN_PS"
-msgstr "%s 애플리케이션을 실행할 수 없습니다."
+msgid "IDS_ST_HEADER_OUTDOOR"
+msgstr "야외 모드"
-msgid "IDS_QP_OPT_OUTDOORS_M_OUTDOOR_MODE_ABB"
+msgid "IDS_QP_OPT_OUTDOORS_ABB"
msgstr "야외"
-msgid "IDS_QP_BUTTON2_PRIVATE_NMODE_ABB"
-msgstr "프라이빗\n모드"
+msgid "IDS_QP_MBODY_SAFE_MODE_ENABLED"
+msgstr "안전 모드 실행"
+
+msgid "IDS_IDLE_SBODY_TAP_HERE_TO_DISABLE_SAFE_MODE_ABB"
+msgstr "[안전 모드]를 해제하려면 여기를 누르세요."
msgstr "Įjungtas saugus režimas"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Pranešimai (%d)"
+msgstr "Pranešimai %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Viską išv."
msgstr "Aktivizēts drošais režīms"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Paziņojumi (%d)"
+msgstr "Paziņojumi %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Not. visu"
msgstr "Безбедн. режим е вклучен"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Известувања (%d)"
+msgstr "Известувања %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Избриши сѐ"
msgstr "Sikkerhetsmodus aktivert"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Varsler (%d)"
+msgstr "Varsler %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Slett alt"
msgstr "Privat-\nmodus"
msgid "IDS_QP_BUTTON2_POWER_N_SAVING"
-msgstr "Strøm\nsparing"
+msgstr "Strøm-\nsparing"
msgid "IDS_QP_BUTTON2_MUTE_ABB"
msgstr "Demp"
msgstr "Posisjon"
msgid "IDS_QP_BUTTON2_FLIGHT_N_MODE"
-msgstr "Fly\nmodus"
+msgstr "Fly-\nmodus"
msgid "IDS_QP_BUTTON2_BLUETOOTH"
msgstr "Bluetooth"
msgstr "Veilige modus aan"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Meldingen (%d)"
+msgstr "Meldingen %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Alles wissen"
msgstr "Privé-\nstand"
msgid "IDS_QP_BUTTON2_POWER_N_SAVING"
-msgstr "Spaar\nstand"
+msgstr "Spaar-\nstand"
msgid "IDS_QP_BUTTON2_MUTE_ABB"
msgstr "Dempen"
msgstr "Locatie"
msgid "IDS_QP_BUTTON2_FLIGHT_N_MODE"
-msgstr "Vliegtuig\nstand"
+msgstr "Vliegtuig-\nstand"
msgid "IDS_QP_BUTTON2_BLUETOOTH"
msgstr "Bluetooth"
msgstr "Tryb bezpieczny włączony"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Powiadomienia (%d)"
+msgstr "Powiadomienia %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Czysz.wsz."
msgstr "Modo de Segurança ativado"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Notificações (%d)"
+msgstr "Notificações %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Apag. tudo"
msgstr "Modo seguro activado"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Notificações (%d)"
+msgstr "Notificações %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Limpar td"
msgstr "S-a activ. Mod. siguranţă"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Notificări (%d)"
+msgstr "Notificări %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Şter. tot"
msgstr "Безопасный режим включен"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Уведомления (%d)"
+msgstr "Уведомления %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Очист. все"
msgstr "Bezpečný režim je zapnutý"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Oznámenia (%d)"
+msgstr "Oznámenia %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Vymaz. vš."
msgstr "Varni način je omogočen"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Obvestila (%d)"
+msgstr "Obvestila %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Počis. vse"
msgstr "Bezbedni režim omogućen"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Obaveštenja (%d)"
+msgstr "Obaveštenja %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Obriši sve"
msgstr "Säkert läge aktiverat"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Aviseringar (%d)"
+msgstr "Aviseringar %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Rensa allt"
msgstr "Güvenli mod etkin"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Bildirimler (%d)"
+msgstr "Bildirimler %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Tümünü sil"
msgstr "Безпечний режим увімкнено"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Сповіщення (%d)"
+msgstr "Сповіщення %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Очист. всі"
msgstr "Xavfsiz rejim yoqildi"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "Bildir-nomalar (%d)"
+msgstr "Bildir-nomalar %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "Bar. tozal"
msgstr "安全模式已启用"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "通知 (%d)"
+msgstr "通知 %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "全部清除"
msgstr "安全模式已啟用"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "通知 (%d)"
+msgstr "通知 %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "全部清除"
msgstr "已啟用安全模式"
msgid "IDS_QP_HEADER_NOTIFICATIONS_HPD_ABB"
-msgstr "通知 (%d)"
+msgstr "通知 %d"
msgid "IDS_QP_HEADER_CLEAR_ALL_ABB"
msgstr "全部清除"
msgstr "自動旋轉"
msgid "IDS_ST_BODY_SIM_2"
-msgstr "卡槽2"
+msgstr "SIM 2"
msgid "IDS_ST_BODY_SIM_1"
-msgstr "卡槽1"
+msgstr "SIM 1"
msgid "IDS_ST_BODY_SCANNING_FOR_MOBILE_NETWORK_ING_ABB"
msgstr "正在掃描行動網路..."
*
*/
-
+#include <Elementary.h>
#include <sys/stat.h>
#include <fcntl.h>
#define MAXFILELEN 1048576 /* 32000 */
#define LOGFILE "/tmp/quickpanel.log"
-void debug_printf(char *fmt, ...) {
+void debug_printf(char *fmt, ...)
+{
va_list ap;
FILE *fd = 0;
char buf[LINEMAX] = { 0, };
execl("/bin/rm", "rm", "-f", LOGFILE, (char *) 0);
}
/* system("rm -rf "LOGFILE); */
- } else
+ } else {
fclose(fd);
+ }
}
}
}
#ifndef __QUICKPANEL_DEBUG_UTIL_H_
#define __QUICKPANEL_DEBUG_UTIL_H_
-void debug_printf(char *fmt, ...);
+extern void debug_printf(char *fmt, ...);
#endif /* __QUICKPANEL_DEBUG_UTIL_H_ */