forked from enlightenment/enlightenment
error dialogs now resize to fit text...
SVN revision: 12769
This commit is contained in:
parent
7b84bca847
commit
4bfa0c0ad7
|
@ -1246,6 +1246,37 @@ _e_border_cb_mouse_in(void *data, int type, void *event)
|
||||||
|
|
||||||
ev = event;
|
ev = event;
|
||||||
bd = data;
|
bd = data;
|
||||||
|
#ifdef INOUTDEBUG
|
||||||
|
{
|
||||||
|
time_t t;
|
||||||
|
char *ct;
|
||||||
|
|
||||||
|
const char *modes[] = {
|
||||||
|
"MODE_NORMAL",
|
||||||
|
"MODE_WHILE_GRABBED",
|
||||||
|
"MODE_GRAB",
|
||||||
|
"MODE_UNGRAB"
|
||||||
|
};
|
||||||
|
const char *details[] = {
|
||||||
|
"DETAIL_ANCESTOR",
|
||||||
|
"DETAIL_VIRTUAL",
|
||||||
|
"DETAIL_INFERIOR",
|
||||||
|
"DETAIL_NON_LINEAR",
|
||||||
|
"DETAIL_NON_LINEAR_VIRTUAL",
|
||||||
|
"DETAIL_POINTER",
|
||||||
|
"DETAIL_POINTER_ROOT",
|
||||||
|
"DETAIL_DETAIL_NONE"
|
||||||
|
};
|
||||||
|
t = time(NULL);
|
||||||
|
ct = ctime(&t);
|
||||||
|
ct[strlen(ct) - 1] = 0;
|
||||||
|
printf("@@ ->IN 0x%x 0x%x %s md=%s dt=%s\n",
|
||||||
|
ev->win, ev->event_win,
|
||||||
|
ct,
|
||||||
|
modes[ev->mode],
|
||||||
|
details[ev->detail]);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
// if (ev->mode == ECORE_X_EVENT_MODE_GRAB) return 1;
|
// if (ev->mode == ECORE_X_EVENT_MODE_GRAB) return 1;
|
||||||
// if (ev->mode == ECORE_X_EVENT_MODE_UNGRAB) return 1;
|
// if (ev->mode == ECORE_X_EVENT_MODE_UNGRAB) return 1;
|
||||||
// if (ev->mode == ECORE_X_EVENT_MODE_WHILE_GRABBED) return 1;
|
// if (ev->mode == ECORE_X_EVENT_MODE_WHILE_GRABBED) return 1;
|
||||||
|
@ -1271,34 +1302,42 @@ _e_border_cb_mouse_out(void *data, int type, void *event)
|
||||||
|
|
||||||
ev = event;
|
ev = event;
|
||||||
bd = data;
|
bd = data;
|
||||||
|
#ifdef INOUTDEBUG
|
||||||
|
{
|
||||||
|
time_t t;
|
||||||
|
char *ct;
|
||||||
|
|
||||||
|
const char *modes[] = {
|
||||||
|
"MODE_NORMAL",
|
||||||
|
"MODE_WHILE_GRABBED",
|
||||||
|
"MODE_GRAB",
|
||||||
|
"MODE_UNGRAB"
|
||||||
|
};
|
||||||
|
const char *details[] = {
|
||||||
|
"DETAIL_ANCESTOR",
|
||||||
|
"DETAIL_VIRTUAL",
|
||||||
|
"DETAIL_INFERIOR",
|
||||||
|
"DETAIL_NON_LINEAR",
|
||||||
|
"DETAIL_NON_LINEAR_VIRTUAL",
|
||||||
|
"DETAIL_POINTER",
|
||||||
|
"DETAIL_POINTER_ROOT",
|
||||||
|
"DETAIL_DETAIL_NONE"
|
||||||
|
};
|
||||||
|
t = time(NULL);
|
||||||
|
ct = ctime(&t);
|
||||||
|
ct[strlen(ct) - 1] = 0;
|
||||||
|
printf("@@ <-OUT 0x%x 0x%x %s md=%s dt=%s\n",
|
||||||
|
ev->win, ev->event_win,
|
||||||
|
ct,
|
||||||
|
modes[ev->mode],
|
||||||
|
details[ev->detail]);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
/* FIXME: this would normally take focus away in pointer focus mode */
|
/* FIXME: this would normally take focus away in pointer focus mode */
|
||||||
// if (ev->mode == ECORE_X_EVENT_MODE_UNGRAB) return 1;
|
// if (ev->mode == ECORE_X_EVENT_MODE_UNGRAB) return 1;
|
||||||
// if (ev->mode == ECORE_X_EVENT_MODE_WHILE_GRABBED) return 1;
|
// if (ev->mode == ECORE_X_EVENT_MODE_WHILE_GRABBED) return 1;
|
||||||
if (ev->event_win == bd->win)
|
if (ev->event_win == bd->win)
|
||||||
{
|
{
|
||||||
const char *modes[] = {
|
|
||||||
"ECORE_X_EVENT_MODE_NORMAL",
|
|
||||||
"ECORE_X_EVENT_MODE_WHILE_GRABBED",
|
|
||||||
"ECORE_X_EVENT_MODE_GRAB",
|
|
||||||
"ECORE_X_EVENT_MODE_UNGRAB"
|
|
||||||
};
|
|
||||||
const char *details[] = {
|
|
||||||
"ECORE_X_EVENT_DETAIL_ANCESTOR",
|
|
||||||
"ECORE_X_EVENT_DETAIL_VIRTUAL",
|
|
||||||
"ECORE_X_EVENT_DETAIL_INFERIOR",
|
|
||||||
"ECORE_X_EVENT_DETAIL_NON_LINEAR",
|
|
||||||
"ECORE_X_EVENT_DETAIL_NON_LINEAR_VIRTUAL",
|
|
||||||
"ECORE_X_EVENT_DETAIL_POINTER",
|
|
||||||
"ECORE_X_EVENT_DETAIL_POINTER_ROOT",
|
|
||||||
"ECORE_X_EVENT_DETAIL_DETAIL_NONE"
|
|
||||||
};
|
|
||||||
|
|
||||||
printf("OUT 0x%x [%s] md=%s dt=%s\n",
|
|
||||||
ev->win,
|
|
||||||
bd->client.icccm.title,
|
|
||||||
modes[ev->mode],
|
|
||||||
details[ev->detail]);
|
|
||||||
|
|
||||||
if ((ev->mode == ECORE_X_EVENT_MODE_UNGRAB) &&
|
if ((ev->mode == ECORE_X_EVENT_MODE_UNGRAB) &&
|
||||||
(ev->detail == ECORE_X_EVENT_DETAIL_INFERIOR))
|
(ev->detail == ECORE_X_EVENT_DETAIL_INFERIOR))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -53,31 +53,18 @@ e_error_message_manager_show(E_Manager *man, char *title, char *txt)
|
||||||
Evas *e;
|
Evas *e;
|
||||||
int error_w, error_h;
|
int error_w, error_h;
|
||||||
Evas_List *l, *shapelist = NULL;
|
Evas_List *l, *shapelist = NULL;
|
||||||
|
Evas_Coord maxw, maxh;
|
||||||
|
|
||||||
error_w = 400;
|
error_w = 400;
|
||||||
error_h = 200;
|
error_h = 200;
|
||||||
ee = ecore_evas_software_x11_new(NULL, man->win,
|
ee = ecore_evas_software_x11_new(NULL, man->win,
|
||||||
(man->w - error_w) / 2, (man->h - error_h) / 2,
|
(man->w - error_w) / 2, (man->h - error_h) / 2,
|
||||||
error_w, error_h);
|
error_w, error_h);
|
||||||
|
ecore_evas_software_x11_direct_resize_set(ee, 1);
|
||||||
e_canvas_add(ee);
|
e_canvas_add(ee);
|
||||||
for (l = man->containers; l; l = l->next)
|
|
||||||
{
|
|
||||||
E_Container *con;
|
|
||||||
E_Container_Shape *es;
|
|
||||||
int x, y, w, h;
|
|
||||||
|
|
||||||
con = l->data;
|
|
||||||
ecore_evas_geometry_get(ee, &x, &y, &w, &h);
|
|
||||||
es = e_container_shape_add(con);
|
|
||||||
e_container_shape_move(es, x, y);
|
|
||||||
e_container_shape_resize(es, w, h);
|
|
||||||
e_container_shape_show(es);
|
|
||||||
shapelist = evas_list_append(shapelist, es);
|
|
||||||
}
|
|
||||||
ecore_evas_data_set(ee, "shapes", shapelist);
|
|
||||||
ecore_evas_name_class_set(ee, "E", "Low_Level_Dialog");
|
ecore_evas_name_class_set(ee, "E", "Low_Level_Dialog");
|
||||||
ecore_evas_title_set(ee, "Enlightenment: Low Level Dialog");
|
ecore_evas_title_set(ee, "Enlightenment: Low Level Dialog");
|
||||||
ecore_evas_show(ee);
|
|
||||||
e = ecore_evas_get(ee);
|
e = ecore_evas_get(ee);
|
||||||
e_path_evas_append(path_fonts, e);
|
e_path_evas_append(path_fonts, e);
|
||||||
e_pointer_ecore_evas_set(ee);
|
e_pointer_ecore_evas_set(ee);
|
||||||
|
@ -87,14 +74,8 @@ e_error_message_manager_show(E_Manager *man, char *title, char *txt)
|
||||||
Evas_Coord tw, th;
|
Evas_Coord tw, th;
|
||||||
char *newstr;
|
char *newstr;
|
||||||
|
|
||||||
o = evas_object_image_add(e);
|
maxw = 0;
|
||||||
evas_object_image_file_set(o, e_path_find(path_images, "error_bg.png"), NULL);
|
maxh = 0;
|
||||||
evas_object_move(o, 0, 0);
|
|
||||||
evas_object_image_fill_set(o, 0, 0, error_w, error_h);
|
|
||||||
evas_object_resize(o, error_w, error_h);
|
|
||||||
evas_object_image_border_set(o, 3, 3, 3, 3);
|
|
||||||
evas_object_pass_events_set(o, 1);
|
|
||||||
evas_object_show(o);
|
|
||||||
|
|
||||||
o = evas_object_image_add(e);
|
o = evas_object_image_add(e);
|
||||||
evas_object_image_file_set(o, e_path_find(path_images, "e.png"), NULL);
|
evas_object_image_file_set(o, e_path_find(path_images, "e.png"), NULL);
|
||||||
|
@ -110,18 +91,21 @@ e_error_message_manager_show(E_Manager *man, char *title, char *txt)
|
||||||
evas_object_text_text_set(o, title);
|
evas_object_text_text_set(o, title);
|
||||||
evas_object_geometry_get(o, NULL, NULL, &tw, &th);
|
evas_object_geometry_get(o, NULL, NULL, &tw, &th);
|
||||||
evas_object_move(o,
|
evas_object_move(o,
|
||||||
(16 + 64 + 16 + (((400 - (16 + 64 + 16 + 16)) - tw) / 2)) + 1,
|
(16 + 64 + 16) + 1,
|
||||||
(16 + ((64 - th) / 2)) + 1);
|
(16 + ((64 - th) / 2)) + 1);
|
||||||
evas_object_pass_events_set(o, 1);
|
evas_object_pass_events_set(o, 1);
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
|
|
||||||
|
maxw = 16 + 64 + 16 + tw + 16;
|
||||||
|
maxh = 16 + 64;
|
||||||
|
|
||||||
o = evas_object_text_add(e);
|
o = evas_object_text_add(e);
|
||||||
evas_object_color_set(o, 0, 0, 0, 255);
|
evas_object_color_set(o, 0, 0, 0, 255);
|
||||||
evas_object_text_font_set(o, "Vera-Bold", 12);
|
evas_object_text_font_set(o, "Vera-Bold", 12);
|
||||||
evas_object_text_text_set(o, title);
|
evas_object_text_text_set(o, title);
|
||||||
evas_object_geometry_get(o, NULL, NULL, &tw, &th);
|
evas_object_geometry_get(o, NULL, NULL, &tw, &th);
|
||||||
evas_object_move(o,
|
evas_object_move(o,
|
||||||
16 + 64 + 16 + (((400 - (16 + 64 + 16 + 16)) - tw) / 2),
|
16 + 64 + 16,
|
||||||
16 + ((64 - th) / 2));
|
16 + ((64 - th) / 2));
|
||||||
evas_object_pass_events_set(o, 1);
|
evas_object_pass_events_set(o, 1);
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
|
@ -156,13 +140,23 @@ e_error_message_manager_show(E_Manager *man, char *title, char *txt)
|
||||||
evas_object_move(o, 16, y);
|
evas_object_move(o, 16, y);
|
||||||
evas_object_pass_events_set(o, 1);
|
evas_object_pass_events_set(o, 1);
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
|
|
||||||
|
if ((16 + tw + 16) > maxw) maxw = 16 + tw + 16;
|
||||||
y += th;
|
y += th;
|
||||||
if (pp) p = pp + 1;
|
if (pp) p = pp + 1;
|
||||||
else p = NULL;
|
else p = NULL;
|
||||||
}
|
}
|
||||||
free(newstr);
|
free(newstr);
|
||||||
|
maxh = y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
maxh += 16 + 32 + 16;
|
||||||
|
error_w = maxw;
|
||||||
|
error_h = maxh;
|
||||||
|
|
||||||
|
if (error_w > man->w) error_w = man->w;
|
||||||
|
if (error_h > man->h) error_h = man->h;
|
||||||
|
|
||||||
o = evas_object_image_add(e);
|
o = evas_object_image_add(e);
|
||||||
evas_object_image_file_set(o, e_path_find(path_images, "button_out.png"), NULL);
|
evas_object_image_file_set(o, e_path_find(path_images, "button_out.png"), NULL);
|
||||||
evas_object_move(o, (error_w - 64) / 2, error_h - 16 - 32);
|
evas_object_move(o, (error_w - 64) / 2, error_h - 16 - 32);
|
||||||
|
@ -191,9 +185,39 @@ e_error_message_manager_show(E_Manager *man, char *title, char *txt)
|
||||||
evas_object_pass_events_set(o, 1);
|
evas_object_pass_events_set(o, 1);
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
|
|
||||||
|
o = evas_object_image_add(e);
|
||||||
|
evas_object_image_file_set(o, e_path_find(path_images, "error_bg.png"), NULL);
|
||||||
|
evas_object_move(o, 0, 0);
|
||||||
|
evas_object_image_fill_set(o, 0, 0, error_w, error_h);
|
||||||
|
evas_object_resize(o, error_w, error_h);
|
||||||
|
evas_object_image_border_set(o, 3, 3, 3, 3);
|
||||||
|
evas_object_pass_events_set(o, 1);
|
||||||
|
evas_object_layer_set(o, -10);
|
||||||
|
evas_object_show(o);
|
||||||
|
|
||||||
|
ecore_evas_move(ee, (man->w - error_w) / 2, (man->h - error_h) / 2);
|
||||||
|
ecore_evas_resize(ee, error_w, error_h);
|
||||||
|
|
||||||
|
for (l = man->containers; l; l = l->next)
|
||||||
|
{
|
||||||
|
E_Container *con;
|
||||||
|
E_Container_Shape *es;
|
||||||
|
int x, y, w, h;
|
||||||
|
|
||||||
|
con = l->data;
|
||||||
|
ecore_evas_geometry_get(ee, &x, &y, &w, &h);
|
||||||
|
es = e_container_shape_add(con);
|
||||||
|
e_container_shape_move(es, x, y);
|
||||||
|
e_container_shape_resize(es, w, h);
|
||||||
|
e_container_shape_show(es);
|
||||||
|
shapelist = evas_list_append(shapelist, es);
|
||||||
|
}
|
||||||
|
ecore_evas_data_set(ee, "shapes", shapelist);
|
||||||
|
|
||||||
o = evas_object_rectangle_add(e);
|
o = evas_object_rectangle_add(e);
|
||||||
evas_object_name_set(o, "allocated");
|
evas_object_name_set(o, "allocated");
|
||||||
}
|
}
|
||||||
|
ecore_evas_show(ee);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* local subsystem functions */
|
/* local subsystem functions */
|
||||||
|
|
Loading…
Reference in New Issue