Esempio n. 1
0
void
enna_panel_infos_set_rating(Evas_Object *obj, Enna_Metadata *m)
{
    Evas_Object *rating = NULL;
    const char *rt;
    Smart_Data *sd = evas_object_data_get(obj, "sd");

    if (!sd)
        return;

    rt = enna_metadata_meta_get(m, "rating", 1);
    if (rt)
    {
        char rate[16];
        int r;

        r = MMAX(atoi(rt), 0);
        r = MMIN(r, 5);
        memset(rate, '\0', sizeof(rate));
        snprintf(rate, sizeof(rate), "rating/%d", r);
        rating = edje_object_add(evas_object_evas_get(sd->o_edje));
        edje_object_file_set(rating, enna_config_theme_get(), rate);
    }

    ENNA_OBJECT_DEL(sd->o_rating);
    sd->o_rating = rating;
    edje_object_part_swallow(sd->o_edje,
                             "panel.rating.swallow", sd->o_rating);
    eina_stringshare_del(rt);
}
Esempio n. 2
0
void
enna_panel_infos_set_cover(Evas_Object *obj, Enna_Metadata *m)
{
    Evas_Object *cover;
    char *file = NULL;
    int from_vfs = 1;
    const char *cv;
    Smart_Data *sd = evas_object_data_get(obj, "sd");

    if (!sd)
        return;

    if (!m)
    {
        file = strdup(VIDEO_DEFAULT_COVER);
        from_vfs = 0;
    }

    cv = enna_metadata_meta_get(m, "cover", 1);
    if (!file && cv)
    {
        char dst[1024] = { 0 };

        snprintf(dst, sizeof(dst), "%s/covers/%s",
                 enna_util_data_home_get(), cv);
        if (ecore_file_exists(dst))
            file = strdup(dst);
    }

    if (!file)
    {
        file = strdup(VIDEO_DEFAULT_COVER);
        from_vfs = 0;
    }

    if (from_vfs)
    {
        cover = elm_icon_add(sd->o_edje);
        elm_image_file_set(cover, file, NULL);
    }
    else
    {
        cover = edje_object_add(evas_object_evas_get(sd->o_edje));
        edje_object_file_set(cover, enna_config_theme_get(), file);
    }


    ENNA_OBJECT_DEL(sd->o_cover);
    sd->o_cover = cover;
    edje_object_part_swallow(sd->o_edje,
                             "panel.cover.swallow", sd->o_cover);

    /* hide underlying shadows with default movie poster cover */
    edje_object_signal_emit(sd->o_edje,
                            (!strcmp(file, VIDEO_DEFAULT_COVER)) ?
                            "shadow,hide" : "shadow,show", "enna");

    eina_stringshare_del(cv);
    eina_stringshare_del(file);
}
Esempio n. 3
0
static Evas_Object *
_date_add(Evas_Object *parent)
{
    sd->obj = elm_layout_add(parent);
    elm_layout_file_set(sd->obj, enna_config_theme_get(), "gadget/date");
    evas_object_show(sd->obj);
    elm_layout_content_set(parent, "enna.swallow.date", sd->obj);

    return NULL;
}
Esempio n. 4
0
static void
flag_set (Smart_Data *sd, Evas_Object **obj,
          const char *icon, const char *edje)
{
    if (!sd || !obj || !icon || !edje)
        return;

    ENNA_OBJECT_DEL(*obj);
    *obj = elm_icon_add(sd->o_edje);
    elm_image_file_set(*obj, enna_config_theme_get(), icon);
    evas_object_show(*obj);
    elm_layout_content_set(sd->o_edje, edje, *obj);
}
Esempio n. 5
0
static void
_button_clicked_play_cb(void *data, Evas_Object *obj, void *event_info)
{
    Smart_Data *sd = data;
    Evas_Object *ic;

    ic = elm_icon_add(obj);

    if (!elm_slideshow_timeout_get(sd->slideshow))
    {
        elm_slideshow_timeout_set(sd->slideshow, sd->delay);
        elm_image_file_set(ic, enna_config_theme_get(), "icon/mp_pause");
    }
    else
    {
        elm_slideshow_timeout_set(sd->slideshow, 0);
        elm_image_file_set(ic, enna_config_theme_get(), "icon/mp_play");
    }
    elm_object_content_set(sd->btplay, ic);
    evas_object_size_hint_min_set(sd->btplay, 64, 64);
    evas_object_size_hint_weight_set(sd->btplay, 0.0, 1.0);
    evas_object_size_hint_align_set(sd->btplay, 0.5, 0.5);
}
Esempio n. 6
0
Evas_Object *
enna_video_flags_add(Evas_Object *parent)
{
    Smart_Data *sd;

    sd = calloc(1, sizeof(Smart_Data));

    sd->o_edje = elm_layout_add(parent);
    elm_layout_file_set(sd->o_edje, enna_config_theme_get(), EDJE_GROUP);
    evas_object_show(sd->o_edje);
    evas_object_data_set(sd->o_edje, "sd", sd);
    evas_object_event_callback_add(sd->o_edje, EVAS_CALLBACK_DEL,
                                   video_flags_del, sd);
    return sd->o_edje;
}
Esempio n. 7
0
static void _smart_add(Evas_Object * obj)
{
    Smart_Data *sd;

    sd = calloc(1, sizeof(Smart_Data));
    if (!sd)
        return;

    sd->o_edje = edje_object_add(evas_object_evas_get(obj));
    edje_object_file_set(sd->o_edje, enna_config_theme_get(),
                         "activity/photo/panel_infos");
    evas_object_show(sd->o_edje);
    evas_object_smart_member_add(sd->o_edje, obj);
    evas_object_smart_data_set(obj, sd);
}
Esempio n. 8
0
/* externally accessible functions */
Evas_Object *
enna_panel_infos_add(Evas * evas)
{
    Smart_Data *sd;

    sd = calloc(1, sizeof(Smart_Data));

    sd->o_edje = edje_object_add(evas);
    edje_object_file_set(sd->o_edje,
                         enna_config_theme_get(),
                         "activity/video/panel_infos");
    evas_object_show(sd->o_edje);
    evas_object_data_set(sd->o_edje, "sd", sd);
    evas_object_event_callback_add(sd->o_edje, EVAS_CALLBACK_DEL,
                                   _del, sd);
    return sd->o_edje;
}
Esempio n. 9
0
static void
bs_service_set_bg (const char *bg)
{
    if (bg)
    {
        Evas_Object *old;

        old = mod->service_bg;
        mod->service_bg = elm_layout_add(mod->o_layout);
        elm_layout_file_set(mod->service_bg, enna_config_theme_get(), bg);
        elm_layout_content_set(mod->o_layout,
                            "service.bg.swallow", mod->service_bg);
        evas_object_show(mod->service_bg);
        evas_object_del(old);
    }
    else
    {
        evas_object_hide(mod->service_bg);
        elm_layout_file_set(mod->o_layout, "service.bg.swallow", NULL);
    }
}
Esempio n. 10
0
static void
_class_show(void)
{
    /* create the activity content once for all */
    if (!mod->o_layout)
    {
        mod->o_layout = elm_layout_add(enna->layout);
        elm_layout_file_set(mod->o_layout, enna_config_theme_get(),
                             "activity/bookstore");
        mod->edje = elm_layout_edje_get(mod->o_layout);
        enna_content_append(ENNA_MODULE_NAME, mod->o_layout);
    }

    /* create the menu, once for all */
    if (!mod->menu)
        bs_menu_create();

    /* show module */
    enna_content_select(ENNA_MODULE_NAME);
    edje_object_signal_emit(mod->edje, "module,show", "enna");
    edje_object_signal_emit(mod->edje, "menu,show", "enna");
}
Esempio n. 11
0
static void
bs_service_ctrl_btn_add (const char *icon, const char *part,
                         void (*cb) (void *data, Evas_Object *obj, void *ev))
{
    Evas_Object *layout, *ic, *bt;

    layout = elm_layout_add(enna->layout);

    ic = elm_icon_add(layout);
    elm_image_file_set(ic, enna_config_theme_get(), icon);
    elm_icon_resizable_set(ic, 0, 0);
    evas_object_show(ic);

    bt = elm_button_add(layout);
    evas_object_smart_callback_add(bt, "clicked", cb, NULL);
    elm_object_part_content_set(bt, NULL, ic);
    elm_object_style_set(bt, "mediaplayer");
    evas_object_size_hint_weight_set(bt, 0.0, 1.0);
    evas_object_size_hint_align_set(bt, 0.5, 0.5);
    evas_object_show(bt);

    elm_layout_content_set(mod->o_layout, part, bt);
}
Esempio n. 12
0
void
enna_mainmenu_show(Evas_Object *obj)
{
    Evas_Object *ic;
    Smart_Data *sd;

    sd = evas_object_data_get(obj, "mainmenu_data");

    if (!sd) return;
    sd->visible = 1;
    sd->selected = NULL;
    enna_gadgets_show();
    edje_object_signal_emit(elm_layout_edje_get(enna->layout),
                            "mainmenu,show", "enna");
    edje_object_signal_emit(elm_layout_edje_get(enna->layout),
                            "gadgets,show", "enna");

    if (enna->o_button_back)
      {
	ic = elm_icon_add(enna->o_button_back);
	elm_image_file_set(ic, enna_config_theme_get(), "ctrl/shutdown");
	elm_object_content_set(enna->o_button_back, ic);
      }
}
Esempio n. 13
0
    set_enna_information(b);
    set_system_information(b);
    edje_object_part_text_set(obj, "sysinfo.text", b->buf);
    edje_object_signal_emit(obj, "sysinfo,show", "enna");
    enna_buffer_free(b);

    return ECORE_CALLBACK_RENEW;
}

/* externally accessible functions */
Evas_Object *
info_panel_show(void *data EINA_UNUSED)
{
    /* create the panel main object */
    o_edje = edje_object_add(enna->evas);
    edje_object_file_set(o_edje, enna_config_theme_get (),
                         "activity/configuration/sysinfo");

    /* update info once and fire the first callback */
    _update_infos_cb(o_edje);
    update_timer =
        ecore_timer_add(INFOS_REFRESH_PERIOD, _update_infos_cb, o_edje);

    return o_edje;
}

void
info_panel_hide(void *data EINA_UNUSED)
{
    ENNA_TIMER_DEL(update_timer);
    ENNA_OBJECT_DEL(o_edje);
Esempio n. 14
0
/* externally accessible functions */
Evas_Object *
enna_photo_slideshow_add(Evas_Object *parent)
{
    Smart_Data *sd;
    Evas_Object *bx, *bt, *ic;
    Evas_Coord w, h;

    sd = calloc(1, sizeof(Smart_Data));

    sd->delay = enna_config->slideshow_delay;

    sd->layout = elm_layout_add(parent);
    elm_layout_file_set(sd->layout, enna_config_theme_get(), "enna/slideshow");
    evas_object_size_hint_weight_set(sd->layout, 1.0, 1.0);
    evas_object_show(sd->layout);

    sd->slideshow = elm_slideshow_add(sd->layout);
    elm_slideshow_transition_set(sd->slideshow, "horizontal");
    elm_slideshow_loop_set(sd->slideshow, 1);

//    sd->controls = elm_notify_add(sd->layout);
//    elm_notify_orient_set(sd->controls, ELM_NOTIFY_ORIENT_BOTTOM);
    evas_object_geometry_get(enna->layout, NULL, NULL, &w, &h);
    evas_object_move(sd->controls, 0, 0);
    evas_object_resize(sd->controls, w, h);
    //elm_object_style_set(sd->controls, "enna_bottom");
    /* Fixme : add a config value */
//    elm_notify_timeout_set(sd->controls, 10);

    bx = elm_box_add(sd->layout);
    elm_box_horizontal_set(bx, 1);
//    elm_notify_content_set(sd->controls, bx);
    evas_object_show(bx);

    evas_object_event_callback_add(bx, EVAS_CALLBACK_MOUSE_IN, _mouse_in, sd);
    evas_object_event_callback_add(bx, EVAS_CALLBACK_MOUSE_OUT, _mouse_out, sd);

    ELM_ADD ("icon/mp_prev",    _button_clicked_prev_cb);
    ELM_ADD ("icon/mp_pause",    _button_clicked_play_cb);
    sd->btplay = bt;
    ELM_ADD ("icon/mp_next",    _button_clicked_next_cb);
    ELM_ADD ("icon/mp_stop",    _button_clicked_stop_cb);

    sd->spin = elm_spinner_add(bx);
    elm_spinner_label_format_set(sd->spin, "%2.f secs.");
    evas_object_smart_callback_add(sd->spin, "changed", _spin, sd);
    elm_spinner_step_set(sd->spin, 1);
    elm_spinner_min_max_set(sd->spin, 1, 100);
    elm_spinner_value_set(sd->spin, sd->delay);
    elm_box_pack_end(bx, sd->spin);
    evas_object_show(sd->spin);

#ifdef FEATURE_ROTATION
    ELM_ADD ("icon/rotate_ccw", _button_clicked_rotate_ccw_cb);
    ELM_ADD ("icon/rotate_cw",  _button_clicked_rotate_cw_cb);
#endif /* FEATURE_ROTATION */

    evas_object_show(sd->layout);
    evas_object_show(sd->slideshow);
    elm_layout_content_set(sd->layout, "enna.content.swallow",
                           sd->slideshow);

    evas_object_data_set(sd->layout, "sd", sd);
    sd->state = 4;
    /* Catch mouse wheel event */
    evas_object_event_callback_add(sd->layout, EVAS_CALLBACK_MOUSE_WHEEL,
                                   _mouse_wheel_cb, sd);
    /* connect to the input signal */
    sd->listener = enna_input_listener_add("slideshow", _input_events_cb, sd->layout);
    enna_input_listener_demote(sd->listener);

    evas_object_event_callback_add(sd->layout, EVAS_CALLBACK_MOUSE_UP, _controls_show, sd);
    evas_object_event_callback_add(sd->layout, EVAS_CALLBACK_MOUSE_MOVE, _controls_show, sd);

    evas_object_event_callback_add(sd->layout, EVAS_CALLBACK_DEL,
                                   _sd_del, sd);
    return sd->layout;
}
Esempio n. 15
0
Evas_Object *
enna_browser_bar_add(Evas_Object *parent, Enna_File *file)
{
   Evas_Object *o_layout;
   Evas_Object *o_ic;
   Evas_Object *o_seg;
   Evas_Object *o_box;
   Evas_Object *o_entry;

   o_layout = elm_layout_add(parent);
   elm_layout_file_set(o_layout, enna_config_theme_get(), "enna/browser/header");
   evas_object_show(o_layout);

   o_box = elm_box_add(o_layout);
   elm_box_horizontal_set(o_box, EINA_TRUE);
   evas_object_show(o_box);
   evas_object_size_hint_align_set(o_box, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_size_hint_weight_set(o_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   elm_box_padding_set(o_box, 8, 8);

   o_seg = elm_button_add(o_layout);
   o_ic = elm_icon_add(o_layout);
   evas_object_show(o_ic);
   elm_icon_standard_set(o_ic, "go-up");
   elm_object_content_set(o_seg, o_ic);
   elm_object_style_set(o_seg, "black");
   evas_object_show(o_seg);
   elm_box_pack_end(o_box, o_seg);
   evas_object_smart_callback_add(o_seg, "clicked", _up_clicked_cb, o_layout);
   evas_object_size_hint_min_set(o_seg, 40, 40);

   o_seg = elm_segment_control_add(o_layout);
   o_ic = elm_icon_add(o_layout);
   evas_object_show(o_ic);
   elm_icon_standard_set(o_ic, "go-previous");
   elm_segment_control_item_add(o_seg, o_ic, NULL);
   o_ic = elm_icon_add(o_layout);
   evas_object_show(o_ic);
   elm_icon_standard_set(o_ic, "go-next");
   elm_segment_control_item_add(o_seg, o_ic, NULL);
   evas_object_show(o_seg);
   evas_object_smart_callback_add(o_seg, "changed", _browse_icons_changed_cb, o_layout);
   evas_object_data_set(o_layout, "browse", o_seg);
   elm_box_pack_end(o_box, o_seg);
   evas_object_size_hint_min_set(o_seg, 80, 40);

   o_entry = elm_entry_add(o_layout);
   elm_entry_single_line_set(o_entry, EINA_TRUE);
   if (file) elm_object_text_set(o_entry, file->mrl);
   evas_object_size_hint_weight_set(o_entry, EVAS_HINT_EXPAND, 0.0);
   evas_object_size_hint_align_set(o_entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_show(o_entry);
   elm_box_pack_end(o_box, o_entry);
   evas_object_data_set(o_layout, "entry", o_entry);
   evas_object_smart_callback_add(o_entry, "activated", _entry_activated_cb, o_layout);

   o_seg = elm_segment_control_add(o_layout);
   o_ic = elm_icon_add(o_layout);
   evas_object_show(o_ic);
   elm_icon_file_set(o_ic, enna_config_theme_get(), "icon/view_list");
   elm_segment_control_item_add(o_seg, o_ic, NULL);
   o_ic = elm_icon_add(o_layout);
   evas_object_show(o_ic);
   elm_icon_file_set(o_ic, enna_config_theme_get(), "icon/view_grid");
   elm_segment_control_item_add(o_seg, o_ic, NULL);
   evas_object_show(o_seg);
   elm_box_pack_end(o_box, o_seg);
   evas_object_smart_callback_add(o_seg, "changed", _view_mode_changed_cb, o_layout);
   evas_object_data_set(o_layout, "mode", o_seg);
   evas_object_size_hint_min_set(o_seg, 80, 40);


   o_seg = elm_button_add(o_layout);
   o_ic = elm_icon_add(o_layout);
   evas_object_show(o_ic);
   elm_icon_file_set(o_ic, enna_config_theme_get(), "icon/search");
   elm_object_content_set(o_seg, o_ic);
   elm_object_style_set(o_seg, "black");
   evas_object_show(o_seg);
   elm_box_pack_end(o_box, o_seg);
   evas_object_size_hint_min_set(o_seg, 40, 40);

   o_seg = elm_button_add(o_layout);
   o_ic = elm_icon_add(o_layout);
   evas_object_show(o_ic);
   elm_icon_file_set(o_ic, enna_config_theme_get(), "icon/settings");
   elm_object_content_set(o_seg, o_ic);
   elm_object_style_set(o_seg, "black");
   evas_object_show(o_seg);
   elm_box_pack_end(o_box, o_seg);
   evas_object_size_hint_min_set(o_seg, 40, 40);

   elm_object_part_content_set(o_layout, "enna.swallow.content", o_box);

   return o_layout;
}