Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c e_border.h e_config.c e_int_border_menu.c 
        e_int_border_remember.c e_remember.c e_remember.h 


Log Message:


various patches from the devel mailing list in - and fixed where needed.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.595
retrieving revision 1.596
diff -u -3 -r1.595 -r1.596
--- e_border.c  1 Jul 2007 15:59:39 -0000       1.595
+++ e_border.c  15 Jul 2007 08:28:03 -0000      1.596
@@ -2628,7 +2628,7 @@
          }
        return o;
      }
-   if (e_config->use_app_icon)
+   if ((e_config->use_app_icon) && (bd->icon_preference != E_ICON_PREF_USER))
      {
        if (bd->client.netwm.icons)
          {
@@ -2642,10 +2642,11 @@
      }
    if (!o)
      {
-       if (bd->desktop)
+       if ((bd->desktop) && (bd->icon_preference != E_ICON_PREF_NETWM))
          {
             o = e_util_desktop_icon_add(bd->desktop, "24x24", evas);
-            return o;
+            if (o)
+              return o;
          }
        else if (bd->client.netwm.icons)
          {
@@ -5643,6 +5644,8 @@
               }
             if (rem->apply & E_REMEMBER_APPLY_SKIP_WINLIST)
               bd->user_skip_winlist = rem->prop.skip_winlist;
+            if (rem->apply & E_REMEMBER_APPLY_ICON_PREF)
+              bd->icon_preference = rem->prop.icon_preference;
          }
      }
 
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_border.h,v
retrieving revision 1.161
retrieving revision 1.162
diff -u -3 -r1.161 -r1.162
--- e_border.h  1 Jul 2007 15:59:39 -0000       1.161
+++ e_border.h  15 Jul 2007 08:28:03 -0000      1.162
@@ -3,6 +3,13 @@
  */
 #ifdef E_TYPEDEFS
 
+typedef enum _E_Icon_Preferece
+{
+   E_ICON_PREF_E_DEFAULT,
+   E_ICON_PREF_NETWM,
+   E_ICON_PREF_USER
+} E_Icon_Preference;
+
 typedef enum _E_Direction
 {
    E_DIRECTION_UP,
@@ -390,7 +397,8 @@
    double          ping;
  
    unsigned char   changed : 1;
-   
+  
+   unsigned char   icon_preference; 
    unsigned char   ignore_first_unmap;
    unsigned char   resize_mode;
    
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.249
retrieving revision 1.250
diff -u -3 -r1.249 -r1.250
--- e_config.c  8 Jul 2007 03:57:51 -0000       1.249
+++ e_config.c  15 Jul 2007 08:28:03 -0000      1.250
@@ -303,6 +303,7 @@
    E_CONFIG_VAL(D, T, prop.zone, INT);
    E_CONFIG_VAL(D, T, prop.head, INT);
    E_CONFIG_VAL(D, T, prop.command, STR);
+   E_CONFIG_VAL(D, T, prop.icon_preference, UCHAR);
    
    _e_config_color_class_edd = E_CONFIG_DD_NEW("E_Color_Class", E_Color_Class);
 #undef T
@@ -1060,6 +1061,10 @@
                       "e.event.shade",
                       E_BINDING_MODIFIER_NONE, 1,
                       "window_shaded_toggle", "up");
+       CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,clicked,?", 
+                      "e.event.lower",
+                      E_BINDING_MODIFIER_NONE, 1,
+                      "window_lower", NULL);          
        CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,down,1", 
                       "e.event.icon",
                       E_BINDING_MODIFIER_NONE, 1, 
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_border_menu.c,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -3 -r1.66 -r1.67
--- e_int_border_menu.c 8 Jul 2007 03:57:51 -0000       1.66
+++ e_int_border_menu.c 15 Jul 2007 08:28:03 -0000      1.67
@@ -35,6 +35,10 @@
 static void _e_border_menu_cb_fav_add(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_ibar_add_pre(void *data, E_Menu *m, E_Menu_Item 
*mi);
 static void _e_border_menu_cb_ibar_add(void *data, E_Menu *m, E_Menu_Item *mi);
+static void _e_border_menu_cb_border_pre(void *data, E_Menu *m, E_Menu_Item 
*mi);
+static void _e_border_menu_cb_iconpref_e(void *data, E_Menu *m, E_Menu_Item 
*mi);
+static void _e_border_menu_cb_iconpref_netwm(void *data, E_Menu *m, 
E_Menu_Item *mi);
+static void _e_border_menu_cb_iconpref_user(void *data, E_Menu *m, E_Menu_Item 
*mi);
 
 EAPI void
 e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, 
Ecore_X_Time timestamp)
@@ -164,16 +168,13 @@
                             "e/widgets/border/default/remember");
    if (!bd->lock_border)
      {
-       if (e_configure_registry_exists("internal/borders_border"))
-         {
-            mi = e_menu_item_new(m);
-            e_menu_item_label_set(mi, _("Borders"));
-            e_menu_item_callback_set(mi, _e_border_menu_cb_border, bd);
-            e_menu_item_icon_edje_set(mi,
-                                      
e_theme_edje_file_get("base/theme/borders",
+       mi = e_menu_item_new(m);
+       e_menu_item_label_set(mi, _("Border"));
+       e_menu_item_submenu_pre_callback_set(mi, _e_border_menu_cb_border_pre, 
bd);
+       e_menu_item_icon_edje_set(mi,
+                                 e_theme_edje_file_get("base/theme/borders",
                                                        
"e/widgets/border/default/borderless"),
-                                      "e/widgets/border/default/borderless");
-         }
+                                 "e/widgets/border/default/borderless");
      }
 
    if (!bd->sticky)
@@ -754,6 +755,99 @@
      {
        e_border_lower(bd);
      }   
+}
+
+static void
+_e_border_menu_cb_border_pre(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   E_Menu *subm;
+   E_Menu_Item *submi;
+   E_Border *bd;
+   Evas_Object *o;
+   Evas *evas;
+
+   bd = data;
+   if (!bd) return;
+
+   subm = e_menu_new();
+   e_object_data_set(E_OBJECT(subm), bd);
+   e_menu_item_submenu_set(mi, subm);
+
+   if (!bd->lock_border)
+     {
+       if (e_configure_registry_exists("internal/borders_border"))
+         {
+            submi = e_menu_item_new(subm);
+            e_menu_item_label_set(submi, _("Select Border Style"));
+            e_menu_item_callback_set(submi, _e_border_menu_cb_border, bd);
+            e_menu_item_icon_edje_set(submi,
+                                      
e_theme_edje_file_get("base/theme/borders",
+                                                            
"e/widgets/border/default/borderless"),
+                                      "e/widgets/border/default/borderless");
+         }
+     }
+
+   submi = e_menu_item_new(subm);
+   e_menu_item_label_set(submi, _("Use E17 Default Icon Preference"));
+   e_menu_item_radio_set(submi, 1);
+   e_menu_item_radio_group_set(submi, 2);
+   e_menu_item_toggle_set(submi, (bd->icon_preference == E_ICON_PREF_E_DEFAULT 
? 1 : 0));
+   e_menu_item_callback_set(submi, _e_border_menu_cb_iconpref_e, bd);
+   
+   submi = e_menu_item_new(subm);
+   evas = submi->menu->evas;
+   e_menu_item_label_set(submi, _("Use Application Provided Icon "));
+   e_menu_item_radio_set(submi, 1);
+   e_menu_item_radio_group_set(submi, 2);
+   e_menu_item_toggle_set(submi, (bd->icon_preference == E_ICON_PREF_NETWM ? 1 
: 0));
+   e_menu_item_callback_set(submi, _e_border_menu_cb_iconpref_netwm, bd);
+
+   submi = e_menu_item_new(subm);
+   e_menu_item_label_set(submi, _("Use User Defined Icon"));
+   e_menu_item_radio_set(submi, 1);
+   e_menu_item_radio_group_set(submi, 2);
+   e_menu_item_toggle_set(submi, (bd->icon_preference == E_ICON_PREF_USER ? 1 
: 0));
+   e_util_desktop_menu_item_icon_add(bd->desktop, "16x16", submi);
+   e_menu_item_callback_set(submi, _e_border_menu_cb_iconpref_user, bd);
+}
+
+static void 
+_e_border_menu_cb_iconpref_e(void *data, E_Menu *m, E_Menu_Item *mi) 
+{
+   E_Border *bd;
+
+   bd = data;
+   if (!bd) return;
+
+   bd->icon_preference = E_ICON_PREF_E_DEFAULT;
+   bd->changes.icon = 1;
+   bd->changed = 1;
+}
+
+static void 
+_e_border_menu_cb_iconpref_user(void *data, E_Menu *m, E_Menu_Item *mi) 
+{
+   E_Border *bd;
+
+   bd = data;
+   if (!bd) return;
+
+   bd->icon_preference = E_ICON_PREF_USER;
+   bd->changes.icon = 1;
+   bd->changed = 1;
+}
+
+static void 
+_e_border_menu_cb_iconpref_netwm(void *data, E_Menu *m, E_Menu_Item *mi) 
+{
+   E_Border *bd;
+
+   bd = data;
+   if (!bd) return;
+
+   bd->icon_preference = E_ICON_PREF_NETWM;
+   bd->changes.icon = 1;
+   bd->changed = 1;
 }
 
 static void 
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_border_remember.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- e_int_border_remember.c     24 Apr 2007 13:28:25 -0000      1.15
+++ e_int_border_remember.c     15 Jul 2007 08:28:03 -0000      1.16
@@ -43,6 +43,7 @@
       int apply_zone;
       int apply_skip_winlist;
       int apply_run;
+      int apply_icon_pref;
    } remember;
 };
 
@@ -98,6 +99,7 @@
        if (cfdata->border->remember->apply & E_REMEMBER_APPLY_ZONE) 
cfdata->remember.apply_zone = 1;
        if (cfdata->border->remember->apply & E_REMEMBER_APPLY_SKIP_WINLIST) 
cfdata->remember.apply_skip_winlist = 1;
        if (cfdata->border->remember->apply & E_REMEMBER_APPLY_RUN) 
cfdata->remember.apply_run = 1;
+       if (cfdata->border->remember->apply & E_REMEMBER_APPLY_ICON_PREF) 
cfdata->remember.apply_icon_pref = 1;
      }
    if (!cfdata->border->remember) cfdata->mode = MODE_NOTHING;
    else if ((cfdata->remember.apply_pos) && (cfdata->remember.apply_size) && 
@@ -289,7 +291,7 @@
         (cfdata->remember.apply_border) || (cfdata->remember.apply_sticky) ||
         (cfdata->remember.apply_desktop) || (cfdata->remember.apply_shade) ||
         (cfdata->remember.apply_zone) || (cfdata->remember.apply_skip_winlist) 
||
-        (cfdata->remember.apply_run)))
+        (cfdata->remember.apply_run) || (cfdata->remember.apply_icon_pref)))
      {
        if (cfdata->border->remember)
          {
@@ -397,6 +399,7 @@
        if (cfdata->remember.apply_zone) cfdata->border->remember->apply |= 
E_REMEMBER_APPLY_ZONE;
        if (cfdata->remember.apply_skip_winlist) 
cfdata->border->remember->apply |= E_REMEMBER_APPLY_SKIP_WINLIST;
        if (cfdata->remember.apply_run) cfdata->border->remember->apply |= 
E_REMEMBER_APPLY_RUN;
+       if (cfdata->remember.apply_icon_pref) cfdata->border->remember->apply 
|= E_REMEMBER_APPLY_ICON_PREF;
        cfdata->border->remember->apply_first_only = 
cfdata->remember.apply_first_only;
        e_remember_update(cfdata->border->remember, cfdata->border);
      }
@@ -493,6 +496,8 @@
    e_widget_frametable_object_append(of, ob, 0, 3, 1, 1, 1, 1, 1, 1);
    ob = e_widget_check_add(evas, _("Border style"), 
&(cfdata->remember.apply_border));
    e_widget_frametable_object_append(of, ob, 0, 4, 1, 1, 1, 1, 1, 1);
+   ob = e_widget_check_add(evas, _("Icon Preference"), 
&(cfdata->remember.apply_icon_pref));
+   e_widget_frametable_object_append(of, ob, 0, 5, 1, 1, 1, 1, 1, 1);
    ob = e_widget_check_add(evas, _("Stickiness"), 
&(cfdata->remember.apply_sticky));
    e_widget_frametable_object_append(of, ob, 1, 0, 1, 1, 1, 1, 1, 1);
    ob = e_widget_check_add(evas, _("Virtual Desktop"), 
&(cfdata->remember.apply_desktop));
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_remember.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- e_remember.c        21 Feb 2007 00:24:53 -0000      1.23
+++ e_remember.c        15 Jul 2007 08:28:03 -0000      1.24
@@ -288,7 +288,8 @@
      rem->prop.shaded = 50 + bd->shade.dir;
    
    rem->prop.skip_winlist = bd->user_skip_winlist;
-   
+   rem->prop.icon_preference = bd->icon_preference;
+
    e_desk_xy_get(bd->desk, &rem->prop.desk_x, &rem->prop.desk_y);
    
    rem->prop.zone = bd->zone->num;
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_remember.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- e_remember.h        4 Jan 2007 10:30:55 -0000       1.10
+++ e_remember.h        15 Jul 2007 08:28:03 -0000      1.11
@@ -23,6 +23,7 @@
 #define E_REMEMBER_APPLY_ZONE (1 << 8)
 #define E_REMEMBER_APPLY_RUN (1 << 9)
 #define E_REMEMBER_APPLY_SKIP_WINLIST (1 << 10)
+#define E_REMEMBER_APPLY_ICON_PREF (1 << 11)
 
 #else
 #ifndef E_REMEMBER_H
@@ -79,6 +80,7 @@
        unsigned char sticky;
        unsigned char shaded;
        unsigned char skip_winlist;
+       unsigned char icon_preference;
       
        int           desk_x, desk_y;
        int           zone;



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to