forked from enlightenment/enlightenment
Handle dragables a bit better. This also removes the config option from the
config dialog for locking. SVN revision: 44517
This commit is contained in:
parent
ae8da17111
commit
f9c88ca73e
|
@ -103,11 +103,17 @@ _gc_id_new(E_Gadcon_Client_Class *cc)
|
||||||
static void
|
static void
|
||||||
_btn_cb_click(void *data, void *data2)
|
_btn_cb_click(void *data, void *data2)
|
||||||
{
|
{
|
||||||
|
Ecore_X_Window xwin;
|
||||||
|
Ecore_X_Illume_Mode mode;
|
||||||
|
|
||||||
if (il_cfg->policy.mode.dual)
|
if (il_cfg->policy.mode.dual)
|
||||||
il_cfg->policy.mode.dual = 0;
|
mode = ECORE_X_ILLUME_MODE_SINGLE;
|
||||||
else
|
else
|
||||||
il_cfg->policy.mode.dual = 1;
|
mode = ECORE_X_ILLUME_MODE_DUAL;
|
||||||
e_config_save_queue();
|
|
||||||
|
xwin = ecore_x_window_root_first_get();
|
||||||
|
ecore_x_e_illume_mode_set(xwin, mode);
|
||||||
|
ecore_x_e_illume_mode_send(xwin, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* public functions */
|
/* public functions */
|
||||||
|
|
|
@ -678,6 +678,8 @@ _cb_event_client_message(void *data, int type, void *event)
|
||||||
else if (ev->message_type == ECORE_X_ATOM_E_ILLUME_MODE)
|
else if (ev->message_type == ECORE_X_ATOM_E_ILLUME_MODE)
|
||||||
{
|
{
|
||||||
Ecore_X_Illume_Mode mode;
|
Ecore_X_Illume_Mode mode;
|
||||||
|
E_Border *bd;
|
||||||
|
int lock = 1;
|
||||||
|
|
||||||
mode = ecore_x_e_illume_mode_get(ev->win);
|
mode = ecore_x_e_illume_mode_get(ev->win);
|
||||||
if (mode == ECORE_X_ILLUME_MODE_SINGLE)
|
if (mode == ECORE_X_ILLUME_MODE_SINGLE)
|
||||||
|
@ -687,6 +689,17 @@ _cb_event_client_message(void *data, int type, void *event)
|
||||||
else /* unknown */
|
else /* unknown */
|
||||||
il_cfg->policy.mode.dual = 0;
|
il_cfg->policy.mode.dual = 0;
|
||||||
e_config_save_queue();
|
e_config_save_queue();
|
||||||
|
|
||||||
|
if (mode == ECORE_X_ILLUME_MODE_DUAL)
|
||||||
|
{
|
||||||
|
if (il_cfg->policy.mode.side == 0) lock = 0;
|
||||||
|
}
|
||||||
|
bd = illume_border_top_shelf_get();
|
||||||
|
if (bd)
|
||||||
|
ecore_x_e_illume_drag_locked_set(bd->client.win, lock);
|
||||||
|
bd = illume_border_bottom_panel_get();
|
||||||
|
if (bd)
|
||||||
|
ecore_x_e_illume_drag_locked_set(bd->client.win, lock);
|
||||||
}
|
}
|
||||||
else if (ev->message_type == ECORE_X_ATOM_E_ILLUME_BACK)
|
else if (ev->message_type == ECORE_X_ATOM_E_ILLUME_BACK)
|
||||||
{
|
{
|
||||||
|
|
|
@ -78,19 +78,6 @@ _il_config_policy_settings_ui(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_
|
||||||
_il_config_policy_settings_changed, NULL);
|
_il_config_policy_settings_changed, NULL);
|
||||||
e_widget_list_object_append(list, of, 1, 0, 0.0);
|
e_widget_list_object_append(list, of, 1, 0, 0.0);
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("Drag"), 0);
|
|
||||||
ow = e_widget_check_add(evas, _("Lock Top Shelf Position"),
|
|
||||||
&(il_cfg->policy.indicator.locked));
|
|
||||||
evas_object_smart_callback_add(ow, "changed",
|
|
||||||
_il_config_policy_settings_changed, NULL);
|
|
||||||
e_widget_framelist_object_append(of, ow);
|
|
||||||
ow = e_widget_check_add(evas, _("Lock Bottom Panel Position"),
|
|
||||||
&(il_cfg->policy.softkey.locked));
|
|
||||||
evas_object_smart_callback_add(ow, "changed",
|
|
||||||
_il_config_policy_settings_changed, NULL);
|
|
||||||
e_widget_framelist_object_append(of, ow);
|
|
||||||
e_widget_list_object_append(list, of, 1, 0, 0.0);
|
|
||||||
|
|
||||||
e_widget_disabled_set(o_top, !il_cfg->policy.mode.dual);
|
e_widget_disabled_set(o_top, !il_cfg->policy.mode.dual);
|
||||||
e_widget_disabled_set(o_left, !il_cfg->policy.mode.dual);
|
e_widget_disabled_set(o_left, !il_cfg->policy.mode.dual);
|
||||||
|
|
||||||
|
@ -100,17 +87,9 @@ _il_config_policy_settings_ui(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_
|
||||||
static void
|
static void
|
||||||
_il_config_policy_settings_changed(void *data, Evas_Object *obj, void *event)
|
_il_config_policy_settings_changed(void *data, Evas_Object *obj, void *event)
|
||||||
{
|
{
|
||||||
E_Border *bd;
|
|
||||||
|
|
||||||
bd = illume_border_top_shelf_get();
|
|
||||||
if (bd) ecore_x_e_illume_drag_locked_set(bd->client.win,
|
|
||||||
il_cfg->policy.indicator.locked);
|
|
||||||
bd = illume_border_bottom_panel_get();
|
|
||||||
if (bd) ecore_x_e_illume_drag_locked_set(bd->client.win,
|
|
||||||
il_cfg->policy.softkey.locked);
|
|
||||||
|
|
||||||
e_widget_disabled_set(o_top, !il_cfg->policy.mode.dual);
|
e_widget_disabled_set(o_top, !il_cfg->policy.mode.dual);
|
||||||
e_widget_disabled_set(o_left, !il_cfg->policy.mode.dual);
|
e_widget_disabled_set(o_left, !il_cfg->policy.mode.dual);
|
||||||
|
|
||||||
if (_ps_change_timer) ecore_timer_del(_ps_change_timer);
|
if (_ps_change_timer) ecore_timer_del(_ps_change_timer);
|
||||||
_ps_change_timer =
|
_ps_change_timer =
|
||||||
ecore_timer_add(0.5, _il_config_policy_settings_change_timeout, data);
|
ecore_timer_add(0.5, _il_config_policy_settings_change_timeout, data);
|
||||||
|
@ -119,7 +98,18 @@ _il_config_policy_settings_changed(void *data, Evas_Object *obj, void *event)
|
||||||
static int
|
static int
|
||||||
_il_config_policy_settings_change_timeout(void *data)
|
_il_config_policy_settings_change_timeout(void *data)
|
||||||
{
|
{
|
||||||
|
Ecore_X_Illume_Mode mode;
|
||||||
|
|
||||||
e_config_save_queue();
|
e_config_save_queue();
|
||||||
_ps_change_timer = NULL;
|
_ps_change_timer = NULL;
|
||||||
|
|
||||||
|
if (il_cfg->policy.mode.dual)
|
||||||
|
mode = ECORE_X_ILLUME_MODE_DUAL;
|
||||||
|
else
|
||||||
|
mode = ECORE_X_ILLUME_MODE_SINGLE;
|
||||||
|
|
||||||
|
ecore_x_e_illume_mode_set(ecore_x_window_root_first_get(), mode);
|
||||||
|
ecore_x_e_illume_mode_send(ecore_x_window_root_first_get(), mode);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue