commit 246734ca3fc8d0145f927b2327ed41be4bcebf7f
parent bd3d1ef1829da628f201493e77186f60587eaaef
Author: Kyle Milz <kmilz@ucalgary.ca>
Date: Fri, 19 Oct 2012 17:55:41 -0600
bg: attach background to focus state
Diffstat:
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/src/viking.h b/src/viking.h
@@ -185,6 +185,7 @@ typedef struct
typedef struct
{
Evas_Object *win;
+ Evas_Object *bg;
Evas_Object *main_box;
Evas_Object *naviframe;
Evas_Object *url; /* "inputbox" */
diff --git a/src/window.c b/src/window.c
@@ -339,6 +339,23 @@ maximized_cb(void *data, Evas_Object *obj, void *event_info)
printf("browser window maximized\n");
}
+static void
+focus_in_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ Window_Data *wd = data;
+
+ evas_object_show(wd->bg);
+}
+
+static void
+focus_out_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ Window_Data *wd = data;
+
+ elm_win_alpha_set(wd->win, EINA_TRUE);
+ evas_object_hide(wd->bg);
+}
+
void
window_main_buffer_set(Buffer_Data *new_buf)
{
@@ -523,6 +540,7 @@ window_add(App_Data *ad, Session_Window *session_window)
evas_object_show(url);
wd->win = win;
+ wd->bg = bg;
wd->main_box = box;
wd->naviframe = naviframe;
wd->url = url;
@@ -552,9 +570,12 @@ window_add(App_Data *ad, Session_Window *session_window)
evas_object_smart_callback_add(wd->win, "delete,request", delete_request_cb, wd);
evas_object_smart_callback_add(wd->win, "maximized", maximized_cb, wd);
+ evas_object_event_callback_add(wd->win, EVAS_CALLBACK_FREE, free_cb, wd);
+ evas_object_smart_callback_add(wd->win, "focus,in", focus_in_cb, wd);
+ evas_object_smart_callback_add(wd->win, "focus,out", focus_out_cb, wd);
+
evas_object_smart_callback_add(wd->url, "activated", inputbox_activate_cb, wd);
evas_object_smart_callback_add(wd->url, "changed", inputbox_changed_cb, wd);
- evas_object_event_callback_add(wd->win, EVAS_CALLBACK_FREE, free_cb, wd);
evas_object_event_callback_add(wd->url, EVAS_CALLBACK_KEY_DOWN, inputbox_keypress_cb, wd);
evas_object_event_callback_add(wd->url, EVAS_CALLBACK_KEY_UP, inputbox_keyrelease_cb, wd);