tizen 2.3.1 release
[apps/home/b2-clocksetting.git] / src / setting-reset.c
1 /*
2  *  Copyright (c) 2014 Samsung Electronics Co., Ltd.
3  *
4  *  Licensed under the Flora License, Version 1.0 (the License);
5  *  you may not use this file except in compliance with the License.
6  *  You may obtain a copy of the License at
7  *
8  *      http://floralicense.org/license/
9  *
10  *  Unless required by applicable law or agreed to in writing, software
11  *  distributed under the License is distributed on an AS IS BASIS,
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *  See the License for the specific language governing permissions and
14  *  limitations under the License.
15  *
16  */
17 /*
18  * setting-reset.c
19  *
20  *  Created on: Oct 10, 2013
21  *      Author: min-hoyun
22  */
23
24 #include "setting.h"
25 #include "setting-reset.h"
26 #include "util.h"
27
28
29 static void _remove_reset_popup(appdata *ad)
30 {
31         if (ad == NULL)
32                 return;
33         if (ad->popup) {
34                 evas_object_del(ad->popup);
35                 ad->popup = NULL;
36         }
37 }
38
39 static void _response_cancel_cb(void *data, Evas_Object *obj, void *event_info)
40 {
41         appdata *ad = (appdata *)data;
42
43         _remove_reset_popup(ad);
44 }
45
46 static void _response_ok_cb(void *data, Evas_Object *obj, void *event_info)
47 {
48         appdata *ad = data;
49
50         _remove_reset_popup(ad);
51
52         /* call Factory-reset */
53         deviced_call_predef_action(PREDEF_FACTORY_RESET, 0, NULL);
54 }
55
56 void _reset_lange_changed(void *data, Evas_Object *obj, void *event_info)
57 {
58         DBG("Setting - _reset_lange_changed() is called!");
59
60         char buf[1024];
61         snprintf(buf, sizeof(buf), "<font_size=34>%s</font_size>",
62                          elm_entry_utf8_to_markup(_("IDS_ST_POP_ALL_DATA_WILL_BE_ERASED_FROM_GEAR_MEMORY_YOU_CAN_THEN_CONNECT_YOUR_GEAR_TO_ANOTHER_DEVICE")));
63         elm_object_text_set(obj, strdup(buf));
64 }
65
66 void _reset_popup_cb(void *data, Evas_Object *obj, void *event_info)
67 {
68         Evas_Object *popup = NULL;
69         Evas_Object *btn = NULL;
70         Evas_Object *scroller = NULL;
71         Evas_Object *label = NULL;
72
73         appdata *ad = (appdata *) data;
74         if (ad == NULL)
75                 return;
76
77         popup = elm_popup_add(ad->nf);
78         evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
79         elm_object_translatable_part_text_set(popup, "title,text", "IDS_ST_BODY_RESET_GEAR_ABB");
80
81         ad->popup = popup;
82
83         scroller = elm_scroller_add(popup);
84         evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
85         elm_object_content_set(popup, scroller);
86         elm_scroller_bounce_set(scroller, EINA_TRUE, EINA_TRUE);
87         elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
88         elm_object_style_set(scroller, "effect");
89         evas_object_show(scroller);
90
91         label = elm_label_add(scroller);
92         elm_object_style_set(label, "popup/default");
93         elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
94
95         char buf[1024];
96
97         char *font_size_frame = "<font_size=34>%s</font_size>";
98         snprintf(buf, sizeof(buf) - 1, font_size_frame, _("IDS_ST_POP_ALL_DATA_WILL_BE_ERASED_FROM_GEAR_MEMORY_YOU_CAN_THEN_CONNECT_YOUR_GEAR_TO_ANOTHER_DEVICE"));
99
100         char *txt = strdup(buf);
101         elm_object_text_set(label, txt);
102         free(txt);
103         evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
104         evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
105         evas_object_smart_callback_add(label, "language,changed", _reset_lange_changed, NULL);
106         elm_object_content_set(scroller, label);
107         evas_object_show(label);
108
109
110         ea_object_event_callback_add(popup, EA_CALLBACK_BACK, setting_popup_back_cb, ad);
111
112         btn = elm_button_add(popup);
113         elm_object_style_set(btn, "default");
114         evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
115         elm_object_translatable_text_set(btn, "IDS_COM_SK_CANCEL_A");
116         elm_object_part_content_set(popup, "button1", btn);
117         evas_object_smart_callback_add(btn, "clicked", _response_cancel_cb, ad);
118
119         btn = elm_button_add(popup);
120         elm_object_style_set(btn, "default");
121         evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
122         elm_object_translatable_text_set(btn, "IDS_WNOTI_BUTTON_OK_ABB2");
123         elm_object_part_content_set(popup, "button2", btn);
124         evas_object_smart_callback_add(btn, "clicked", _response_ok_cb, ad);
125
126         evas_object_show(popup);
127 }