discomfitor pushed a commit to branch master.
commit 241a5763e3dbb63007a5388e8f60a51180d7db56
Author: Mike Blumenkrantz <[email protected]>
Date: Mon Feb 25 09:25:03 2013 +0000
reset gadman gadget position if invalid % for size/geom is sent, only
create gadget menus based on config where applicable
---
src/modules/gadman/e_mod_gadman.c | 113 +++++++++++++++++++-------------------
1 file changed, 58 insertions(+), 55 deletions(-)
diff --git a/src/modules/gadman/e_mod_gadman.c
b/src/modules/gadman/e_mod_gadman.c
index adbf20b..c7e72eb 100644
--- a/src/modules/gadman/e_mod_gadman.c
+++ b/src/modules/gadman/e_mod_gadman.c
@@ -948,7 +948,7 @@ _apply_widget_position(E_Gadcon_Client *gcc)
/* something broke the config's geom, make it visible so it can be
* resized/deleted
*/
- if ((!gcc->cf->geom.pos_x) && (!gcc->cf->geom.pos_y) &&
(!gcc->cf->geom.size_w) && (!gcc->cf->geom.size_h))
+ if ((gcc->cf->geom.pos_x < 0) || (gcc->cf->geom.pos_y < 0) ||
(!gcc->cf->geom.size_w) || (!gcc->cf->geom.size_h))
{
gcc->cf->style = eina_stringshare_add(gcc->client_class->default_style
?: E_GADCON_CLIENT_STYLE_INSET);
gcc->style = eina_stringshare_ref(gcc->cf->style);
@@ -1015,64 +1015,67 @@ _attach_menu(void *data __UNUSED__, E_Gadcon_Client
*gcc, E_Menu *menu)
e_menu_item_callback_set(mi, on_menu_edit, gcc);
/* plain / inset */
- if (gcc->cf && (!gcc->cf->style))
- gcc->cf->style = eina_stringshare_add(E_GADCON_CLIENT_STYLE_INSET);
-
- mn = e_menu_new();
- mi = e_menu_item_new(mn);
- e_menu_item_label_set(mi, _("Plain"));
- e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 1);
- if (gcc->cf && (!e_util_strcmp(gcc->cf->style,
E_GADCON_CLIENT_STYLE_PLAIN)))
- e_menu_item_toggle_set(mi, 1);
- e_menu_item_callback_set(mi, on_menu_style_plain, gcc);
-
- mi = e_menu_item_new(mn);
- e_menu_item_label_set(mi, _("Inset"));
- e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 1);
- if (!strcmp(gcc->cf->style, E_GADCON_CLIENT_STYLE_INSET))
- e_menu_item_toggle_set(mi, 1);
- e_menu_item_callback_set(mi, on_menu_style_inset, gcc);
-
- mi = e_menu_item_new(mn);
- e_menu_item_separator_set(mi, 1);
+ if (gcc->cf)
+ {
+ if (!gcc->cf->style)
+ gcc->cf->style = eina_stringshare_add(E_GADCON_CLIENT_STYLE_INSET);
+
+ mn = e_menu_new();
+ mi = e_menu_item_new(mn);
+ e_menu_item_label_set(mi, _("Plain"));
+ e_menu_item_radio_set(mi, 1);
+ e_menu_item_radio_group_set(mi, 1);
+ if (!strcmp(gcc->cf->style, E_GADCON_CLIENT_STYLE_PLAIN))
+ e_menu_item_toggle_set(mi, 1);
+ e_menu_item_callback_set(mi, on_menu_style_plain, gcc);
+
+ mi = e_menu_item_new(mn);
+ e_menu_item_label_set(mi, _("Inset"));
+ e_menu_item_radio_set(mi, 1);
+ e_menu_item_radio_group_set(mi, 1);
+ if (!strcmp(gcc->cf->style, E_GADCON_CLIENT_STYLE_INSET))
+ e_menu_item_toggle_set(mi, 1);
+ e_menu_item_callback_set(mi, on_menu_style_inset, gcc);
+
+ mi = e_menu_item_new(mn);
+ e_menu_item_separator_set(mi, 1);
- /* orient */
- mi = e_menu_item_new(mn);
- e_menu_item_label_set(mi, _("Free"));
- e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
- if (gcc->cf->orient == E_GADCON_ORIENT_FLOAT)
- e_menu_item_toggle_set(mi, 1);
- e_menu_item_callback_set(mi, on_menu_style_float, gcc);
-
- mi = e_menu_item_new(mn);
- e_menu_item_label_set(mi, _("Horizontal"));
- e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
- if (gcc->cf->orient == E_GADCON_ORIENT_HORIZ)
- e_menu_item_toggle_set(mi, 1);
- e_menu_item_callback_set(mi, on_menu_style_horiz, gcc);
-
- mi = e_menu_item_new(mn);
- e_menu_item_label_set(mi, _("Vertical"));
- e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
- if (gcc->cf->orient == E_GADCON_ORIENT_VERT)
- e_menu_item_toggle_set(mi, 1);
- e_menu_item_callback_set(mi, on_menu_style_vert, gcc);
+ /* orient */
+ mi = e_menu_item_new(mn);
+ e_menu_item_label_set(mi, _("Free"));
+ e_menu_item_radio_set(mi, 1);
+ e_menu_item_radio_group_set(mi, 2);
+ if (gcc->cf->orient == E_GADCON_ORIENT_FLOAT)
+ e_menu_item_toggle_set(mi, 1);
+ e_menu_item_callback_set(mi, on_menu_style_float, gcc);
+
+ mi = e_menu_item_new(mn);
+ e_menu_item_label_set(mi, _("Horizontal"));
+ e_menu_item_radio_set(mi, 1);
+ e_menu_item_radio_group_set(mi, 2);
+ if (gcc->cf->orient == E_GADCON_ORIENT_HORIZ)
+ e_menu_item_toggle_set(mi, 1);
+ e_menu_item_callback_set(mi, on_menu_style_horiz, gcc);
+
+ mi = e_menu_item_new(mn);
+ e_menu_item_label_set(mi, _("Vertical"));
+ e_menu_item_radio_set(mi, 1);
+ e_menu_item_radio_group_set(mi, 2);
+ if (gcc->cf->orient == E_GADCON_ORIENT_VERT)
+ e_menu_item_toggle_set(mi, 1);
+ e_menu_item_callback_set(mi, on_menu_style_vert, gcc);
- mi = e_menu_item_new(menu);
- e_menu_item_label_set(mi, _("Appearance"));
- e_util_menu_item_theme_icon_set(mi, "preferences-look");
- e_menu_item_submenu_set(mi, mn);
- e_object_unref(E_OBJECT(mn));
+ mi = e_menu_item_new(menu);
+ e_menu_item_label_set(mi, _("Appearance"));
+ e_util_menu_item_theme_icon_set(mi, "preferences-look");
+ e_menu_item_submenu_set(mi, mn);
+ e_object_unref(E_OBJECT(mn));
- mi = e_menu_item_new(menu);
- e_menu_item_separator_set(mi, 1);
+ mi = e_menu_item_new(menu);
+ e_menu_item_separator_set(mi, 1);
- e_gadcon_client_add_location_menu(gcc, menu);
+ e_gadcon_client_add_location_menu(gcc, menu);
+ }
/* Remove this gadgets */
mi = e_menu_item_new(menu);
--
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb