forked from enlightenment/enlightenment
'everything' module: added config options to not hide input or list
SVN revision: 41830
This commit is contained in:
parent
0970a9894c
commit
06bacad65f
|
@ -9,6 +9,8 @@
|
|||
|
||||
#include "e_mod_main.h"
|
||||
|
||||
#define CONFIG_VERSION 1
|
||||
|
||||
/* actual module specifics */
|
||||
static void _e_mod_action_exebuf_cb(E_Object *obj, const char *params);
|
||||
static int _e_mod_run_defer_cb(void *data);
|
||||
|
@ -70,36 +72,35 @@ e_modapi_init(E_Module *m)
|
|||
#undef D
|
||||
#define T Config
|
||||
#define D conf_edd
|
||||
E_CONFIG_VAL(D, T, version, INT);
|
||||
E_CONFIG_VAL(D, T, width, INT);
|
||||
E_CONFIG_VAL(D, T, height, INT);
|
||||
E_CONFIG_VAL(D, T, rel_x, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, rel_y, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, scroll_animate, INT);
|
||||
E_CONFIG_VAL(D, T, scroll_speed, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, hide_input, INT);
|
||||
E_CONFIG_VAL(D, T, hide_list, INT);
|
||||
E_CONFIG_LIST(D, T, plugins_conf, conf_item_edd);
|
||||
#undef T
|
||||
#undef D
|
||||
evry_conf = e_config_domain_load("module.everything", conf_edd);
|
||||
|
||||
if (!evry_conf)
|
||||
if (!evry_conf || (evry_conf->version == CONFIG_VERSION))
|
||||
{
|
||||
evry_conf = E_NEW(Config, 1);
|
||||
evry_conf->version = CONFIG_VERSION;
|
||||
evry_conf->rel_x = 50.0;
|
||||
evry_conf->rel_y = 50.0;
|
||||
evry_conf->width = 400;
|
||||
evry_conf->height = 350;
|
||||
evry_conf->scroll_animate = 1;
|
||||
evry_conf->scroll_animate = 0;
|
||||
evry_conf->scroll_speed = 0.08;
|
||||
evry_conf->hide_input = 0;
|
||||
evry_conf->hide_input = 1;
|
||||
}
|
||||
|
||||
/* evry_conf->history = eina_hash_string_superfast_new(NULL); */
|
||||
|
||||
evry_conf->width = 380;
|
||||
evry_conf->height = 235;
|
||||
evry_conf->scroll_animate = 0;
|
||||
/* conf_module = m; */
|
||||
evry_init();
|
||||
|
||||
/* search for plugins */
|
||||
eina_module_init();
|
||||
|
||||
snprintf(dir, sizeof(dir), "%s/enlightenment/everything_plugins", e_prefix_lib_get());
|
||||
|
@ -130,6 +131,8 @@ e_modapi_init(E_Module *m)
|
|||
e_configure_registry_category_add("extensions", 80, _("Extensions"), NULL, "preferences-extensions");
|
||||
e_configure_registry_item_add("extensions/run_everything", 40, _("Run Everything"), NULL, "system-run", evry_config_dialog);
|
||||
|
||||
evry_init();
|
||||
|
||||
e_module_delayed_set(m, 1);
|
||||
|
||||
return m;
|
||||
|
|
|
@ -8,6 +8,7 @@ typedef struct _Config Config;
|
|||
|
||||
struct _Config
|
||||
{
|
||||
int version;
|
||||
/* position */
|
||||
double rel_x, rel_y;
|
||||
/* size */
|
||||
|
@ -19,8 +20,9 @@ struct _Config
|
|||
int scroll_animate;
|
||||
double scroll_speed;
|
||||
|
||||
int auto_select_first;
|
||||
|
||||
int hide_input;
|
||||
int hide_list;
|
||||
|
||||
Eina_Hash *key_bindings;
|
||||
|
||||
/**/
|
||||
|
|
|
@ -128,7 +128,7 @@ static int _evry_selector_objects_get(const char *type);
|
|||
static Evry_List_Window *_evry_list_win_new(E_Zone *zone);
|
||||
static void _evry_list_win_free(Evry_List_Window *win);
|
||||
static void _evry_list_win_show(void);
|
||||
static void _evry_list_win_hide(void);
|
||||
static void _evry_list_win_clear(int hide);
|
||||
static void _evry_list_clear_list(Evry_State *s);
|
||||
static void _evry_list_update(Evry_State *s);
|
||||
static void _evry_list_show_items(Evry_State *s, Evry_Plugin *plugin);
|
||||
|
@ -244,6 +244,9 @@ evry_show(E_Zone *zone)
|
|||
}
|
||||
e_box_align_set(list->o_tabs, 0.0, 0.5);
|
||||
|
||||
if (!evry_conf->hide_input)
|
||||
edje_object_signal_emit(list->o_main, "e,state,entry_show", "e");
|
||||
|
||||
handlers = eina_list_append
|
||||
(handlers, ecore_event_handler_add
|
||||
(ECORE_EVENT_KEY_DOWN, _evry_cb_key_down, NULL));
|
||||
|
@ -699,15 +702,13 @@ _evry_list_win_show(void)
|
|||
}
|
||||
|
||||
static void
|
||||
_evry_list_win_hide(void)
|
||||
_evry_list_win_clear(int hide)
|
||||
{
|
||||
Eina_List *l;
|
||||
Evry_Plugin *p;
|
||||
|
||||
if (!list->visible) return;
|
||||
|
||||
list->visible = EINA_FALSE;
|
||||
|
||||
EINA_LIST_FOREACH(selector->plugins, l, p)
|
||||
{
|
||||
e_box_unpack(p->tab);
|
||||
|
@ -716,7 +717,13 @@ _evry_list_win_hide(void)
|
|||
}
|
||||
_evry_list_clear_list(selector->state);
|
||||
|
||||
edje_object_signal_emit(list->o_main, "e,state,list_hide", "e");
|
||||
if (hide)
|
||||
{
|
||||
|
||||
list->visible = EINA_FALSE;
|
||||
edje_object_signal_emit(list->o_main, "e,state,list_hide", "e");
|
||||
}
|
||||
|
||||
/* e_popup_hide(list->popup); */
|
||||
}
|
||||
|
||||
|
@ -857,7 +864,7 @@ _evry_selector_activate(Evry_Selector *sel)
|
|||
p->tab = NULL;
|
||||
}
|
||||
|
||||
_evry_list_win_hide();
|
||||
_evry_list_win_clear(evry_conf->hide_list);
|
||||
_evry_plugin_show(selector->state, NULL);
|
||||
}
|
||||
|
||||
|
@ -878,6 +885,7 @@ _evry_selector_activate(Evry_Selector *sel)
|
|||
_evry_list_tabs_update(s);
|
||||
_evry_plugin_show(s, s->plugin);
|
||||
_evry_list_show_items(s, s->plugin);
|
||||
_evry_list_scroll_to(s, s->sel_item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1261,6 +1269,9 @@ _evry_cb_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
|
|||
(strcmp(ev->key, "Tab")) &&
|
||||
(strcmp(ev->key, "Escape")))
|
||||
{
|
||||
if (!list->visible)
|
||||
_evry_list_win_show();
|
||||
|
||||
if (s->plugin->cb_key_down(s->plugin, ev))
|
||||
return 1;
|
||||
}
|
||||
|
@ -1384,11 +1395,14 @@ _evry_backspace(Evry_State *s)
|
|||
static void
|
||||
_evry_update_text_label(Evry_State *s)
|
||||
{
|
||||
if (strlen(s->input) > 0)
|
||||
edje_object_signal_emit(list->o_main, "e,state,entry_show", "e");
|
||||
else
|
||||
edje_object_signal_emit(list->o_main, "e,state,entry_hide", "e");
|
||||
|
||||
if (evry_conf->hide_input)
|
||||
{
|
||||
if (strlen(s->input) > 0)
|
||||
edje_object_signal_emit(list->o_main, "e,state,entry_show", "e");
|
||||
else
|
||||
edje_object_signal_emit(list->o_main, "e,state,entry_hide", "e");
|
||||
}
|
||||
|
||||
edje_object_part_text_set(win->o_main, "e.text.label", s->input);
|
||||
edje_object_part_text_set(list->o_main, "e.text.label", s->input);
|
||||
|
||||
|
@ -1433,7 +1447,8 @@ _evry_clear(Evry_State *s)
|
|||
{
|
||||
s->input[0] = 0;
|
||||
_evry_update(s, 1);
|
||||
edje_object_signal_emit(list->o_main, "e,state,entry_hide", "e");
|
||||
if (evry_conf->hide_input)
|
||||
edje_object_signal_emit(list->o_main, "e,state,entry_hide", "e");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -1915,7 +1930,7 @@ _evry_list_item_prev(Evry_State *s)
|
|||
}
|
||||
}
|
||||
|
||||
_evry_list_win_hide();
|
||||
_evry_list_win_clear(1);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -13,8 +13,10 @@ static Evas_Object *_basic_create_widgets (E_Config_Dialog *cfd, Evas *evas,
|
|||
|
||||
struct _E_Config_Dialog_Data
|
||||
{
|
||||
int width, height;
|
||||
int hide_input;
|
||||
int hide_list;
|
||||
|
||||
int width, height;
|
||||
int scroll_animate;
|
||||
|
||||
Evas_Object *l_subject;
|
||||
|
@ -55,10 +57,12 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
|||
Eina_List *l;
|
||||
Evry_Plugin *p;
|
||||
|
||||
cfdata->scroll_animate = evry_conf->scroll_animate;
|
||||
cfdata->height = evry_conf->height;
|
||||
cfdata->width = evry_conf->width;
|
||||
|
||||
/* cfdata->scroll_animate = evry_conf->scroll_animate;
|
||||
* cfdata->height = evry_conf->height;
|
||||
* cfdata->width = evry_conf->width; */
|
||||
cfdata->hide_list = evry_conf->hide_list;
|
||||
cfdata->hide_input = evry_conf->hide_input;
|
||||
|
||||
EINA_LIST_FOREACH(evry_conf->plugins, l, p)
|
||||
if (p->type == type_subject)
|
||||
cfdata->p_subject = eina_list_append(cfdata->p_subject, p);
|
||||
|
@ -99,9 +103,11 @@ _evry_cb_plugin_sort(const void *data1, const void *data2)
|
|||
static int
|
||||
_basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
evry_conf->width = cfdata->width;
|
||||
evry_conf->height = cfdata->height;
|
||||
evry_conf->scroll_animate = cfdata->scroll_animate;
|
||||
/* evry_conf->width = cfdata->width;
|
||||
* evry_conf->height = cfdata->height;
|
||||
* evry_conf->scroll_animate = cfdata->scroll_animate; */
|
||||
evry_conf->hide_input = cfdata->hide_input;
|
||||
evry_conf->hide_list = cfdata->hide_list;
|
||||
|
||||
evry_conf->plugins = eina_list_sort(evry_conf->plugins,
|
||||
eina_list_count(evry_conf->plugins),
|
||||
|
@ -188,26 +194,37 @@ _basic_create_widgets(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dial
|
|||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
||||
of = e_widget_framelist_add(evas, _("General Settings"), 0);
|
||||
ob = e_widget_label_add(evas, _("Popup Width"));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"),
|
||||
300, 800, 5, 0, NULL,
|
||||
&(cfdata->width), 200);
|
||||
|
||||
ob = e_widget_check_add(evas, _("Hide input when inactive"),
|
||||
&(cfdata->hide_input));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
|
||||
ob = e_widget_label_add(evas, _("Popup Height"));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"),
|
||||
200, 800, 5, 0, NULL,
|
||||
&(cfdata->height), 200);
|
||||
ob = e_widget_check_add(evas, _("Hide list"),
|
||||
&(cfdata->hide_list));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
e_widget_list_object_append(o, of, 1, 1, 0.5);
|
||||
|
||||
of = e_widget_framelist_add(evas, _("Scroll Settings"), 0);
|
||||
ob = e_widget_check_add(evas, _("Scroll Animate"),
|
||||
&(cfdata->scroll_animate));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
e_widget_list_object_append(o, of, 1, 1, 0.5);
|
||||
/* ob = e_widget_label_add(evas, _("Popup Width"));
|
||||
* e_widget_framelist_object_append(of, ob);
|
||||
* ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"),
|
||||
* 300, 800, 5, 0, NULL,
|
||||
* &(cfdata->width), 200);
|
||||
* e_widget_framelist_object_append(of, ob);
|
||||
*
|
||||
* ob = e_widget_label_add(evas, _("Popup Height"));
|
||||
* e_widget_framelist_object_append(of, ob);
|
||||
* ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"),
|
||||
* 200, 800, 5, 0, NULL,
|
||||
* &(cfdata->height), 200);
|
||||
* e_widget_framelist_object_append(of, ob);
|
||||
* e_widget_list_object_append(o, of, 1, 1, 0.5); */
|
||||
|
||||
/* of = e_widget_framelist_add(evas, _("Scroll Settings"), 0);
|
||||
* ob = e_widget_check_add(evas, _("Scroll Animate"),
|
||||
* &(cfdata->scroll_animate));
|
||||
* e_widget_framelist_object_append(of, ob);
|
||||
* e_widget_list_object_append(o, of, 1, 1, 0.5); */
|
||||
|
||||
|
||||
e_widget_toolbook_page_append(otb, NULL, _("General Settings"),
|
||||
o, 0, 0, 0, 0, 0.5, 0.0);
|
||||
|
|
Loading…
Reference in New Issue