aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/e17/e-wm/Add-press-delay-support-to-illume.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/e17/e-wm/Add-press-delay-support-to-illume.patch')
-rw-r--r--recipes/e17/e-wm/Add-press-delay-support-to-illume.patch152
1 files changed, 152 insertions, 0 deletions
diff --git a/recipes/e17/e-wm/Add-press-delay-support-to-illume.patch b/recipes/e17/e-wm/Add-press-delay-support-to-illume.patch
new file mode 100644
index 0000000000..b01c35beff
--- /dev/null
+++ b/recipes/e17/e-wm/Add-press-delay-support-to-illume.patch
@@ -0,0 +1,152 @@
+>From 7b4ed34a4d0ea7576d5b54ef580b30e16f802444 Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Trevi=C3=B1o=20-=203v1n0?= <mail@3v1n0.net>
+Date: Tue, 9 Jun 2009 01:33:33 +0200
+Subject: [PATCH 2/2] Add press delay support to illume
+ Use the e_fm2 single_click_delay option in illume e_fm2 to allow to
+ configure from the launcher settings a click delay to prevent
+ un-wanted clicks
+
+---
+ src/modules/illume/e_cfg.c | 58 +++++++++++++++++++++++++++++++++++++++-
+ src/modules/illume/e_cfg.h | 1 +
+ src/modules/illume/e_mod_win.c | 1 +
+ 3 files changed, 59 insertions(+), 1 deletions(-)
+
+diff --git a/src/modules/illume/e_cfg.c b/src/modules/illume/e_cfg.c
+index 7ae6213..3b52918 100644
+--- a/src/modules/illume/e_cfg.c
++++ b/src/modules/illume/e_cfg.c
+@@ -42,6 +42,7 @@ e_cfg_init(E_Module *m)
+ E_CONFIG_VAL(conf_edd, Illume_Cfg, launcher.mode, INT);
+ E_CONFIG_VAL(conf_edd, Illume_Cfg, launcher.icon_size, INT);
+ E_CONFIG_VAL(conf_edd, Illume_Cfg, launcher.single_click, INT);
++ E_CONFIG_VAL(conf_edd, Illume_Cfg, launcher.single_click_delay, INT);
+
+ E_CONFIG_VAL(conf_edd, Illume_Cfg, power.auto_suspend, INT);
+ E_CONFIG_VAL(conf_edd, Illume_Cfg, power.auto_suspend_delay, INT);
+@@ -80,6 +81,7 @@ e_cfg_init(E_Module *m)
+ illume_cfg->launcher.mode = 0;
+ illume_cfg->launcher.icon_size = 120;
+ illume_cfg->launcher.single_click = 1;
++ illume_cfg->launcher.single_click_delay = 150;
+
+ illume_cfg->power.auto_suspend = 1;
+ illume_cfg->power.auto_suspend_delay = 1;
+@@ -170,6 +172,14 @@ _e_cfg_launcher_change(void *data, Evas_Object *obj, void *event_info) {
+ _e_cfg_launcher_change_timer = ecore_timer_add(0.5, _e_cfg_launcher_change_timeout, data);
+ }
+
++Evas_Object *delay_label, *delay_slider;
++static void
++_e_cfg_launcher_click_change(void *data, Evas_Object *obj, void *event_info) {
++ e_widget_disabled_set(delay_label, !illume_cfg->launcher.single_click);
++ e_widget_disabled_set(delay_slider, !illume_cfg->launcher.single_click);
++ _e_cfg_launcher_change(data, obj, event_info);
++}
++
+ static void *
+ _e_cfg_launcher_create(E_Config_Dialog *cfd)
+ { // alloc cfd->cfdata
+@@ -179,6 +189,7 @@ _e_cfg_launcher_create(E_Config_Dialog *cfd)
+ static void
+ _e_cfg_launcher_free(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
+ { // free cfd->cfdata
++ _e_mod_win_cfg_update(); // Reload on exit (to apply the slider value)
+ }
+
+ static Evas_Object *
+@@ -221,7 +232,16 @@ _e_cfg_launcher_ui(E_Config_Dialog *cfd, Evas *e, E_Config_Dialog_Data *cfdata)
+ frame = e_widget_framelist_add(e, "Launch Action", 0);
+ o = e_widget_check_add(e, "Single press", &(illume_cfg->launcher.single_click));
+ e_widget_framelist_object_append(frame, o);
+- evas_object_smart_callback_add(o, "changed", _e_cfg_launcher_change, NULL);
++ evas_object_smart_callback_add(o, "changed", _e_cfg_launcher_click_change, NULL);
++ o = e_widget_label_add(e, "Press delay:");
++ delay_label = o;
++ e_widget_disabled_set(o, !illume_cfg->launcher.single_click);
++ e_widget_framelist_object_append(frame, o);
++ o = e_widget_slider_add(e, 1, 0, "%1.0f ms", 0, 350, 1, 0, NULL, &(illume_cfg->launcher.single_click_delay), 150);
++ delay_slider = o;
++ //evas_object_smart_callback_add(o, "changed", _e_cfg_launcher_change, NULL); //works ??
++ e_widget_disabled_set(o, !illume_cfg->launcher.single_click);
++ e_widget_framelist_object_append(frame, o);
+ e_widget_list_object_append(list, frame, 1, 0, 0.0); // fill, expand, align
+
+ return list;
+@@ -1374,6 +1394,40 @@ _dbcb_launcher_single_click_set(E_DBus_Object *obj, DBusMessage *msg)
+ return reply;
+ }
+
++// illume_cfg->launcher.single_click_delay
++static DBusMessage *
++_dbcb_launcher_single_click_delay_get(E_DBus_Object *obj, DBusMessage *msg)
++{
++ DBusMessage *reply;
++ DBusMessageIter iter;
++
++ reply = dbus_message_new_method_return(msg);
++ dbus_message_iter_init_append(reply, &iter);
++ dbus_message_iter_append_basic(&iter, DBUS_TYPE_INT32, &(illume_cfg->launcher.single_click_delay));
++ return reply;
++}
++
++static DBusMessage *
++_dbcb_launcher_single_click_delay_set(E_DBus_Object *obj, DBusMessage *msg)
++{
++ DBusMessageIter iter;
++ DBusMessage *reply;
++ int val;
++
++ dbus_message_iter_init(msg, &iter);
++ dbus_message_iter_get_basic(&iter, &(val));
++ if (val >= 0)
++ {
++ illume_cfg->launcher.single_click_delay = val;
++ _e_cfg_launcher_change(NULL, NULL, NULL);
++ return dbus_message_new_method_return(msg);
++ }
++ reply = dbus_message_new_error(msg,
++ "org.enlightenment.DBus.InvalidArgument",
++ "Parameter must be greater than 0");
++ return reply;
++}
++
+ // e_config->screensaver_timeout 0(off)-3600
+ static DBusMessage *
+ _dbcb_screensaver_timeout_get(E_DBus_Object *obj, DBusMessage *msg)
+@@ -1967,6 +2021,8 @@ static const DB_Method methods[] =
+ {"LauncherIconSizeSet", "i", "", _dbcb_launcher_icon_size_set},
+ {"LauncherSingleClickGet", "", "i", _dbcb_launcher_single_click_get},
+ {"LauncherSingleClickSet", "i", "", _dbcb_launcher_single_click_set},
++ {"LauncherSingleClickDelayGet", "", "i", _dbcb_launcher_single_click_delay_get},
++ {"LauncherSingleClickDelaySet", "i", "", _dbcb_launcher_single_click_delay_set},
+ {"ScreensaverTimeoutGet", "", "i", _dbcb_screensaver_timeout_get},
+ {"ScreensaverTimeoutSet", "i", "", _dbcb_screensaver_timeout_set},
+ {"AutosuspendTimeoutGet", "", "i", _dbcb_autosuspend_timeout_get},
+diff --git a/src/modules/illume/e_cfg.h b/src/modules/illume/e_cfg.h
+index 4350ca0..e3b2080 100644
+--- a/src/modules/illume/e_cfg.h
++++ b/src/modules/illume/e_cfg.h
+@@ -14,6 +14,7 @@ struct _Illume_Cfg
+ int mode;
+ int icon_size;
+ int single_click;
++ int single_click_delay;
+ } launcher;
+
+ struct {
+diff --git a/src/modules/illume/e_mod_win.c b/src/modules/illume/e_mod_win.c
+index ec873ec..40fa13d 100644
+--- a/src/modules/illume/e_mod_win.c
++++ b/src/modules/illume/e_mod_win.c
+@@ -992,6 +992,7 @@ _apps_fm_config(Evas_Object *o)
+ fmc.view.open_dirs_in_place = 1;
+ fmc.view.selector = 0;
+ fmc.view.single_click = illume_cfg->launcher.single_click;
++ fmc.view.single_click_delay = illume_cfg->launcher.single_click_delay;
+ fmc.view.no_subdir_jump = 1;
+ fmc.icon.extension.show = 0;
+ fmc.icon.icon.w = illume_cfg->launcher.icon_size * e_scale / 2.0;
+--
+1.6.3.rc0
+