handle forced resized in about dialogs

SVN revision: 35037
This commit is contained in:
Carsten Haitzler 2008-07-08 19:41:42 +00:00
parent 24c3b610d2
commit c5a6384cf5
4 changed files with 37 additions and 2 deletions

View File

@ -7,6 +7,7 @@
static void _e_about_free(E_About *about); static void _e_about_free(E_About *about);
static void _e_about_cb_delete(E_Win *win); static void _e_about_cb_delete(E_Win *win);
static void _e_about_cb_close(void *data, Evas_Object *obj, const char *emission, const char *source); static void _e_about_cb_close(void *data, Evas_Object *obj, const char *emission, const char *source);
static void _e_about_cb_resize(E_Win *win);
static E_About *_e_about = NULL; static E_About *_e_about = NULL;
@ -60,6 +61,7 @@ e_about_new(E_Container *con)
return NULL; return NULL;
} }
e_win_delete_callback_set(about->win, _e_about_cb_delete); e_win_delete_callback_set(about->win, _e_about_cb_delete);
e_win_resize_callback_set(about->win, _e_about_cb_resize);
about->win->data = about; about->win->data = about;
e_win_dialog_set(about->win, 1); e_win_dialog_set(about->win, 1);
e_win_name_class_set(about->win, "E", "_about"); e_win_name_class_set(about->win, "E", "_about");
@ -201,3 +203,12 @@ _e_about_cb_close(void *data, Evas_Object *obj, const char *emission, const char
if (!about) return; if (!about) return;
e_util_defer_object_del(E_OBJECT(about)); e_util_defer_object_del(E_OBJECT(about));
} }
static void
_e_about_cb_resize(E_Win *win)
{
E_About *about;
about = win->data;
evas_object_resize(about->bg_object, about->win->w, about->win->h);
}

View File

@ -1376,7 +1376,8 @@ e_border_focus_set_with_pointer(E_Border *bd)
{ {
if (e_border_under_pointer_get(bd->desk, bd)) if (e_border_under_pointer_get(bd->desk, bd))
{ {
if (!e_border_pointer_warp_to_center(bd)) // FIXME: make this config. this is just annoying to warp all the time here!
// if (!e_border_pointer_warp_to_center(bd))
e_border_focus_set(bd, 1, 1); e_border_focus_set(bd, 1, 1);
} }
else else
@ -1385,7 +1386,8 @@ e_border_focus_set_with_pointer(E_Border *bd)
else if (e_config->focus_policy == E_FOCUS_CLICK) else if (e_config->focus_policy == E_FOCUS_CLICK)
e_border_focus_set(bd, 1, 1); e_border_focus_set(bd, 1, 1);
else else
if (!e_border_pointer_warp_to_center(bd)) // FIXME: make this config. this is just annoying to warp all the time here!
// if (!e_border_pointer_warp_to_center(bd))
e_border_focus_set(bd, 1, 1); e_border_focus_set(bd, 1, 1);
ecore_x_pointer_ungrab(); ecore_x_pointer_ungrab();

View File

@ -7,6 +7,7 @@
static void _e_obj_dialog_free(E_Obj_Dialog *od); static void _e_obj_dialog_free(E_Obj_Dialog *od);
static void _e_obj_dialog_cb_delete(E_Win *win); static void _e_obj_dialog_cb_delete(E_Win *win);
static void _e_obj_dialog_cb_close(void *data, Evas_Object *obj, const char *emission, const char *source); static void _e_obj_dialog_cb_close(void *data, Evas_Object *obj, const char *emission, const char *source);
static void _e_obj_dialog_cb_resize(E_Win *win);
/* local subsystem globals */ /* local subsystem globals */
@ -36,6 +37,7 @@ e_obj_dialog_new(E_Container *con, char *title, char *class_name, char *class_cl
return NULL; return NULL;
} }
e_win_delete_callback_set(od->win, _e_obj_dialog_cb_delete); e_win_delete_callback_set(od->win, _e_obj_dialog_cb_delete);
e_win_resize_callback_set(od->win, _e_obj_dialog_cb_resize);
od->win->data = od; od->win->data = od;
e_win_dialog_set(od->win, 1); e_win_dialog_set(od->win, 1);
e_win_name_class_set(od->win, class_name, class_class); e_win_name_class_set(od->win, class_name, class_class);
@ -138,3 +140,12 @@ _e_obj_dialog_cb_close(void *data, Evas_Object *obj, const char *emission, const
od->cb_delete(od); od->cb_delete(od);
e_util_defer_object_del(E_OBJECT(od)); e_util_defer_object_del(E_OBJECT(od));
} }
static void
_e_obj_dialog_cb_resize(E_Win *win)
{
E_Obj_Dialog *od;
od = win->data;
evas_object_resize(od->bg_object, od->win->w, od->win->h);
}

View File

@ -7,6 +7,7 @@
static void _e_theme_about_free(E_Theme_About *about); static void _e_theme_about_free(E_Theme_About *about);
static void _e_theme_about_cb_delete(E_Win *win); static void _e_theme_about_cb_delete(E_Win *win);
static void _e_theme_about_cb_close(void *data, Evas_Object *obj, const char *emission, const char *source); static void _e_theme_about_cb_close(void *data, Evas_Object *obj, const char *emission, const char *source);
static void _e_theme_about_cb_resize(E_Win *win);
static E_Theme_About *_e_theme_about = NULL; static E_Theme_About *_e_theme_about = NULL;
@ -60,6 +61,7 @@ e_theme_about_new(E_Container *con)
return NULL; return NULL;
} }
e_win_delete_callback_set(about->win, _e_theme_about_cb_delete); e_win_delete_callback_set(about->win, _e_theme_about_cb_delete);
e_win_resize_callback_set(about->win, _e_theme_about_cb_resize);
about->win->data = about; about->win->data = about;
e_win_dialog_set(about->win, 1); e_win_dialog_set(about->win, 1);
e_win_name_class_set(about->win, "E", "_theme_about"); e_win_name_class_set(about->win, "E", "_theme_about");
@ -130,3 +132,12 @@ _e_theme_about_cb_close(void *data, Evas_Object *obj, const char *emission, cons
if (!about) return; if (!about) return;
e_util_defer_object_del(E_OBJECT(about)); e_util_defer_object_del(E_OBJECT(about));
} }
static void
_e_theme_about_cb_resize(E_Win *win)
{
E_Theme_About *about;
about = win->data;
evas_object_resize(about->bg_object, about->win->w, about->win->h);
}