[empathy: 8/19] Add an icon to edited messages
- From: Danielle Madeley <daniellem src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy: 8/19] Add an icon to edited messages
- Date: Mon, 20 Jun 2011 10:08:35 +0000 (UTC)
commit 04986511e537b4a5d90cc13f63580984e6fa1318
Author: Danielle Madeley <danielle madeley collabora co uk>
Date: Fri May 20 13:02:45 2011 +1000
Add an icon to edited messages
Currently this is using "format-text-direction-ltr" which is a crappy choice.
We should ask for a better icon. Also, this should really be implemented as
a class, so that the icon can change with the theme. Or be made part of the
Adium theme, or something. Basically this is kludgey.
libempathy-gtk/empathy-images.h | 2 ++
libempathy-gtk/empathy-theme-adium.c | 28 ++++++++++++++++++++++++++++
2 files changed, 30 insertions(+), 0 deletions(-)
---
diff --git a/libempathy-gtk/empathy-images.h b/libempathy-gtk/empathy-images.h
index 0761fd7..2962ad6 100644
--- a/libempathy-gtk/empathy-images.h
+++ b/libempathy-gtk/empathy-images.h
@@ -46,6 +46,8 @@ G_BEGIN_DECLS
#define EMPATHY_IMAGE_LOG "document-open-recent"
#define EMPATHY_IMAGE_DOCUMENT_SEND "document-send"
#define EMPATHY_IMAGE_AVATAR_DEFAULT "avatar-default"
+/* FIXME: need a better icon! */
+#define EMPATHY_IMAGE_EDIT_MESSAGE "format-text-direction-ltr"
#define EMPATHY_IMAGE_CALL "call-start"
#define EMPATHY_IMAGE_CALL_MISSED "call-stop"
diff --git a/libempathy-gtk/empathy-theme-adium.c b/libempathy-gtk/empathy-theme-adium.c
index 14a3998..a4df12d 100644
--- a/libempathy-gtk/empathy-theme-adium.c
+++ b/libempathy-gtk/empathy-theme-adium.c
@@ -1036,6 +1036,7 @@ theme_adium_edit_message (EmpathyChatView *view,
WebKitDOMElement *span;
gchar *id, *parsed_body;
gchar *tooltip, *timestamp;
+ GtkIconInfo *icon_info;
GError *error = NULL;
if (priv->pages_loading != 0) {
@@ -1088,6 +1089,33 @@ theme_adium_edit_message (EmpathyChatView *view,
g_free (tooltip);
g_free (timestamp);
+ /* mark this message as edited */
+ icon_info = gtk_icon_theme_lookup_icon (gtk_icon_theme_get_default (),
+ EMPATHY_IMAGE_EDIT_MESSAGE, 16, 0);
+
+ if (icon_info != NULL) {
+ /* set the icon as a background image using CSS
+ * FIXME: the icon won't update in response to theme changes */
+ gchar *style = g_strdup_printf (
+ "background-image:url('%s');"
+ "background-repeat:no-repeat;"
+ "background-position:left center;"
+ "padding-left:19px;", /* 16px icon + 3px padding */
+ gtk_icon_info_get_filename (icon_info));
+
+ webkit_dom_element_set_attribute (span, "style", style, &error);
+
+ if (error != NULL) {
+ DEBUG ("Error setting element style: %s",
+ error->message);
+ g_clear_error (&error);
+ /* not fatal */
+ }
+
+ g_free (style);
+ gtk_icon_info_free (icon_info);
+ }
+
goto finally;
except:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]