4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
6 * Contact: MyoungJune Park <mj2004.park@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
21 #ifndef __SETTING_DATAUSAGE_H__
22 #define __SETTING_DATAUSAGE_H__
25 #include <Elementary.h>
27 #include <glib-object.h>
29 #include <setting-common-draw-widget.h>
30 #include <setting-common-view.h>
33 #include <data_usage.h>
36 #define SETTING_PKG_NAME "com.samsung.setting"
38 #define SETTING_DATAUSAGE_MOBILE_STR "Mobile"
40 #define SETTING_DATAUSAGE_DATA_ROAMING_STR "IDS_ST_BODY_DATA_ROAMING"
41 #define SETTING_DATAUSAGE_RESTRICT_BACKGROUND_STR "Restrict background data"
42 #define SETTING_DATAUSAGE_SHOW_WIFI_STR "Show Wi-Fi usage"
44 #define SETTING_DATAUSAGE_ON_THIS_DATE_EACH_MONTH_STR "On this date each month"
46 #define SETTING_DATAUSAGE_MOBILE_DATA_STR "IDS_ST_MBODY_MOBILE_DATA"
47 #define SETTING_DATAUSAGE_SET_DATA_USAGE_LIMIT_STR "Set data usage limit"
48 #define SETTING_DATAUSAGE_DATA_LIMIT_STR "IDS_ST_BODY_DATA_LIMIT"
49 #define SETTING_DATAUSAGE_DATA_USAGE_CYCLE_STR "Data usage cycle"
50 #define SETTING_DATAUSAGE_STARTING_DATE_STR "IDS_ST_BODY_START_DATE"
51 #define SETTING_DATAUSAGE_CHANGE_CYCLE_STR "IDS_ST_BODY_CHANGE_CYCLE"
52 #define SETTING_DATAUSAGE_MORE_SETTING_STR "More data usage setting"
53 #define SETTING_DATAUSAGE_GRAPH_DESC_STR "%s : About %s used"
54 #define SETTING_DATAUSAGE_DESC_STR "IDS_ST_BODY_DATA_USAGE_IS_MEASURED_BY_YOUR_PHONE_AND_YOUR_SERVICE_PROVIDER_MAY_ACCOUNT_FOR_USAGE_DIFFERENTLY"
57 #define SETTING_DATAUSAGE_NO_APPS_USE_DATA_STR "No apps used data during this period"
59 #define SETTING_DATAUSAGE_MONTH_STR "Month"
60 #define SETTING_DATAUSAGE_WEEK_STR "Week"
61 #define SETTING_DATAUSAGE_DAY_STR "Day"
63 #define SETTING_DATAUSAGE_DAYS_IN_MONTH 31
64 #define SETTING_DATAUSAGE_DAYS_IN_WEEK 7
65 #define SETTING_DATAUSAGE_HOURS_IN_DAY 24
67 typedef struct _SettingDatausageUG SettingDatausageUG;
70 * Setting Datausage UG context
71 * all UG function has void* as an agument. this is casted back to SettingDatausageUG
72 * and the functions access app context.
74 struct _SettingDatausageUG {
77 /* add more variables here (move your appdata to here) */
79 Evas_Object *win_main_layout;
89 Elm_Object_Item *tabbar_item[2];
91 setting_view *view_to_load;
93 /* datausage setting */
95 Elm_Genlist_Item_Class itc_2text_3_parent;
96 Elm_Genlist_Item_Class itc_1icon_1text_sub;
97 Elm_Genlist_Item_Class itc_1text_1icon_2;
98 Elm_Genlist_Item_Class itc_1text_1icon;
99 Elm_Genlist_Item_Class itc_2text_2;
100 Elm_Genlist_Item_Class itc_1text;
101 Elm_Genlist_Item_Class itc_group_item;
102 Elm_Genlist_Item_Class itc_bg_1icon;
103 Elm_Genlist_Item_Class itc_seperator;
104 Elm_Genlist_Item_Class itc_variable_height;
105 Elm_Genlist_Item_Class itc_1text_1icon_date;
106 Elm_Genlist_Item_Class itc_layout;
107 Elm_Genlist_Item_Class itc_2text_1icon_4;
109 Setting_GenGroupItem_Data *use_packet_data;
110 Setting_GenGroupItem_Data *set_data_usage_limit;
111 Setting_GenGroupItem_Data *data_limit;
112 Setting_GenGroupItem_Data *data_usage_cycle;
113 Setting_GenGroupItem_Data *starting_date;
114 Setting_GenGroupItem_Data *change_cycle;
115 Setting_GenGroupItem_Data *more_setting;
116 Setting_GenGroupItem_Data *limit_graph;
117 Setting_GenGroupItem_Data *graph_image;
118 Setting_GenGroupItem_Data *graph_desc;
120 Evas_Object *data_limit_conformant;
121 Evas_Object *data_limit_entry;
122 Evas_Object *data_limit_popup;
123 Evas_Object *ctxpopup;
127 unsigned long long apps_total_size;
128 Ecore_Animator *animator;
129 rsml_iface_type iftype;
132 unsigned long long data_arr[SETTING_DATAUSAGE_DAYS_IN_MONTH];
134 unsigned long long total_size;
135 unsigned long long left_size;
137 cairo_surface_t *cairo_surface;
140 cairo_surface_t *limit_cairo_surface;
145 extern setting_view setting_view_datausage_main;
147 #endif /* __SETTING_DATAUSAGE_H__ */