From cc6581a8f9f8b194729d8cb6464d5874176a8a6c Mon Sep 17 00:00:00 2001 From: Miculcy Brian Date: Wed, 16 Jan 2013 09:56:50 +0000 Subject: [PATCH] Shelf option 'overlapping' made clearer and disabled when window automatic movement on shelf hide isn't set. SVN revision: 82871 --- ChangeLog | 3 +++ NEWS | 1 + src/bin/e_int_shelf_config.c | 14 +++++++++----- src/bin/e_shelf.c | 4 +++- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 04b6793a5..6c9267444 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2013-01-16 Brian Miculcy + * Shelf option 'overlapping' made clearer and disabled when window automatic movement on shelf hide isn't set. + 2013-01-15 Mike Blumenkrantz * prevent windows dragged from one screen to another from being larger than the destination screen diff --git a/NEWS b/NEWS index 32566bef2..9134e02a6 100644 --- a/NEWS +++ b/NEWS @@ -73,6 +73,7 @@ Improvements: * improve module config dialog load speed Fixes: + * Shelf option 'overlapping' made clearer and disabled when window automatic movement on shelf hide isn't set. * Backlight, screenlock and screensaver don't check for fullscreen windows - we have presentation mode for that. * Force check changed upon confirmation dialog closure for engine settings. * Clock date formats are now internationalizable. diff --git a/src/bin/e_int_shelf_config.c b/src/bin/e_int_shelf_config.c index b019129f4..3cd0108fa 100644 --- a/src/bin/e_int_shelf_config.c +++ b/src/bin/e_int_shelf_config.c @@ -5,7 +5,7 @@ struct _E_Config_Dialog_Data E_Shelf *es; E_Config_Shelf *escfg; - Evas_Object *o_autohide, *o_desk_list; + Evas_Object *o_autohide, *o_desk_list, *o_overlap; Eina_List *autohide_list, *desk_list; int layer, overlap; @@ -146,10 +146,7 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data e_widget_list_object_append(ol, ow, 1, 1, 0.5); ow = e_widget_radio_add(evas, _("Below Everything"), 0, rg); e_widget_list_object_append(ol, ow, 1, 1, 0.5); - ow = e_widget_check_add(evas, _("Allow windows to overlap the shelf"), - &(cfdata->overlap)); - e_widget_list_object_append(ol, ow, 1, 1, 0.5); - e_widget_toolbook_page_append(otb, NULL, _("Stacking"), ol, + e_widget_toolbook_page_append(otb, NULL, _("Stacking"), ol, 1, 0, 1, 0, 0.5, 0.0); /* position */ @@ -249,6 +246,11 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data cfdata->autohide_list = eina_list_append(cfdata->autohide_list, ow); e_widget_disabled_set(ow, !cfdata->autohide); e_widget_list_object_append(ol, ow, 1, 1, 0.5); + ow = e_widget_check_add(evas, _("Don't adjust windows when overlapping the shelf"), + &(cfdata->overlap)); + e_widget_disabled_set(ow, ((!cfdata->autohide) || (!e_config->border_fix_on_shelf_toggle))); + cfdata->o_overlap = ow; + e_widget_list_object_append(ol, ow, 1, 1, 0.5); e_widget_toolbook_page_append(otb, NULL, _("Auto Hide"), ol, 1, 0, 1, 0, 0.5, 0.0); @@ -473,6 +475,8 @@ _cb_autohide_change(void *data, Evas_Object *obj __UNUSED__) if (!(cfdata = data)) return; EINA_LIST_FOREACH(cfdata->autohide_list, l, ow) e_widget_disabled_set(ow, !cfdata->autohide); + + e_widget_disabled_set(cfdata->o_overlap, ((!cfdata->autohide) || (!e_config->border_fix_on_shelf_toggle))); } static void diff --git a/src/bin/e_shelf.c b/src/bin/e_shelf.c index 311f07bba..fd772c688 100644 --- a/src/bin/e_shelf.c +++ b/src/bin/e_shelf.c @@ -1542,7 +1542,9 @@ _e_shelf_toggle_border_fix(E_Shelf *es) Eina_List *l; E_Border *bd; - if ((es->cfg->overlap) || (!e_config->border_fix_on_shelf_toggle)) + if (!e_config->border_fix_on_shelf_toggle) + return; + if (es->cfg->overlap) return; EINA_LIST_FOREACH(e_border_client_list(), l, bd)