theme: add name to the color being previewed
This commit is contained in:
parent
2be609daab
commit
2832f79b59
4
THEME.md
4
THEME.md
|
@ -237,3 +237,7 @@ To mark the tab as having missed a bell.
|
||||||
# `terminology/color_preview`
|
# `terminology/color_preview`
|
||||||
A group to preview a color in a tooltip. The color is defined by the color
|
A group to preview a color in a tooltip. The color is defined by the color
|
||||||
class `color_preview`.
|
class `color_preview`.
|
||||||
|
|
||||||
|
## Swallowed part
|
||||||
|
### `name`
|
||||||
|
Name of the color being previewed
|
||||||
|
|
|
@ -16,6 +16,21 @@ group { name: "terminology/color_preview";
|
||||||
color_class: "color_preview";
|
color_class: "color_preview";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
part { name: "name"; type: TEXT;
|
||||||
|
mouse_events: 0;
|
||||||
|
effect: OUTLINE_SOFT_SHADOW;
|
||||||
|
scale: 1;
|
||||||
|
description { state: "default" 0.0;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
color2: 0 0 0 128;
|
||||||
|
color3: 0 0 0 20;
|
||||||
|
align: 0.5 0.0;
|
||||||
|
text { font: "monospace"; size: 10;
|
||||||
|
align: 0.5 0.0;
|
||||||
|
min: 0 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
part { name: "overlay";
|
part { name: "overlay";
|
||||||
mouse_events: 0;
|
mouse_events: 0;
|
||||||
description { state: "default" 0.0;
|
description { state: "default" 0.0;
|
||||||
|
|
|
@ -1096,6 +1096,24 @@ termio_paste_selection(Evas_Object *obj, Elm_Sel_Type type)
|
||||||
_getsel_cb, obj);
|
_getsel_cb, obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char *
|
||||||
|
_color_to_txt(const Termio *sd)
|
||||||
|
{
|
||||||
|
EINA_SAFETY_ON_NULL_RETURN_VAL(sd, NULL);
|
||||||
|
|
||||||
|
if (sd->link.color.a == 255)
|
||||||
|
return eina_stringshare_printf("#%.2x%.2x%.2x",
|
||||||
|
sd->link.color.r,
|
||||||
|
sd->link.color.g,
|
||||||
|
sd->link.color.b);
|
||||||
|
else
|
||||||
|
return eina_stringshare_printf("#%.2x%.2x%.2x%.2x",
|
||||||
|
sd->link.color.r,
|
||||||
|
sd->link.color.g,
|
||||||
|
sd->link.color.b,
|
||||||
|
sd->link.color.a);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_cb_ctxp_color_copy(void *data,
|
_cb_ctxp_color_copy(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
|
@ -1105,20 +1123,12 @@ _cb_ctxp_color_copy(void *data,
|
||||||
const char *txt;
|
const char *txt;
|
||||||
EINA_SAFETY_ON_NULL_RETURN(sd);
|
EINA_SAFETY_ON_NULL_RETURN(sd);
|
||||||
|
|
||||||
if (sd->link.color.a == 255)
|
txt = _color_to_txt(sd);
|
||||||
txt = eina_stringshare_printf("#%.2x%.2x%.2x",
|
if (!sd) return;
|
||||||
sd->link.color.r,
|
|
||||||
sd->link.color.g,
|
|
||||||
sd->link.color.b);
|
|
||||||
else
|
|
||||||
txt = eina_stringshare_printf("#%.2x%.2x%.2x%.2x",
|
|
||||||
sd->link.color.r,
|
|
||||||
sd->link.color.g,
|
|
||||||
sd->link.color.b,
|
|
||||||
sd->link.color.a);
|
|
||||||
|
|
||||||
termio_take_selection_text(sd, ELM_SEL_TYPE_CLIPBOARD, txt);
|
termio_take_selection_text(sd, ELM_SEL_TYPE_CLIPBOARD, txt);
|
||||||
|
|
||||||
|
eina_stringshare_del(txt);
|
||||||
sd->ctxpopup = NULL;
|
sd->ctxpopup = NULL;
|
||||||
evas_object_del(obj);
|
evas_object_del(obj);
|
||||||
}
|
}
|
||||||
|
@ -1410,6 +1420,7 @@ _color_tooltip_content(void *data,
|
||||||
Termio *sd = data;
|
Termio *sd = data;
|
||||||
Evas_Object *o;
|
Evas_Object *o;
|
||||||
Evas *canvas = evas_object_evas_get(obj);
|
Evas *canvas = evas_object_evas_get(obj);
|
||||||
|
const char *txt;
|
||||||
|
|
||||||
o = edje_object_add(canvas);
|
o = edje_object_add(canvas);
|
||||||
theme_apply(o, sd->config, "terminology/color_preview");
|
theme_apply(o, sd->config, "terminology/color_preview");
|
||||||
|
@ -1418,6 +1429,10 @@ _color_tooltip_content(void *data,
|
||||||
sd->link.color.r, sd->link.color.g, sd->link.color.b, sd->link.color.a,
|
sd->link.color.r, sd->link.color.g, sd->link.color.b, sd->link.color.a,
|
||||||
sd->link.color.r, sd->link.color.g, sd->link.color.b, sd->link.color.a,
|
sd->link.color.r, sd->link.color.g, sd->link.color.b, sd->link.color.a,
|
||||||
sd->link.color.r, sd->link.color.g, sd->link.color.b, sd->link.color.a);
|
sd->link.color.r, sd->link.color.g, sd->link.color.b, sd->link.color.a);
|
||||||
|
|
||||||
|
txt = _color_to_txt(sd);
|
||||||
|
edje_object_part_text_set(o, "name", txt);
|
||||||
|
eina_stringshare_del(txt);
|
||||||
return o;
|
return o;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue