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