[Eve] Add favicon/button to clear the URL entry.
Patch by Alex Grilo. SVN revision: 53580
This commit is contained in:
parent
c4208236c8
commit
8ef13eb5e4
Binary file not shown.
After Width: | Height: | Size: 978 B |
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
|
@ -295,6 +295,20 @@ collections {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
group { name: "clear-button";
|
||||||
|
images.image: "bt_clear.png" COMP;
|
||||||
|
parts {
|
||||||
|
part { name: "icon";
|
||||||
|
type: IMAGE;
|
||||||
|
description { state: "default" 0.0;
|
||||||
|
align: 1.0 0.5;
|
||||||
|
image.normal: "bt_clear.png";
|
||||||
|
min: 38 22;
|
||||||
|
max: 38 22;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
group { name: "chrome";
|
group { name: "chrome";
|
||||||
images {
|
images {
|
||||||
image: "bt_back_normal.png" COMP;
|
image: "bt_back_normal.png" COMP;
|
||||||
|
@ -971,7 +985,7 @@ collections {
|
||||||
rel2 {
|
rel2 {
|
||||||
to: "url-entry-bg";
|
to: "url-entry-bg";
|
||||||
relative: 1.0 1.0;
|
relative: 1.0 1.0;
|
||||||
offset: -6 -2;
|
offset: -1 -2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -419,7 +419,7 @@
|
||||||
rel1 {
|
rel1 {
|
||||||
to: "bg";
|
to: "bg";
|
||||||
relative: 1.0 0.0;
|
relative: 1.0 0.0;
|
||||||
offset: -20 0;
|
offset: -38 0;
|
||||||
}
|
}
|
||||||
rel2 {
|
rel2 {
|
||||||
to: "bg";
|
to: "bg";
|
||||||
|
@ -434,7 +434,7 @@
|
||||||
rel1 {
|
rel1 {
|
||||||
to: "bg";
|
to: "bg";
|
||||||
relative: 1.0 0.0;
|
relative: 1.0 0.0;
|
||||||
offset: -20 0;
|
offset: -38 0;
|
||||||
}
|
}
|
||||||
rel2 {
|
rel2 {
|
||||||
to: "bg";
|
to: "bg";
|
||||||
|
|
|
@ -857,10 +857,13 @@ _chrome_title_apply(Evas_Object *chrome)
|
||||||
static void
|
static void
|
||||||
_chrome_state_apply(Evas_Object *chrome, Evas_Object *view)
|
_chrome_state_apply(Evas_Object *chrome, Evas_Object *view)
|
||||||
{
|
{
|
||||||
|
Evas *canvas = evas_object_evas_get(chrome);
|
||||||
const char *url = ewk_view_uri_get(view);
|
const char *url = ewk_view_uri_get(view);
|
||||||
const char *title = ewk_view_title_get(view);
|
const char *title = ewk_view_title_get(view);
|
||||||
Evas_Object *ed = elm_layout_edje_get(chrome);
|
Evas_Object *ed = elm_layout_edje_get(chrome);
|
||||||
Evas_Object *text_url;
|
Evas_Object *text_url;
|
||||||
|
Evas_Object *favicon;
|
||||||
|
Evas_Object *old_icon;
|
||||||
|
|
||||||
_chrome_title_apply(chrome);
|
_chrome_title_apply(chrome);
|
||||||
|
|
||||||
|
@ -869,6 +872,18 @@ _chrome_state_apply(Evas_Object *chrome, Evas_Object *view)
|
||||||
_is_favorite_check(chrome, url);
|
_is_favorite_check(chrome, url);
|
||||||
_history_update(url, title ? title : url);
|
_history_update(url, title ? title : url);
|
||||||
|
|
||||||
|
old_icon = elm_scrolled_entry_icon_unset(text_url);
|
||||||
|
|
||||||
|
if (old_icon)
|
||||||
|
evas_object_del(old_icon);
|
||||||
|
|
||||||
|
if (url)
|
||||||
|
{
|
||||||
|
favicon = ewk_settings_icon_database_icon_object_add(url, canvas);
|
||||||
|
if (favicon)
|
||||||
|
elm_scrolled_entry_icon_set(text_url, favicon);
|
||||||
|
}
|
||||||
|
|
||||||
edje_object_signal_emit(ed, ewk_view_back_possible(view) ? "button,back,enable" : "button,back,disable", "");
|
edje_object_signal_emit(ed, ewk_view_back_possible(view) ? "button,back,enable" : "button,back,disable", "");
|
||||||
edje_object_signal_emit(ed, ewk_view_forward_possible(view) ? "button,forward,enable" : "button,forward,disable", "");
|
edje_object_signal_emit(ed, ewk_view_forward_possible(view) ? "button,forward,enable" : "button,forward,disable", "");
|
||||||
}
|
}
|
||||||
|
@ -1155,6 +1170,16 @@ on_tab_gengrid_item_realized(void *data, Evas_Object *o, void *event_info)
|
||||||
win->creating_tab = EINA_FALSE;
|
win->creating_tab = EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
on_action_clear(void *data, Evas_Object *o __UNUSED__,
|
||||||
|
void *event_info __UNUSED__)
|
||||||
|
{
|
||||||
|
Evas_Object *chrome = data;
|
||||||
|
Evas_Object *ed = elm_layout_edje_get(chrome);
|
||||||
|
Evas_Object *text_url = edje_object_part_swallow_get(ed, "url-entry");
|
||||||
|
elm_scrolled_entry_entry_set(text_url, "");
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
on_action_back(void *data, Evas_Object *o __UNUSED__,
|
on_action_back(void *data, Evas_Object *o __UNUSED__,
|
||||||
const char *emission __UNUSED__, const char *source __UNUSED__)
|
const char *emission __UNUSED__, const char *source __UNUSED__)
|
||||||
|
@ -2369,13 +2394,22 @@ chrome_add(Browser_Window *win, const char *url, Session_Item *session_item)
|
||||||
evas_object_smart_callback_add(view, "inputmethods,changed",
|
evas_object_smart_callback_add(view, "inputmethods,changed",
|
||||||
on_inputmethods_changed, win->win);
|
on_inputmethods_changed, win->win);
|
||||||
|
|
||||||
|
if (url)
|
||||||
|
ewk_view_uri_set(view, url);
|
||||||
|
|
||||||
Evas_Object *text_url = elm_scrolled_entry_add(ed);
|
Evas_Object *text_url = elm_scrolled_entry_add(ed);
|
||||||
elm_object_style_set(text_url, "ewebkit/url");
|
elm_object_style_set(text_url, "ewebkit/url");
|
||||||
elm_scrolled_entry_single_line_set(text_url, EINA_TRUE);
|
elm_scrolled_entry_single_line_set(text_url, EINA_TRUE);
|
||||||
elm_layout_content_set(chrome, "url-entry", text_url);
|
elm_layout_content_set(chrome, "url-entry", text_url);
|
||||||
|
|
||||||
evas_object_smart_callback_add
|
evas_object_smart_callback_add
|
||||||
(text_url, "activated", on_action_load_page, view);
|
(text_url, "activated", on_action_load_page, view);
|
||||||
|
|
||||||
|
Evas_Object *ic = elm_icon_add(ed);
|
||||||
|
elm_icon_file_set(ic, PACKAGE_DATA_DIR "/default.edj", "clear-button");
|
||||||
|
elm_scrolled_entry_end_set(text_url, ic);
|
||||||
|
evas_object_smart_callback_add(ic, "clicked", on_action_clear, chrome);
|
||||||
|
|
||||||
Evas_Object *more_list = elm_genlist_add(ed);
|
Evas_Object *more_list = elm_genlist_add(ed);
|
||||||
evas_object_data_set(more_list, "chrome", chrome);
|
evas_object_data_set(more_list, "chrome", chrome);
|
||||||
evas_object_data_set(chrome, "more-list", more_list);
|
evas_object_data_set(chrome, "more-list", more_list);
|
||||||
|
|
Loading…
Reference in New Issue