From 8bf1abea6fdbddeb44583e6538225f607faf9213 Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Fri, 2 Apr 2010 17:07:28 +0000 Subject: [PATCH] Add ability to set indicator height...requested by TAsn (Freerunner project). SVN revision: 47709 --- src/modules/illume-indicator/Makefile.am | 2 + src/modules/illume-indicator/e_mod_config.c | 51 ++++++++++++++++++ src/modules/illume-indicator/e_mod_config.h | 20 +++++++ src/modules/illume-indicator/e_mod_ind_win.c | 11 ++-- src/modules/illume-indicator/e_mod_main.c | 15 +++++- .../illume-indicator/images/module_icon.png | Bin 2815 -> 1287 bytes 6 files changed, 94 insertions(+), 5 deletions(-) create mode 100644 src/modules/illume-indicator/e_mod_config.c create mode 100644 src/modules/illume-indicator/e_mod_config.h diff --git a/src/modules/illume-indicator/Makefile.am b/src/modules/illume-indicator/Makefile.am index 688486ac9..67aa728aa 100644 --- a/src/modules/illume-indicator/Makefile.am +++ b/src/modules/illume-indicator/Makefile.am @@ -32,6 +32,8 @@ pkg_LTLIBRARIES = module.la module_la_SOURCES = \ e_mod_ind_win.c \ e_mod_ind_win.h \ + e_mod_config.c \ + e_mod_config.h \ e_mod_main.c \ e_mod_main.h diff --git a/src/modules/illume-indicator/e_mod_config.c b/src/modules/illume-indicator/e_mod_config.c new file mode 100644 index 000000000..ca8a9eb7f --- /dev/null +++ b/src/modules/illume-indicator/e_mod_config.c @@ -0,0 +1,51 @@ +#include "e.h" +#include "e_mod_main.h" +#include "e_mod_config.h" + +/* local variables */ +EAPI Il_Ind_Config *il_ind_cfg = NULL; +static E_Config_DD *conf_edd = NULL; + +int +il_ind_config_init(void) +{ + conf_edd = E_CONFIG_DD_NEW("Illume-Indicator_Cfg", Il_Ind_Config); + #undef T + #undef D + #define T Il_Ind_Config + #define D conf_edd + E_CONFIG_VAL(D, T, version, INT); + E_CONFIG_VAL(D, T, height, INT); + + il_ind_cfg = e_config_domain_load("module.illume-indicator", conf_edd); + if ((il_ind_cfg) && + ((il_ind_cfg->version >> 16) < IL_CONFIG_MAJ)) + { + E_FREE(il_ind_cfg); + } + if (!il_ind_cfg) + { + il_ind_cfg = E_NEW(Il_Ind_Config, 1); + il_ind_cfg->version = 0; + il_ind_cfg->height = 32; + } + if (il_ind_cfg) + il_ind_cfg->version = (IL_CONFIG_MAJ << 16) | IL_CONFIG_MIN; + + return 1; +} + +int +il_ind_config_shutdown(void) +{ + E_FREE(il_ind_cfg); + E_CONFIG_DD_FREE(conf_edd); + + return 1; +} + +int +il_ind_config_save(void) +{ + return e_config_domain_save("module.illume-indicator", conf_edd, il_ind_cfg); +} diff --git a/src/modules/illume-indicator/e_mod_config.h b/src/modules/illume-indicator/e_mod_config.h new file mode 100644 index 000000000..413691d82 --- /dev/null +++ b/src/modules/illume-indicator/e_mod_config.h @@ -0,0 +1,20 @@ +#ifndef E_MOD_CONFIG_H +#define E_MOD_CONFIG_H + +#define IL_CONFIG_MIN 0 +#define IL_CONFIG_MAJ 0 + +typedef struct _Il_Ind_Config Il_Ind_Config; + +struct _Il_Ind_Config +{ + int version, height; +}; + +int il_ind_config_init(void); +int il_ind_config_shutdown(void); +int il_ind_config_save(void); + +extern EAPI Il_Ind_Config *il_ind_cfg; + +#endif diff --git a/src/modules/illume-indicator/e_mod_ind_win.c b/src/modules/illume-indicator/e_mod_ind_win.c index 36d1176bb..d7e7c2763 100644 --- a/src/modules/illume-indicator/e_mod_ind_win.c +++ b/src/modules/illume-indicator/e_mod_ind_win.c @@ -1,5 +1,6 @@ #include "e.h" #include "e_mod_main.h" +#include "e_mod_config.h" #include "e_mod_ind_win.h" /* local function prototypes */ @@ -85,7 +86,7 @@ e_mod_ind_win_new(E_Zone *zone) iwin->o_base, "e.swallow.content"); // iwin->gadcon->instant_edit = 1; edje_extern_object_min_size_set(iwin->gadcon->o_container, zone->w, - (32 * e_scale)); + (il_ind_cfg->height * e_scale)); edje_object_part_swallow(iwin->o_base, "e.swallow.container", iwin->gadcon->o_container); e_gadcon_min_size_request_callback_set(iwin->gadcon, @@ -117,10 +118,11 @@ e_mod_ind_win_new(E_Zone *zone) iwin)); /* set minimum size of this window */ - e_win_size_min_set(iwin->win, zone->w, (32 * e_scale)); + e_win_size_min_set(iwin->win, zone->w, (il_ind_cfg->height * e_scale)); /* position and resize this window */ - e_win_move_resize(iwin->win, zone->x, zone->y, zone->w, (32 * e_scale)); + e_win_move_resize(iwin->win, zone->x, zone->y, zone->w, + (il_ind_cfg->height * e_scale)); /* show the window */ e_win_show(iwin->win); @@ -134,7 +136,8 @@ e_mod_ind_win_new(E_Zone *zone) /* tell conformant apps our position and size */ ecore_x_e_illume_indicator_geometry_set(zone->black_win, zone->x, zone->y, - zone->w, (32 * e_scale)); + zone->w, + (il_ind_cfg->height * e_scale)); return iwin; } diff --git a/src/modules/illume-indicator/e_mod_main.c b/src/modules/illume-indicator/e_mod_main.c index c825207ed..3274da007 100644 --- a/src/modules/illume-indicator/e_mod_main.c +++ b/src/modules/illume-indicator/e_mod_main.c @@ -1,5 +1,6 @@ #include "e.h" #include "e_mod_main.h" +#include "e_mod_config.h" #include "e_mod_ind_win.h" /* local variables */ @@ -22,6 +23,15 @@ e_modapi_init(E_Module *m) /* set module directory variable */ _ind_mod_dir = eina_stringshare_add(m->dir); + /* init config subsystem */ + if (!il_ind_config_init()) + { + /* clear module directory variable */ + if (_ind_mod_dir) eina_stringshare_del(_ind_mod_dir); + _ind_mod_dir = NULL; + return NULL; + } + /* loop through the managers (root windows) */ EINA_LIST_FOREACH(e_manager_list(), ml, man) { @@ -58,6 +68,9 @@ e_modapi_shutdown(E_Module *m) EINA_LIST_FREE(iwins, iwin) e_object_del(E_OBJECT(iwin)); + /* shutdown config */ + il_ind_config_shutdown(); + /* clear module directory variable */ if (_ind_mod_dir) eina_stringshare_del(_ind_mod_dir); _ind_mod_dir = NULL; @@ -68,5 +81,5 @@ e_modapi_shutdown(E_Module *m) EAPI int e_modapi_save(E_Module *m) { - return 1; + return il_ind_config_save(); } diff --git a/src/modules/illume-indicator/images/module_icon.png b/src/modules/illume-indicator/images/module_icon.png index 82c1b76f30170677b37b1e6923e50fc6ff269186..c759dba47d7bbc208aff8ff8886cdb806c2eb0b5 100644 GIT binary patch delta 1252 zcmew_+Rin>xSoNtz$3DlfkApb2s6e>O_X6^V2~_vjVKAuPb(=;EJ|f4FE7{2%*!rL zPAo{(%P&fw{mw>;fq|vP)5S5QV$R!{{uv_SGRN)r&%AlIXSbfjW={{@j~N+(87h_@ zmuE-xyFOZIu79s;qx<@}y`ojRUuJYqkK$?-dg*jfB&S}>NhHR0N7?@)zGky;-u(Hw zYQ{_n(-%_B`A2^qP@b%FvgUqz-TULS#RI)Q8YaKsTQJ+F;T^-SlPn}MrL)(|cXce8 zp8s*XNW-rKeKX?)6_kvut?RR|W^J95dwZwT!Vkx^41I%lu9L2s_q^MK!9~TXt?|08 z$j!eqJ7z5Ro4d)}%*<}~?AgCFtAL=SFK9p=uKORp&2|GxBM#)Y?K-&Gx4BI4thUw*k@iqtMu zh70e%yEiyH@O`+%WiT};Z1F`7t*Kslm6etEnWTEzzE;gO;Nd*{A>pz-L!v~KgPcL* zTsek>FI9Upa&zC#o!0Q!qGWe$lY>BiqR*o-7O=!0>0fkhN7pQu5~ZhPd_HKYwWt zbP#c!;3GFLzeQw$i^{7Kt0$j-*4{tx*@ow^Lf4{&A`gD=Q<|xNgy~W~)BW$}-b*h% zEa%iynsPcd=e8Qp;e}Z(UYc_Db${f~-wzGZQee5`w)kWE%8;lnxz@T!BQ_)eaz z?my}D(~d+Sxk=~u9{}{F=ySZTYF=df17AIqXZktEDrTbrrddkAnRa0li@C7 f$zMmum7WL5 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 uiZR1D_a^nl_=WuA