Enlightenment CVS committal

Author  : handyande
Project : misc
Module  : engage

Dir     : misc/engage/src/module


Modified Files:
        e_mod_main.c e_mod_main.h 


Log Message:
Zoom speed menu - thanks Florian
===================================================================
RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.c,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -3 -r1.83 -r1.84
--- e_mod_main.c        7 Dec 2005 12:57:07 -0000       1.83
+++ e_mod_main.c        10 Dec 2005 15:07:56 -0000      1.84
@@ -67,6 +67,7 @@
 static void    _engage_bar_update_policy(Engage_Bar *eb);
 static void    _engage_bar_motion_handle(Engage_Bar *eb, Evas_Coord mx, 
Evas_Coord my);
 static void    _engage_bar_zoom_factor_set(Engage_Bar *eb, double zoom);
+static void    _engage_bar_zoom_duration_set(Engage_Bar *eb, double duration);
 
 static Engage_Icon *_engage_icon_new(Engage_Bar *eb, E_App *a);
 static void    _engage_icon_free(Engage_Icon *ic);
@@ -119,6 +120,9 @@
 static void    _engage_bar_cb_menu_zoom_medium(void *data, E_Menu *m, 
E_Menu_Item *mi);
 static void    _engage_bar_cb_menu_zoom_large(void *data, E_Menu *m, 
E_Menu_Item *mi);
 static void    _engage_bar_cb_menu_zoom_huge(void *data, E_Menu *m, 
E_Menu_Item *mi);
+static void    _engage_bar_cb_menu_zoom_speed_fast(void *data, E_Menu *m, 
E_Menu_Item *mi);
+static void    _engage_bar_cb_menu_zoom_speed_normal(void *data, E_Menu *m, 
E_Menu_Item *mi);
+static void    _engage_bar_cb_menu_zoom_speed_slow(void *data, E_Menu *m, 
E_Menu_Item *mi);
 
 static void    _engage_bar_cb_menu_tray(void *data, E_Menu *m, E_Menu_Item 
*mi);
 
@@ -306,7 +310,7 @@
                       eb->conf->enabled = 1;
                       eb->conf->zoom = 1;
                       eb->conf->zoom_factor = 2.0;
-                      eb->conf->zoom_duration = 1.0;
+                      eb->conf->zoom_duration = 0.3;
                       eb->conf->zoom_stretch = 0;
                       eb->conf->tray = 1;
                       e->conf->bars = evas_list_append(e->conf->bars, 
eb->conf);
@@ -318,7 +322,7 @@
                    }
                  E_CONFIG_LIMIT(eb->conf->zoom, 0, 1);
                  E_CONFIG_LIMIT(eb->conf->zoom_factor, 1.0, 4.0);
-                 E_CONFIG_LIMIT(eb->conf->zoom_duration, 0.1, 0.3);
+                 E_CONFIG_LIMIT(eb->conf->zoom_duration, 0.1, 0.5);
                  E_CONFIG_LIMIT(eb->conf->zoom_stretch, 0, 1);
                  E_CONFIG_LIMIT(eb->conf->tray, 0, 1);
                  _engage_bar_iconsize_change(eb);
@@ -720,7 +724,8 @@
 {
    e_object_unref(E_OBJECT(eb->con));
 
-   e_object_del(E_OBJECT(eb->zoom_menu));
+   e_object_del(E_OBJECT(eb->zoom_size_menu));
+   e_object_del(E_OBJECT(eb->zoom_speed_menu));
    e_object_del(E_OBJECT(eb->icon_menu));
    e_object_del(E_OBJECT(eb->menu));
 
@@ -758,7 +763,7 @@
    Evas_List *l;
    
    mn = e_menu_new();
-   eb->zoom_menu = mn;
+   eb->zoom_size_menu = mn;
    
    mi = e_menu_item_new(mn);
    e_menu_item_label_set(mi, "Small");
@@ -775,6 +780,21 @@
    mi = e_menu_item_new(mn);
    e_menu_item_label_set(mi, "Huge");
    e_menu_item_callback_set(mi, _engage_bar_cb_menu_zoom_huge, eb);
+   
+   mn = e_menu_new();
+   eb->zoom_speed_menu = mn;
+   
+   mi = e_menu_item_new(mn);
+   e_menu_item_label_set(mi, "Fast");
+   e_menu_item_callback_set(mi, _engage_bar_cb_menu_zoom_speed_fast, eb);
+   
+   mi = e_menu_item_new(mn);
+   e_menu_item_label_set(mi, "Normal");
+   e_menu_item_callback_set(mi, _engage_bar_cb_menu_zoom_speed_normal, eb);
+
+   mi = e_menu_item_new(mn);
+   e_menu_item_label_set(mi, "Slow");
+   e_menu_item_callback_set(mi, _engage_bar_cb_menu_zoom_speed_slow, eb);
 
    mn = e_menu_new();
    eb->icon_menu = mn;
@@ -811,9 +831,16 @@
 
    mi = e_menu_item_new(mn);
    e_menu_item_label_set(mi, "Zoom Level");
-   e_menu_item_submenu_set(mi, eb->zoom_menu);
+   e_menu_item_submenu_set(mi, eb->zoom_size_menu);
 
    mi = e_menu_item_new(mn);
+   e_menu_item_label_set(mi, "Zoom Speed");
+   e_menu_item_submenu_set(mi, eb->zoom_speed_menu);
+   
+   mi = e_menu_item_new(mn); 
+   e_menu_item_separator_set(mi, 1);
+   
+   mi = e_menu_item_new(mn);
    e_menu_item_label_set(mi, "Stretch Bar");
    e_menu_item_check_set(mi, 1);
    if (eb->conf->zoom_stretch)
@@ -1868,6 +1895,13 @@
 }
 
 static void
+_engage_bar_zoom_duration_set(Engage_Bar *eb, double duration)
+{
+   eb->conf->zoom_duration = duration;
+   e_config_save_queue();
+}
+
+static void
 _engage_icon_cb_intercept_move(void *data, Evas_Object *o, Evas_Coord x, 
Evas_Coord y)
 {
    Engage_Icon *ic;
@@ -2554,6 +2588,32 @@
    _engage_bar_zoom_factor_set(eb, 2.6);
 }
 
+static void
+_engage_bar_cb_menu_zoom_speed_fast(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   Engage_Bar *eb;
+
+   eb = data;
+   _engage_bar_zoom_duration_set(eb, 0.1);
+}
+
+static void
+_engage_bar_cb_menu_zoom_speed_normal(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   Engage_Bar *eb;
+
+   eb = data;
+   _engage_bar_zoom_duration_set(eb, 0.3);
+}
+
+static void
+_engage_bar_cb_menu_zoom_speed_slow(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   Engage_Bar *eb;
+
+   eb = data;
+   _engage_bar_zoom_duration_set(eb, 0.5);
+}
 
 /* engage ported functions */
 
===================================================================
RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- e_mod_main.h        6 Dec 2005 14:09:42 -0000       1.22
+++ e_mod_main.h        10 Dec 2005 15:07:56 -0000      1.23
@@ -60,7 +60,8 @@
    E_Container *con;
    Evas        *evas;
    E_Menu      *menu;
-   E_Menu      *zoom_menu;
+   E_Menu      *zoom_size_menu;
+   E_Menu      *zoom_speed_menu;
    E_Menu      *icon_menu;
    E_Menu      *context_menu;   
    




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to