Add softkey window for illume.

SVN revision: 43912
This commit is contained in:
Christopher Michael 2009-11-23 02:28:05 +00:00
parent 49979e6b1c
commit 2c6bced755
6 changed files with 52 additions and 1 deletions

View File

@ -21,7 +21,9 @@ pkg_LTLIBRARIES = module.la
module_la_SOURCES = e_mod_main.c \
e_mod_main.h \
e_mod_config.c \
e_mod_config.h
e_mod_config.h \
e_mod_win.c \
e_mod_win.h
module_la_LIBADD = @e_libs@ @dlopen_libs@
module_la_LDFLAGS = -module -avoid-version

View File

@ -16,12 +16,34 @@ il_sk_config_init(E_Module *m)
#define D conf_edd
E_CONFIG_VAL(D, T, version, INT);
il_sk_cfg = e_config_domain_load("module.illume-softkey", conf_edd);
if ((il_sk_cfg) &&
((il_sk_cfg->version >> 16) < IL_CONFIG_MAJ))
{
E_FREE(il_sk_cfg);
il_sk_cfg = NULL;
}
if (!il_sk_cfg)
{
il_sk_cfg = E_NEW(Il_Sk_Config, 1);
il_sk_cfg->version = 0;
}
if (il_sk_cfg)
{
/* Add new config variables here */
/* if ((il_sk_cfg->version & 0xffff) < 1) */
il_sk_cfg->version = (IL_CONFIG_MAJ << 16) | IL_CONFIG_MIN;
}
il_sk_cfg->mod_dir = eina_stringshare_add(m->dir);
return 1;
}
EAPI int
il_sk_config_shutdown(void)
{
if (il_sk_cfg->mod_dir) eina_stringshare_del(il_sk_cfg->mod_dir);
il_sk_cfg->mod_dir = NULL;
E_FREE(il_sk_cfg);
il_sk_cfg = NULL;
@ -32,6 +54,7 @@ il_sk_config_shutdown(void)
EAPI int
il_sk_config_save(void)
{
e_config_domain_save("module.illume-softkey", conf_edd, il_sk_cfg);
return 1;
}

View File

@ -8,6 +8,8 @@ typedef struct _Il_Sk_Config Il_Sk_Config;
struct _Il_Sk_Config
{
int version;
const char *mod_dir;
};
EAPI int il_sk_config_init(E_Module *m);

View File

@ -1,6 +1,9 @@
#include "e.h"
#include "e_mod_main.h"
#include "e_mod_config.h"
#include "e_mod_win.h"
static Il_Sk_Win *win = NULL;
EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume-Softkey" };
@ -9,12 +12,20 @@ EAPI void *
e_modapi_init(E_Module *m)
{
if (!il_sk_config_init(m)) return NULL;
e_mod_win_init();
win = e_mod_win_new();
return m;
}
EAPI int
e_modapi_shutdown(E_Module *m)
{
e_object_del(E_OBJECT(win));
win = NULL;
e_mod_win_shutdown();
il_sk_config_shutdown();
return 1;
}

View File

@ -1,6 +1,19 @@
#ifndef E_MOD_MAIN_H
#define E_MOD_MAIN_H
#define IL_SK_WIN_TYPE 0xE1b0784
typedef struct _Il_Sk_Win Il_Sk_Win;
struct _Il_Sk_Win
{
E_Object e_obj_inherit;
E_Win *win;
Evas_Object *o_base, *o_box;
Evas_Object *b_close, *b_back;
};
EAPI extern E_Module_Api e_modapi;
EAPI void *e_modapi_init(E_Module *m);