Implement two new prefs: Auto load images and Auto shrink images.

SVN revision: 52212
This commit is contained in:
Leandro Pereira 2010-09-13 22:34:39 +00:00
parent 0134241632
commit 4012dd2d7d
4 changed files with 69 additions and 3 deletions

View File

@ -65,6 +65,8 @@ typedef enum {
EVE_PREF_TOUCH_INTERFACE,
EVE_PREF_MOUSE_CURSOR,
EVE_PREF_ENABLE_PRIVATE_MODE,
EVE_PREF_AUTO_LOAD_IMAGES,
EVE_PREF_AUTO_SHRINK_IMAGES,
EVE_PREF_LAST
} Eve_Preference;
@ -159,6 +161,20 @@ static More_Menu_Item more_menu_preferences[] =
.pref_get = prefs_enable_touch_interface_get,
.pref_set = prefs_enable_touch_interface_set
}}, NULL, ITEM_FLAG_NONE },
{ ITEM_TYPE_PREFERENCE, "Automatically load images",
(More_Menu_Preference[]) {{
.type = PREF_TYPE_CHECKBOX,
.pref = EVE_PREF_AUTO_LOAD_IMAGES,
.pref_get = prefs_enable_auto_load_images_get,
.pref_set = prefs_enable_auto_load_images_set
}}, NULL, ITEM_FLAG_NONE },
{ ITEM_TYPE_PREFERENCE, "Automatically shrink images",
(More_Menu_Preference[]) {{
.type = PREF_TYPE_CHECKBOX,
.pref = EVE_PREF_AUTO_SHRINK_IMAGES,
.pref_get = prefs_enable_auto_shrink_images_get,
.pref_set = prefs_enable_auto_shrink_images_set
}}, NULL, ITEM_FLAG_NONE },
{ ITEM_TYPE_PREFERENCE, "User agent",
(More_Menu_Preference[]) {{
.type = PREF_TYPE_LIST,
@ -937,6 +953,8 @@ chrome_prefs_apply(Evas_Object *chrome)
ewk_view_setting_enable_plugins_set(view, prefs_enable_plugins_get(prefs));
ewk_view_setting_user_agent_set(view, prefs_user_agent_get(prefs));
ewk_view_setting_private_browsing_set(view, prefs_enable_private_mode_get(prefs));
ewk_view_setting_auto_load_images_set(view, prefs_enable_auto_load_images_get(prefs));
ewk_view_setting_auto_shrink_images_set(view, prefs_enable_auto_shrink_images_get(prefs));
window_mouse_enabled_set(win->win, prefs_enable_mouse_cursor_get(prefs));
}
@ -978,6 +996,16 @@ pref_updated(More_Menu_Preference *p, void *new_value)
SET_PREF_TO_ALL_VIEWS(ewk_view_setting_private_browsing_set, *((int *)new_value));
break;
}
case EVE_PREF_AUTO_LOAD_IMAGES:
{
SET_PREF_TO_ALL_VIEWS(ewk_view_setting_auto_load_images_set, *((int *)new_value));
break;
}
case EVE_PREF_AUTO_SHRINK_IMAGES:
{
SET_PREF_TO_ALL_VIEWS(ewk_view_setting_auto_shrink_images_set, *((int *)new_value));
break;
}
case EVE_PREF_MOUSE_CURSOR:
{
EINA_LIST_FOREACH(app.windows, win_iter, win)

View File

@ -463,7 +463,9 @@ elm_main(int argc, char **argv)
prefs = prefs_load(path);
if (!prefs)
{
prefs = prefs_new(EINA_FALSE, EINA_TRUE, EINA_FALSE, EINA_TRUE, "eve", DEFAULT_URL, NULL, EINA_FALSE);
prefs = prefs_new(EINA_FALSE, EINA_TRUE, EINA_FALSE,
EINA_TRUE, "eve", DEFAULT_URL, NULL,
EINA_FALSE, EINA_TRUE, EINA_FALSE);
prefs_save(prefs, path);
}

View File

@ -18,6 +18,8 @@ struct _Prefs {
const char * home_page;
const char * proxy;
char enable_private_mode;
char enable_auto_load_images;
char enable_auto_shrink_images;
const char *__eet_filename;
};
@ -43,6 +45,8 @@ _prefs_init(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(_prefs_descriptor, Prefs, "home_page", home_page, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC(_prefs_descriptor, Prefs, "proxy", proxy, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC(_prefs_descriptor, Prefs, "enable_private_mode", enable_private_mode, EET_T_CHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_prefs_descriptor, Prefs, "enable_auto_load_images", enable_auto_load_images, EET_T_CHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_prefs_descriptor, Prefs, "enable_auto_shrink_images", enable_auto_shrink_images, EET_T_CHAR);
}
static inline void
@ -54,7 +58,7 @@ _prefs_shutdown(void)
}
Prefs *
prefs_new(char enable_mouse_cursor, char enable_touch_interface, char enable_plugins, char enable_javascript, const char * user_agent, const char * home_page, const char * proxy, char enable_private_mode)
prefs_new(char enable_mouse_cursor, char enable_touch_interface, char enable_plugins, char enable_javascript, const char * user_agent, const char * home_page, const char * proxy, char enable_private_mode, char enable_auto_load_images, char enable_auto_shrink_images)
{
Prefs *prefs = calloc(1, sizeof(Prefs));
@ -72,6 +76,8 @@ prefs_new(char enable_mouse_cursor, char enable_touch_interface, char enable_plu
prefs->home_page = eina_stringshare_add(home_page ? home_page : "http://www.google.com");
prefs->proxy = eina_stringshare_add(proxy);
prefs->enable_private_mode = enable_private_mode;
prefs->enable_auto_load_images = enable_auto_load_images;
prefs->enable_auto_shrink_images = enable_auto_shrink_images;
return prefs;
}
@ -192,6 +198,32 @@ prefs_enable_private_mode_set(Prefs *prefs, char enable_private_mode)
prefs->enable_private_mode = enable_private_mode;
}
inline char
prefs_enable_auto_load_images_get(const Prefs *prefs)
{
return prefs->enable_auto_load_images;
}
inline void
prefs_enable_auto_load_images_set(Prefs *prefs, char enable_auto_load_images)
{
EINA_SAFETY_ON_NULL_RETURN(prefs);
prefs->enable_auto_load_images = enable_auto_load_images;
}
inline char
prefs_enable_auto_shrink_images_get(const Prefs *prefs)
{
return prefs->enable_auto_shrink_images;
}
inline void
prefs_enable_auto_shrink_images_set(Prefs *prefs, char enable_auto_shrink_images)
{
EINA_SAFETY_ON_NULL_RETURN(prefs);
prefs->enable_auto_shrink_images = enable_auto_shrink_images;
}
Prefs *
prefs_load(const char *filename)
{

View File

@ -10,7 +10,7 @@
typedef struct _Prefs Prefs;
/* Prefs */
Prefs *prefs_new(char enable_mouse_cursor, char enable_touch_interface, char enable_plugins, char enable_javascript, const char * user_agent, const char * home_page, const char * proxy, char enable_private_mode);
Prefs *prefs_new(char enable_mouse_cursor, char enable_touch_interface, char enable_plugins, char enable_javascript, const char * user_agent, const char * home_page, const char * proxy, char enable_private_mode, char enable_auto_load_images, char enable_auto_shrink_images);
void prefs_free(Prefs *prefs);
void prefs_enable_mouse_cursor_set(Prefs *prefs, char enable_mouse_cursor);
@ -29,6 +29,10 @@ void prefs_proxy_set(Prefs *prefs, const char * proxy);
const char * prefs_proxy_get(const Prefs *prefs);
void prefs_enable_private_mode_set(Prefs *prefs, char enable_private_mode);
char prefs_enable_private_mode_get(const Prefs *prefs);
void prefs_enable_auto_load_images_set(Prefs *prefs, char enable_auto_load_images);
char prefs_enable_auto_load_images_get(const Prefs *prefs);
void prefs_enable_auto_shrink_images_set(Prefs *prefs, char enable_auto_shrink_images);
char prefs_enable_auto_shrink_images_get(const Prefs *prefs);
Prefs *prefs_load(const char *filename);
Eina_Bool prefs_save(Prefs *prefs, const char *filename);