forked from enlightenment/enlightenment
e17/illume-keyborad: add option to scale keyboard height
SVN revision: 62605
This commit is contained in:
parent
a4e481d48a
commit
a147da5358
|
@ -979,7 +979,7 @@ _e_kbd_int_layout_parse(E_Kbd_Int *ki, const char *layout)
|
||||||
if (sscanf(buf, "%4000s", str) != 1) continue;
|
if (sscanf(buf, "%4000s", str) != 1) continue;
|
||||||
if (!strcmp(str, "kbd"))
|
if (!strcmp(str, "kbd"))
|
||||||
{
|
{
|
||||||
if (sscanf(buf, "%*s %i %i\n", &(ki->layout.w), &(ki->layout.h)) != 2)
|
if (sscanf(buf, "%*s %i %i\n", &(ki->layout.w), &(ki->layout.orig_h)) != 2)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!strcmp(str, "fuzz"))
|
if (!strcmp(str, "fuzz"))
|
||||||
|
@ -1004,7 +1004,7 @@ _e_kbd_int_layout_parse(E_Kbd_Int *ki, const char *layout)
|
||||||
{
|
{
|
||||||
ky = calloc(1, sizeof(E_Kbd_Int_Key));
|
ky = calloc(1, sizeof(E_Kbd_Int_Key));
|
||||||
if (!ky) continue;
|
if (!ky) continue;
|
||||||
if (sscanf(buf, "%*s %i %i %i %i\n", &(ky->x), &(ky->y), &(ky->w), &(ky->h)) != 4)
|
if (sscanf(buf, "%*s %i %i %i %i\n", &(ky->x), &(ky->orig_y), &(ky->w), &(ky->orig_h)) != 4)
|
||||||
{
|
{
|
||||||
free(ky);
|
free(ky);
|
||||||
ky = NULL;
|
ky = NULL;
|
||||||
|
@ -1055,6 +1055,8 @@ _e_kbd_int_layout_build(E_Kbd_Int *ki)
|
||||||
Evas_Coord lw, lh;
|
Evas_Coord lw, lh;
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
|
|
||||||
|
ki->layout.h = ki->layout.orig_h * il_kbd_cfg->scale_height;
|
||||||
|
|
||||||
evas_event_freeze(ki->win->evas);
|
evas_event_freeze(ki->win->evas);
|
||||||
e_layout_virtual_size_set(ki->layout_obj, ki->layout.w, ki->layout.h);
|
e_layout_virtual_size_set(ki->layout_obj, ki->layout.w, ki->layout.h);
|
||||||
edje_extern_object_aspect_set(ki->layout_obj, EDJE_ASPECT_CONTROL_BOTH,
|
edje_extern_object_aspect_set(ki->layout_obj, EDJE_ASPECT_CONTROL_BOTH,
|
||||||
|
@ -1073,6 +1075,9 @@ _e_kbd_int_layout_build(E_Kbd_Int *ki)
|
||||||
E_Kbd_Int_Key_State *st;
|
E_Kbd_Int_Key_State *st;
|
||||||
const char *label, *icon;
|
const char *label, *icon;
|
||||||
|
|
||||||
|
ky->y = ky->orig_y * il_kbd_cfg->scale_height;
|
||||||
|
ky->h = ky->orig_h * il_kbd_cfg->scale_height;
|
||||||
|
|
||||||
o = _theme_obj_new(ki->win->evas, ki->themedir,
|
o = _theme_obj_new(ki->win->evas, ki->themedir,
|
||||||
"e/modules/kbd/key/default");
|
"e/modules/kbd/key/default");
|
||||||
ky->obj = o;
|
ky->obj = o;
|
||||||
|
|
|
@ -46,7 +46,7 @@ struct _E_Kbd_Int
|
||||||
struct {
|
struct {
|
||||||
char *directory;
|
char *directory;
|
||||||
const char *file;
|
const char *file;
|
||||||
int w, h;
|
int w, h, orig_h;
|
||||||
int fuzz;
|
int fuzz;
|
||||||
int direction;
|
int direction;
|
||||||
E_Kbd_Int_Type type;
|
E_Kbd_Int_Type type;
|
||||||
|
@ -87,7 +87,7 @@ struct _E_Kbd_Int
|
||||||
|
|
||||||
struct _E_Kbd_Int_Key
|
struct _E_Kbd_Int_Key
|
||||||
{
|
{
|
||||||
int x, y, w, h;
|
int x, y, w, h, orig_y, orig_h;
|
||||||
|
|
||||||
Eina_List *states;
|
Eina_List *states;
|
||||||
Evas_Object *obj, *zoom_obj, *icon_obj, *zoom_icon_obj;
|
Evas_Object *obj, *zoom_obj, *icon_obj, *zoom_icon_obj;
|
||||||
|
|
|
@ -32,7 +32,8 @@ il_kbd_config_init(E_Module *m)
|
||||||
E_CONFIG_VAL(D, T, zoom_level, INT);
|
E_CONFIG_VAL(D, T, zoom_level, INT);
|
||||||
E_CONFIG_VAL(D, T, hold_timer, DOUBLE);
|
E_CONFIG_VAL(D, T, hold_timer, DOUBLE);
|
||||||
E_CONFIG_VAL(D, T, slide_dim, INT);
|
E_CONFIG_VAL(D, T, slide_dim, INT);
|
||||||
|
E_CONFIG_VAL(D, T, scale_height, DOUBLE);
|
||||||
|
|
||||||
il_kbd_cfg = e_config_domain_load("module.illume-keyboard", conf_edd);
|
il_kbd_cfg = e_config_domain_load("module.illume-keyboard", conf_edd);
|
||||||
if ((il_kbd_cfg) &&
|
if ((il_kbd_cfg) &&
|
||||||
((il_kbd_cfg->version >> 16) < IL_CONFIG_MAJ))
|
((il_kbd_cfg->version >> 16) < IL_CONFIG_MAJ))
|
||||||
|
@ -50,17 +51,17 @@ il_kbd_config_init(E_Module *m)
|
||||||
il_kbd_cfg->zoom_level = 4;
|
il_kbd_cfg->zoom_level = 4;
|
||||||
il_kbd_cfg->slide_dim = 4;
|
il_kbd_cfg->slide_dim = 4;
|
||||||
il_kbd_cfg->hold_timer = 0.25;
|
il_kbd_cfg->hold_timer = 0.25;
|
||||||
|
|
||||||
}
|
}
|
||||||
if (il_kbd_cfg)
|
if (il_kbd_cfg)
|
||||||
{
|
{
|
||||||
/* Add new config variables here */
|
/* Add new config variables here */
|
||||||
/* if ((il_kbd_cfg->version & 0xffff) < 1) */
|
/* if ((il_kbd_cfg->version & 0xffff) < 1) */
|
||||||
if ((il_kbd_cfg->version >> 16) < IL_CONFIG_MAJ)
|
if ((il_kbd_cfg->version & 0xffff) < IL_CONFIG_MIN)
|
||||||
{
|
{
|
||||||
il_kbd_cfg->zoom_level = 4;
|
il_kbd_cfg->zoom_level = 4;
|
||||||
il_kbd_cfg->slide_dim = 4;
|
il_kbd_cfg->slide_dim = 4;
|
||||||
il_kbd_cfg->hold_timer = 0.25;
|
il_kbd_cfg->hold_timer = 0.25;
|
||||||
|
il_kbd_cfg->scale_height = 1.0;
|
||||||
}
|
}
|
||||||
il_kbd_cfg->version = (IL_CONFIG_MAJ << 16) | IL_CONFIG_MIN;
|
il_kbd_cfg->version = (IL_CONFIG_MAJ << 16) | IL_CONFIG_MIN;
|
||||||
}
|
}
|
||||||
|
@ -225,6 +226,15 @@ _il_kbd_config_ui(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_D
|
||||||
NULL, &(il_kbd_cfg->zoom_level), 150);
|
NULL, &(il_kbd_cfg->zoom_level), 150);
|
||||||
e_widget_framelist_object_append(of, sl);
|
e_widget_framelist_object_append(of, sl);
|
||||||
|
|
||||||
|
ol = e_widget_label_add(evas, _("Height"));
|
||||||
|
e_widget_framelist_object_append(of, ol);
|
||||||
|
sl = e_widget_slider_add(evas, EINA_TRUE, 0, "%.2f", 0.2, 2.0, 0.1, 0,
|
||||||
|
&(il_kbd_cfg->scale_height), NULL, 150);
|
||||||
|
evas_object_smart_callback_add(sl, "changed",
|
||||||
|
_il_kbd_config_changed, NULL);
|
||||||
|
|
||||||
|
e_widget_framelist_object_append(of, sl);
|
||||||
|
|
||||||
e_widget_list_object_append(list, of, 1, 0, 0.0);
|
e_widget_list_object_append(list, of, 1, 0, 0.0);
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#ifndef E_MOD_CONFIG_H
|
#ifndef E_MOD_CONFIG_H
|
||||||
#define E_MOD_CONFIG_H
|
#define E_MOD_CONFIG_H
|
||||||
|
|
||||||
#define IL_CONFIG_MIN 0
|
#define IL_CONFIG_MIN 2
|
||||||
#define IL_CONFIG_MAJ 1
|
#define IL_CONFIG_MAJ 1
|
||||||
|
|
||||||
typedef struct _Il_Kbd_Config Il_Kbd_Config;
|
typedef struct _Il_Kbd_Config Il_Kbd_Config;
|
||||||
|
@ -18,6 +18,7 @@ struct _Il_Kbd_Config
|
||||||
int zoom_level;
|
int zoom_level;
|
||||||
int slide_dim;
|
int slide_dim;
|
||||||
double hold_timer;
|
double hold_timer;
|
||||||
|
double scale_height;
|
||||||
E_Config_Dialog *cfd;
|
E_Config_Dialog *cfd;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue