Port lang to new IPC - added in get/set to lib, but not list as I am too tired
SVN revision: 15209
This commit is contained in:
parent
327adc2ad0
commit
1599d53551
|
@ -215,47 +215,6 @@ _e_ipc_cb_client_data(void *data __UNUSED__, int type __UNUSED__, void *event)
|
|||
free(data);
|
||||
}
|
||||
break;
|
||||
case E_IPC_OP_LANG_LIST:
|
||||
{
|
||||
Evas_List *langs;
|
||||
int bytes;
|
||||
char *data;
|
||||
|
||||
langs = (Evas_List *)e_intl_language_list();
|
||||
data = _e_ipc_str_list_get(langs, &bytes);
|
||||
ecore_ipc_client_send(e->client,
|
||||
E_IPC_DOMAIN_REPLY,
|
||||
E_IPC_OP_LANG_LIST_REPLY,
|
||||
0/*ref*/, 0/*ref_to*/, 0/*response*/,
|
||||
data, bytes);
|
||||
free(data);
|
||||
}
|
||||
break;
|
||||
case E_IPC_OP_LANG_SET:
|
||||
{
|
||||
char *lang;
|
||||
|
||||
lang = _e_ipc_simple_str_dec(e->data, e->size);
|
||||
IF_FREE(e_config->language);
|
||||
e_config->language = lang;
|
||||
e_intl_language_set(e_config->language);
|
||||
e_config_save_queue();
|
||||
}
|
||||
break;
|
||||
case E_IPC_OP_LANG_GET:
|
||||
{
|
||||
char *lang;
|
||||
|
||||
lang = e_config->language;
|
||||
if (!lang) lang = "";
|
||||
ecore_ipc_client_send(e->client,
|
||||
E_IPC_DOMAIN_REPLY,
|
||||
E_IPC_OP_LANG_GET_REPLY,
|
||||
0/*ref*/, 0/*ref_to*/, 0/*response*/,
|
||||
lang, strlen(lang) + 1);
|
||||
free(data);
|
||||
}
|
||||
break;
|
||||
case E_IPC_OP_BINDING_MOUSE_LIST:
|
||||
{
|
||||
Evas_List *bindings;
|
||||
|
|
|
@ -539,6 +539,7 @@ break;
|
|||
|
||||
|
||||
|
||||
|
||||
/****************************************************************************/
|
||||
#define HDL E_IPC_OP_RESTART
|
||||
#if (TYPE == E_REMOTE_OPTIONS)
|
||||
|
@ -567,6 +568,86 @@ break;
|
|||
#endif
|
||||
#undef HDL
|
||||
|
||||
/****************************************************************************/
|
||||
#define HDL E_IPC_OP_LANG_LIST
|
||||
#if (TYPE == E_REMOTE_OPTIONS)
|
||||
OP("-lang-list", 0, "List all available languages", 1, HDL)
|
||||
#elif (TYPE == E_REMOTE_OUT)
|
||||
REQ_NULL(HDL);
|
||||
#elif (TYPE == E_WM_IN)
|
||||
GENERIC(HDL);
|
||||
LIST_DATA();
|
||||
ENCODE((Evas_List *)e_intl_language_list(), e_ipc_codec_str_list_enc);
|
||||
SEND_DATA(E_IPC_OP_LANG_LIST_REPLY);
|
||||
END_GENERIC();
|
||||
#elif (TYPE == E_REMOTE_IN)
|
||||
#endif
|
||||
#undef HDL
|
||||
|
||||
/****************************************************************************/
|
||||
#define HDL E_IPC_OP_LANG_LIST_REPLY
|
||||
#if (TYPE == E_REMOTE_OPTIONS)
|
||||
#elif (TYPE == E_REMOTE_OUT)
|
||||
#elif (TYPE == E_WM_IN)
|
||||
#elif (TYPE == E_REMOTE_IN)
|
||||
GENERIC(HDL);
|
||||
LIST();
|
||||
DECODE(e_ipc_codec_str_list_dec) {
|
||||
FOR(dat) {
|
||||
printf("REPLY: \"%s\"\n", (char *)(l->data));
|
||||
}
|
||||
FREE_LIST(dat);
|
||||
}
|
||||
END_GENERIC();
|
||||
#endif
|
||||
#undef HDL
|
||||
|
||||
/****************************************************************************/
|
||||
#define HDL E_IPC_OP_LANG_SET
|
||||
#if (TYPE == E_REMOTE_OPTIONS)
|
||||
OP("-lang-set", 1, "Set the current language to 'OPT1'", 0, HDL)
|
||||
#elif (TYPE == E_REMOTE_OUT)
|
||||
REQ_STRING(params[0], HDL);
|
||||
#elif (TYPE == E_WM_IN)
|
||||
STRING(s, HDL);
|
||||
IF_FREE(e_config->language);
|
||||
e_config->language = strdup(s);
|
||||
e_intl_language_set(e_config->language);
|
||||
SAVE;
|
||||
END_STRING(s);
|
||||
#elif (TYPE == E_REMOTE_IN)
|
||||
#endif
|
||||
#undef HDL
|
||||
|
||||
/****************************************************************************/
|
||||
#define HDL E_IPC_OP_LANG_GET
|
||||
#if (TYPE == E_REMOTE_OPTIONS)
|
||||
OP("-lang-get", 0, "Get the current language", 1, HDL)
|
||||
#elif (TYPE == E_REMOTE_OUT)
|
||||
REQ_NULL(HDL);
|
||||
#elif (TYPE == E_WM_IN)
|
||||
SEND_STRING(e_config->language, E_IPC_OP_LANG_GET_REPLY, HDL);
|
||||
#elif (TYPE == E_REMOTE_IN)
|
||||
#endif
|
||||
#undef HDL
|
||||
|
||||
/****************************************************************************/
|
||||
#define HDL E_IPC_OP_LANG_GET_REPLY
|
||||
#if (TYPE == E_REMOTE_OPTIONS)
|
||||
#elif (TYPE == E_REMOTE_OUT)
|
||||
#elif (TYPE == E_WM_IN)
|
||||
#elif (TYPE == E_REMOTE_IN)
|
||||
STRING(s, HDL);
|
||||
printf("REPLY: \"%s\"\n", s);
|
||||
END_STRING(s);
|
||||
#elif (TYPE == E_LIB_IN)
|
||||
STRING(s, HDL);
|
||||
RESPONSE(r, E_Response_Language_Get, HDL);
|
||||
r->lang = strdup(s);
|
||||
END_RESPONSE(r, E_RESPONSE_LANGUAGE_GET);
|
||||
END_STRING(s);
|
||||
#endif
|
||||
#undef HDL
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -574,9 +574,6 @@ E_IPC_Opt_Handler handlers[] =
|
|||
OSTR("-font-default-remove", "Remove the default text class OPT1", E_IPC_OP_FONT_DEFAULT_REMOVE, 0),
|
||||
OREQ("-font-default-list", "List all configured text classes", E_IPC_OP_FONT_DEFAULT_LIST, 1),
|
||||
OMUL("-font-default-set", "Set textclass (OPT1) font (OPT2) and size (OPT3)", E_IPC_OP_FONT_DEFAULT_SET, 0, 3),
|
||||
OREQ("-lang-get", "Get the current language", E_IPC_OP_LANG_GET, 1),
|
||||
OREQ("-lang-list", "List all available languages", E_IPC_OP_LANG_LIST, 1),
|
||||
OSTR("-lang-set", "Set the current language", E_IPC_OP_LANG_SET, 0),
|
||||
OREQ("-binding-mouse-list", "List all mouse bindings", E_IPC_OP_BINDING_MOUSE_LIST, 1),
|
||||
OFNC("-binding-mouse-add", "Add an existing mouse binding. OPT1 = Context, OPT2 = button, OPT3 = modifiers, OPT4 = any modifier ok, OPT5 = action, OPT6 = action parameters", 6, _e_opt_binding_mouse_add, 0),
|
||||
OFNC("-binding-mouse-del", "Delete an existing mouse binding. OPT1 = Context, OPT2 = button, OPT3 = modifiers, OPT4 = any modifier ok, OPT5 = action, OPT6 = action parameters", 6, _e_opt_binding_mouse_del, 0),
|
||||
|
@ -921,30 +918,6 @@ _e_ipc_cb_server_data(void *data, int type, void *event)
|
|||
else
|
||||
printf("REPLY: DEFAULT NONE\n");
|
||||
break;
|
||||
case E_IPC_OP_LANG_LIST_REPLY:
|
||||
if (e->data)
|
||||
{
|
||||
Evas_List *langs;
|
||||
|
||||
langs = _e_ipc_str_list_dec(e->data, e->size);
|
||||
if (langs)
|
||||
{
|
||||
Evas_List *l;
|
||||
|
||||
for (l = langs; l; l = l->next)
|
||||
printf("REPLY: LANG=\"%s\"\n", (char *)l->data);
|
||||
evas_list_free(langs);
|
||||
}
|
||||
}
|
||||
else
|
||||
printf("REPLY: AVAILABLE NONE\n");
|
||||
break;
|
||||
case E_IPC_OP_LANG_GET_REPLY:
|
||||
if (e->data)
|
||||
{
|
||||
printf("REPLY: %s\n", (char *)e->data);
|
||||
}
|
||||
break;
|
||||
case E_IPC_OP_BINDING_MOUSE_LIST_REPLY:
|
||||
if (e->data)
|
||||
{
|
||||
|
|
|
@ -18,12 +18,12 @@
|
|||
# endif
|
||||
#endif
|
||||
|
||||
/* FIXME: this is all borken right now :( */
|
||||
|
||||
typedef struct _E_Response_Module_List E_Response_Module_List;
|
||||
typedef struct _E_Response_Module_Data E_Response_Module_Data;
|
||||
typedef struct _E_Response_Dirs_List E_Response_Dirs_List;
|
||||
typedef struct _E_Response_Background_Get E_Response_Background_Get;
|
||||
typedef struct _E_Response_Language_Get E_Response_Language_Get;
|
||||
|
||||
struct _E_Response_Module_List
|
||||
{
|
||||
|
@ -48,8 +48,14 @@ struct _E_Response_Background_Get
|
|||
char *file;
|
||||
};
|
||||
|
||||
struct _E_Response_Language_Get
|
||||
{
|
||||
char *lang;
|
||||
};
|
||||
|
||||
extern EAPI int E_RESPONSE_MODULE_LIST;
|
||||
extern EAPI int E_RESPONSE_BACKGROUND_GET;
|
||||
extern EAPI int E_RESPONSE_LANGUAGE_GET;
|
||||
|
||||
extern EAPI int E_RESPONSE_DATA_DIRS_LIST;
|
||||
extern EAPI int E_RESPONSE_IMAGE_DIRS_LIST;
|
||||
|
@ -81,6 +87,10 @@ extern "C" {
|
|||
EAPI void e_lib_background_set (const char *bgfile);
|
||||
EAPI void e_lib_background_get (void);
|
||||
|
||||
/* languages */
|
||||
EAPI void e_lib_language_set (const char *lang);
|
||||
EAPI void e_lib_language_get (void);
|
||||
|
||||
/* E path information */
|
||||
EAPI void e_lib_data_dirs_list (void);
|
||||
EAPI void e_lib_image_dirs_list (void);
|
||||
|
|
|
@ -49,14 +49,13 @@ static void _e_ipc_call(E_Ipc_Op opcode, char **params);
|
|||
static int _e_cb_server_data(void *data, int type, void *event);
|
||||
|
||||
static void _e_cb_module_list_free(void *data, void *ev);
|
||||
static void _e_cb_module_dir_list_free(void *data, void *ev);
|
||||
static void _e_cb_bg_dir_list_free(void *data, void *ev);
|
||||
static void _e_cb_theme_dir_list_free(void *data __UNUSED__, void *ev);
|
||||
static void _e_cb_dir_list_free(void *data __UNUSED__, void *ev);
|
||||
|
||||
static Ecore_Ipc_Server *_e_ipc_server = NULL;
|
||||
|
||||
int E_RESPONSE_MODULE_LIST = 0;
|
||||
int E_RESPONSE_BACKGROUND_GET = 0;
|
||||
int E_RESPONSE_LANGUAGE_GET = 0;
|
||||
|
||||
int E_RESPONSE_DATA_DIRS_LIST = 0;
|
||||
int E_RESPONSE_IMAGE_DIRS_LIST = 0;
|
||||
|
@ -141,6 +140,7 @@ e_lib_init(const char* display)
|
|||
{
|
||||
E_RESPONSE_MODULE_LIST = ecore_event_type_new();
|
||||
E_RESPONSE_BACKGROUND_GET = ecore_event_type_new();
|
||||
E_RESPONSE_LANGUAGE_GET = ecore_event_type_new();
|
||||
|
||||
E_RESPONSE_DATA_DIRS_LIST = ecore_event_type_new();
|
||||
E_RESPONSE_IMAGE_DIRS_LIST = ecore_event_type_new();
|
||||
|
@ -240,6 +240,24 @@ e_lib_background_get(void)
|
|||
_e_ipc_call(E_IPC_OP_BG_GET, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
e_lib_language_set(const char *lang)
|
||||
{
|
||||
char *tmp;
|
||||
if (!lang)
|
||||
return;
|
||||
|
||||
tmp = strdup(lang);
|
||||
_e_ipc_call(E_IPC_OP_LANG_SET, &tmp);
|
||||
free(tmp);
|
||||
}
|
||||
|
||||
void
|
||||
e_lib_language_get(void)
|
||||
{
|
||||
_e_ipc_call(E_IPC_OP_LANG_GET, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
e_lib_data_dirs_list(void)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue