diff --git a/images/LICENSE b/images/LICENSE index ea8c06764..e20f2afce 100644 --- a/images/LICENSE +++ b/images/LICENSE @@ -56,3 +56,17 @@ License: LGPL3+ Author: Nuno F. Pinheiro Origin: Oxygen icon theme http://www.oxygen-icons.org/ + +Smuxi-Emoticons/ +---------------- +Filename: * +License: GPL2 +Author: George Karavasilev +Origin: gnome-icon-theme + +icon_bar.svg +------------ +Filename: go-next-symbolic.png +License: GPL2 +Author: George Karavasilev +Origin: gnome-icon-theme \ No newline at end of file diff --git a/images/Smuxi-Emoticons/face-angel-symbolic.png b/images/Smuxi-Emoticons/face-angel-symbolic.png new file mode 100644 index 000000000..3d4b6eea4 Binary files /dev/null and b/images/Smuxi-Emoticons/face-angel-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-angel-symbolic.svg b/images/Smuxi-Emoticons/face-angel-symbolic.svg new file mode 100644 index 000000000..c907c98f3 --- /dev/null +++ b/images/Smuxi-Emoticons/face-angel-symbolic.svg @@ -0,0 +1,67 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + + diff --git a/images/Smuxi-Emoticons/face-angel-symbolic_256x256.png b/images/Smuxi-Emoticons/face-angel-symbolic_256x256.png new file mode 100644 index 000000000..e5cac29a8 Binary files /dev/null and b/images/Smuxi-Emoticons/face-angel-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-angry-symbolic.png b/images/Smuxi-Emoticons/face-angry-symbolic.png new file mode 100644 index 000000000..7fc657ed4 Binary files /dev/null and b/images/Smuxi-Emoticons/face-angry-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-angry-symbolic.svg b/images/Smuxi-Emoticons/face-angry-symbolic.svg new file mode 100644 index 000000000..2840db8e6 --- /dev/null +++ b/images/Smuxi-Emoticons/face-angry-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-angry-symbolic_256x256.png b/images/Smuxi-Emoticons/face-angry-symbolic_256x256.png new file mode 100644 index 000000000..a1f0ff8a7 Binary files /dev/null and b/images/Smuxi-Emoticons/face-angry-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-confused-symbolic.png b/images/Smuxi-Emoticons/face-confused-symbolic.png new file mode 100644 index 000000000..7dd282e3b Binary files /dev/null and b/images/Smuxi-Emoticons/face-confused-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-confused-symbolic.svg b/images/Smuxi-Emoticons/face-confused-symbolic.svg new file mode 100644 index 000000000..77dc8d2ba --- /dev/null +++ b/images/Smuxi-Emoticons/face-confused-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-confused-symbolic_256x256.png b/images/Smuxi-Emoticons/face-confused-symbolic_256x256.png new file mode 100644 index 000000000..9c174182c Binary files /dev/null and b/images/Smuxi-Emoticons/face-confused-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-cool-symbolic.png b/images/Smuxi-Emoticons/face-cool-symbolic.png new file mode 100644 index 000000000..b6ee73c6a Binary files /dev/null and b/images/Smuxi-Emoticons/face-cool-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-cool-symbolic.svg b/images/Smuxi-Emoticons/face-cool-symbolic.svg new file mode 100644 index 000000000..0b4522bd9 --- /dev/null +++ b/images/Smuxi-Emoticons/face-cool-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-cool-symbolic_256x256.png b/images/Smuxi-Emoticons/face-cool-symbolic_256x256.png new file mode 100644 index 000000000..b55b51aa9 Binary files /dev/null and b/images/Smuxi-Emoticons/face-cool-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-crying-symbolic.png b/images/Smuxi-Emoticons/face-crying-symbolic.png new file mode 100644 index 000000000..797d07d51 Binary files /dev/null and b/images/Smuxi-Emoticons/face-crying-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-crying-symbolic.svg b/images/Smuxi-Emoticons/face-crying-symbolic.svg new file mode 100644 index 000000000..ee1f6f8d4 --- /dev/null +++ b/images/Smuxi-Emoticons/face-crying-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-crying-symbolic_256x256.png b/images/Smuxi-Emoticons/face-crying-symbolic_256x256.png new file mode 100644 index 000000000..20fb4670e Binary files /dev/null and b/images/Smuxi-Emoticons/face-crying-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-devilish-symbolic.png b/images/Smuxi-Emoticons/face-devilish-symbolic.png new file mode 100644 index 000000000..46de6aae5 Binary files /dev/null and b/images/Smuxi-Emoticons/face-devilish-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-devilish-symbolic.svg b/images/Smuxi-Emoticons/face-devilish-symbolic.svg new file mode 100644 index 000000000..2bcbdbb80 --- /dev/null +++ b/images/Smuxi-Emoticons/face-devilish-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-devilish-symbolic_256x256.png b/images/Smuxi-Emoticons/face-devilish-symbolic_256x256.png new file mode 100644 index 000000000..c6688444b Binary files /dev/null and b/images/Smuxi-Emoticons/face-devilish-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-embarrassed-symbolic.png b/images/Smuxi-Emoticons/face-embarrassed-symbolic.png new file mode 100644 index 000000000..10a2fdfae Binary files /dev/null and b/images/Smuxi-Emoticons/face-embarrassed-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-embarrassed-symbolic.svg b/images/Smuxi-Emoticons/face-embarrassed-symbolic.svg new file mode 100644 index 000000000..094921221 --- /dev/null +++ b/images/Smuxi-Emoticons/face-embarrassed-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-embarrassed-symbolic_256x256.png b/images/Smuxi-Emoticons/face-embarrassed-symbolic_256x256.png new file mode 100644 index 000000000..337addd4e Binary files /dev/null and b/images/Smuxi-Emoticons/face-embarrassed-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-kiss-symbolic.png b/images/Smuxi-Emoticons/face-kiss-symbolic.png new file mode 100644 index 000000000..ba2367a90 Binary files /dev/null and b/images/Smuxi-Emoticons/face-kiss-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-kiss-symbolic.svg b/images/Smuxi-Emoticons/face-kiss-symbolic.svg new file mode 100644 index 000000000..cf726b6e0 --- /dev/null +++ b/images/Smuxi-Emoticons/face-kiss-symbolic.svg @@ -0,0 +1,73 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + + + + diff --git a/images/Smuxi-Emoticons/face-kiss-symbolic_256x256.png b/images/Smuxi-Emoticons/face-kiss-symbolic_256x256.png new file mode 100644 index 000000000..ea27d2a85 Binary files /dev/null and b/images/Smuxi-Emoticons/face-kiss-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-laugh-symbolic.png b/images/Smuxi-Emoticons/face-laugh-symbolic.png new file mode 100644 index 000000000..043c61020 Binary files /dev/null and b/images/Smuxi-Emoticons/face-laugh-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-laugh-symbolic.svg b/images/Smuxi-Emoticons/face-laugh-symbolic.svg new file mode 100644 index 000000000..0c5e53b2a --- /dev/null +++ b/images/Smuxi-Emoticons/face-laugh-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-laugh-symbolic_256x256.png b/images/Smuxi-Emoticons/face-laugh-symbolic_256x256.png new file mode 100644 index 000000000..01fd09ff5 Binary files /dev/null and b/images/Smuxi-Emoticons/face-laugh-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-monkey-symbolic.png b/images/Smuxi-Emoticons/face-monkey-symbolic.png new file mode 100644 index 000000000..46edd12b5 Binary files /dev/null and b/images/Smuxi-Emoticons/face-monkey-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-monkey-symbolic.svg b/images/Smuxi-Emoticons/face-monkey-symbolic.svg new file mode 100644 index 000000000..eacc1204b --- /dev/null +++ b/images/Smuxi-Emoticons/face-monkey-symbolic.svg @@ -0,0 +1,67 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + + diff --git a/images/Smuxi-Emoticons/face-monkey-symbolic_256x256.png b/images/Smuxi-Emoticons/face-monkey-symbolic_256x256.png new file mode 100644 index 000000000..c672fb4fb Binary files /dev/null and b/images/Smuxi-Emoticons/face-monkey-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-plain-symbolic.png b/images/Smuxi-Emoticons/face-plain-symbolic.png new file mode 100644 index 000000000..b2b6ac3ab Binary files /dev/null and b/images/Smuxi-Emoticons/face-plain-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-plain-symbolic.svg b/images/Smuxi-Emoticons/face-plain-symbolic.svg new file mode 100644 index 000000000..55bdf140a --- /dev/null +++ b/images/Smuxi-Emoticons/face-plain-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-plain-symbolic_256x256.png b/images/Smuxi-Emoticons/face-plain-symbolic_256x256.png new file mode 100644 index 000000000..f86d6439f Binary files /dev/null and b/images/Smuxi-Emoticons/face-plain-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-raspberry-symbolic.png b/images/Smuxi-Emoticons/face-raspberry-symbolic.png new file mode 100644 index 000000000..d486d9d49 Binary files /dev/null and b/images/Smuxi-Emoticons/face-raspberry-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-raspberry-symbolic.svg b/images/Smuxi-Emoticons/face-raspberry-symbolic.svg new file mode 100644 index 000000000..f2a6ad282 --- /dev/null +++ b/images/Smuxi-Emoticons/face-raspberry-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-raspberry-symbolic_256x256.png b/images/Smuxi-Emoticons/face-raspberry-symbolic_256x256.png new file mode 100644 index 000000000..6a0fbf670 Binary files /dev/null and b/images/Smuxi-Emoticons/face-raspberry-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-sad-symbolic.png b/images/Smuxi-Emoticons/face-sad-symbolic.png new file mode 100644 index 000000000..bf08b57e2 Binary files /dev/null and b/images/Smuxi-Emoticons/face-sad-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-sad-symbolic.svg b/images/Smuxi-Emoticons/face-sad-symbolic.svg new file mode 100644 index 000000000..18bf109f8 --- /dev/null +++ b/images/Smuxi-Emoticons/face-sad-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-sad-symbolic_256x256.png b/images/Smuxi-Emoticons/face-sad-symbolic_256x256.png new file mode 100644 index 000000000..c1da69986 Binary files /dev/null and b/images/Smuxi-Emoticons/face-sad-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-shutmouth-symbolic.png b/images/Smuxi-Emoticons/face-shutmouth-symbolic.png new file mode 100644 index 000000000..52ade5e65 Binary files /dev/null and b/images/Smuxi-Emoticons/face-shutmouth-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-shutmouth-symbolic.svg b/images/Smuxi-Emoticons/face-shutmouth-symbolic.svg new file mode 100644 index 000000000..7477a9105 --- /dev/null +++ b/images/Smuxi-Emoticons/face-shutmouth-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-shutmouth-symbolic_256x256.png b/images/Smuxi-Emoticons/face-shutmouth-symbolic_256x256.png new file mode 100644 index 000000000..63352af38 Binary files /dev/null and b/images/Smuxi-Emoticons/face-shutmouth-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-sick-symbolic.png b/images/Smuxi-Emoticons/face-sick-symbolic.png new file mode 100644 index 000000000..fe01aaf15 Binary files /dev/null and b/images/Smuxi-Emoticons/face-sick-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-sick-symbolic.svg b/images/Smuxi-Emoticons/face-sick-symbolic.svg new file mode 100644 index 000000000..8bc1b6ad1 --- /dev/null +++ b/images/Smuxi-Emoticons/face-sick-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-sick-symbolic_256x256.png b/images/Smuxi-Emoticons/face-sick-symbolic_256x256.png new file mode 100644 index 000000000..d9f521cb0 Binary files /dev/null and b/images/Smuxi-Emoticons/face-sick-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-smile-big-symbolic.png b/images/Smuxi-Emoticons/face-smile-big-symbolic.png new file mode 100644 index 000000000..2449bd20b Binary files /dev/null and b/images/Smuxi-Emoticons/face-smile-big-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-smile-big-symbolic.svg b/images/Smuxi-Emoticons/face-smile-big-symbolic.svg new file mode 100644 index 000000000..ed7021710 --- /dev/null +++ b/images/Smuxi-Emoticons/face-smile-big-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-smile-big-symbolic_256x256.png b/images/Smuxi-Emoticons/face-smile-big-symbolic_256x256.png new file mode 100644 index 000000000..d6a312264 Binary files /dev/null and b/images/Smuxi-Emoticons/face-smile-big-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-smile-symbolic.png b/images/Smuxi-Emoticons/face-smile-symbolic.png new file mode 100644 index 000000000..486d3b032 Binary files /dev/null and b/images/Smuxi-Emoticons/face-smile-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-smile-symbolic.svg b/images/Smuxi-Emoticons/face-smile-symbolic.svg new file mode 100644 index 000000000..cc29892bb --- /dev/null +++ b/images/Smuxi-Emoticons/face-smile-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-smile-symbolic_256x256.png b/images/Smuxi-Emoticons/face-smile-symbolic_256x256.png new file mode 100644 index 000000000..c36fc687c Binary files /dev/null and b/images/Smuxi-Emoticons/face-smile-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-smirk-symbolic.png b/images/Smuxi-Emoticons/face-smirk-symbolic.png new file mode 100644 index 000000000..8fd983950 Binary files /dev/null and b/images/Smuxi-Emoticons/face-smirk-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-smirk-symbolic.svg b/images/Smuxi-Emoticons/face-smirk-symbolic.svg new file mode 100644 index 000000000..009cdd261 --- /dev/null +++ b/images/Smuxi-Emoticons/face-smirk-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-smirk-symbolic_256x256.png b/images/Smuxi-Emoticons/face-smirk-symbolic_256x256.png new file mode 100644 index 000000000..e923af836 Binary files /dev/null and b/images/Smuxi-Emoticons/face-smirk-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-surprised-symbolic.png b/images/Smuxi-Emoticons/face-surprised-symbolic.png new file mode 100644 index 000000000..faf4571a6 Binary files /dev/null and b/images/Smuxi-Emoticons/face-surprised-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-surprised-symbolic.svg b/images/Smuxi-Emoticons/face-surprised-symbolic.svg new file mode 100644 index 000000000..eca521e09 --- /dev/null +++ b/images/Smuxi-Emoticons/face-surprised-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-surprised-symbolic_256x256.png b/images/Smuxi-Emoticons/face-surprised-symbolic_256x256.png new file mode 100644 index 000000000..6e5fe10f2 Binary files /dev/null and b/images/Smuxi-Emoticons/face-surprised-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-tired-symbolic.png b/images/Smuxi-Emoticons/face-tired-symbolic.png new file mode 100644 index 000000000..b9e0b1fb8 Binary files /dev/null and b/images/Smuxi-Emoticons/face-tired-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-tired-symbolic.svg b/images/Smuxi-Emoticons/face-tired-symbolic.svg new file mode 100644 index 000000000..3f03dbfd4 --- /dev/null +++ b/images/Smuxi-Emoticons/face-tired-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-tired-symbolic_256x256.png b/images/Smuxi-Emoticons/face-tired-symbolic_256x256.png new file mode 100644 index 000000000..f99f0f561 Binary files /dev/null and b/images/Smuxi-Emoticons/face-tired-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-uncertain-symbolic.png b/images/Smuxi-Emoticons/face-uncertain-symbolic.png new file mode 100644 index 000000000..1bf96ca82 Binary files /dev/null and b/images/Smuxi-Emoticons/face-uncertain-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-uncertain-symbolic.svg b/images/Smuxi-Emoticons/face-uncertain-symbolic.svg new file mode 100644 index 000000000..14a7d6c7a --- /dev/null +++ b/images/Smuxi-Emoticons/face-uncertain-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-uncertain-symbolic_256x256.png b/images/Smuxi-Emoticons/face-uncertain-symbolic_256x256.png new file mode 100644 index 000000000..678211c96 Binary files /dev/null and b/images/Smuxi-Emoticons/face-uncertain-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-wink-symbolic.png b/images/Smuxi-Emoticons/face-wink-symbolic.png new file mode 100644 index 000000000..63a59bc08 Binary files /dev/null and b/images/Smuxi-Emoticons/face-wink-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-wink-symbolic.svg b/images/Smuxi-Emoticons/face-wink-symbolic.svg new file mode 100644 index 000000000..e7ba5eaba --- /dev/null +++ b/images/Smuxi-Emoticons/face-wink-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-wink-symbolic_256x256.png b/images/Smuxi-Emoticons/face-wink-symbolic_256x256.png new file mode 100644 index 000000000..0d22ca15c Binary files /dev/null and b/images/Smuxi-Emoticons/face-wink-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-worried-symbolic.png b/images/Smuxi-Emoticons/face-worried-symbolic.png new file mode 100644 index 000000000..6abc759aa Binary files /dev/null and b/images/Smuxi-Emoticons/face-worried-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-worried-symbolic.svg b/images/Smuxi-Emoticons/face-worried-symbolic.svg new file mode 100644 index 000000000..5c03f7a3c --- /dev/null +++ b/images/Smuxi-Emoticons/face-worried-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-worried-symbolic_256x256.png b/images/Smuxi-Emoticons/face-worried-symbolic_256x256.png new file mode 100644 index 000000000..853907e86 Binary files /dev/null and b/images/Smuxi-Emoticons/face-worried-symbolic_256x256.png differ diff --git a/images/Smuxi-Emoticons/face-yawn-symbolic.png b/images/Smuxi-Emoticons/face-yawn-symbolic.png new file mode 100644 index 000000000..89fb361bb Binary files /dev/null and b/images/Smuxi-Emoticons/face-yawn-symbolic.png differ diff --git a/images/Smuxi-Emoticons/face-yawn-symbolic.svg b/images/Smuxi-Emoticons/face-yawn-symbolic.svg new file mode 100644 index 000000000..bfeb4b37f --- /dev/null +++ b/images/Smuxi-Emoticons/face-yawn-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + diff --git a/images/Smuxi-Emoticons/face-yawn-symbolic_256x256.png b/images/Smuxi-Emoticons/face-yawn-symbolic_256x256.png new file mode 100644 index 000000000..71560bcd9 Binary files /dev/null and b/images/Smuxi-Emoticons/face-yawn-symbolic_256x256.png differ diff --git a/images/go-next-symbolic.png b/images/go-next-symbolic.png new file mode 100644 index 000000000..3d92ffa75 Binary files /dev/null and b/images/go-next-symbolic.png differ diff --git a/images/go-next-symbolic.svg b/images/go-next-symbolic.svg new file mode 100644 index 000000000..d6404df93 --- /dev/null +++ b/images/go-next-symbolic.svg @@ -0,0 +1,34 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + diff --git a/images/go-next-symbolic_256x256.png b/images/go-next-symbolic_256x256.png new file mode 100644 index 000000000..08051e5dd Binary files /dev/null and b/images/go-next-symbolic_256x256.png differ diff --git a/src/Engine/Config/MessageBuilderSettings.cs b/src/Engine/Config/MessageBuilderSettings.cs index 92c3b8659..4fa9e6aef 100644 --- a/src/Engine/Config/MessageBuilderSettings.cs +++ b/src/Engine/Config/MessageBuilderSettings.cs @@ -323,6 +323,12 @@ static void InitBuiltinSmartLinks() BuiltinPatterns.Add(new MessagePatternModel(regex) { LinkFormat = "http://bugzilla.xamarin.com/show_bug.cgi?id={1}" }); + // Emocitons + regex = new Regex(@"(o|>|3)?:[)o(]|:([()\/D|*$Ppx?oO]|<{1,2}|8\)|'\()|\^_\^|-_-|B\||;\)", + RegexOptions.Compiled); + BuiltinPatterns.Add(new MessagePatternModel(regex) { + MessagePartType = typeof(ImageMessagePartModel) + }); // TODO: msgid -> http://mid.gmane.org/{1} // TODO: ISSN/ISBN diff --git a/src/Frontend-GNOME/EmoticonButton.cs b/src/Frontend-GNOME/EmoticonButton.cs new file mode 100644 index 000000000..76f255746 --- /dev/null +++ b/src/Frontend-GNOME/EmoticonButton.cs @@ -0,0 +1,78 @@ +// Smuxi - Smart MUltipleXed Irc +// +// Copyright (c) 2014 jamesaxl +// +// Full GPL License: +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +using System; + +namespace Smuxi.Frontend.Gnome +{ + public class EmoticonButton : Gtk.Button + { + private Entry Entry { get; set; } + private string Symbol { get; set; } + private EmoticonsWindow EmoticonsWindow { get; set; } + + public EmoticonButton (EmoticonsWindow emoticonsWindow, Entry entry, string emoticonSymbol, Gdk.Pixbuf emoticonImage, string emoticonName) + { + Entry = entry; + EmoticonsWindow = emoticonsWindow; + if (Entry == null) { + throw new ArgumentNullException("Entry"); + } + if (EmoticonsWindow == null) { + throw new ArgumentNullException("EmoticonsWindow"); + } + Relief = Gtk.ReliefStyle.None; + TooltipText = emoticonName; + Symbol = emoticonSymbol; + var img = new Gtk.Image(); + img.Pixbuf = emoticonImage; + Image = img; + Clicked += OnClicked; + } + + public EmoticonButton (EmoticonsWindow emoticonsWindow, Entry entry, string emoticonSymbol, string emoticonName) + { + Entry = entry; + EmoticonsWindow = emoticonsWindow; + if (Entry == null) { + throw new ArgumentNullException("Entry"); + } + if (EmoticonsWindow == null) { + throw new ArgumentNullException("EmoticonsWindow"); + } + Relief = Gtk.ReliefStyle.None; + TooltipText = emoticonName; + Symbol = emoticonSymbol; + var font = Pango.FontDescription.FromString("Serif Bold 24"); + var sybmbolLabel = new Gtk.Label(emoticonSymbol); + sybmbolLabel.ModifyFont(font); + Label = emoticonSymbol; + Clicked += OnClicked; + } + + private void OnClicked(object obj, EventArgs args) + { + var action = Symbol; + var iterInstert = Entry.Buffer.EndIter; + Entry.Buffer.Insert(ref iterInstert, action); + Entry.HasFocus = true; + EmoticonsWindow.Hide(); + } + } +} diff --git a/src/Frontend-GNOME/EmoticonSticker.cs b/src/Frontend-GNOME/EmoticonSticker.cs new file mode 100644 index 000000000..3c6f28ac6 --- /dev/null +++ b/src/Frontend-GNOME/EmoticonSticker.cs @@ -0,0 +1,72 @@ +// Smuxi - Smart MUltipleXed Irc +// +// Copyright (c) 2014 jamesaxl +// +// Full GPL License: +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +using System; + +namespace Smuxi.Frontend.Gnome +{ + public class EmoticonSticker : Gtk.EventBox + { + private EmoticonsWindow EmoticonsWindow { get; set; } + private Entry Entry { get; set; } + private MainWindow MainWindow { get; set; } + private EmoticonStore EmoticonStore { get; set; } + public bool OpenedEmoticonWindow { get; set; } + + public EmoticonSticker(Entry entry, MainWindow mainWindow, EmoticonStore emoticonStore) + { + Entry = entry; + MainWindow = mainWindow; + EmoticonStore = emoticonStore; + if (Entry == null) { + throw new ArgumentNullException("Entry"); + } + if (MainWindow == null) { + throw new ArgumentNullException("MainWindow"); + } + if (EmoticonStore == null) { + throw new ArgumentNullException("EmoticonStore"); + } + OpenedEmoticonWindow = false; + var emoticonSticker = new Gtk.Image(); + emoticonSticker.Pixbuf = emoticonStore.GetEmoticonImage("smile", 20); + Add(emoticonSticker); + ButtonPressEvent += OnClicked; + EmoticonsWindow = new EmoticonsWindow(Entry, MainWindow, EmoticonStore, this); + } + + private void OnClicked(object obj, EventArgs args) + { + if (!OpenedEmoticonWindow) { + int alx; + int aly; + var alh = Allocation.Y - 160; + GdkWindow.GetOrigin(out alx, out aly); + EmoticonsWindow.Decorated = false; + EmoticonsWindow.KeepAbove = true; + EmoticonsWindow.Move(alx, aly + alh); + EmoticonsWindow.ShowAll(); + OpenedEmoticonWindow = true; + } else { + EmoticonsWindow.Hide(); + OpenedEmoticonWindow = false; + } + } + } +} diff --git a/src/Frontend-GNOME/EmoticonStore.cs b/src/Frontend-GNOME/EmoticonStore.cs new file mode 100644 index 000000000..a322e438a --- /dev/null +++ b/src/Frontend-GNOME/EmoticonStore.cs @@ -0,0 +1,69 @@ +// Smuxi - Smart MUltipleXed Irc +// +// Copyright (c) 2014 jamesaxl +// +// Full GPL License: +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +using System; +using System.Collections.Generic; + +namespace Smuxi.Frontend.Gnome +{ + public class EmoticonStore : Dictionary + { + public EmoticonStore() + { + Add("o:)", "angel"); + Add(">:o", "angry"); + Add(":/", "confused"); + Add("B|", "cool"); + Add(":'(", "crying"); + Add("3:)", "devilish"); + Add(">:(", "embarrassed"); + Add(":*", "kiss"); + Add("^_^", "laugh"); + Add(":8)", "monkey"); + Add(":|", "plain"); + Add(":P", "raspberry"); + Add(":p", "raspberry"); + Add(":(", "sad"); + Add(":x", "shutmouth"); + Add(":$", "sick"); + Add(":D", "smile-big"); + Add(":)", "smile"); + Add(":?", "smirk"); + Add(":o", "surprised"); + Add("-_-", "tired"); + Add(":<", "uncertain"); + Add(";)", "wink"); + Add(":<<", "worried"); + Add(":O", "yawn"); + } + + public Gdk.Pixbuf GetEmoticonImage(string emoticonName, int size = 16 ) + { + var emoticonImage = Frontend.LoadIcon("face- " + emoticonName + "-symbolic", size, "face-" + emoticonName + "-symbolic_256x256.png"); + return emoticonImage; + } + + public bool TryGetImage(string emoticonSymbol) + { + if (this.ContainsKey(emoticonSymbol)) + return true; + return false; + } + } +} diff --git a/src/Frontend-GNOME/EmoticonsWindow.cs b/src/Frontend-GNOME/EmoticonsWindow.cs new file mode 100644 index 000000000..877eda7a1 --- /dev/null +++ b/src/Frontend-GNOME/EmoticonsWindow.cs @@ -0,0 +1,96 @@ +// Smuxi - Smart MUltipleXed Irc +// +// Copyright (c) 2014 jamesaxl +// +// Full GPL License: +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Smuxi.Frontend.Gnome +{ + public class EmoticonsWindow : Gtk.Window + { + private Entry Entry { get; set; } + private EmoticonStore EmoticonStore { get; set; } + private EmoticonSticker EmoticonSticker { get; set; } + + public EmoticonsWindow(Entry entry, MainWindow mainWindow, EmoticonStore emoticonStore, EmoticonSticker emoticonSticker) + : base(Gtk.WindowType.Popup) + { + EmoticonStore = emoticonStore; + Entry = entry; + EmoticonSticker = emoticonSticker; + if(EmoticonStore == null){ + throw new ArgumentNullException("EmoticonStore"); + } + if(Entry == null){ + throw new ArgumentNullException("Entry"); + } + if(EmoticonSticker == null){ + throw new ArgumentNullException("EmoticonSticker"); + } + var emoticonNoteBook = new Gtk.Notebook(); + var emoticonsTableImage = new Gtk.Table(3,8,true); + var emoticonsTableSymbol = new Gtk.Table(3,8,true); + var emoticonButtonSymbolList = new List(); + var emoticonButtonImageList = new List(); + + foreach (var emoticon in EmoticonStore) { + emoticonButtonImageList.Add(new EmoticonButton(this, Entry, emoticon.Key, EmoticonStore.GetEmoticonImage(emoticon.Value, 24), emoticon.Value)); + emoticonButtonSymbolList.Add(new EmoticonButton(this, Entry, emoticon.Key, emoticon.Value)); + } + + for (var i = 0; i <= 23; i++) { + if (i < 8) { + emoticonsTableImage.Attach(emoticonButtonImageList [i], (uint) i, (uint) i + 1, 0, 1); + emoticonsTableSymbol.Attach(emoticonButtonSymbolList [i], (uint) i, (uint) i + 1, 0, 1); + } else if (i >= 8 && i <= 15) { + var pos = (uint) i - 8; + emoticonsTableImage.Attach(emoticonButtonImageList [i], pos, pos + 1, 1, 2); + emoticonsTableSymbol.Attach(emoticonButtonSymbolList [i], pos, pos + 1, 1, 2); + } else if (i >= 16 && i <= 23) { + var pos = (uint) i - 16; + emoticonsTableImage.Attach(emoticonButtonImageList[i], pos, pos + 1, 2, 3); + emoticonsTableSymbol.Attach(emoticonButtonSymbolList[i], pos, pos + 1, 2, 3); + } + } + + var imageTabLabel = new Gtk.Image(); + var symbolTabLabel = new Gtk.Label(":)"); + imageTabLabel.Pixbuf = EmoticonStore.GetEmoticonImage("smile", 24); + var font = Pango.FontDescription.FromString("Serif Bold 24"); + symbolTabLabel.ModifyFont(font); + emoticonNoteBook.AppendPage(emoticonsTableImage, imageTabLabel); + emoticonNoteBook.AppendPage(emoticonsTableSymbol, symbolTabLabel); + emoticonNoteBook.SetTabLabelPacking(emoticonsTableImage, true, false, Gtk.PackType.Start); + emoticonNoteBook.SetTabLabelPacking(emoticonsTableSymbol, true, false, Gtk.PackType.Start); + Add(emoticonNoteBook); + mainWindow.FocusOutEvent += HideEmoticonsWindow; + mainWindow.FocusChildSet += HideEmoticonsWindow; + Entry.FocusInEvent += HideEmoticonsWindow; + Hidden += delegate(object sender, EventArgs e) { + EmoticonSticker.OpenedEmoticonWindow = false; + }; + } + + private void HideEmoticonsWindow(object obj, EventArgs args) + { + Hide(); + } + } +} diff --git a/src/Frontend-GNOME/MainWindow.cs b/src/Frontend-GNOME/MainWindow.cs index 4b872745a..974340de6 100644 --- a/src/Frontend-GNOME/MainWindow.cs +++ b/src/Frontend-GNOME/MainWindow.cs @@ -70,6 +70,7 @@ public class MainWindow : Gtk.Window public bool IsMinimized { get; private set; } public bool IsMaximized { get; private set; } public int WindowWidth { get; private set; } + public EmoticonStore EmoticonStore { get; set; } public bool CaretMode { get { @@ -137,6 +138,7 @@ public MainWindow() : base("Smuxi") { // restore window size / position int width, heigth; + EmoticonStore = new EmoticonStore(); if (Frontend.FrontendConfig[Frontend.UIName + "/Interface/Width"] != null) { width = (int) Frontend.FrontendConfig[Frontend.UIName + "/Interface/Width"]; } else { @@ -246,7 +248,16 @@ public MainWindow() : base("Smuxi") }; args.Requisition = bestSize; }; + var eb = new Gtk.EventBox(); + var iconBar = new Gtk.Image(); + iconBar.Pixbuf = Frontend.LoadIcon("go-next-symbolic", 16, "go-next-symbolic.png"); + var bottom = new Gtk.HBox(false, 0); + eb.Add(bottom); + var EmoticonSticker = new EmoticonSticker(Entry, this, EmoticonStore); entryScrolledWindow.Add(Entry); + bottom.PackStart(EmoticonSticker,false, true, 1); + bottom.PackStart(entryScrolledWindow,true, true,1); + bottom.PackStart(iconBar,false, true, 1); ProgressBar = new Gtk.ProgressBar(); StatusHBox = new Gtk.HBox(); @@ -280,7 +291,7 @@ public MainWindow() : base("Smuxi") } }; entryPaned.Pack1(treeviewPaned, true, false); - entryPaned.Pack2(entryScrolledWindow, false, false); + entryPaned.Pack2(eb, false, false); Gtk.VBox vbox = new Gtk.VBox(); vbox.PackStart(MenuWidget, false, false, 0); diff --git a/src/Frontend-GNOME/Makefile.am b/src/Frontend-GNOME/Makefile.am index e1a79fb69..35a97360b 100644 --- a/src/Frontend-GNOME/Makefile.am +++ b/src/Frontend-GNOME/Makefile.am @@ -124,6 +124,10 @@ FILES = \ IndicateManager.cs \ Main.cs \ MainWindow.cs \ + EmoticonButton.cs \ + EmoticonSticker.cs \ + EmoticonsWindow.cs \ + EmoticonStore.cs \ NetworkManager.cs \ NotImplementedMessageDialog.cs \ Notebook.cs \ @@ -201,7 +205,56 @@ RESOURCES = \ $(top_srcdir)/images/group-chat_256x256.png \ $(top_srcdir)/images/person-chat_256x256.png \ $(top_srcdir)/images/protocol-chat_256x256.png \ - $(top_srcdir)/images/session-chat_256x256.png + $(top_srcdir)/images/session-chat_256x256.png \ + $(top_srcdir)/images/go-next-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-angel-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-angry-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-confused-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-cool-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-crying-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-devilish-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-embarrassed-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-kiss-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-laugh-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-monkey-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-plain-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-raspberry-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-sad-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-shutmouth-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-sick-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-smile-big-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-smile-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-smirk-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-surprised-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-tired-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-uncertain-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-wink-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-worried-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-yawn-symbolic.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-angel.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-angry.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-confused.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-cool.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-crying.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-devilish.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-embarrassed.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-kiss.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-laugh.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-monkey.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-plain.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-raspberry.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-sad.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-shutmouth.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-sick.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-smile-big.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-smile.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-smirk.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-surprised.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-tired.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-uncertain.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-wink.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-worried.png \ + $(top_srcdir)/images/Smuxi-Emoticons/face-yawn.png EXTRAS = \ smuxi-frontend-gnome.in \ diff --git a/src/Frontend-GNOME/Views/Chats/ChatView.cs b/src/Frontend-GNOME/Views/Chats/ChatView.cs index 7c822170b..d8765bfda 100644 --- a/src/Frontend-GNOME/Views/Chats/ChatView.cs +++ b/src/Frontend-GNOME/Views/Chats/ChatView.cs @@ -291,6 +291,7 @@ public ChatView(ChatModel chat) IsAutoScrolling = true; MessageTextView tv = new MessageTextView(); + tv.EmoticonStore = Frontend.MainWindow.EmoticonStore; _EndMark = tv.Buffer.CreateMark("end", tv.Buffer.EndIter, false); tv.ShowTimestamps = true; tv.ShowMarkerline = true; diff --git a/src/Frontend-GNOME/Views/MessageTextView.cs b/src/Frontend-GNOME/Views/MessageTextView.cs index 2305ea84c..96389a254 100644 --- a/src/Frontend-GNOME/Views/MessageTextView.cs +++ b/src/Frontend-GNOME/Views/MessageTextView.cs @@ -51,6 +51,7 @@ public class MessageTextView : Gtk.TextView private Gdk.Color _MarkerlineColor = new Gdk.Color(255, 0, 0); private int _MarkerlineBufferPosition; private int _BufferLines = -1; + public EmoticonStore EmoticonStore{ get; set; } Gtk.TextTag BoldTag { get; set; } Gtk.TextTag ItalicTag { get; set; } @@ -357,6 +358,14 @@ public void AddMessage(MessageModel msg, bool addLinebreak, bool showTimestamps) tags.Add(LinkTag); buffer.InsertWithTags(ref iter, linkText, tags.ToArray()); + } else if (msgPart is ImageMessagePartModel) { + var imgMsgPart = (ImageMessagePartModel) msgPart; + if (EmoticonStore.TryGetImage(imgMsgPart.ImageFileName)) { + var imgPixbuf = EmoticonStore.GetEmoticonImage(EmoticonStore [imgMsgPart.ImageFileName]); + buffer.InsertPixbuf(ref iter, imgPixbuf); + } else { + buffer.Insert(ref iter, imgMsgPart.ImageFileName); + } } else if (msgPart is TextMessagePartModel) { var tags = new List(); TextMessagePartModel fmsgti = (TextMessagePartModel) msgPart;