tizen 2.4 release
[apps/home/settings.git] / include / setting.h
index b87d962..1df3fd2 100644 (file)
 #include <notification.h>
 #include <account.h>
 #include <app_manager.h>
-#include <efl_assist.h>
+#include <efl_extension.h>
 #include <dd-display.h>
-/*#include <tethering.h> */
+#include <call-manager.h>
 
-#define NETCONFIG_SERVICE                      "net.netconfig"
-#define NETCONFIG_WIFI_INTERFACE               NETCONFIG_SERVICE ".wifi"
-#define NETCONFIG_WIFI_PATH                    "/net/netconfig/wifi"
-
-#define FEATURE_UNAVALIABLE_WHILE_TTS_ON "IDS_SCR_POP_SCREEN_READER_IS_NOT_SUPPORTED_BY_PS_PRESS_THE_BACK_KEY_TO_RETURN_TO_THE_PREVIOUS_SCREEN"
 
 #define NO_UG_FOUND_MSG                        "IDS_MSGF_POP_UNSUPPORTED"
-#define USB_NEED_OFF "Please turn USB tethering off first in Mobile hotspot"
-
-#define Kies_Caring_Str "IDS_KW_POP_BE_CAREFUL_WHEN_TRANSMITTING_INFORMATION_ON_AN_UNSECURED_WI_FI_NETWORK_MSG"
-#define Kies_Warrning_Str "IDS_USB_POP_UNABLE_TO_CONNECT_TO_KIES_VIA_WI_FI_WHEN_CONNECTED_TO_KIES_VIA_USB"
-
-#define _2_TAB_STR             Keystr_Connection
-#define _3_TAB_STR             KeyStr_Device
-#define _4_TAB_STR             KeyStr_MotionControl /**/
-#define _5_TAB_STR             "IDS_ST_BODY_GENERAL"
-#define _6_TAB_STR             KeyStr_DownloadedAPPs
 
-#define LIST_VIEW "IDS_CLD_BUTTON_LIST_VIEW"
-#define GRID_VIEW "IDS_ST_BODY_GRID_VIEW"
-#define TAB_VIEW "IDS_ST_OPT_TAB_VIEW"
-#define EDIT_VIEW "IDS_ST_OPT_EDIT_QUICK_SETTINGS"
-
-
-#define Keystr_Apps                    "IDS_ST_BODY_APPLICATION_SETTINGS"
-#define Keystr_All                     "IDS_ST_OPT_ALL"
-#define Keystr_MostUsed                "IDS_ST_TZTAB4_MOST_USED_M_APP"
 #define Keystr_Connection      "IDS_ST_BODY_CONNECTION"
-#define Keystr_Device          "IDS_ST_BODY_DEVICE"
-#define Keystr_General         "IDS_ST_BODY_GENERAL"
-
-
-#define USER_DEFINED_SETTING_STR "IDS_ST_HEADER_USER_SETTINGS_ABB"
-#define FREQUENTLY_SETTING_STR "IDS_ST_BODY_FREQUENTLY_USED"
-#define EMPTY_STR "IDS_ST_BODY_EMPTY"
-
-#define ENABLE_FLIGHT_MODE_MSG "IDS_ST_BODY_FLIGHT_MODE_MSG"
-
-/**
- * @brief
- */
-typedef enum _Setting_Tab_View_Type {
-    SETTING_TAB_VIEW_INVALID = -1,
-    SETTING_TAB_VIEW_QUICK_SETTINGS = 0,
-    SETTING_TAB_VIEW_CONNECTION = 1,
-    SETTING_TAB_VIEW_DEVICE = 2,
-    SETTING_TAB_VIEW_CONTROL = 3,
-    SETTING_TAB_VIEW_GENERAL = 4,
-    SETTING_TAB_VIEW_APPS = 5,
-    SETTING_TAB_VIEW_MAX,
-} Setting_Tab_View_Type;
-
-typedef enum _setting_view_type {
-    SETTING_INVALID_VIEW = -1,
-    SETTING_LIST_VIEW = 0,
-    SETTING_GRID_VIEW = 1,
-    SETTING_TAB_VIEW = 2,
-    SETTING_EDIT_VIEW = 3,
-    SETTING_MAX,
-} setting_view_type;
-
-
-typedef void (*menu_list_load_fn)(void *data);
-typedef void (*menu_list_load_fn2)(void *, Cfg_Item_Position, Evas_Object *);
 
 #define MAX_GROUP_NUM_IN_VIEW 10
 
-#if 1
-/* 2 - order of Connection Tab list */
-typedef enum _List_Load_Connection_Func_Type {
-    Func_Type_Connectivity = 0,
-    Func_Type_ShareAndTransfer,
-    Func_Type_Connection_MAX
-} List_Load_Connection_Func_Type;
-
-typedef enum _List_Load_Display_Func_Type {
-    Func_Type_Screen,
-    Func_Type_Others,
-    Func_Type_Display_MAX
-} List_Load_Display_Func_Type;
-
-typedef enum _List_Load_Device_Func_Type {
-    Func_Type_SoundDisplay,
-    Func_Type_Personal,
-    Func_Type_MotionControl,
-    Func_Type_Device_MAX
-} List_Load_Device_Func_Type;
-
-typedef enum _List_Load_General_Func_Type {
-    Func_Type_BackupOption,
-    Func_Type_System,
-    Func_Type_DownloadedApp,
-    Func_Type_General_MAX
-} List_Load_General_Func_Type;
-
-typedef enum _Top_Grid_Item_Type {
-    GRID_ITEM_WIFI = 0,
-    GRID_ITEM_DATAUSAGE,
-    GRID_ITEM_STORAGE,
-    GRID_ITEM_DISPLAY,
-    GRID_ITEM_SOUND,
-    GRID_ITEM_POWERSAVING,
-    GRID_ITEM_MAX
-} Top_Grid_Item_Type;
-#endif
-
-/**
- * enum for genlist item to be updated
- * @see setting_update_gl_item
- */
-typedef enum _Update_GL_Item_Type {
-    GL_ITEM_WIFI = 0,
-    GL_ITEM_BT,
-    GL_ITEM_NFC,
-    GL_ITEM_SBEAM,
-    GL_ITEM_MAP,
-    GL_ITEM_USB,
-
-    GL_ITEM_ROTATION,
-    GL_ITEM_FLIGHT,
-    GL_ITEM_NETRESTRICTIONMODE,
-    GL_ITEM_DRIVING,
-    GL_ITEM_PWRSAVING,
-#if SUPPORT_BLOCKINGMODE
-    GL_ITEM_BLOCKING,
-#endif
-#if SUPPORT_GUESTMODE
-    GL_ITEM_GUEST,
-#endif
-    GL_ITEM_MAX
-} Update_GL_Item_Type;
 
 typedef enum _FLIGHT_MODE_OPEARTION {
     FM_INVALID = 0, /*< There is no request waiting for processing */
@@ -180,37 +56,9 @@ typedef enum _FLIGHT_MODE_OPEARTION {
     FM_LEAVE,          /*< Some "flightmode leave" request is waiting for processing */
 } FLIGHT_MODE_OPEARTION;
 
-#define IMG_CTRL_ICON_TOP                              SETTING_ICON_PATH_CFG"tap/A01-1_tap_icon_popular.png"
-#define IMG_CTRL_ICON_CONNECTION               SETTING_ICON_PATH_CFG"tap/A01-1_tap_icon_connection.png"
-#define IMG_CTRL_ICON_DISPLAY                  SETTING_ICON_PATH_CFG"tap/A01-1_tap_icon_device.png"
-#define IMG_CTRL_ICON_GENERAL                  SETTING_ICON_PATH_CFG"tap/A01-1_tap_icon_general.png"
-
-
-struct _GridItem {
-       const char *name;                               /**< name below the icon image  */
-       const char *icon_path;          /**< icon path (full path)              */
-       const char *ug_name;                    /**< UG name                                    */
-       void *data;                             /* app context pointer                  */
-       Elm_Object_Item *item;  /**< gengrid object item */
-};
-typedef struct _GridItem GridItem;
-
-#define MAX_GENGRID_TEXT_LEN 13
-#define MAX_GRID_NUM 12
-
-#define GRID_W_P 240
-#define GRID_H_P 208
-#define GRID_W_L 214
-#define GRID_H_L 195
-
-#define GRID_GROUP_H_P 81
-#define GRID_GROUP_H_L 56
 
 #define MAX_MORE_MENU_NUM      6
-extern const char *fixed_grid_pref_key[];
 #define WIFI_LAST_ON_OFF_STATE "PREFKEY_WIFI_ON_OFF"
-#define PREFKEY_VIEW_TYPE "PREFKEY_VIEW_TYPE"
-#define PREFKEY_TAB_VIEW_TAB "PREFKEY_TAB_VIEW_TAB"
 
 enum {
     OP_WIFI_TURNING_INVALID = 0x00,
@@ -218,67 +66,16 @@ enum {
     OP_WIFI_TURNING_ON,
 };
 
-/*driving mode */
-#define PREFKEY_SETTING_MAIN_DRIVING_MODE_ON_POPUP_REMINDER            "setting/main/driving_mode/on/popup_reminder"
-
 enum {
     SC_All_List,
-    SC_All_Grid,
-    SC_Edit_List,
-    SC_Edit_Grid,
-
-    /*to delete */
-    SC_All,
-    SC_Top,
     SC_Max
-}; /*genlist or gengrid */
-
-enum {
-    VIEW_All_List,
-    VIEW_All_List_Quick,
-    VIEW_All_Grid,/*not used to access menus,just for groups(from GL_Group_QuickSettings to GL_Group_Apps) */
-    VIEW_Common,
-    VIEW_Common_Quick,
-    VIEW_Max
 };
 
 
 enum {
-    GL_Joyn = 0,
-    GL_WiFi,
-    GL_BT,
-    GL_FlightMode,
-    GL_NetRestriction,
-    GL_MobileApp,
-    GL_Network,
-    GL_NearByDev,
-    GL_NFC,
-    GL_SBeam,
-    GL_Motion,
-    GL_PalmMotion,
-    GL_GuestMode,
-    GL_Bright,
-    GL_Backlight,
-    GL_Battery,
-    GL_MultiWin,
-    GL_BM,
-    GL_DM,
-    GL_PM,
-    GL_PersonalPage,
-    GL_TouchSens,
-    GL_TouchkeyLight,
-    GL_Landscape,
-    GL_BlockingMode,
-    GL_Screentone,
-    GL_Screenmode,
-
-    GL_Group_QuickSettings,
     GL_Group_Connection,
-    /*GL_Group_Share, */
-    GL_Group_SoundDisplay,
+    GL_Group_Device,
     GL_Group_Personal,
-    /*GL_Group_MotionControl, */
-    GL_Group_UserBackup,
     GL_Group_System,
     GL_Group_Apps,
     GL_Max
@@ -291,217 +88,64 @@ typedef struct _setting_main_appdata {
 
        ui_gadget_h ug;                                         /**< ug */
 
-       TapiHandle *handle;
-       Evas_Object *popup;
-
-       Evas_Object *ly_editview;                       /**< Edit mode */
-
-       Evas_Object *popup_kies_via_wifi;
-       Evas_Object *popup_wifi_mode;
-       Evas_Object *popup_flight_mode;
-       Evas_Object *popup_blocking_mode;
-       Evas_Object *popup_net_restriction_mode;
-       Evas_Object *popup_palmmotion_tts;
-       Evas_Object *popup_palmmotion_enable;
-
        Evas *evas;
        Evas_Object *win_main;
-
-       menu_list_load_fn load_fns[SETTING_TAB_VIEW_MAX][MAX_GROUP_NUM_IN_VIEW]; /**< */
-
        Evas_Object *navibar_main;
-       Elm_Object_Item *main_navi_it;
+       Elm_Object_Item *navibar_main_it;
 
        Evas_Object *ly_main;                   /**< seting view main */
-       Evas_Object *gengrid;
        Evas_Object *sc_gl[SC_Max];             /**< genlist array */
-       Evas_Object *sc_gg[SC_Max];             /**< gengrid array */
-
-       Setting_GenGroupItem_Data *gl_data_item[VIEW_Max][GL_Max];
-       Setting_GenGroupItem_Data *edit_group_item[GL_Max - GL_Group_QuickSettings];
-
-       bool isInUGMode;                                /**< set TRUE when UG is running */
-
-       /**
-        * vars for flightmode
-        */
-       bool b_fm_requesting; /**< whether some request is processing. 1:yes, 0:no */
-       FLIGHT_MODE_OPEARTION fm_waiting_op;
-
-       /* special layout */
-       Setting_GenGroupItem_Data *data_joyn;
-       Setting_GenGroupItem_Data *data_flight;
-       Setting_GenGroupItem_Data *data_multi_window;
-       Setting_GenGroupItem_Data *data_netrestrictionmode;
-       Setting_GenGroupItem_Data *data_wifi;
-       Setting_GenGroupItem_Data *data_bt;
-       Setting_GenGroupItem_Data *data_mobileApp;
-
-       Setting_GenGroupItem_Data *data_bright;
-       Setting_GenGroupItem_Data *data_backlight;
-       Setting_GenGroupItem_Data *data_battery;
-       Setting_GenGroupItem_Data *data_landscape;
-       Setting_GenGroupItem_Data *data_screentone;
-       Setting_GenGroupItem_Data *data_screenmode;
-       Setting_GenGroupItem_Data *data_touchkey_light_duration;
-       Setting_GenGroupItem_Data *data_powersaving;
-       Setting_GenGroupItem_Data *data_driving;
-       Setting_GenGroupItem_Data *data_blocking;
-       Setting_GenGroupItem_Data *data_personalpage;
-       Setting_GenGroupItem_Data *data_guest;
-       Setting_GenGroupItem_Data *data_high_touch_sensitivity;
-
-       Setting_GenGroupItem_Data *data_moreSystem;
-       Setting_GenGroupItem_Data *data_moreConnect;
-       Setting_GenGroupItem_Data *data_nfc;
-       Setting_GenGroupItem_Data *data_sbeam;
-       Setting_GenGroupItem_Data *data_motion;
-       Setting_GenGroupItem_Data *data_palmmotion;
-       Setting_GenGroupItem_Data *data_nearby_devices;
-       /*following are not for update.. */
-       Setting_GenGroupItem_Data *data_network;
-
-       /*top */
-       Setting_GenGroupItem_Data *data_fixed_gengrid_portrait;
-
-       Setting_GenGroupItem_Data *data_fixed_gengrid_landscape;
-
-       Setting_GenGroupItem_Data *data_frequently_portrait;            /* genlist item */
-       Setting_GenGroupItem_Data *data_frequently_landscape;           /* genlist item */
-
-       Setting_GenGroupItem_Data *data_frequently_used_portrait;       /* title */
-       Setting_GenGroupItem_Data *data_frequently_used_landscape;      /* title */
-
-       Setting_GenGroupItem_Data *data_recently_portrait;
-       Setting_GenGroupItem_Data *data_recently_landscape;
-       Setting_GenGroupItem_Data *data_recently_used_portrait;
-       Setting_GenGroupItem_Data *data_recently_used_landscape;
-
-       ListItemObject *data_no_result;
-
-       /*--------------------------------------------------------------- */
-
-       Setting_Tab_View_Type view_type;
-       Setting_Tab_View_Type select_tab_type;
-       setting_view_type list_type;
-       Evas_Object *ly_select_tab;
-       Evas_Object *select_sub_view[SETTING_TAB_VIEW_MAX];
-       GridItem *select_edit_mode_item;
-       Evas_Object *edit_genlist;
-       Evas_Object *edit_gengrid;
-       Eina_List *edit_sel_list;
-       Elm_Object_Item *edit_navi_it;
-       Elm_Object_Item *select_ctrl_item[3];
-
-       Evas_Object *main_genlist;                              /**< 'Setting main' in main page */
-
-       Elm_Genlist_Item_Class itc[GENDIAL_Type_MAX];
-       Elm_Genlist_Item_Class itc_no_reult;
-
-       Setting_GenGroupItem_Data *check_all_item; /**< genlist node for "Select all" */
-
-       Evas_Object *data_roaming_popup;
-
-       /*driving mode */
-       Evas_Object *driving_mode_popup;
-       Evas_Object *driving_mode_popup_chk;
-
-       /* Personal page */
-       char *personal_data;
 
        /* listen / unlisten code */
        Eina_List *listened_list;
-       sensor_h sf_handle;
-
-       const char *more_connective_menus[MAX_MORE_MENU_NUM];
-       const char *more_system_menus[MAX_MORE_MENU_NUM];
-
-       Evas_Object *webkit;
        Evas_Object *conform;
-
-       /* NEW UX --------------------------------------------------- */
-       Elm_Object_Item *ctrl_item[SETTING_TAB_VIEW_MAX];  /* 0:Grid, 1:General 2:Applications */
-       Evas_Object *sub_view[SETTING_TAB_VIEW_MAX];       /* 0:Grid, 1:General 2:Applications */
        Evas_Object *view_layout;       /* view layout */
-       Evas_Object *ctrl_bar;
 
-       Eina_Bool click_flag;
-       Elm_Gengrid_Item_Class *gic;
-       Elm_Gengrid_Item_Class groupic;
-       Elm_Gengrid_Item_Class editGic;
-       Ecore_Timer *save_idler;
+       Elm_Genlist_Item_Class itc_table[GENDIAL_Type_MAX];
 
-       Ecore_Timer *update_idler;
+       TapiHandle *handle;
+       Evas_Object *popup;
+
+       Setting_GenGroupItem_Data *data_network; /** special layout */
+       bool isInUGMode;                                /**< set TRUE when UG is running */
 
-       Ecore_Timer *bt_timer;
-       Ecore_Timer *nfc_timer;
-       Ecore_Timer *wifi_timer;
-       Ecore_Idler *update_font_idler;
-       Ecore_Timer *dashboard_timer;
        int current_rotation;
-       int noti_id;
-       int driving_noti_id;
-       int flight_noti_id;
        /* ---------------------------------------------------------- */
-
        Ecore_Timer *event_freeze_timer;
 
-       /* FEATURE : setting search */
-       /* ly_topview */
-       /* search app */
-       Evas_Object *ly_topview;
-       Evas_Object *search_genlist;
-       int search_count;
-       int cur_count;
-       ListItemObject *search_selected_item_data;
-
-       account_subscribe_h account_subscribe_handle;
-       Evas_Object *search_bar;
-       char search_text[512 + 1];
-       char current_search_text[512 + 1];
-       Ecore_Idler *search_idler;
-       Eina_Bool nfc_try_activate_running;
-
-       Elm_Object_Item *grid_item[6];
-
        bundle *b;
-       int wifi_op;
 
        Cfg_Item_Type is_searchmode;
-
-       Setting_GenGroupItem_Data *data_temp;
-
-       /*cis-panel */
-       Evas_Object *cis_left_panel;
-       Evas_Object *cis_left_panel_list;
-
-       bool    cis_style_gengrid;
-       Evas_Object *current_gengrid;
-
-       Elm_Genlist_Item_Class itc_expand_grid;
-       int scrl_type;
-
-       Ea_Theme_Color_Table *theme_table;
-
        Eina_Hash *main_list_hash;
 
+#if 0
+       //Evas_Object *main_genlist;                            /**< 'Setting main' in main page */
+       Evas_Object *ly_editview;                       /**< Edit mode */
+       Evas_Object *popup_wifi_mode;
+       Evas_Object *popup_kies_via_wifi;
+       bool b_fm_requesting; /**< whether some request is processing. 1:yes, 0:no */
+       FLIGHT_MODE_OPEARTION fm_waiting_op;
+       Ecore_Timer *wifi_timer;
+       Ecore_Timer *update_idler;
+       int noti_id;
+       Evas_Object *search_genlist;
+       Evas_Object *ly_topview;
+       Evas_Object *search_bar;
+       char search_text[512 + 1];
+       Ecore_Idler *search_idler;
+       int wifi_op;
+#endif
 } setting_main_appdata;
 extern setting_main_appdata *g_main_ad;
-extern const char *menu_group[];
 
 /* launch view */
 extern setting_view setting_view_main;
-extern setting_view setting_view_edit_mode;
 
 extern void __gl_realized(void *data, Evas_Object *obj, void *event_info);
 extern void setting_main_refresh_topview_list(void *data);
 
 extern Evas_Object *__get_top_list(void *data);
 extern void setting_main_click_list_ex_ug_cb(void *data, Evas_Object *obj, void *event_info);
-extern GridItem *__main_grid_item_append(Evas_Object *gengrid, const Elm_Genlist_Item_Class *itc,
-                                         setting_call_back_func gl_sel, const char *key_name,
-                                         const char *icon_path, const char *ug_name,
-                                         void *data);
 extern Eina_Bool __save_timer(void *data);
 
 typedef Setting_GenGroupItem_Data *(*UI_HANDLER)(void *data, char *title, char *iconpath, char *ugname, Evas_Object *genlist, Elm_Object_Item *parent);