示例#1
0
static void
_gc_shutdown (E_Gadcon_Client * gcc)
{
  Instance *inst;

  inst = gcc->data;

  if (inst->check_timer)
    ecore_timer_del (inst->check_timer);
   
  evas_object_event_callback_del (inst->mail_obj, EVAS_CALLBACK_MOUSE_DOWN,
				  _mail_cb_mouse_down);
  evas_object_event_callback_del (inst->mail_obj, EVAS_CALLBACK_MOUSE_IN,
				  _mail_cb_mouse_in);
  evas_object_event_callback_del (inst->mail_obj, EVAS_CALLBACK_MOUSE_OUT,
				  _mail_cb_mouse_out);

  if (inst->popup) e_object_del (E_OBJECT (inst->popup));
  mail_config->instances = eina_list_remove (mail_config->instances, inst);
  _mail_free (inst->mail);
  free (inst);
  inst = NULL;
}
示例#2
0
文件: e_mod_gadcon.c 项目: Limsik/e17
static void
_gc_shutdown(E_Gadcon_Client *gcc)
{
   Instance *inst;

   inst = gcc->data;
   inst->ci->inst = NULL;
   weather_cfg->instances = eina_list_remove(weather_cfg->instances, inst);

   if (inst->menu)
     {
        e_menu_post_deactivate_callback_set(inst->menu, NULL, NULL);
        e_object_del(E_OBJECT(inst->menu));
        inst->menu = NULL;
     }
   if (inst->obj)
     {
        evas_object_event_callback_del(inst->obj, EVAS_CALLBACK_MOUSE_DOWN,
                                       _gc_cb_mouse_down);
        evas_object_del(inst->obj);
     }
   E_FREE(inst);
}
示例#3
0
static void
_gc_shutdown(E_Gadcon_Client *gcc)
{
   Instance *inst;

#ifdef HAVE_EEZE
   eeze_shutdown();
#elif !defined __OpenBSD__
   e_hal_shutdown();
   e_dbus_shutdown();
#endif

   inst = gcc->data;
   battery_config->instances = 
     eina_list_remove(battery_config->instances, inst);
   evas_object_del(inst->o_battery);
   if (inst->warning)
     {
        e_object_del(E_OBJECT(inst->warning));
        inst->popup_battery = NULL;
     }
   E_FREE(inst);
}
示例#4
0
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;
}
static void
_alarm_dialog_snooze_delete(E_Dialog *dia, Alarm *al)
{
   e_object_del(E_OBJECT(dia));
   al->snooze.dia = NULL;
}
static void
_forecasts_popup_destroy(Instance *inst)
{
   if (!inst->popup) return;
   e_object_del(E_OBJECT(inst->popup));
}
示例#7
0
EAPI int
e_modapi_shutdown (E_Module * m)
{
  mail_config->module = NULL;
  e_gadcon_provider_unregister (&_gc_class);

  if (exit_handler)
    ecore_event_handler_del (exit_handler);

  if (mail_config->config_dialog)
    e_object_del (E_OBJECT (mail_config->config_dialog));
  if (mail_config->menu)
    {
      e_menu_post_deactivate_callback_set (mail_config->menu, NULL, NULL);
      e_object_del (E_OBJECT (mail_config->menu));
      mail_config->menu = NULL;
    }
  while (mail_config->items)
    {
      Config_Item *ci;

      ci = mail_config->items->data;
      while (ci->boxes)
	{
	  Config_Box *cb;

	  cb = ci->boxes->data;
	  switch (cb->type)
	    {
	    case MAIL_TYPE_IMAP:
	      _mail_imap_del_mailbox (cb);
	      break;
	    case MAIL_TYPE_POP:
	      _mail_pop_del_mailbox (cb);
	      break;
	    case MAIL_TYPE_MDIR:
	      _mail_mdir_del_mailbox (cb);
	      break;
	    case MAIL_TYPE_MBOX:
	      _mail_mbox_del_mailbox (cb);
	      break;
	    }
	  if (cb->name)
	    eina_stringshare_del (cb->name);
	  if (cb->host)
	    eina_stringshare_del (cb->host);
	  if (cb->user)
	    eina_stringshare_del (cb->user);
	  if (cb->pass)
	    eina_stringshare_del (cb->pass);
	  if (cb->new_path)
	    eina_stringshare_del (cb->new_path);
	  if (cb->cur_path)
	    eina_stringshare_del (cb->cur_path);
	  if (cb->exec)
	    eina_stringshare_del (cb->exec);
	  ci->boxes = eina_list_remove_list (ci->boxes, ci->boxes);
	  free (cb);
	  cb = NULL;
	}
      if (ci->id)
	eina_stringshare_del (ci->id);
      mail_config->items =
	eina_list_remove_list (mail_config->items, mail_config->items);
      free (ci);
      ci = NULL;
    }
  _mail_imap_shutdown ();
  _mail_pop_shutdown ();
  _mail_mdir_shutdown ();
  _mail_mbox_shutdown ();
  free (mail_config);
  mail_config = NULL;
  E_CONFIG_DD_FREE (conf_box_edd);
  E_CONFIG_DD_FREE (conf_item_edd);
  E_CONFIG_DD_FREE (conf_edd);
  return 1;
}
示例#8
0
static Eina_Bool
_e_util_cb_delayed_del(void *data)
{
   e_object_del(E_OBJECT(data));
   return ECORE_CALLBACK_CANCEL;
}
void
news_config_dialog_item_content_hide(News_Item *ni)
{
   e_object_del(E_OBJECT(ni->config_dialog_content));
   ni->config_dialog_content = NULL;
}
void
ngi_border_menu_show(Ngi_Box *box, E_Border *bd, Evas_Coord x, Evas_Coord y, int dir, Ecore_X_Time timestamp)
{
   E_Menu *m;
   E_Menu_Item *mi;
   Ng *ng = box->ng;

   if (bd->border_menu)
      return;

   m = e_menu_new();
   e_menu_category_set(m,"border");
   e_menu_category_data_set("border",bd);
   e_object_data_set(E_OBJECT(m), bd);
   bd->border_menu = m;
   e_menu_post_deactivate_callback_set(m, _ng_border_cb_border_menu_end, ng); /* FIXME */

   if ((!bd->lock_user_fullscreen) && (!bd->shaded))
     {
        mi = e_menu_item_new(m);
        e_menu_item_label_set(mi, D_("Fullscreen"));
        e_menu_item_check_set(mi, 1);
        e_menu_item_toggle_set(mi, bd->fullscreen);
        e_menu_item_callback_set(mi, _ng_border_menu_cb_fullscreen, bd);
        e_menu_item_icon_edje_set(mi,
                                  e_theme_edje_file_get("base/theme/borders",
                                                        "e/widgets/border/default/fullscreen"),
                                  "e/widgets/border/default/fullscreen");
     }

   mi = e_menu_item_new(m);
   e_menu_item_separator_set(mi, 1);
   if (!bd->lock_close)
     {
        mi = e_menu_item_new(m);
        e_menu_item_label_set(mi, D_("Close"));
        e_menu_item_callback_set(mi, _ng_border_menu_cb_close, bd);
        e_menu_item_icon_edje_set(mi,
                                  e_theme_edje_file_get("base/theme/borders",
                                                        "e/widgets/border/default/close"),
                                  "e/widgets/border/default/close");
     }

   if (!bd->internal)
     {
        mi = e_menu_item_new(m);
        e_menu_item_separator_set(mi, 1);

        if (!(((bd->client.icccm.min_w == bd->client.icccm.max_w) &&
               (bd->client.icccm.min_h == bd->client.icccm.max_h)) ||
              (bd->lock_user_maximize)))
          {
             if ((!bd->lock_user_maximize) && (!bd->shaded) &&
                 ((bd->layer == 50) || (bd->layer == 100) || (bd->layer == 150)))
               {
                  mi = e_menu_item_new(m);
                  e_menu_item_label_set(mi, D_("Maximized"));
                  e_menu_item_check_set(mi, 1);
                  e_menu_item_toggle_set(mi, (bd->maximized & E_MAXIMIZE_DIRECTION) == E_MAXIMIZE_BOTH);
                  if((bd->maximized & E_MAXIMIZE_DIRECTION) == E_MAXIMIZE_BOTH)
                     e_menu_item_callback_set(mi, _ng_border_menu_cb_unmaximize, bd);
                  else
                     e_menu_item_callback_set(mi, _ng_border_menu_cb_maximize, bd);

                  e_menu_item_icon_edje_set(mi,
                                            e_theme_edje_file_get("base/theme/borders",
                                                                  "e/widgets/border/default/maximize"),
                                            "e/widgets/border/default/maximize");
               }
          }
     }

   if (!bd->lock_user_iconify)
     {
        mi = e_menu_item_new(m);
        if(bd->iconic)
           e_menu_item_label_set(mi, D_("Uniconify"));
        else
           e_menu_item_label_set(mi, D_("Iconify"));

        e_menu_item_callback_set(mi, _ng_border_menu_cb_iconify, bd);
        e_menu_item_icon_edje_set(mi,
                                  e_theme_edje_file_get("base/theme/borders",
                                                        "e/widgets/border/default/minimize"),
                                  "e/widgets/border/default/minimize");
     }

   e_menu_activate_mouse(m, ng->zone, ng->zone->x + x, ng->zone->y + y, 1, 1,
                         dir, timestamp);
}
示例#11
0
void
news_config_dialog_hide(void)
{
   e_object_del(E_OBJECT(news->config_dialog));
   news->config_dialog = NULL;
}
示例#12
0
文件: itask_item.c 项目: Limsik/e17
static void
_itask_item_cb_menu_post(void *data, E_Menu *m)
{
   if (!m) return;
   e_object_del(E_OBJECT(m));
}