forked from enlightenment/edi
settings: on alpha window change keep on top.
When changing window alpha ensure the settings window remains on top. Previously an alpha change would lose the settings window when enabling alpha. Also add some documentation.
This commit is contained in:
parent
a0366e2ae9
commit
ce5cd75211
|
@ -1340,6 +1340,14 @@ _edi_exit(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info
|
|||
edi_close();
|
||||
}
|
||||
|
||||
static void
|
||||
_edi_focused_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *win = edi_settings_win_get();
|
||||
if (win)
|
||||
elm_win_raise(win);
|
||||
}
|
||||
|
||||
static void
|
||||
_edi_resize_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj,
|
||||
void *event_info EINA_UNUSED)
|
||||
|
@ -1512,6 +1520,7 @@ edi_open(const char *inputpath)
|
|||
elm_win_focus_highlight_enabled_set(win, EINA_TRUE);
|
||||
evas_object_smart_callback_add(win, "delete,request", _edi_exit, NULL);
|
||||
evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _edi_resize_cb, NULL);
|
||||
evas_object_smart_callback_add(win, "focused", _edi_focused_cb, NULL);
|
||||
|
||||
table = elm_table_add(win);
|
||||
evas_object_size_hint_weight_set(table, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
|
|
|
@ -58,6 +58,22 @@ Evas_Object *edi_about_show(Evas_Object *mainwin);
|
|||
*/
|
||||
Evas_Object *edi_settings_show(Evas_Object *mainwin);
|
||||
|
||||
/**
|
||||
* Return a pointer to the settings window.
|
||||
*
|
||||
* @return The object if it exists or NULL if not.
|
||||
*
|
||||
* @ingroup UI
|
||||
*/
|
||||
Evas_Object *edi_settings_win_get(void);
|
||||
|
||||
/**
|
||||
* Create the font selection settings widget.
|
||||
*
|
||||
* @param parent The parent object for the font selection widget.
|
||||
*
|
||||
* @ingroup UI
|
||||
*/
|
||||
void edi_settings_font_add(Evas_Object *parent);
|
||||
|
||||
/**
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
|
||||
#include "edi_private.h"
|
||||
|
||||
static Evas_Object *_edi_settings_win;
|
||||
static Elm_Object_Item *_edi_settings_display, *_edi_settings_builds,
|
||||
*_edi_settings_behaviour, *_edi_settings_project;
|
||||
|
||||
|
@ -21,6 +22,8 @@ static Elm_Object_Item *_edi_settings_display, *_edi_settings_builds,
|
|||
static void
|
||||
_edi_settings_exit(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
_edi_settings_win = NULL;
|
||||
|
||||
evas_object_del(data);
|
||||
}
|
||||
|
||||
|
@ -819,13 +822,19 @@ _edi_settings_behaviour_create(Evas_Object *parent)
|
|||
return frame;
|
||||
}
|
||||
|
||||
Evas_Object *
|
||||
edi_settings_win_get(void)
|
||||
{
|
||||
return _edi_settings_win;
|
||||
}
|
||||
|
||||
Evas_Object *
|
||||
edi_settings_show(Evas_Object *mainwin)
|
||||
{
|
||||
Evas_Object *win, *bg, *table, *naviframe, *tb;
|
||||
Elm_Object_Item *tb_it, *default_it;
|
||||
|
||||
win = elm_win_add(mainwin, "settings", ELM_WIN_BASIC);
|
||||
_edi_settings_win = win = elm_win_add(mainwin, "settings", ELM_WIN_BASIC);
|
||||
if (!win) return NULL;
|
||||
|
||||
elm_win_title_set(win, _("Edi Settings"));
|
||||
|
|
Loading…
Reference in New Issue