#define SETTING_COMMON_DRAW_WIDGET_CONTROLBAR_ITEM_LEN 3
#define POPUP_INTERVAL 2.0
-extern const Elm_Genlist_Item_Class itc_seperator;
-
extern const Elm_Genlist_Item_Class itc_1text;
extern const Elm_Genlist_Item_Class itc_1text_1icon_2;
extern const Elm_Genlist_Item_Class itc_1text_1icon_2_tb;
ad, &scroller, ad->navibar);
}
- /* [UI] separator */
- Elm_Object_Item *item =
- elm_genlist_item_append(scroller, &itc_seperator, NULL, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
/* [UI] create the font list */
ad->size_rdg = elm_radio_add(scroller);
elm_radio_state_value_set(ad->size_rdg, -1);
char *selected_locale;
char *region_search_id;
+
+ int current_rotation;
};
/* extern setting_view setting_view_phone_main; */
setting_view_update(ad->view_to_load, ad);
}
+
+#if SUPPORT_APP_ROATION
+static void _rot_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ SETTING_TRACE_BEGIN;
+ SettingPhoneUG *phoneUG = (SettingPhoneUG *)data;
+ if (phoneUG == NULL || phoneUG ->win_get == NULL) {
+ return;
+ }
+ int change_ang = elm_win_rotation_get(phoneUG->win_get);
+ SETTING_TRACE_DEBUG("....change_ang:%d", change_ang);
+ SETTING_TRACE_DEBUG("current_rotation:%d", phoneUG->current_rotation);
+ /*Send the rotation event to UGs.. */
+ enum ug_event event = UG_EVENT_ROTATE_PORTRAIT;
+ switch (change_ang) {
+ case APP_DEVICE_ORIENTATION_0:
+ event = UG_EVENT_ROTATE_PORTRAIT;
+ break;
+ case APP_DEVICE_ORIENTATION_180:
+ event = UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN;
+ break;
+ case APP_DEVICE_ORIENTATION_270:
+ event = UG_EVENT_ROTATE_LANDSCAPE;
+ break;
+ case APP_DEVICE_ORIENTATION_90:
+ event = UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN;
+ break;
+ default:
+ return;
+ }
+ SETTING_TRACE_DEBUG("diff:%d", elm_win_rotation_get(phoneUG->win_get) - phoneUG->current_rotation);
+
+ if (change_ang != phoneUG->current_rotation) {
+ int diff = change_ang - phoneUG->current_rotation;
+ if (diff < 0) {
+ diff = -diff;
+ }
+ /**
+ * @todo if app didn't launch UG, is the call required to invoke?
+ */
+ ug_send_event(event);
+ if (diff == 180) {
+ /* do nothing */
+ }
+ phoneUG->current_rotation = change_ang;
+ }
+}
+#endif
+
static void *setting_phone_ug_on_create(ui_gadget_h ug, enum ug_mode mode,
app_control_h service, void *priv)
{
setting_retvm_if(phoneUG->win_main_layout == NULL, NULL,
"cannot get main window ");
+
+
+
+ phoneUG->current_rotation = elm_win_rotation_get(phoneUG->win_get);
+ SETTING_TRACE_DEBUG("ad->current_rotation:%d", phoneUG->current_rotation);
+ if (elm_win_wm_rotation_supported_get(phoneUG->win_get)) {
+ int rots[4] = { 0, 90, 180, 270 }; /* rotation value that app may want */
+ elm_win_wm_rotation_available_rotations_set(phoneUG->win_get, rots, 4);
+ }
+ evas_object_smart_callback_add(phoneUG->win_get, "wm,rotation,changed", _rot_changed_cb, phoneUG);
+
+
/* --------------------------------------------------------- */
char *pa_path = NULL;;
Evas_Object *title_right_btn;
int mmc_status;
+
+ int current_rotation;
};
#endif /*__SETTING_STORAGE_H__ */
{
int ret;
const char *cond;
- char cond_str[1024];
+ const char *cond_misc;
struct _calculated_sizes sizes = {0.0, 0.0, 0.0};
retv_if(NULL == ad, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
storageUG_STOP_POINT;
/*0-image, 1-video, 2-sound, 3-music, 4-other*/
- cond = "(MEDIA_TYPE < 4) and MEDIA_PATH LIKE \'/opt/usr/%%\'";
+ cond = "((MEDIA_TYPE < 4) AND (MEDIA_STORAGE_TYPE=0))";
ret = storageUG_get_media_info(cond, storageUg_get_media_item, &sizes);
warn_if(MEDIA_CONTENT_ERROR_NONE != ret, "storageUG_get_media_info() Fail(%d)", ret);
storageUG_STOP_POINT;
- snprintf(cond_str, 1024, "(MEDIA_TYPE = 4) and MEDIA_PATH LIKE \'%s/%%\'", tzplatform_getenv(TZ_USER_CONTENT));
- /*cond = "(MEDIA_TYPE = 4) and MEDIA_PATH LIKE \'"_TZ_USER_CONTENT"/%%\'"; */
- /*ret = storageUG_get_media_info(cond, storageUg_get_misces_item, &sizes); */
- ret = storageUG_get_media_info(cond_str, storageUg_get_misces_item, &sizes);
+ cond_misc = "((MEDIA_TYPE=4) AND (MEDIA_STORAGE_TYPE=0))";
+ ret = storageUG_get_media_info(cond_misc, storageUg_get_misces_item, &sizes);
warn_if(MEDIA_CONTENT_ERROR_NONE != ret, "storageUG_get_media_info() Fail(%d)", ret);
storageUG_STOP_POINT;
warn_if(ret, "pkgmgr_client_get_total_package_size_info() Fail(%d)", ret);
}
-static int storageUg_get_apps_info(int req_id, const char *pkg_type,
+static int storageUg_get_apps_info(uid_t target_uid, int req_id, const char *pkg_type,
const char *pkgid, const char *key, const char *val, const void *pmsg, void *data)
{
SettingStorageUG *ad = data;
return;
}
- ret = pkgmgr_client_get_size(ad->pc, "get", PM_GET_ALL_PKGS, storageUg_get_apps_info,
+ ret = pkgmgr_client_get_size(ad->pc, "get", PM_GET_ALL_PKGS, &storageUg_get_apps_info,
ad);
warn_if(ret, "pkgmgr_client_get_size() Fail(%d)", ret);
}
}
}
+
+
+
+#if SUPPORT_APP_ROATION
+static void _rot_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ SETTING_TRACE_BEGIN;
+ SettingStorageUG *ad = (SettingStorageUG *)data;
+ if (ad == NULL || ad->win == NULL) {
+ return;
+ }
+ int change_ang = elm_win_rotation_get(ad->win);
+ SETTING_TRACE_DEBUG("....change_ang:%d", change_ang);
+ SETTING_TRACE_DEBUG("current_rotation:%d", ad->current_rotation);
+ /*Send the rotation event to UGs.. */
+ enum ug_event event = UG_EVENT_ROTATE_PORTRAIT;
+ switch (change_ang) {
+ case APP_DEVICE_ORIENTATION_0:
+ event = UG_EVENT_ROTATE_PORTRAIT;
+ break;
+ case APP_DEVICE_ORIENTATION_180:
+ event = UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN;
+ break;
+ case APP_DEVICE_ORIENTATION_270:
+ event = UG_EVENT_ROTATE_LANDSCAPE;
+ break;
+ case APP_DEVICE_ORIENTATION_90:
+ event = UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN;
+ break;
+ default:
+ return;
+ }
+ SETTING_TRACE_DEBUG("diff:%d", elm_win_rotation_get(ad->win) - ad->current_rotation);
+
+ if (change_ang != ad->current_rotation) {
+ int diff = change_ang - ad->current_rotation;
+ if (diff < 0) {
+ diff = -diff;
+ }
+ /**
+ * @todo if app didn't launch UG, is the call required to invoke?
+ */
+ ug_send_event(event);
+ if (diff == 180) {
+ /* do nothing */
+ }
+ ad->current_rotation = change_ang;
+ }
+}
+#endif
+
+
static void *setting_storageUg_on_create(ui_gadget_h ug, enum ug_mode mode,
app_control_h service, void *priv)
{
return NULL;
}
+
+
+ ad->current_rotation = elm_win_rotation_get(ad->win);
+ SETTING_TRACE_DEBUG("ad->current_rotation:%d", ad->current_rotation);
+ if (elm_win_wm_rotation_supported_get(ad->win)) {
+ int rots[4] = { 0, 90, 180, 270 }; /* rotation value that app may want */
+ elm_win_wm_rotation_available_rotations_set(ad->win, rots, 4);
+ }
+ evas_object_smart_callback_add(ad->win, "wm,rotation,changed", _rot_changed_cb, ad);
+
+
+
+
+
ret = media_content_connect();
if (MEDIA_CONTENT_ERROR_NONE != ret) {
SETTING_TRACE_ERROR("media_content_connect() Fail(%d)", ret);
setting_main_appdata *ad = g_main_ad;
elm_object_item_part_text_set(ad->navibar_main_it, "elm.text.title", _("IDS_ST_OPT_SETTINGS"));
- /*setting_navi_items_update(ad->navibar_main); */
+ elm_genlist_realized_items_update(ad->sc_gl[SC_All_List]);
char *localeLanguage = NULL;
system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &localeLanguage);