Drag gadcons off the shelf in edit mode to remove them.

SVN revision: 27675
This commit is contained in:
Sebastian Dransfeld 2006-12-30 18:12:53 +00:00
parent 805315670b
commit 3f41c2b290
1 changed files with 11 additions and 36 deletions

View File

@ -1623,7 +1623,6 @@ _e_gadcon_cb_signal_move_go(void *data, Evas_Object *obj, const char *emission,
if (e_gadcon_layout_orientation_get(gcc->gadcon->o_container)) if (e_gadcon_layout_orientation_get(gcc->gadcon->o_container))
{ {
// TODO: Configure this value // TODO: Configure this value
#if 0
if (abs((y + gcc->dy) - gcc->drag.y) > 10) if (abs((y + gcc->dy) - gcc->drag.y) > 10)
{ {
E_Drag *drag; E_Drag *drag;
@ -1650,9 +1649,7 @@ _e_gadcon_cb_signal_move_go(void *data, Evas_Object *obj, const char *emission,
e_util_evas_fake_mouse_up_later(gcc->gadcon->evas, 1); e_util_evas_fake_mouse_up_later(gcc->gadcon->evas, 1);
return; return;
} }
else else if (x > 0)
#endif
if (x > 0)
{ {
if (gcc->state_info.state != E_LAYOUT_ITEM_STATE_POS_INC) if (gcc->state_info.state != E_LAYOUT_ITEM_STATE_POS_INC)
gcc->state_info.resist = 0; gcc->state_info.resist = 0;
@ -1904,53 +1901,31 @@ _e_gadcon_cb_drag_finished(E_Drag *drag, int dropped)
{ {
// TODO: Need to check if we drop on the same gadcon as the drag begins. // TODO: Need to check if we drop on the same gadcon as the drag begins.
// This should result in a reorder, not a remove. // This should result in a reorder, not a remove.
#if 0
E_Gadcon_Client *gcc; E_Gadcon_Client *gcc;
E_Gadcon *gc; E_Gadcon *gc;
Evas_List *l;
int ok;
E_Config_Gadcon *cf_gc = NULL; E_Config_Gadcon *cf_gc = NULL;
E_Config_Gadcon_Client *cf_gcc; E_Config_Gadcon_Client *cf_gcc;
gcc = drag->data; gcc = drag->data;
gc = gcc->gadcon; gc = gcc->gadcon;
ok = 0; cf_gc = e_gadcon_config_get(gc->name, gc->id);
for (l = e_config->gadcons; l; l = l->next) if (cf_gc)
{ {
cf_gc = l->data; cf_gcc = e_gadcon_client_config_get(gc, gcc->name, gcc->id);
if ((!strcmp(cf_gc->name, gc->name)) && if (cf_gcc)
(!strcmp(cf_gc->id, gc->id)))
{ {
ok = 1; if (cf_gcc->name) evas_stringshare_del(cf_gcc->name);
break; if (cf_gcc->id) evas_stringshare_del(cf_gcc->id);
} if (cf_gcc->style) evas_stringshare_del(cf_gcc->style);
} cf_gc->clients = evas_list_remove(cf_gc->clients, cf_gcc);
if (ok) free(cf_gcc);
{
for (l = cf_gc->clients; l; l = l->next)
{
E_Config_Gadcon_Client *cf_gcc;
cf_gcc = l->data;
if (!cf_gcc) continue;
if (!cf_gcc->name) continue;
if ((!strcmp(cf_gcc->name, gcc->name)) && (!strcmp(cf_gcc->id, gcc->id)))
{
if (cf_gcc->name) evas_stringshare_del(cf_gcc->name);
if (cf_gcc->id) evas_stringshare_del(cf_gcc->id);
if (cf_gcc->style) evas_stringshare_del(cf_gcc->style);
cf_gc->clients = evas_list_remove(cf_gc->clients, cf_gcc);
free(cf_gcc);
break;
}
} }
} }
e_object_unref(E_OBJECT(drag->data));
e_gadcon_unpopulate(gc); e_gadcon_unpopulate(gc);
e_gadcon_populate(gc); e_gadcon_populate(gc);
e_config_save_queue(); e_config_save_queue();
#endif
e_object_unref(E_OBJECT(drag->data));
} }
/* a smart object JUST for gadcon */ /* a smart object JUST for gadcon */