EAPI int e_modapi_shutdown (E_Module * m) { ut_config->module = NULL; e_gadcon_provider_unregister (&_gc_class); if (ut_config->config_dialog) e_object_del (E_OBJECT (ut_config->config_dialog)); if (ut_config->menu) { e_menu_post_deactivate_callback_set (ut_config->menu, NULL, NULL); e_object_del (E_OBJECT (ut_config->menu)); ut_config->menu = NULL; } while (ut_config->items) { Config_Item *ci; ci = ut_config->items->data; ut_config->items = eina_list_remove_list (ut_config->items, ut_config->items); if (ci->id) eina_stringshare_del (ci->id); E_FREE(ci); } E_FREE(ut_config); E_CONFIG_DD_FREE (conf_item_edd); E_CONFIG_DD_FREE (conf_edd); return 1; }
/* Private Function Bodies */ static void _e_entry_dia_del(void *data) { E_Dialog *dia = data; e_object_del(dia->data); }
/* Externally accesible functions */ EAPI E_Entry_Dialog * e_entry_dialog_show(const char *title, const char *icon, const char *text, const char *initial_text, const char *button_text, const char *button2_text, void (*ok_func)(void *data, char *text), void (*cancel_func)(void *data), void *data) { E_Entry_Dialog *ed; E_Dialog *dia; Evas_Object *o, *ob; Evas_Modifier_Mask mask; int w, h; ed = E_OBJECT_ALLOC(E_Entry_Dialog, E_ENTRY_DIALOG_TYPE, _e_entry_dialog_free); ed->ok.func = ok_func; ed->ok.data = data; ed->cancel.func = cancel_func; ed->cancel.data = data; if (initial_text) ed->text = strdup(initial_text); dia = e_dialog_new(e_container_current_get(e_manager_current_get()), "E", "_entry_dialog"); if (!dia) { e_object_del(E_OBJECT(ed)); return NULL; } dia->data = ed; ed->dia = dia; mask = 0; evas_object_key_ungrab(dia->event_object, "space", mask, ~mask); e_object_del_attach_func_set(E_OBJECT(dia), _e_entry_dia_del); e_win_delete_callback_set(dia->win, _e_entry_dialog_delete); if (title) e_dialog_title_set(dia, title); if (icon) e_dialog_icon_set(dia, icon, 64); o = e_widget_list_add(dia->win->evas, 0, 0); if (text) { ob = e_widget_label_add(dia->win->evas, text); e_widget_list_object_append(o, ob, 1, 0, 0.5); } ed->entry = e_widget_entry_add(dia->win->evas, &(ed->text), NULL, NULL, NULL); evas_object_smart_callback_add(ed->entry, "key_down", _e_entry_cb_key_down, ed); e_widget_list_object_append(o, ed->entry, 1, 1, 0.5); e_widget_size_min_get(o, &w, &h); e_dialog_content_set(dia, o, w, h); e_dialog_button_add(dia, !button_text ? _("OK") : button_text, NULL, _e_entry_dialog_ok, ed); e_dialog_button_add(dia, !button2_text ? _("Cancel") : button2_text, NULL, _e_entry_dialog_cancel, ed); e_win_centered_set(dia->win, 1); e_dialog_show(dia); e_widget_focus_set(ed->entry, 1); e_editable_select_all(e_widget_entry_editable_object_get(ed->entry)); return ed; }
static void _tclock_menu_cb_post(void *data, E_Menu *m) { if (!tclock_config->menu) return; e_object_del(E_OBJECT(tclock_config->menu)); tclock_config->menu = NULL; }
static void _e_entry_dialog_free(E_Entry_Dialog *ed) { e_object_del(E_OBJECT(ed->dia)); E_FREE(ed->text); free(ed); }
static void _itask_menu_cb_config_post(void *data, E_Menu *m) { if (!m) return; e_object_del(E_OBJECT(m)); }
/* local subsystem functions */ static void _e_obj_dialog_free(E_Obj_Dialog *od) { if (od->bg_object) evas_object_del(od->bg_object); e_object_del(E_OBJECT(od->win)); free(od); }
static void _ut_menu_cb_post (void *data, E_Menu * m) { if (!ut_config->menu) return; e_object_del (E_OBJECT (ut_config->menu)); ut_config->menu = NULL; }
static void _menu_cb_deactivate_post(void *data, E_Menu *m) { if (!alarm_config->menu) return; e_object_del(E_OBJECT(alarm_config->menu)); alarm_config->menu = NULL; }
void e_syscon_hide(void) { if (!popup) return; if (deftimer) { ecore_timer_del(deftimer); deftimer = NULL; } if (do_defact) eina_stringshare_del(do_defact); do_defact = NULL; while (handlers) { ecore_event_handler_del(handlers->data); handlers = eina_list_remove_list(handlers, handlers); } e_popup_hide(popup); e_object_del(E_OBJECT(popup)); popup = NULL; e_grabinput_release(input_window, input_window); ecore_x_window_free(input_window); input_window = 0; o_selected_flow = o_selected = o_flow_extra = o_flow_main = o_flow_secondary = NULL; }
EAPI int e_modapi_shutdown(E_Module *m) { Mod *mod = m->data; e_mod_comp_shutdown(); e_configure_registry_item_del("appearance/comp"); e_configure_registry_category_del("appearance"); if (mod->config_dialog) { e_object_del(E_OBJECT(mod->config_dialog)); mod->config_dialog = NULL; } _e_mod_config_free(m); E_CONFIG_DD_FREE(mod->conf_match_edd); E_CONFIG_DD_FREE(mod->conf_edd); free(mod); if (mod == _comp_mod) _comp_mod = NULL; return 1; }
static void _wlan_menu_cb_post (void *data, E_Menu * m) { if (!wlan_config->menu) return; e_object_del (E_OBJECT (wlan_config->menu)); wlan_config->menu = NULL; }
static void _gc_shutdown(E_Gadcon_Client *gcc) { Instance *inst; inst = gcc->data; exalt_config->instances = evas_list_remove(exalt_config->instances, inst); if (exalt_config->menu) { e_menu_post_deactivate_callback_set(exalt_config->menu, NULL, NULL); e_menu_pre_activate_callback_set(exalt_config->menu, NULL, NULL); e_object_del(E_OBJECT(exalt_config->menu)); exalt_config->menu = NULL; } if (inst->o_button) { evas_object_event_callback_del(inst->o_button, EVAS_CALLBACK_MOUSE_DOWN, _cb_mouse_down); evas_object_del(inst->o_button); } exalt_dbus_notify_set( exalt_config->conn, NULL, NULL); E_FREE(inst); }
static void _mpdule_popup_destroy (Instance * inst) { if (!inst->popup) return; e_object_del (E_OBJECT (inst->popup)); }
static void _dialog_cancel_cb(void *data, E_Dialog *dialog) { E_Connman_Agent *agent = data; agent->canceled = EINA_TRUE; e_object_del(E_OBJECT(dialog)); }
/* local subsystem functions */ static void _e_startup(void) { Efreet_Desktop *desktop; char buf[8192]; if (!startup_apps) { e_init_done(); return; } desktop = eina_list_nth(startup_apps->desktops, start_app_pos); start_app_pos++; if (!desktop) { e_object_del(E_OBJECT(startup_apps)); startup_apps = NULL; start_app_pos = -1; e_init_done(); return; } e_exec(NULL, desktop, NULL, NULL, NULL); snprintf(buf, sizeof(buf), _("Starting %s"), desktop->name); e_init_status_set(buf); ecore_job_add(_e_startup_next_cb, NULL); }
static void _dialog_ok_cb(void *data, E_Dialog *dialog) { E_Connman_Agent *agent = data; E_Connman_Agent_Input *input; Evas_Object *toolbook, *list; DBusMessageIter iter, dict; Eina_List *input_list, *l; DBusMessage *reply; toolbook = agent->dialog->content_object; /* fugly - no toolbook page get */ list = evas_object_data_get(toolbook, "mandatory"); if ((!list) || (!evas_object_visible_get(list))) { list = evas_object_data_get(toolbook, "alternate"); if ((!list) || (!evas_object_visible_get(list))) { ERR("Couldn't get user input."); e_object_del(E_OBJECT(dialog)); return; } } agent->canceled = EINA_FALSE; input_list = evas_object_data_get(list, "input_list"); reply = dbus_message_new_method_return(agent->msg); dbus_message_iter_init_append(reply, &iter); dbus_message_iter_open_container( &iter, DBUS_TYPE_ARRAY, DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict); EINA_LIST_FOREACH(input_list, l, input) _dict_append_basic(&dict, input->key, input->value); dbus_message_iter_close_container(&iter, &dict); dbus_message_set_no_reply(reply, EINA_TRUE); e_dbus_message_send(agent->conn, reply, NULL, -1, NULL); e_object_del(E_OBJECT(dialog)); }
static void _mail_menu_cb_post (void *data, E_Menu * m) { if (!mail_config->menu) return; e_object_del (E_OBJECT (mail_config->menu)); mail_config->menu = NULL; }
static void _empris_menu_cb_post (void *data, E_Menu * m) { if (!empris_config->menu) return; e_object_del (E_OBJECT (empris_config->menu)); empris_config->menu = NULL; }
/* Private Function Bodies */ static void _e_entry_dialog_free(E_Entry_Dialog *ed) { e_object_del(E_OBJECT(ed->dia)); evas_object_smart_callback_del(ed->entry, "key_down", _e_entry_cb_key_down); E_FREE(ed->text); free(ed); }
EAPI int e_modapi_shutdown (E_Module * m) { char *player; empris_config->module = NULL; e_gadcon_provider_unregister (&_gc_class); if (conn) { if (cb_name_owner_changed) e_dbus_signal_handler_del(conn, cb_name_owner_changed); e_dbus_connection_close(conn); } EINA_LIST_FREE(players, player) eina_stringshare_del(player); if (empris_config->config_dialog) e_object_del (E_OBJECT (empris_config->config_dialog)); if (empris_config->menu) { e_menu_post_deactivate_callback_set (empris_config->menu, NULL, NULL); e_object_del (E_OBJECT (empris_config->menu)); empris_config->menu = NULL; } while (empris_config->items) { Config_Item *ci; ci = empris_config->items->data; empris_config->items = eina_list_remove_list (empris_config->items, empris_config->items); if (ci->id) eina_stringshare_del (ci->id); free (ci); ci = NULL; } free (empris_config); empris_config = NULL; E_CONFIG_DD_FREE (conf_item_edd); E_CONFIG_DD_FREE (conf_edd); return 1; }
static void _e_gadcon_popup_free(E_Gadcon_Popup *pop) { if (pop->gadcon_was_locked) _e_gadcon_popup_locked_set(pop, 0); pop->gcc = NULL; e_object_del(E_OBJECT(pop->win)); free(pop); }
static void _e_obj_dialog_cb_delete(E_Win *win) { E_Obj_Dialog *od; od = win->data; if (od->cb_delete) od->cb_delete(od); e_object_del(E_OBJECT(od)); }
/** * Handle menu freeing from an Eina_Hash. * * Just a thin wrapper to cater for eina_hash_foreach(). * It's only used during freeing of a face for mass menu destruction. * * @param hash the Eina_Hash that this menu is in. * @param key the key to the menu in the hash. * @param data a pointer to the data stored in the hash. * @param fdata unused. * @ingroup Emu_Module_Menu_Group */ static Eina_Bool _emu_menus_hash_cb_free(const Eina_Hash *hash, const char *key, void *data, void *fdata) { Easy_Menu *menu; menu = data; if ((menu) && (menu->menu) && (menu->menu->menu)) e_object_del(E_OBJECT(menu->menu->menu)); return 1; }
static void _gc_cb_menu_post(void *data, E_Menu *menu) { Instance *inst; if (!(inst = data)) return; if (!inst->menu) return; e_object_del(E_OBJECT(inst->menu)); inst->menu = NULL; }
static void _empris_popup_destroy (Instance * inst) { if (inst->popup) e_object_del (E_OBJECT (inst->popup)); inst->popup = NULL; if (inst->o_popup) evas_object_del(inst->o_popup); inst->o_popup = NULL; }
void alarm_alarm_del(Alarm *al) { if (al->name) eina_stringshare_del(al->name); if (al->state == ALARM_STATE_RINGING) alarm_alarm_ring_stop(al, 0); if (al->config_dialog) e_object_del(E_OBJECT(al->config_dialog)); if (al->description) eina_stringshare_del(al->description); if (al->program) eina_stringshare_del(al->program); if (al->snooze.dia) e_object_del(E_OBJECT(al->snooze.dia)); if (al->snooze.etimer) ecore_timer_del(al->snooze.etimer); alarm_config->alarms = eina_list_remove(alarm_config->alarms, al); free(al); /* refresh things */ if (alarm_config->config_dialog) { E_Config_Dialog_Data *mcda; mcda = alarm_config->config_dialog->cfdata; alarm_config_refresh_alarms_ilist(mcda); } if (alarm_config->alarms_details) alarm_edje_refresh_details(); if ( !eina_list_count(alarm_config->alarms) && alarm_config->alarms_ring_etimer ) { ecore_timer_del(alarm_config->alarms_ring_etimer); alarm_config->alarms_ring_etimer = NULL; } }
static void _gc_shutdown(E_Gadcon_Client *gcc) { Config_Face *inst; inst = gcc->data; if (inst->o_temp) evas_object_del(inst->o_temp); inst->o_temp = NULL; if (inst->config_dialog) e_object_del(E_OBJECT(inst->config_dialog)); inst->config_dialog = NULL; }
static void _tclock_cb_mouse_out(void *data, Evas *e, Evas_Object *obj, void *event_info) { Instance *inst = NULL; if (!(inst = data)) return; if (!inst->tip) return; evas_object_del(inst->o_tip); e_object_del(E_OBJECT(inst->tip)); inst->tip = NULL; inst->o_tip = NULL; }
/* local function prototypes */ static void _e_mod_ind_win_cb_free(Ind_Win *iwin) { Ecore_Event_Handler *hdl; /* delete the handlers */ EINA_LIST_FREE(iwin->hdls, hdl) ecore_event_handler_del(hdl); /* delete the menu */ if (iwin->menu) { e_menu_post_deactivate_callback_set(iwin->menu, NULL, NULL); e_object_del(E_OBJECT(iwin->menu)); } iwin->menu = NULL; /* delete the gadget container */ if (iwin->gadcon) e_object_del(E_OBJECT(iwin->gadcon)); iwin->gadcon = NULL; /* delete the objects */ if (iwin->o_base) evas_object_del(iwin->o_base); iwin->o_base = NULL; if (iwin->o_event) evas_object_del(iwin->o_event); iwin->o_event = NULL; /* tell conformant apps our position and size */ ecore_x_e_illume_indicator_geometry_set(iwin->zone->black_win, 0, 0, 0, 0); if (iwin->popup) e_object_del(E_OBJECT(iwin->popup)); iwin->popup = NULL; /* delete the window */ if (iwin->win) e_object_del(E_OBJECT(iwin->win)); iwin->win = NULL; /* free the allocated object */ E_FREE(iwin); }