[TIZENIOT-2009] add disable state to voice control app launch icon 62/245062/1 submit/tizen/20201001.111132
authoraman.jeph <aman.jeph@samsung.com>
Wed, 30 Sep 2020 06:43:09 +0000 (12:13 +0530)
committeraman.jeph <aman.jeph@samsung.com>
Wed, 30 Sep 2020 06:43:09 +0000 (12:13 +0530)
Change-Id: Ice308a2dbe54b259fe1093bcc94591fe43b01b6d
Signed-off-by: aman.jeph <aman.jeph@samsung.com>
inc/noti_section.h
src/notifications/noti_section.c
src/settings/modules/voice-control.c

index ae820785f1c157075cdc9910dfb10299f3af5bfd..2770ca5bb886ab095c4a157cb3f6d9d92ff9c282 100755 (executable)
@@ -21,5 +21,6 @@
 extern void quickpanel_noti_section_create(Evas_Object *parent);
 extern void quickpanel_noti_section_update(int noti_count);
 extern void quickpanel_noti_section_update_clear_button_state(Eina_Bool is_disable);
+extern void quickpanel_voice_control_launch_icon_disable_state_set(Eina_Bool disable);
 
 #endif
index 6e3b9e15dd92659f0bfce452a0b092c495bdbeb5..065a0843cc8d63524492c547fdfdb4e89a7109bb 100755 (executable)
@@ -101,6 +101,28 @@ static void quickpanel_voice_control_clicked(void *data, Evas_Object *obj, void
        }
 }
 
+HAPI void quickpanel_voice_control_launch_icon_disable_state_set(Eina_Bool disable)
+{
+       Evas_Object *vc_button = elm_object_part_content_get(noti_section_data.layout, "voice_control_swallow");
+       if(vc_button == NULL) {
+               ERR("voice control app launch icon invalid, can't state state");
+               return;
+       }
+       Evas_Object *icon = elm_object_part_content_get(vc_button, "icon");
+       if(disable) {
+               evas_object_smart_callback_del(vc_button, "clicked", quickpanel_voice_control_clicked);
+               if(icon) {
+                       evas_object_color_set(icon, 195, 202, 210, 255);
+               }
+       } else {
+               evas_object_smart_callback_add(vc_button, "clicked", quickpanel_voice_control_clicked, NULL);
+               if(icon) {
+                       evas_object_color_set(icon, 255, 255, 255, 255);
+               }
+       }
+}
+
+
 HAPI void quickpanel_noti_section_create(Evas_Object *parent)
 {
        Evas_Object *section;
@@ -179,10 +201,10 @@ HAPI void quickpanel_noti_section_create(Evas_Object *parent)
        elm_object_part_content_set(vc_button, "icon", icon);
 
        elm_object_part_content_set(section, "voice_control_swallow", vc_button);
-       evas_object_smart_callback_add(vc_button, "clicked", quickpanel_voice_control_clicked, NULL);
        evas_object_show(vc_button);
        free(path);
 
+
        elm_object_part_content_set(section, "focus", focus_clear);
        evas_object_smart_callback_add(focus_clear, "clicked", quickpanel_noti_on_clear_all_clicked, NULL);
        elm_object_part_content_set(section, "focus.setting", focus_setting);
@@ -193,6 +215,15 @@ HAPI void quickpanel_noti_section_create(Evas_Object *parent)
        noti_section_data.clear_btn = focus_clear;
        noti_section_data.noti_setting_btn = focus_setting;
 
+       // Set initial state of voice control icon
+       bool status = false;
+       vc_setting_get_enabled(&status);
+       if(status) {
+               quickpanel_voice_control_launch_icon_disable_state_set(EINA_FALSE);
+       } else {
+               quickpanel_voice_control_launch_icon_disable_state_set(EINA_TRUE);
+       }
+
 }
 
 static void _focus_pair_set(Evas_Object *view)
index e62528ddec550fa54ef838795a41619de7692209..186374343be27f42e061edde854d212e28af99ca 100755 (executable)
@@ -35,6 +35,7 @@
 #include "setting_utils.h"
 #include "setting_module_api.h"
 #include "settings_icon_common.h"
+#include "noti_section.h"
 
 #define BUTTON_LABEL _("IDS_ST_BUTTON2_VOICE_CONTROL")
 #define BUTTON_ICON_NORMAL "icon_voice_control_off.png"
@@ -153,6 +154,8 @@ static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission
 
                quickpanel_setting_module_icon_state_set(module, 0);
                quickpanel_setting_module_icon_view_update(module ,0,FLAG_VALUE_VOID);
+               //Disable voice control app launch icon
+               quickpanel_voice_control_launch_icon_disable_state_set(EINA_TRUE);
        }
        else {
                DBG("***** %d value *****",quickpanel_setting_module_icon_state_get(module));
@@ -170,7 +173,8 @@ static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission
 
                quickpanel_setting_module_icon_state_set(module, 1);
                quickpanel_setting_module_icon_view_update(module ,1,FLAG_VALUE_VOID);
-
+               //Enable voice control app launch icon
+               quickpanel_voice_control_launch_icon_disable_state_set(EINA_FALSE);
        }
 }
 
@@ -180,9 +184,11 @@ static void _vc_enabled_changed_cb(bool enabled, void* user_data)
        if(enabled) {
                quickpanel_setting_module_icon_state_set(module, 1);
                quickpanel_setting_module_icon_view_update(module ,1,FLAG_VALUE_VOID);
+               quickpanel_voice_control_launch_icon_disable_state_set(EINA_FALSE);
        } else {
                quickpanel_setting_module_icon_state_set(module, 0);
                quickpanel_setting_module_icon_view_update(module ,0,FLAG_VALUE_VOID);
+               quickpanel_voice_control_launch_icon_disable_state_set(EINA_TRUE);
        }
 }