[elm] Fix booboos for people not having eio,

ewebkit or emotion.



SVN revision: 70749
This commit is contained in:
Gustavo Lima Chaves 2012-05-03 22:45:01 +00:00
parent aeb08688b7
commit 6a18b15a1b
3 changed files with 82 additions and 59 deletions

View File

@ -296,6 +296,44 @@ _itc_del(void *data,
eina_stringshare_del(data);
}
static void
_anchors_do(Evas_Object *obj,
const char *path)
{
char **tok, buf[PATH_MAX * 3], *s;
int i, j;
ELM_FILESELECTOR_DATA_GET(obj, sd);
s = elm_entry_utf8_to_markup(path);
if (!s) return;
buf[0] = '\0';
tok = eina_str_split(s, "/", 0);
free(s);
eina_strlcat(buf, "<a href=/>root</a>", sizeof(buf));
for (i = 0; tok[i]; i++)
{
if ((!tok[i]) || (!tok[i][0])) continue;
eina_strlcat(buf, sd->path_separator, sizeof(buf));
eina_strlcat(buf, "<a href=", sizeof(buf));
for (j = 0; j <= i; j++)
{
if (strlen(tok[j]) < 1) continue;
eina_strlcat(buf, "/", sizeof(buf));
eina_strlcat(buf, tok[j], sizeof(buf));
}
eina_strlcat(buf, ">", sizeof(buf));
eina_strlcat(buf, tok[i], sizeof(buf));
eina_strlcat(buf, "</a>", sizeof(buf));
}
free(tok[0]);
free(tok);
elm_object_text_set(sd->path_entry, buf);
}
#ifdef HAVE_EIO
static Eina_Bool
_ls_filter_cb(void *data __UNUSED__,
@ -384,44 +422,6 @@ _file_list_cmp(const void *a,
return strcoll(elm_object_item_data_get(la), elm_object_item_data_get(lb));
}
static void
_anchors_do(Evas_Object *obj,
const char *path)
{
char **tok, buf[PATH_MAX * 3], *s;
int i, j;
ELM_FILESELECTOR_DATA_GET(obj, sd);
s = elm_entry_utf8_to_markup(path);
if (!s) return;
buf[0] = '\0';
tok = eina_str_split(s, "/", 0);
free(s);
eina_strlcat(buf, "<a href=/>root</a>", sizeof(buf));
for (i = 0; tok[i]; i++)
{
if ((!tok[i]) || (!tok[i][0])) continue;
eina_strlcat(buf, sd->path_separator, sizeof(buf));
eina_strlcat(buf, "<a href=", sizeof(buf));
for (j = 0; j <= i; j++)
{
if (strlen(tok[j]) < 1) continue;
eina_strlcat(buf, "/", sizeof(buf));
eina_strlcat(buf, tok[j], sizeof(buf));
}
eina_strlcat(buf, ">", sizeof(buf));
eina_strlcat(buf, tok[i], sizeof(buf));
eina_strlcat(buf, "</a>", sizeof(buf));
}
free(tok[0]);
free(tok);
elm_object_text_set(sd->path_entry, buf);
}
static void
_signal_first(Listing_Request *lreq)
{

View File

@ -54,14 +54,13 @@ EVAS_SMART_SUBCLASS_NEW
(VIDEO_SMART_NAME, _elm_video, Elm_Layout_Smart_Class,
Elm_Layout_Smart_Class, elm_layout_smart_class_get, NULL);
#ifdef HAVE_EMOTION
static Eina_Bool
_elm_video_smart_event(Evas_Object *obj,
Evas_Object *src __UNUSED__,
Evas_Callback_Type type,
void *event_info)
{
#ifdef HAVE_EMOTION
Evas_Event_Key_Down *ev = event_info;
if (type != EVAS_CALLBACK_KEY_DOWN) return EINA_FALSE;
@ -121,11 +120,20 @@ _elm_video_smart_event(Evas_Object *obj,
INF("keyname: '%s' not handled", ev->keyname);
return EINA_FALSE;
#else
(void *)obj;
(void *)type;
(void *)event_info;
return EINA_FALSE;
#endif
}
static void
_elm_video_smart_sizing_eval(Evas_Object *obj)
{
#ifdef HAVE_EMOTION
ELM_VIDEO_DATA_GET(obj, sd);
Evas_Coord minw = -1, minh = -1;
@ -143,8 +151,13 @@ _elm_video_smart_sizing_eval(Evas_Object *obj)
}
evas_object_size_hint_aspect_set(obj, EVAS_ASPECT_CONTROL_BOTH, minw, minh);
#else
(void *)obj;
#endif
}
#ifdef HAVE_EMOTION
static void
_on_size_hints_changed(void *data,
Evas *e __UNUSED__,
@ -255,6 +268,9 @@ _elm_video_smart_add(Evas_Object *obj)
ELM_WIDGET_CLASS(_elm_video_parent_sc)->base.add(obj);
elm_widget_can_focus_set(obj, EINA_TRUE);
#ifdef HAVE_EMOTION
priv->stop = EINA_FALSE;
priv->remember = EINA_FALSE;
@ -280,9 +296,8 @@ _elm_video_smart_add(Evas_Object *obj)
evas_object_event_callback_add
(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_size_hints_changed, NULL);
elm_widget_can_focus_set(obj, EINA_TRUE);
priv->timer = ecore_timer_add(20.0, _suspend_cb, obj);
#endif
}
static void
@ -290,8 +305,10 @@ _elm_video_smart_del(Evas_Object *obj)
{
ELM_VIDEO_DATA_GET(obj, sd);
#ifdef HAVE_EMOTION
if (sd->timer) ecore_timer_del(sd->timer);
if (sd->remember) emotion_object_last_position_save(sd->emotion);
#endif
ELM_WIDGET_CLASS(_elm_video_parent_sc)->base.del(obj);
}
@ -356,7 +373,7 @@ elm_video_file_set(Evas_Object *obj,
return EINA_TRUE;
#else
(void)video;
(void)obj;
(void)filename;
return EINA_FALSE;
@ -372,7 +389,7 @@ elm_video_emotion_get(const Evas_Object *obj)
return sd->emotion;
#else
(void)video;
(void)obj;
return NULL;
#endif
}
@ -391,7 +408,7 @@ elm_video_play(Evas_Object *obj)
sd->stop = EINA_FALSE;
emotion_object_play_set(sd->emotion, EINA_TRUE);
#else
(void)video;
(void)obj;
#endif
}
@ -411,7 +428,7 @@ elm_video_pause(Evas_Object *obj)
emotion_object_play_set(sd->emotion, EINA_FALSE);
elm_layout_signal_emit(obj, "elm,video,pause", "elm");
#else
(void)video;
(void)obj;
#endif
}
@ -434,7 +451,7 @@ elm_video_stop(Evas_Object *obj)
elm_layout_signal_emit(obj, "elm,video,stop", "elm");
emotion_object_suspend_set(sd->emotion, EMOTION_HIBERNATE);
#else
(void)video;
(void)obj;
#endif
}
@ -447,7 +464,7 @@ elm_video_is_playing_get(const Evas_Object *obj)
return emotion_object_play_get(sd->emotion);
#else
(void)video;
(void)obj;
return EINA_FALSE;
#endif
}
@ -461,7 +478,7 @@ elm_video_is_seekable_get(const Evas_Object *obj)
return emotion_object_seekable_get(sd->emotion);
#else
(void)video;
(void)obj;
return EINA_FALSE;
#endif
}
@ -475,7 +492,7 @@ elm_video_audio_mute_get(const Evas_Object *obj)
return emotion_object_audio_mute_get(sd->emotion);
#else
(void)video;
(void)obj;
return EINA_FALSE;
#endif
}
@ -490,7 +507,7 @@ elm_video_audio_mute_set(Evas_Object *obj,
emotion_object_audio_mute_set(sd->emotion, mute);
#else
(void)video;
(void)obj;
(void)mute;
#endif
}
@ -504,7 +521,7 @@ elm_video_audio_level_get(const Evas_Object *obj)
return emotion_object_audio_volume_get(sd->emotion);
#else
(void)video;
(void)obj;
return 0.0;
#endif
}
@ -519,7 +536,7 @@ elm_video_audio_level_set(Evas_Object *obj,
emotion_object_audio_volume_set(sd->emotion, volume);
#else
(void)video;
(void)obj;
(void)volume;
#endif
}
@ -533,7 +550,7 @@ elm_video_play_position_get(const Evas_Object *obj)
return emotion_object_position_get(sd->emotion);
#else
(void)video;
(void)obj;
return 0.0;
#endif
}
@ -548,7 +565,7 @@ elm_video_play_position_set(Evas_Object *obj,
emotion_object_position_set(sd->emotion, position);
#else
(void)video;
(void)obj;
(void)position;
#endif
}
@ -562,7 +579,7 @@ elm_video_play_length_get(const Evas_Object *obj)
return emotion_object_play_length_get(sd->emotion);
#else
(void)video;
(void)obj;
return 0.0;
#endif
}
@ -576,7 +593,7 @@ elm_video_title_get(const Evas_Object *obj)
return emotion_object_title_get(sd->emotion);
#else
(void)video;
(void)obj;
return NULL;
#endif
}
@ -591,7 +608,7 @@ elm_video_remember_position_set(Evas_Object *obj,
sd->remember = remember;
#else
(void)video;
(void)obj;
(void)remember;
#endif
}
@ -605,7 +622,7 @@ elm_video_remember_position_get(const Evas_Object *obj)
return sd->remember;
#else
(void)video;
(void)obj;
return EINA_FALSE;
#endif
}

View File

@ -16,6 +16,7 @@
"Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en)" \
" AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a" \
" Safari/419.3 " PACKAGE_NAME "/" PACKAGE_VERSION
#endif
static const char WEB_SMART_NAME[] = "elm_web";
@ -44,6 +45,7 @@ static const char WEB_SMART_NAME[] = "elm_web";
if (!obj || !elm_widget_type_check((obj), WEB_SMART_NAME, __func__)) \
return
#ifdef HAVE_ELEMENTARY_WEB
static Ewk_View_Smart_Class _ewk_view_parent_sc =
EWK_VIEW_SMART_CLASS_INIT_NULL;
@ -242,6 +244,8 @@ set:
(ELM_WIDGET_DATA(sd)->resize_obj, WEBKIT_DATADIR "/themes/default.edj");
#endif
(void)obj;
return EINA_TRUE;
}
@ -1281,6 +1285,7 @@ _elm_web_smart_del(Evas_Object *obj)
{
ELM_WEB_DATA_GET(obj, sd);
#ifdef HAVE_ELEMENTARY_WEB
if (sd->zoom.timer)
{
ecore_timer_del(sd->zoom.timer);
@ -1292,6 +1297,7 @@ _elm_web_smart_del(Evas_Object *obj)
ecore_animator_del(sd->bring_in.animator);
sd->bring_in.animator = NULL;
}
#endif
_elm_web_parent_sc->base.del(obj); /* handles freeing sd */
}