forked from enlightenment/efl
elementary: Add user setting for icon theme
Beginning of the icon lookup rework. The library will now store user preference for the icon theme to use.
This commit is contained in:
parent
e88423e994
commit
4c0fc7559c
|
@ -1,3 +1,11 @@
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* @brief Definition of special values for user configuration.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define ELM_CONFIG_ICON_THEME_ELEMENTARY "_Elementary_Icon_Theme"
|
||||||
|
|
||||||
|
|
|
@ -500,6 +500,7 @@ _desc_init(void)
|
||||||
ELM_CONFIG_VAL(D, T, popup_horizontal_align, T_DOUBLE);
|
ELM_CONFIG_VAL(D, T, popup_horizontal_align, T_DOUBLE);
|
||||||
ELM_CONFIG_VAL(D, T, popup_vertical_align, T_DOUBLE);
|
ELM_CONFIG_VAL(D, T, popup_vertical_align, T_DOUBLE);
|
||||||
ELM_CONFIG_VAL(D, T, spinner_min_max_filter_enable, T_UCHAR);
|
ELM_CONFIG_VAL(D, T, spinner_min_max_filter_enable, T_UCHAR);
|
||||||
|
ELM_CONFIG_VAL(D, T, icon_theme, T_STRING);
|
||||||
#undef T
|
#undef T
|
||||||
#undef D
|
#undef D
|
||||||
#undef T_INT
|
#undef T_INT
|
||||||
|
@ -1823,6 +1824,7 @@ _config_load(void)
|
||||||
_elm_config->naviframe_prev_btn_auto_pushed = EINA_TRUE;
|
_elm_config->naviframe_prev_btn_auto_pushed = EINA_TRUE;
|
||||||
_elm_config->popup_horizontal_align = 0.5;
|
_elm_config->popup_horizontal_align = 0.5;
|
||||||
_elm_config->popup_vertical_align = 0.5;
|
_elm_config->popup_vertical_align = 0.5;
|
||||||
|
_elm_config->icon_theme = eina_stringshare_add(ELM_CONFIG_ICON_THEME_ELEMENTARY);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -2166,6 +2168,10 @@ _config_update(void)
|
||||||
IFCFG(0x0009)
|
IFCFG(0x0009)
|
||||||
_elm_config->scroll_accel_factor = 7.0;
|
_elm_config->scroll_accel_factor = 7.0;
|
||||||
IFCFGEND
|
IFCFGEND
|
||||||
|
|
||||||
|
IFCFG(0x000a)
|
||||||
|
_elm_config->icon_theme = eina_stringshare_add(ELM_CONFIG_ICON_THEME_ELEMENTARY);
|
||||||
|
IFCFGEND
|
||||||
/**
|
/**
|
||||||
* Fix user config for current ELM_CONFIG_EPOCH here.
|
* Fix user config for current ELM_CONFIG_EPOCH here.
|
||||||
**/
|
**/
|
||||||
|
@ -2652,6 +2658,23 @@ elm_config_scale_set(double scale)
|
||||||
_elm_rescale();
|
_elm_rescale();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI const char *
|
||||||
|
elm_config_icon_theme_get(void)
|
||||||
|
{
|
||||||
|
return _elm_config->icon_theme;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
elm_config_icon_theme_set(const char *theme)
|
||||||
|
{
|
||||||
|
eina_stringshare_del(_elm_config->icon_theme);
|
||||||
|
|
||||||
|
if (theme)
|
||||||
|
_elm_config->icon_theme = eina_stringshare_add(theme);
|
||||||
|
else
|
||||||
|
_elm_config->icon_theme = eina_stringshare_add(ELM_CONFIG_ICON_THEME_ELEMENTARY);
|
||||||
|
}
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
elm_config_password_show_last_get(void)
|
elm_config_password_show_last_get(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -973,6 +973,29 @@ EAPI double elm_config_scale_get(void);
|
||||||
*/
|
*/
|
||||||
EAPI void elm_config_scale_set(double scale);
|
EAPI void elm_config_scale_set(double scale);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the icon theme the user has set.
|
||||||
|
*
|
||||||
|
* This gets the global icon theme currently set or the default value
|
||||||
|
* ELM_CONFIG_ICON_THEME_ELEMENTARY.
|
||||||
|
*
|
||||||
|
* @return the icon theme to use
|
||||||
|
* @ingroup Elm_Icon
|
||||||
|
*/
|
||||||
|
EAPI const char *elm_config_icon_theme_get(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the icon theme for all elementary apps.
|
||||||
|
*
|
||||||
|
* This method will set the icon theme for all elm_icon_standard_set calls.
|
||||||
|
* Valid parameters are the name of an installed freedesktop.org icon theme
|
||||||
|
* or ELM_CONFIG_ICON_THEME_ELEMENTARY for the built in theme.
|
||||||
|
*
|
||||||
|
* @param the name of a freedesktop.org icon theme or ELM_CONFIG_ICON_THEME_ELEMENTARY
|
||||||
|
* @ingroup Elm_Icon
|
||||||
|
*/
|
||||||
|
EAPI void elm_config_icon_theme_set(const char *theme);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @defgroup Elm_Password_last_show Password show last
|
* @defgroup Elm_Password_last_show Password show last
|
||||||
* @ingroup Elementary
|
* @ingroup Elementary
|
||||||
|
|
|
@ -134,7 +134,7 @@ struct _Elm_Theme
|
||||||
* the users config doesn't need to be wiped - simply new values need
|
* the users config doesn't need to be wiped - simply new values need
|
||||||
* to be put in
|
* to be put in
|
||||||
*/
|
*/
|
||||||
#define ELM_CONFIG_FILE_GENERATION 0x0009
|
#define ELM_CONFIG_FILE_GENERATION 0x000a
|
||||||
#define ELM_CONFIG_VERSION_EPOCH_OFFSET 16
|
#define ELM_CONFIG_VERSION_EPOCH_OFFSET 16
|
||||||
#define ELM_CONFIG_VERSION ((ELM_CONFIG_EPOCH << ELM_CONFIG_VERSION_EPOCH_OFFSET) | \
|
#define ELM_CONFIG_VERSION ((ELM_CONFIG_EPOCH << ELM_CONFIG_VERSION_EPOCH_OFFSET) | \
|
||||||
ELM_CONFIG_FILE_GENERATION)
|
ELM_CONFIG_FILE_GENERATION)
|
||||||
|
@ -317,6 +317,7 @@ struct _Elm_Config
|
||||||
int gl_depth;
|
int gl_depth;
|
||||||
int gl_stencil;
|
int gl_stencil;
|
||||||
int gl_msaa;
|
int gl_msaa;
|
||||||
|
const char *icon_theme;
|
||||||
|
|
||||||
/* Not part of the EET file */
|
/* Not part of the EET file */
|
||||||
Eina_Bool is_mirrored : 1;
|
Eina_Bool is_mirrored : 1;
|
||||||
|
|
Loading…
Reference in New Issue