forked from enlightenment/enventor
config_data: Keep window size set last time
Summary: Keep window size set last time by storing window size in config data Reviewers: Hermet, seoz Differential Revision: https://phab.enlightenment.org/D1665
This commit is contained in:
parent
98a9eca6c5
commit
06557d3214
|
@ -28,6 +28,15 @@ win_focused_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
|||
goto_close();
|
||||
}
|
||||
|
||||
static void
|
||||
win_resize_cb(void *data EINA_UNUSED, Evas *o EINA_UNUSED, Evas_Object *obj,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Evas_Coord w, h;
|
||||
evas_object_geometry_get(obj, NULL, NULL, &w, &h);
|
||||
config_win_size_set(w, h);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/* Externally accessible calls */
|
||||
/*****************************************************************************/
|
||||
|
@ -176,6 +185,13 @@ base_gui_init(void)
|
|||
Evas_Object *win = elm_win_util_standard_add(elm_app_name_get(),
|
||||
"Enventor");
|
||||
elm_win_focus_highlight_enabled_set(win, EINA_TRUE);
|
||||
|
||||
Evas_Coord w, h;
|
||||
config_win_size_get(&w, &h);
|
||||
if ((w > 0) && (w > 0))
|
||||
evas_object_resize(win, w, h);
|
||||
|
||||
evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, win_resize_cb, NULL);
|
||||
evas_object_smart_callback_add(win, "delete,request", win_delete_request_cb,
|
||||
NULL);
|
||||
evas_object_smart_callback_add(win, "focused", win_focused_cb, NULL);
|
||||
|
|
|
@ -22,6 +22,7 @@ typedef struct config_s
|
|||
void (*update_cb)(void *data);
|
||||
void *update_cb_data;
|
||||
Evas_Coord_Size view_size;
|
||||
Evas_Coord win_size_w, win_size_h;
|
||||
|
||||
Eina_Bool stats_bar;
|
||||
Eina_Bool linenumber;
|
||||
|
@ -209,6 +210,10 @@ eddc_init(void)
|
|||
view_scale, EET_T_DOUBLE);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "console_size",
|
||||
console_size, EET_T_DOUBLE);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "win_size_w",
|
||||
win_size_w, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "win_size_h",
|
||||
win_size_h, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "stats_bar", stats_bar,
|
||||
EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "linenumber",
|
||||
|
@ -701,6 +706,24 @@ config_console_size_set(double size)
|
|||
cd->console_size = size;
|
||||
}
|
||||
|
||||
void
|
||||
config_win_size_set(Evas_Coord w, Evas_Coord h)
|
||||
{
|
||||
config_data *cd = g_cd;
|
||||
|
||||
cd->win_size_w = w;
|
||||
cd->win_size_h = h;
|
||||
}
|
||||
|
||||
void
|
||||
config_win_size_get(Evas_Coord *w, Evas_Coord *h)
|
||||
{
|
||||
config_data *cd = g_cd;
|
||||
|
||||
if (w) *w = cd->win_size_w;
|
||||
if (h) *h = cd->win_size_h;
|
||||
}
|
||||
|
||||
Eina_Bool
|
||||
config_tools_get(void)
|
||||
{
|
||||
|
|
|
@ -46,3 +46,5 @@ Eina_Bool config_tools_get(void);
|
|||
void config_tools_set(Eina_Bool enabled);
|
||||
double config_console_size_get(void);
|
||||
void config_console_size_set(double size);
|
||||
void config_win_size_get(Evas_Coord *w, Evas_Coord *h);
|
||||
void config_win_size_set(Evas_Coord w, Evas_Coord h);
|
||||
|
|
Loading…
Reference in New Issue