Play nice wrt smaller resolutions.

Fix create_data function:
 - Check the PROPER variable (How did this code ever work correctly?)



SVN revision: 50616
This commit is contained in:
Christopher Michael 2010-07-28 21:48:43 +00:00
parent ff210af221
commit 71e4fc251e
1 changed files with 26 additions and 22 deletions

View File

@ -6,12 +6,12 @@
/* PROTOTYPES - same all the time */ /* PROTOTYPES - same all the time */
static void *_create_data(E_Config_Dialog *cfd); static void *_create_data(E_Config_Dialog *cfd);
static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static int _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
static int _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static int _advanced_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
static int _basic_check_changed(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static int _basic_check_changed(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
static int _advanced_check_changed(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static int _advanced_check_changed(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); static Evas_Object *_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); static Evas_Object *_advanced_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
static void _cb_disable_check_list(void *data, Evas_Object *obj); static void _cb_disable_check_list(void *data, Evas_Object *obj);
/* Actual config data we will be playing with whil the dialog is active */ /* Actual config data we will be playing with whil the dialog is active */
@ -34,17 +34,18 @@ e_int_config_window_stacking(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd; E_Config_Dialog *cfd;
E_Config_Dialog_View *v; E_Config_Dialog_View *v;
if (e_config_dialog_find("E", "_config_window_stacking_dialog")) return NULL; if (e_config_dialog_find("E", "_config_window_stacking_dialog"))
return NULL;
v = E_NEW(E_Config_Dialog_View, 1); v = E_NEW(E_Config_Dialog_View, 1);
/* methods */ /* methods */
v->create_cfdata = _create_data; v->create_cfdata = _create_data;
v->free_cfdata = _free_data; v->free_cfdata = _free_data;
v->basic.apply_cfdata = _basic_apply_data; v->basic.apply_cfdata = _basic_apply;
v->basic.create_widgets = _basic_create_widgets; v->basic.create_widgets = _basic_create;
v->basic.check_changed = _basic_check_changed; v->basic.check_changed = _basic_check_changed;
v->advanced.apply_cfdata = _advanced_apply_data; v->advanced.apply_cfdata = _advanced_apply;
v->advanced.create_widgets = _advanced_create_widgets; v->advanced.create_widgets = _advanced_create;
v->advanced.check_changed = _advanced_check_changed; v->advanced.check_changed = _advanced_check_changed;
/* create config diaolg for NULL object/data */ /* create config diaolg for NULL object/data */
@ -57,12 +58,15 @@ e_int_config_window_stacking(E_Container *con, const char *params __UNUSED__)
static void * static void *
_create_data(E_Config_Dialog *cfd __UNUSED__) _create_data(E_Config_Dialog *cfd __UNUSED__)
{ {
E_Config_Dialog_Data *cfdata = E_NEW(E_Config_Dialog_Data, 1); E_Config_Dialog_Data *cfdata;
if (!cfd) return NULL;
cfdata = E_NEW(E_Config_Dialog_Data, 1);
if (!cfdata) return NULL;
cfdata->use_auto_raise = e_config->use_auto_raise; cfdata->use_auto_raise = e_config->use_auto_raise;
cfdata->allow_above_fullscreen = e_config->allow_above_fullscreen; cfdata->allow_above_fullscreen = e_config->allow_above_fullscreen;
cfdata->auto_raise_delay = e_config->auto_raise_delay; cfdata->auto_raise_delay = e_config->auto_raise_delay;
cfdata->border_raise_on_mouse_action = e_config->border_raise_on_mouse_action; cfdata->border_raise_on_mouse_action =
e_config->border_raise_on_mouse_action;
cfdata->border_raise_on_focus = e_config->border_raise_on_focus; cfdata->border_raise_on_focus = e_config->border_raise_on_focus;
return cfdata; return cfdata;
} }
@ -75,7 +79,7 @@ _free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
} }
static int static int
_basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) _basic_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
{ {
e_config->use_auto_raise = cfdata->use_auto_raise; e_config->use_auto_raise = cfdata->use_auto_raise;
e_config->allow_above_fullscreen = cfdata->allow_above_fullscreen; e_config->allow_above_fullscreen = cfdata->allow_above_fullscreen;
@ -91,7 +95,7 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfda
} }
static int static int
_advanced_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) _advanced_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
{ {
e_config->use_auto_raise = cfdata->use_auto_raise; e_config->use_auto_raise = cfdata->use_auto_raise;
e_config->allow_above_fullscreen = cfdata->allow_above_fullscreen; e_config->allow_above_fullscreen = cfdata->allow_above_fullscreen;
@ -113,17 +117,17 @@ _advanced_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *c
} }
static Evas_Object * static Evas_Object *
_basic_create_widgets(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data *cfdata) _basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data *cfdata)
{ {
Evas_Object *o, *ob; Evas_Object *o, *ob;
o = e_widget_list_add(evas, 0, 0); o = e_widget_list_add(evas, 0, 0);
ob = e_widget_check_add(evas, _("Automatically raise windows on mouse over"), ob = e_widget_check_add(evas, _("Raise windows on mouse over"),
&(cfdata->use_auto_raise)); &(cfdata->use_auto_raise));
e_widget_list_object_append(o, ob, 1, 0, 0.5); e_widget_list_object_append(o, ob, 1, 0, 0.5);
ob = e_widget_check_add(evas, _("Allow windows to be above fullscreen window"), ob = e_widget_check_add(evas, _("Allow windows above fullscreen window"),
&(cfdata->allow_above_fullscreen)); &(cfdata->allow_above_fullscreen));
e_widget_list_object_append(o, ob, 1, 0, 0.5); e_widget_list_object_append(o, ob, 1, 0, 0.5);
@ -131,7 +135,7 @@ _basic_create_widgets(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dial
} }
static Evas_Object * static Evas_Object *
_advanced_create_widgets(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data *cfdata) _advanced_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data *cfdata)
{ {
/* generate the core widget layout for an advanced dialog */ /* generate the core widget layout for an advanced dialog */
Evas_Object *o, *ob, *of; Evas_Object *o, *ob, *of;
@ -140,17 +144,17 @@ _advanced_create_widgets(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_D
o = e_widget_list_add(evas, 0, 0); o = e_widget_list_add(evas, 0, 0);
of = e_widget_framelist_add(evas, _("Autoraise"), 0); of = e_widget_framelist_add(evas, _("Autoraise"), 0);
autoraise_check = e_widget_check_add(evas, _("Automatically raise windows on mouse over"), autoraise_check = e_widget_check_add(evas, _("Raise windows on mouse over"),
&(cfdata->use_auto_raise)); &(cfdata->use_auto_raise));
e_widget_framelist_object_append(of, autoraise_check); e_widget_framelist_object_append(of, autoraise_check);
ob = e_widget_label_add(evas, _("Delay before raising:")); ob = e_widget_label_add(evas, _("Delay before raising:"));
cfdata->autoraise_list = eina_list_append(cfdata->autoraise_list, ob); cfdata->autoraise_list = eina_list_append(cfdata->autoraise_list, ob);
e_widget_disabled_set(ob, !cfdata->use_auto_raise); // set state from saved config e_widget_disabled_set(ob, !cfdata->use_auto_raise);
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
ob = e_widget_slider_add(evas, 1, 0, _("%1.1f sec"), 0.0, 9.9, 0.1, 0, ob = e_widget_slider_add(evas, 1, 0, _("%1.1f sec"), 0.0, 9.9, 0.1, 0,
&(cfdata->auto_raise_delay), NULL, 100); &(cfdata->auto_raise_delay), NULL, 100);
cfdata->autoraise_list = eina_list_append(cfdata->autoraise_list, ob); cfdata->autoraise_list = eina_list_append(cfdata->autoraise_list, ob);
e_widget_disabled_set(ob, !cfdata->use_auto_raise); // set state from saved config e_widget_disabled_set(ob, !cfdata->use_auto_raise);
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(o, of, 1, 0, 0.5); e_widget_list_object_append(o, of, 1, 0, 0.5);
// handler for enable/disable widget array // handler for enable/disable widget array
@ -165,7 +169,7 @@ _advanced_create_widgets(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_D
ob = e_widget_check_add(evas, _("Raise when clicking to focus"), ob = e_widget_check_add(evas, _("Raise when clicking to focus"),
&(cfdata->border_raise_on_focus)); &(cfdata->border_raise_on_focus));
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
ob = e_widget_check_add(evas, _("Allow windows to be above fullscreen window"), ob = e_widget_check_add(evas, _("Allow windows above fullscreen window"),
&(cfdata->allow_above_fullscreen)); &(cfdata->allow_above_fullscreen));
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(o, of, 1, 0, 0.5); e_widget_list_object_append(o, of, 1, 0, 0.5);