break out client border setting into separate function

This commit is contained in:
Mike Blumenkrantz 2014-07-28 08:31:58 -04:00
parent 69c89d7202
commit 291c1f7cc5
2 changed files with 27 additions and 13 deletions

View File

@ -2112,7 +2112,6 @@ static void
_e_client_frame_update(E_Client *ec)
{
const char *bordername;
Eina_Stringshare *pborder;
if (ec->fullscreen || ec->borderless)
bordername = "borderless";
@ -2153,18 +2152,7 @@ _e_client_frame_update(E_Client *ec)
bordername = e_config->theme_default_border_style;
if (!bordername) bordername = "default";
if (e_util_strcmp(ec->border.name, bordername))
{
pborder = ec->border.name;
ec->border.name = eina_stringshare_add(bordername);
if (e_comp_object_frame_theme_set(ec->frame, bordername))
eina_stringshare_del(pborder);
else
{
eina_stringshare_del(ec->border.name);
ec->border.name = pborder;
}
}
e_client_border_set(ec, bordername);
}
////////////////////////////////////////////////
@ -3987,6 +3975,31 @@ e_client_pinned_set(E_Client *ec, Eina_Bool set)
///////////////////////////////////////
EAPI Eina_Bool
e_client_border_set(E_Client *ec, const char *name)
{
Eina_Stringshare *pborder;
E_OBJECT_CHECK_RETURN(ec, EINA_FALSE);
E_OBJECT_TYPE_CHECK_RETURN(ec, E_CLIENT_TYPE, EINA_FALSE);
if (ec->border.changed)
CRI("CALLING WHEN border.changed SET!");
if (!e_util_strcmp(ec->border.name, name)) return EINA_TRUE;
pborder = ec->border.name;
ec->border.name = eina_stringshare_add(name);
if (e_comp_object_frame_theme_set(ec->frame, name))
{
eina_stringshare_del(pborder);
return EINA_TRUE;
}
eina_stringshare_del(ec->border.name);
ec->border.name = pborder;
return EINA_FALSE;
}
///////////////////////////////////////
EAPI void
e_client_comp_hidden_set(E_Client *ec, Eina_Bool hidden)
{

View File

@ -786,6 +786,7 @@ EAPI void e_client_stick(E_Client *ec);
EAPI void e_client_unstick(E_Client *ec);
EAPI void e_client_pinned_set(E_Client *ec, Eina_Bool set);
EAPI void e_client_comp_hidden_set(E_Client *ec, Eina_Bool hidden);
EAPI Eina_Bool e_client_border_set(E_Client *ec, const char *name);
EAPI void e_client_act_move_keyboard(E_Client *ec);
EAPI void e_client_act_resize_keyboard(E_Client *ec);
EAPI void e_client_act_move_begin(E_Client *ec, E_Binding_Event_Mouse_Button *ev);