diff --git a/legacy/elementary/data/themes/Makefile.am b/legacy/elementary/data/themes/Makefile.am
index c5806d9b6b..717080189f 100644
--- a/legacy/elementary/data/themes/Makefile.am
+++ b/legacy/elementary/data/themes/Makefile.am
@@ -144,7 +144,47 @@ bt_spinner_up.png \
bt_spinner_down.png \
bt_spinner_hilight.png \
up.png \
-down.png
+down.png \
+emo-angry.png \
+emo-angry-shout.png \
+emo-crazy-laugh.png \
+emo-evil-laugh.png \
+emo-evil.png \
+emo-goggle-smile.png \
+emo-grumpy.png \
+emo-grumpy-smile.png \
+emo-guilty.png \
+emo-guilty-smile.png \
+emo-haha.png \
+emo-half-smile.png \
+emo-happy-panting.png \
+emo-happy.png \
+emo-indifferent.png \
+emo-kiss.png \
+emo-knowing-grin.png \
+emo-laugh.png \
+emo-little-bit-sorry.png \
+emo-love-lots.png \
+emo-love.png \
+emo-minimal-smile.png \
+emo-not-happy.png \
+emo-not-impressed.png \
+emo-omg.png \
+emo-opensmile.png \
+emo-smile.png \
+emo-sorry.png \
+emo-squint-laugh.png \
+emo-surprised.png \
+emo-suspicious.png \
+emo-tongue-dangling.png \
+emo-tongue-poke.png \
+emo-uh.png \
+emo-unhappy.png \
+emo-very-sorry.png \
+emo-what.png \
+emo-wink.png \
+emo-worried.png \
+emo-wtf.png
default.edj: Makefile $(EXTRA_DIST)
$(EDJE_CC) $(EDJE_FLAGS) \
diff --git a/legacy/elementary/data/themes/default.edc b/legacy/elementary/data/themes/default.edc
index 8b34593172..4d2106eaac 100644
--- a/legacy/elementary/data/themes/default.edc
+++ b/legacy/elementary/data/themes/default.edc
@@ -5479,6 +5479,127 @@ collections {
}
///////////////////////////////////////////////////////////////////////////////
+ group { name: "elm/entry/emoticon/angry/default"; images.image:
+ "emo-angry.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-angry.png"; } } } }
+ group { name: "elm/entry/emoticon/angry-shout/default"; images.image:
+ "emo-angry-shout.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-angry-shout.png"; } } } }
+ group { name: "elm/entry/emoticon/crazy-laugh/default"; images.image:
+ "emo-crazy-laugh.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-crazy-laugh.png"; } } } }
+ group { name: "elm/entry/emoticon/evil-laugh/default"; images.image:
+ "emo-evil-laugh.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-evil-laugh.png"; } } } }
+ group { name: "elm/entry/emoticon/evil/default"; images.image:
+ "emo-evil.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-evil.png"; } } } }
+ group { name: "elm/entry/emoticon/goggle-smile/default"; images.image:
+ "emo-goggle-smile.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-goggle-smile.png"; } } } }
+ group { name: "elm/entry/emoticon/grumpy/default"; images.image:
+ "emo-grumpy.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-grumpy.png"; } } } }
+ group { name: "elm/entry/emoticon/grumpy-smile/default"; images.image:
+ "emo-grumpy-smile.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-grumpy-smile.png"; } } } }
+ group { name: "elm/entry/emoticon/guilty/default"; images.image:
+ "emo-guilty.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-guilty.png"; } } } }
+ group { name: "elm/entry/emoticon/guilty-smile/default"; images.image:
+ "emo-guilty-smile.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-guilty-smile.png"; } } } }
+ group { name: "elm/entry/emoticon/haha/default"; images.image:
+ "emo-haha.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-haha.png"; } } } }
+ group { name: "elm/entry/emoticon/half-smile/default"; images.image:
+ "emo-half-smile.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-half-smile.png"; } } } }
+ group { name: "elm/entry/emoticon/happy-panting/default"; images.image:
+ "emo-happy-panting.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-happy-panting.png"; } } } }
+ group { name: "elm/entry/emoticon/happy/default"; images.image:
+ "emo-happy.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-happy.png"; } } } }
+ group { name: "elm/entry/emoticon/indifferent/default"; images.image:
+ "emo-indifferent.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-indifferent.png"; } } } }
+ group { name: "elm/entry/emoticon/kiss/default"; images.image:
+ "emo-kiss.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-kiss.png"; } } } }
+ group { name: "elm/entry/emoticon/knowing-grin/default"; images.image:
+ "emo-knowing-grin.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-knowing-grin.png"; } } } }
+ group { name: "elm/entry/emoticon/laugh/default"; images.image:
+ "emo-laugh.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-laugh.png"; } } } }
+ group { name: "elm/entry/emoticon/little-bit-sorry/default"; images.image:
+ "emo-little-bit-sorry.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-little-bit-sorry.png"; } } } }
+ group { name: "elm/entry/emoticon/love-lots/default"; images.image:
+ "emo-love-lots.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-love-lots.png"; } } } }
+ group { name: "elm/entry/emoticon/love/default"; images.image:
+ "emo-love.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-love.png"; } } } }
+ group { name: "elm/entry/emoticon/minimal-smile/default"; images.image:
+ "emo-minimal-smile.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-minimal-smile.png"; } } } }
+ group { name: "elm/entry/emoticon/not-happy/default"; images.image:
+ "emo-not-happy.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-not-happy.png"; } } } }
+ group { name: "elm/entry/emoticon/not-impressed/default"; images.image:
+ "emo-not-impressed.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-not-impressed.png"; } } } }
+ group { name: "elm/entry/emoticon/omg/default"; images.image:
+ "emo-omg.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-omg.png"; } } } }
+ group { name: "elm/entry/emoticon/opensmile/default"; images.image:
+ "emo-opensmile.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-opensmile.png"; } } } }
+ group { name: "elm/entry/emoticon/smile/default"; images.image:
+ "emo-smile.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-smile.png"; } } } }
+ group { name: "elm/entry/emoticon/sorry/default"; images.image:
+ "emo-sorry.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-sorry.png"; } } } }
+ group { name: "elm/entry/emoticon/squint-laugh/default"; images.image:
+ "emo-squint-laugh.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-squint-laugh.png"; } } } }
+ group { name: "elm/entry/emoticon/surprised/default"; images.image:
+ "emo-surprised.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-surprised.png"; } } } }
+ group { name: "elm/entry/emoticon/suspicious/default"; images.image:
+ "emo-suspicious.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-suspicious.png"; } } } }
+ group { name: "elm/entry/emoticon/tongue-dangling/default"; images.image:
+ "emo-tongue-dangling.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-tongue-dangling.png"; } } } }
+ group { name: "elm/entry/emoticon/tongue-poke/default"; images.image:
+ "emo-tongue-poke.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-tongue-poke.png"; } } } }
+ group { name: "elm/entry/emoticon/uh/default"; images.image:
+ "emo-uh.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-uh.png"; } } } }
+ group { name: "elm/entry/emoticon/unhappy/default"; images.image:
+ "emo-unhappy.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-unhappy.png"; } } } }
+ group { name: "elm/entry/emoticon/very-sorry/default"; images.image:
+ "emo-very-sorry.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-very-sorry.png"; } } } }
+ group { name: "elm/entry/emoticon/what/default"; images.image:
+ "emo-what.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-what.png"; } } } }
+ group { name: "elm/entry/emoticon/wink/default"; images.image:
+ "emo-wink.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-wink.png"; } } } }
+ group { name: "elm/entry/emoticon/worried/default"; images.image:
+ "emo-worried.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-worried.png"; } } } }
+ group { name: "elm/entry/emoticon/wtf/default"; images.image:
+ "emo-wtf.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-wtf.png"; } } } }
+//------------------------------------------------------------
group { name: "elm/entry/base/default";
styles
{
@@ -23093,5 +23214,4 @@ collections {
}
}
}
-
}
diff --git a/legacy/elementary/data/themes/emo-angry-shout.png b/legacy/elementary/data/themes/emo-angry-shout.png
new file mode 100644
index 0000000000..25477c5e91
Binary files /dev/null and b/legacy/elementary/data/themes/emo-angry-shout.png differ
diff --git a/legacy/elementary/data/themes/emo-angry.png b/legacy/elementary/data/themes/emo-angry.png
new file mode 100644
index 0000000000..e1510772a4
Binary files /dev/null and b/legacy/elementary/data/themes/emo-angry.png differ
diff --git a/legacy/elementary/data/themes/emo-crazy-laugh.png b/legacy/elementary/data/themes/emo-crazy-laugh.png
new file mode 100644
index 0000000000..4e8793717c
Binary files /dev/null and b/legacy/elementary/data/themes/emo-crazy-laugh.png differ
diff --git a/legacy/elementary/data/themes/emo-evil-laugh.png b/legacy/elementary/data/themes/emo-evil-laugh.png
new file mode 100644
index 0000000000..1a0ec3a799
Binary files /dev/null and b/legacy/elementary/data/themes/emo-evil-laugh.png differ
diff --git a/legacy/elementary/data/themes/emo-evil.png b/legacy/elementary/data/themes/emo-evil.png
new file mode 100644
index 0000000000..32233fd8da
Binary files /dev/null and b/legacy/elementary/data/themes/emo-evil.png differ
diff --git a/legacy/elementary/data/themes/emo-goggle-smile.png b/legacy/elementary/data/themes/emo-goggle-smile.png
new file mode 100644
index 0000000000..a0e485908d
Binary files /dev/null and b/legacy/elementary/data/themes/emo-goggle-smile.png differ
diff --git a/legacy/elementary/data/themes/emo-grumpy-smile.png b/legacy/elementary/data/themes/emo-grumpy-smile.png
new file mode 100644
index 0000000000..12e301fd72
Binary files /dev/null and b/legacy/elementary/data/themes/emo-grumpy-smile.png differ
diff --git a/legacy/elementary/data/themes/emo-grumpy.png b/legacy/elementary/data/themes/emo-grumpy.png
new file mode 100644
index 0000000000..7de77fa6d3
Binary files /dev/null and b/legacy/elementary/data/themes/emo-grumpy.png differ
diff --git a/legacy/elementary/data/themes/emo-guilty-smile.png b/legacy/elementary/data/themes/emo-guilty-smile.png
new file mode 100644
index 0000000000..57de06e74c
Binary files /dev/null and b/legacy/elementary/data/themes/emo-guilty-smile.png differ
diff --git a/legacy/elementary/data/themes/emo-guilty.png b/legacy/elementary/data/themes/emo-guilty.png
new file mode 100644
index 0000000000..071deb0d9f
Binary files /dev/null and b/legacy/elementary/data/themes/emo-guilty.png differ
diff --git a/legacy/elementary/data/themes/emo-haha.png b/legacy/elementary/data/themes/emo-haha.png
new file mode 100644
index 0000000000..760535dfc3
Binary files /dev/null and b/legacy/elementary/data/themes/emo-haha.png differ
diff --git a/legacy/elementary/data/themes/emo-half-smile.png b/legacy/elementary/data/themes/emo-half-smile.png
new file mode 100644
index 0000000000..529f60a177
Binary files /dev/null and b/legacy/elementary/data/themes/emo-half-smile.png differ
diff --git a/legacy/elementary/data/themes/emo-happy-panting.png b/legacy/elementary/data/themes/emo-happy-panting.png
new file mode 100644
index 0000000000..c6461bc6c5
Binary files /dev/null and b/legacy/elementary/data/themes/emo-happy-panting.png differ
diff --git a/legacy/elementary/data/themes/emo-happy.png b/legacy/elementary/data/themes/emo-happy.png
new file mode 100644
index 0000000000..a8a3c0bdbb
Binary files /dev/null and b/legacy/elementary/data/themes/emo-happy.png differ
diff --git a/legacy/elementary/data/themes/emo-indifferent.png b/legacy/elementary/data/themes/emo-indifferent.png
new file mode 100644
index 0000000000..254133b0ed
Binary files /dev/null and b/legacy/elementary/data/themes/emo-indifferent.png differ
diff --git a/legacy/elementary/data/themes/emo-kiss.png b/legacy/elementary/data/themes/emo-kiss.png
new file mode 100644
index 0000000000..5eb606df0d
Binary files /dev/null and b/legacy/elementary/data/themes/emo-kiss.png differ
diff --git a/legacy/elementary/data/themes/emo-knowing-grin.png b/legacy/elementary/data/themes/emo-knowing-grin.png
new file mode 100644
index 0000000000..589b44d571
Binary files /dev/null and b/legacy/elementary/data/themes/emo-knowing-grin.png differ
diff --git a/legacy/elementary/data/themes/emo-laugh.png b/legacy/elementary/data/themes/emo-laugh.png
new file mode 100644
index 0000000000..282c620f7f
Binary files /dev/null and b/legacy/elementary/data/themes/emo-laugh.png differ
diff --git a/legacy/elementary/data/themes/emo-little-bit-sorry.png b/legacy/elementary/data/themes/emo-little-bit-sorry.png
new file mode 100644
index 0000000000..fced0e22af
Binary files /dev/null and b/legacy/elementary/data/themes/emo-little-bit-sorry.png differ
diff --git a/legacy/elementary/data/themes/emo-love-lots.png b/legacy/elementary/data/themes/emo-love-lots.png
new file mode 100644
index 0000000000..4591fe8b68
Binary files /dev/null and b/legacy/elementary/data/themes/emo-love-lots.png differ
diff --git a/legacy/elementary/data/themes/emo-love.png b/legacy/elementary/data/themes/emo-love.png
new file mode 100644
index 0000000000..8fd0785038
Binary files /dev/null and b/legacy/elementary/data/themes/emo-love.png differ
diff --git a/legacy/elementary/data/themes/emo-minimal-smile.png b/legacy/elementary/data/themes/emo-minimal-smile.png
new file mode 100644
index 0000000000..c0051740e1
Binary files /dev/null and b/legacy/elementary/data/themes/emo-minimal-smile.png differ
diff --git a/legacy/elementary/data/themes/emo-not-happy.png b/legacy/elementary/data/themes/emo-not-happy.png
new file mode 100644
index 0000000000..91b4759525
Binary files /dev/null and b/legacy/elementary/data/themes/emo-not-happy.png differ
diff --git a/legacy/elementary/data/themes/emo-not-impressed.png b/legacy/elementary/data/themes/emo-not-impressed.png
new file mode 100644
index 0000000000..8a6901cab0
Binary files /dev/null and b/legacy/elementary/data/themes/emo-not-impressed.png differ
diff --git a/legacy/elementary/data/themes/emo-omg.png b/legacy/elementary/data/themes/emo-omg.png
new file mode 100644
index 0000000000..8f16f50068
Binary files /dev/null and b/legacy/elementary/data/themes/emo-omg.png differ
diff --git a/legacy/elementary/data/themes/emo-opensmile.png b/legacy/elementary/data/themes/emo-opensmile.png
new file mode 100644
index 0000000000..3e37d1876b
Binary files /dev/null and b/legacy/elementary/data/themes/emo-opensmile.png differ
diff --git a/legacy/elementary/data/themes/emo-smile.png b/legacy/elementary/data/themes/emo-smile.png
new file mode 100644
index 0000000000..082731dc5b
Binary files /dev/null and b/legacy/elementary/data/themes/emo-smile.png differ
diff --git a/legacy/elementary/data/themes/emo-sorry.png b/legacy/elementary/data/themes/emo-sorry.png
new file mode 100644
index 0000000000..757fbc7b8a
Binary files /dev/null and b/legacy/elementary/data/themes/emo-sorry.png differ
diff --git a/legacy/elementary/data/themes/emo-squint-laugh.png b/legacy/elementary/data/themes/emo-squint-laugh.png
new file mode 100644
index 0000000000..0e1850b90d
Binary files /dev/null and b/legacy/elementary/data/themes/emo-squint-laugh.png differ
diff --git a/legacy/elementary/data/themes/emo-surprised.png b/legacy/elementary/data/themes/emo-surprised.png
new file mode 100644
index 0000000000..0b980c602b
Binary files /dev/null and b/legacy/elementary/data/themes/emo-surprised.png differ
diff --git a/legacy/elementary/data/themes/emo-suspicious.png b/legacy/elementary/data/themes/emo-suspicious.png
new file mode 100644
index 0000000000..15bcdc0035
Binary files /dev/null and b/legacy/elementary/data/themes/emo-suspicious.png differ
diff --git a/legacy/elementary/data/themes/emo-tongue-dangling.png b/legacy/elementary/data/themes/emo-tongue-dangling.png
new file mode 100644
index 0000000000..eb711ce831
Binary files /dev/null and b/legacy/elementary/data/themes/emo-tongue-dangling.png differ
diff --git a/legacy/elementary/data/themes/emo-tongue-poke.png b/legacy/elementary/data/themes/emo-tongue-poke.png
new file mode 100644
index 0000000000..932ef8569e
Binary files /dev/null and b/legacy/elementary/data/themes/emo-tongue-poke.png differ
diff --git a/legacy/elementary/data/themes/emo-uh.png b/legacy/elementary/data/themes/emo-uh.png
new file mode 100644
index 0000000000..554ca35b31
Binary files /dev/null and b/legacy/elementary/data/themes/emo-uh.png differ
diff --git a/legacy/elementary/data/themes/emo-unhappy.png b/legacy/elementary/data/themes/emo-unhappy.png
new file mode 100644
index 0000000000..163ae6dbf1
Binary files /dev/null and b/legacy/elementary/data/themes/emo-unhappy.png differ
diff --git a/legacy/elementary/data/themes/emo-very-sorry.png b/legacy/elementary/data/themes/emo-very-sorry.png
new file mode 100644
index 0000000000..97091f2a13
Binary files /dev/null and b/legacy/elementary/data/themes/emo-very-sorry.png differ
diff --git a/legacy/elementary/data/themes/emo-what.png b/legacy/elementary/data/themes/emo-what.png
new file mode 100644
index 0000000000..a4724341c3
Binary files /dev/null and b/legacy/elementary/data/themes/emo-what.png differ
diff --git a/legacy/elementary/data/themes/emo-wink.png b/legacy/elementary/data/themes/emo-wink.png
new file mode 100644
index 0000000000..ad4553a576
Binary files /dev/null and b/legacy/elementary/data/themes/emo-wink.png differ
diff --git a/legacy/elementary/data/themes/emo-worried.png b/legacy/elementary/data/themes/emo-worried.png
new file mode 100644
index 0000000000..b081784d3d
Binary files /dev/null and b/legacy/elementary/data/themes/emo-worried.png differ
diff --git a/legacy/elementary/data/themes/emo-wtf.png b/legacy/elementary/data/themes/emo-wtf.png
new file mode 100644
index 0000000000..5551d8b28e
Binary files /dev/null and b/legacy/elementary/data/themes/emo-wtf.png differ
diff --git a/legacy/elementary/src/bin/test_entry.c b/legacy/elementary/src/bin/test_entry.c
index a795cbab78..8583b61ab9 100644
--- a/legacy/elementary/src/bin/test_entry.c
+++ b/legacy/elementary/src/bin/test_entry.c
@@ -84,21 +84,21 @@ test_entry(void *data, Evas_Object *obj, void *event_info)
"
"
"Also you can stick in items with (relsize + ascent): "
- " "
+ " "
" (full) "
- " "
+ " "
" (to the left)
"
"Also (size + ascent): "
- " "
+ " "
" (full) "
- " "
+ " "
" (before this)
"
"And as well (absize + ascent): "
- " "
+ " "
" (full) "
- " "
+ " "
" ... end."
);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
diff --git a/legacy/elementary/src/lib/Elementary.h.in b/legacy/elementary/src/lib/Elementary.h.in
index 5e1a5ad5ea..e33a068a0a 100644
--- a/legacy/elementary/src/lib/Elementary.h.in
+++ b/legacy/elementary/src/lib/Elementary.h.in
@@ -699,6 +699,9 @@ extern "C" {
EAPI void elm_entry_context_menu_item_add(Evas_Object *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data);
EAPI void elm_entry_context_menu_disabled_set(Evas_Object *obj, Eina_Bool disabled);
EAPI Eina_Bool elm_entry_context_menu_disabled_get(const Evas_Object *obj);
+ EAPI void elm_entry_item_provider_append(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data);
+ EAPI void elm_entry_item_provider_prepend(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data);
+ EAPI void elm_entry_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data);
EAPI char *elm_entry_markup_to_utf8(const char *s);
EAPI char *elm_entry_utf8_to_markup(const char *s);
/* smart callbacks called:
diff --git a/legacy/elementary/src/lib/elm_entry.c b/legacy/elementary/src/lib/elm_entry.c
index ba8db79df0..96ec569581 100644
--- a/legacy/elementary/src/lib/elm_entry.c
+++ b/legacy/elementary/src/lib/elm_entry.c
@@ -34,6 +34,7 @@ typedef struct _Mod_Api Mod_Api;
typedef struct _Widget_Data Widget_Data;
typedef struct _Elm_Entry_Context_Menu_Item Elm_Entry_Context_Menu_Item;
+typedef struct _Elm_Entry_Item_Provider Elm_Entry_Item_Provider;
struct _Widget_Data
{
@@ -49,6 +50,7 @@ struct _Widget_Data
Evas_Coord downx, downy;
Evas_Coord cx, cy, cw, ch;
Eina_List *items;
+ Eina_List *item_providers;
Mod_Api *api; // module api if supplied
Eina_Bool changed : 1;
Eina_Bool linewrap : 1;
@@ -75,6 +77,12 @@ struct _Elm_Entry_Context_Menu_Item
void *data;
};
+struct _Elm_Entry_Item_Provider
+{
+ Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item);
+ void *data;
+};
+
static const char *widtype = NULL;
static void _del_hook(Evas_Object *obj);
static void _theme_hook(Evas_Object *obj);
@@ -161,6 +169,7 @@ _del_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Elm_Entry_Context_Menu_Item *it;
+ Elm_Entry_Item_Provider *ip;
if ((wd->api) && (wd->api->obj_unhook)) wd->api->obj_unhook(obj); // module - unhook
@@ -180,6 +189,10 @@ _del_hook(Evas_Object *obj)
eina_stringshare_del(it->icon_group);
free(it);
}
+ EINA_LIST_FREE(wd->item_providers, ip)
+ {
+ free(ip);
+ }
free(wd);
}
@@ -1161,15 +1174,20 @@ _get_item(void *data, Evas_Object *edje, const char *part, const char *item)
{
Widget_Data *wd = elm_widget_data_get(data);
Evas_Object *o;
+ Eina_List *l;
+ Elm_Entry_Item_Provider *ip;
+ int ok = 0;
- // FIXME: this is a test! need to have a standard set of "emoticons" or
- // "icons" you can inline. but first be able to set add/del callbacks from
- // the app/user of entry to first provide one. if they return NULL, fall
- // back to here.
+ EINA_LIST_FOREACH(wd->item_providers, l, ip)
+ {
+ o = ip->func(ip->data, data, item);
+ if (o) return o;
+ }
o = edje_object_add(evas_object_evas_get(data));
- _elm_theme_set(o, "button", "base", elm_widget_style_get(data));
- edje_object_part_text_set(o, "elm.text", item);
- edje_object_signal_emit(o, "elm,state,text,visible", "elm");
+ if (!strncmp(item, "emoticon/", 9))
+ ok = _elm_theme_set(o, "entry", item, elm_widget_style_get(data));
+ if (!ok)
+ _elm_theme_set(o, "entry/emoticon", "wtf", elm_widget_style_get(data));
return o;
}
@@ -1969,6 +1987,94 @@ elm_entry_context_menu_disabled_get(const Evas_Object *obj)
return !wd->context_menu;
}
+/**
+ * This appends a custom item provider to the list for that entry
+ *
+ * This appends the given callback. The list is walked from beginning to end
+ * with each function called given the item href string in the text. If the
+ * function returns an object handle other than NULL (it should create an
+ * and object to do this), then this object is used to replace that item. If
+ * not the next provider is called until one provides an item object, or the
+ * default provider in entry does.
+ *
+ * @param obj The entry object
+ * @param func The function called to provide the item object
+ * @param data The data passed to @p func
+ *
+ * @ingroup Entry
+ */
+EAPI void
+elm_entry_item_provider_append(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+ if (!func) return;
+ Elm_Entry_Item_Provider *ip = calloc(1, sizeof(Elm_Entry_Item_Provider));
+ if (!ip) return;
+ ip->func = func;
+ ip->data = data;
+ wd->item_providers = eina_list_append(wd->item_providers, ip);
+}
+
+/**
+ * This prepends a custom item provider to the list for that entry
+ *
+ * This prepends the given callback. See elm_entry_item_provider_append() for
+ * more information
+ *
+ * @param obj The entry object
+ * @param func The function called to provide the item object
+ * @param data The data passed to @p func
+ *
+ * @ingroup Entry
+ */
+EAPI void
+elm_entry_item_provider_prepend(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+ if (!func) return;
+ Elm_Entry_Item_Provider *ip = calloc(1, sizeof(Elm_Entry_Item_Provider));
+ if (!ip) return;
+ ip->func = func;
+ ip->data = data;
+ wd->item_providers = eina_list_prepend(wd->item_providers, ip);
+}
+
+/**
+ * This removes a custom item provider to the list for that entry
+ *
+ * This removes the given callback. See elm_entry_item_provider_append() for
+ * more information
+ *
+ * @param obj The entry object
+ * @param func The function called to provide the item object
+ * @param data The data passed to @p func
+ *
+ * @ingroup Entry
+ */
+EAPI void
+elm_entry_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ Eina_List *l;
+ Elm_Entry_Item_Provider *ip;
+ if (!wd) return;
+ if (!func) return;
+ EINA_LIST_FOREACH(wd->item_providers, l, ip)
+ {
+ if ((ip->func == func) && (ip->data == data))
+ {
+ wd->item_providers = eina_list_remove_list(wd->item_providers, l);
+ free(ip);
+ return;
+ }
+ }
+}
+
/**
* This converts a markup (HTML-like) string into UTF-8.
*