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_STORAGE_H__
22 #define __SETTING_STORAGE_H__
25 #include <Elementary.h>
27 #include <glib-object.h>
29 #include <setting-common-draw-widget.h>
30 #include <setting-common-view.h>
32 #define SETTING_STORAGE_PROGRESSBAR_TIMEOUT 10
33 #define SETTING_STORAGE_POPUP_TIMER 2
35 #define SETTING_STORAGE_MAX_STR_LEN 30
37 #define SETTING_STORAGE_DIR_PATH_LEN_MAX 4096
38 #define SETTING_STORAGE_FILE_NAME_LEN_MAX 256
39 #define SETTING_STORAGE_CHILDPATH_LEN 512
41 #define SETTING_STORAGE_KILOBYTE_VALUE 1024
42 #define SETTING_STORAGE_MEGABYTE_VALUE 1048576
43 #define SETTING_STORAGE_GIGABYTE_VALUE 1073741824
45 #define SETTING_STORAGE_FORMAT_ASK_MSG "This action will erase the external storage in the phone. You will lose ALL data on the card! Format?"
47 #define SETTING_STORAGE_SD_CARD_MOUNT_ALREADY_DESC "Already mount"
49 #define SETTING_STORAGE_DEFAULT_STORAGE_STR "Default storage"
50 #define SETTING_STORAGE_INTERNAL_STORAGE_STR "IDS_ST_BODY_DEVICE_MEMORY"
51 #define SETTING_STORAGE_PICS_STR "IDS_ST_BODY_PICTURES_VIDEOS"
52 #define SETTING_STORAGE_DOWNS_STR "IDS_ST_BODY_DOWNLOADS"
53 #define SETTING_STORAGE_MISCES_STR "IDS_ST_BODY_MISCELLANEOUS_FILES"
54 #define SETTING_STORAGE_AVAIL_STR "IDS_ST_BODY_AVAILABLE"
55 #define SETTING_STORAGE_FORMAT_STR "IDS_ST_BODY_FORMAT_USB_STORAGE"
56 #define SETTING_STORAGE_FORMAT_DESC_STR "Erases all data on the internal USB storage, such as music and photos"
57 #define SETTING_STORAGE_MOUNT_STR "IDS_ST_BODY_MOUNT_SD_CARD"
58 #define SETTING_STORAGE_INSERT_STR "IDS_ST_BODY_INSERT_SD_CARD"
60 #define SETTING_STORAGE_APPS_ICON_PATH SETTING_ICON_PATH"/A01-1_icon_color_applications.png"
61 #define SETTING_STORAGE_PICS_ICON_PATH SETTING_ICON_PATH"/A01-1_icon_color_pictures.png"
62 #define SETTING_STORAGE_DOWNS_ICON_PATH SETTING_ICON_PATH"/A01-1_icon_color_downloads.png"
63 #define SETTING_STORAGE_MISCES_ICON_PATH SETTING_ICON_PATH"/A01-1_icon_color_miscellaneous_files.png"
64 #define SETTING_STORAGE_AVAIL_ICON_PATH SETTING_ICON_PATH"/A01-1_icon_color_available.png"
66 #define SETTING_STORAGE_ICON_WIDTH ((int)640 * WIDGET_SCALE_FACTOR)
67 #define SETTING_STORAGE_ICON_HEIGHT ((int)16 * WIDGET_SCALE_FACTOR)
69 #define SETTING_STORAGE_OPT_PATH "/opt"
70 #define SETTING_STORAGE_MEDIA_PATH "/opt/media"
71 #define SETTING_STORAGE_PICTURES_PATH "/opt/media/Images"
72 #define SETTING_STORAGE_VIDEOS_PATH "/opt/media/Videos"
73 #define SETTING_STORAGE_DOWNLOADS_PATH "/opt/media/Downloads"
74 #define SETTING_STORAGE_MMC_PATH "/opt/storage/sdcard"
75 #define SETTING_STORAGE_MMC_PARENT_PATH "/opt/storage/sdcard/.."
78 SETTING_STORAGE_SYSMAN_REQUEST_MOUNT_ALREADY = -2,
79 SETTING_STORAGE_SYSMAN_REQUEST_SUCCESS = 0
83 typedef void (*setting_storage_mmc_cb) (int val, void *data);
85 typedef struct _Setting_Storage_Status {
88 } Setting_Storage_Status;
90 typedef struct _Node_Info Node_Info;
92 char path[SETTING_STORAGE_DIR_PATH_LEN_MAX + 1];
93 char name[SETTING_STORAGE_FILE_NAME_LEN_MAX + 1];
97 typedef struct _SettingStorageUG SettingStorageUG;
100 * Setting Storage UG context
101 * all UG function has void* as an agument. this is casted back to SettingStorageUG
102 * and the functions access app context.
104 struct _SettingStorageUG {
107 /* add more variables here (move your appdata to here) */
109 Evas_Object *win_main_layout;
110 Evas_Object *win_get;
112 Evas_Object *ly_main;
114 Evas_Object *genlist;
115 Evas_Object *navibar;
117 /* storage setting */
119 Elm_Genlist_Item_Class itc_2text_3_parent;
120 Elm_Genlist_Item_Class itc_1icon_1text_sub;
121 Elm_Genlist_Item_Class itc_1text_1icon_2;
122 Elm_Genlist_Item_Class itc_2text_2;
123 Elm_Genlist_Item_Class itc_group_item;
124 Elm_Genlist_Item_Class itc_bg_1icon;
125 Elm_Genlist_Item_Class itc_seperator;
126 Elm_Genlist_Item_Class itc_2text_1icon_3;
127 Elm_Genlist_Item_Class itc_1text;
128 Elm_Genlist_Item_Class itc_2text_1icon_4;
130 Setting_Storage_Status internal_status;
131 Setting_Storage_Status apps_status;
132 Setting_Storage_Status pics_videos_status;
133 Setting_Storage_Status downloads_status;
134 Setting_Storage_Status others_status;
136 Setting_GenGroupItem_Data *internal;
137 Setting_GenGroupItem_Data *apps;
138 Setting_GenGroupItem_Data *pics_videos;
139 Setting_GenGroupItem_Data *downloads;
140 Setting_GenGroupItem_Data *others;
141 Setting_GenGroupItem_Data *avail;
143 Setting_GenGroupItem_Data *sd_mount;
144 Setting_GenGroupItem_Data *sd_total;
145 Setting_GenGroupItem_Data *sd_available;
146 Setting_GenGroupItem_Data *sd_format;
148 struct mmc_contents *mmc_content;
150 /* default storage */
151 Setting_GenGroupItem_Data *data_wap;
152 Setting_GenGroupItem_Data *data_bt;
153 Setting_GenGroupItem_Data *data_cmr;
154 Setting_GenGroupItem_Data *data_vrec;
155 Setting_GenGroupItem_Data *data_rdo;
156 Setting_GenGroupItem_Data *data_dvb_h;
159 extern setting_view setting_view_storage_main;
160 extern setting_view setting_view_storage_default_storage;
162 #endif /* __SETTING_STORAGE_H__ */