GtkWidget *fromto_contents;
GtkWidget *time_label;
GtkWidget *date_label;
+ GtkWidget *brand_label;
+ GtkWidget *brand_image;
GSList *custom_labels;
static gboolean modest_compact_mail_header_view_get_loading_default (ModestMailHeaderView *headers_view);
static void modest_compact_mail_header_view_set_loading (ModestMailHeaderView *headers_view, gboolean is_loading);
static void modest_compact_mail_header_view_set_loading_default (ModestMailHeaderView *headers_view, gboolean is_loading);
+static void modest_compact_mail_header_view_set_branding (ModestMailHeaderView *headers_view, const gchar *brand_name, const GdkPixbuf *brand_icon);
+static void modest_compact_mail_header_view_set_branding_default (ModestMailHeaderView *headers_view, const gchar *brand_name, const GdkPixbuf *brand_icon);
static const GtkWidget *modest_compact_mail_header_view_add_custom_header (ModestMailHeaderView *self,
const gchar *label,
GtkWidget *custom_widget,
GtkWidget *from_date_hbox, *vbox, *main_vbox;
GtkWidget *main_align;
GtkWidget *headers_date_hbox;
+ GtkWidget *date_brand_vbox, *brand_hbox;
priv->header = NULL;
priv->custom_labels = NULL;
gtk_misc_set_alignment (GTK_MISC (priv->time_label), 1.0, 1.0);
gtk_misc_set_padding (GTK_MISC (priv->time_label), MODEST_MARGIN_DOUBLE, 0);
+ priv->brand_label = gtk_label_new (NULL);
+ gtk_label_set_justify (GTK_LABEL (priv->brand_label), GTK_JUSTIFY_RIGHT);
+ gtk_misc_set_alignment (GTK_MISC (priv->brand_label), 1.0, 0.5);
+ gtk_misc_set_padding (GTK_MISC (priv->brand_label), MODEST_MARGIN_DOUBLE, 0);
+ gtk_widget_set_no_show_all (priv->brand_label, TRUE);
+
+ priv->brand_image = gtk_image_new ();
+ gtk_misc_set_alignment (GTK_MISC (priv->brand_image), 0.5, 0.5);
+ gtk_widget_set_no_show_all (priv->brand_image, TRUE);
+
gtk_box_pack_start (GTK_BOX (from_date_hbox), priv->fromto_label, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (from_date_hbox), priv->fromto_contents, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (from_date_hbox), priv->time_label, FALSE, FALSE, 0);
gtk_container_set_focus_chain (GTK_CONTAINER (priv->headers_vbox), NULL);
g_object_ref (priv->headers_vbox);
+ brand_hbox = gtk_hbox_new (FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (brand_hbox), priv->brand_image, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (brand_hbox), priv->brand_label, TRUE, TRUE, 0);
+
+ date_brand_vbox = gtk_vbox_new (FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (date_brand_vbox), priv->date_label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (date_brand_vbox), brand_hbox, FALSE, FALSE, 0);
+
gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (headers_date_hbox), priv->headers_vbox, TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (headers_date_hbox), priv->date_label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (headers_date_hbox), date_brand_vbox, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (main_vbox), headers_date_hbox, FALSE, FALSE, 0);
main_align = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
klass->set_priority = modest_compact_mail_header_view_set_priority;
klass->get_loading = modest_compact_mail_header_view_get_loading;
klass->set_loading = modest_compact_mail_header_view_set_loading;
+ klass->set_branding = modest_compact_mail_header_view_set_branding;
klass->add_custom_header = modest_compact_mail_header_view_add_custom_header;
return;
klass->get_priority_func = modest_compact_mail_header_view_get_priority_default;
klass->set_loading_func = modest_compact_mail_header_view_set_loading_default;
klass->get_loading_func = modest_compact_mail_header_view_get_loading_default;
+ klass->set_branding_func = modest_compact_mail_header_view_set_branding_default;
klass->add_custom_header_func = modest_compact_mail_header_view_add_custom_header_default;
object_class->finalize = modest_compact_mail_header_view_finalize;
priv->is_loading = is_loading;
}
+static void
+modest_compact_mail_header_view_set_branding (ModestMailHeaderView *headers_view, const gchar *brand_name, const GdkPixbuf *brand_icon)
+{
+ MODEST_COMPACT_MAIL_HEADER_VIEW_GET_CLASS (headers_view)->set_branding_func (headers_view, brand_name, brand_icon);
+}
+
+static void
+modest_compact_mail_header_view_set_branding_default (ModestMailHeaderView *headers_view, const gchar *brand_name, const GdkPixbuf *brand_icon)
+{
+ ModestCompactMailHeaderViewPriv *priv;
+
+ g_return_if_fail (MODEST_IS_COMPACT_MAIL_HEADER_VIEW (headers_view));
+ priv = MODEST_COMPACT_MAIL_HEADER_VIEW_GET_PRIVATE (headers_view);
+
+ if (brand_name) {
+ gtk_label_set_text (GTK_LABEL (priv->brand_label), brand_name);
+ gtk_widget_show (priv->brand_label);
+ } else {
+ gtk_widget_hide (priv->brand_label);
+ }
+
+ if (brand_icon) {
+ gtk_image_set_from_pixbuf (GTK_IMAGE (priv->brand_image), (GdkPixbuf *) brand_icon);
+ gtk_widget_show (priv->brand_image);
+ } else {
+ gtk_widget_hide (priv->brand_image);
+ }
+
+
+}
+
static void
on_notify_style (GObject *obj, GParamSpec *spec, gpointer userdata)
{
TnyHeaderFlags (*get_priority_func) (ModestMailHeaderView *self);
void (*set_loading_func) (ModestMailHeaderView *self, gboolean is_loading);
gboolean (*get_loading_func) (ModestMailHeaderView *self);
+ void (*set_branding_func) (ModestMailHeaderView *self, const gchar *brand_name, const GdkPixbuf *brand_icon);
const GtkWidget * (*add_custom_header_func) (ModestMailHeaderView *self,
const gchar *label,
GtkWidget *custom_widget,
TnyHeaderFlags flags);
static gboolean modest_expander_mail_header_view_get_loading (ModestMailHeaderView *headers_view);
static gboolean modest_expander_mail_header_view_get_loading_default (ModestMailHeaderView *headers_view);
+static void modest_expander_mail_header_view_set_branding (ModestMailHeaderView *headers_view, const gchar *brand_name, const GdkPixbuf *brand_icon);
+static void modest_expander_mail_header_view_set_branding_default (ModestMailHeaderView *headers_view, const gchar *brand_name, const GdkPixbuf *brand_icon);
static void modest_expander_mail_header_view_set_loading (ModestMailHeaderView *headers_view, gboolean is_loading);
static void modest_expander_mail_header_view_set_loading_default (ModestMailHeaderView *headers_view, gboolean is_loading);
static const GtkWidget *modest_expander_mail_header_view_add_custom_header (ModestMailHeaderView *self,
klass->set_priority = modest_expander_mail_header_view_set_priority;
klass->get_loading = modest_expander_mail_header_view_get_loading;
klass->set_loading = modest_expander_mail_header_view_set_loading;
+ klass->set_branding = modest_expander_mail_header_view_set_branding;
klass->add_custom_header = modest_expander_mail_header_view_add_custom_header;
return;
klass->get_priority_func = modest_expander_mail_header_view_get_priority_default;
klass->set_loading_func = modest_expander_mail_header_view_set_loading_default;
klass->get_loading_func = modest_expander_mail_header_view_get_loading_default;
+ klass->set_branding_func = modest_expander_mail_header_view_set_branding_default;
klass->add_custom_header_func = modest_expander_mail_header_view_add_custom_header_default;
object_class->finalize = modest_expander_mail_header_view_finalize;
priv->is_loading = is_loading;
}
+
+static void
+modest_expander_mail_header_view_set_branding (ModestMailHeaderView *headers_view, const gchar *brand_name, const GdkPixbuf *brand_icon)
+{
+ MODEST_EXPANDER_MAIL_HEADER_VIEW_GET_CLASS (headers_view)->set_branding_func (headers_view, brand_name, brand_icon);
+}
+
+static void
+modest_expander_mail_header_view_set_branding_default (ModestMailHeaderView *headers_view, const gchar *brand_name, const GdkPixbuf *brand_icon)
+{
+ g_return_if_fail (MODEST_IS_EXPANDER_MAIL_HEADER_VIEW (headers_view));
+
+ /* Empty implementation */
+ return;
+}
TnyHeaderFlags (*get_priority_func) (ModestMailHeaderView *self);
void (*set_loading_func) (ModestMailHeaderView *self, gboolean is_loading);
gboolean (*get_loading_func) (ModestMailHeaderView *self);
+ void (*set_branding_func) (ModestMailHeaderView *self, const gchar *brand_name, const GdkPixbuf *brand_icon);
const GtkWidget *(*add_custom_header_func) (ModestMailHeaderView *self,
const gchar *label,
GtkWidget *custom_widget,
static void modest_gtkhtml_msg_view_grab_focus (ModestMsgView *self);
static void modest_gtkhtml_msg_view_remove_attachment (ModestMsgView *view, TnyMimePart *attachment);
static void modest_gtkhtml_msg_view_request_fetch_images (ModestMsgView *view);
+static void modest_gtkhtml_msg_view_set_branding (ModestMsgView *view, const gchar *brand_name, const GdkPixbuf *brand_icon);
static gboolean modest_gtkhtml_msg_view_has_blocked_external_images (ModestMsgView *view);
static void modest_gtkhtml_msg_view_set_msg_with_other_body_default (ModestMsgView *view, TnyMsg *msg, TnyMimePart *part);
static GtkAdjustment *modest_gtkhtml_msg_view_get_vadjustment_default (ModestMsgView *self);
static void modest_gtkhtml_msg_view_remove_attachment_default (ModestMsgView *view, TnyMimePart *attachment);
static gboolean modest_gtkhtml_msg_view_has_blocked_external_images_default (ModestMsgView *view);
static void modest_gtkhtml_msg_view_request_fetch_images_default (ModestMsgView *view);
+static void modest_gtkhtml_msg_view_set_branding_default (ModestMsgView *view, const gchar *brand_name, const GdkPixbuf *brand_icon);
/* internal api */
static void set_header (ModestGtkhtmlMsgView *self, TnyHeader *header);
static void grab_focus (ModestGtkhtmlMsgView *self);
static void remove_attachment (ModestGtkhtmlMsgView *view, TnyMimePart *attachment);
static void request_fetch_images (ModestGtkhtmlMsgView *view);
+static void set_branding (ModestGtkhtmlMsgView *view, const gchar *brand_name, const GdkPixbuf *brand_icon);
static gboolean has_blocked_external_images (ModestGtkhtmlMsgView *view);
/* list properties */
klass->grab_focus_func = modest_gtkhtml_msg_view_grab_focus_default;
klass->remove_attachment_func = modest_gtkhtml_msg_view_remove_attachment_default;
klass->request_fetch_images_func = modest_gtkhtml_msg_view_request_fetch_images_default;
+ klass->set_branding_func = modest_gtkhtml_msg_view_set_branding_default;
klass->has_blocked_external_images_func = modest_gtkhtml_msg_view_has_blocked_external_images_default;
g_type_class_add_private (gobject_class, sizeof(ModestGtkhtmlMsgViewPrivate));
}
}
+static void
+set_branding (ModestGtkhtmlMsgView *self, const gchar *brand_name, const GdkPixbuf *brand_icon)
+{
+ ModestGtkhtmlMsgViewPrivate *priv = MODEST_GTKHTML_MSG_VIEW_GET_PRIVATE (self);
+
+ modest_mail_header_view_set_branding (MODEST_MAIL_HEADER_VIEW (priv->mail_header_view), brand_name, brand_icon);
+}
+
static gboolean
has_blocked_external_images (ModestGtkhtmlMsgView *self)
{
klass->grab_focus_func = modest_gtkhtml_msg_view_grab_focus;
klass->remove_attachment_func = modest_gtkhtml_msg_view_remove_attachment;
klass->request_fetch_images_func = modest_gtkhtml_msg_view_request_fetch_images;
+ klass->set_branding_func = modest_gtkhtml_msg_view_set_branding;
klass->has_blocked_external_images_func = modest_gtkhtml_msg_view_has_blocked_external_images;
return;
request_fetch_images (MODEST_GTKHTML_MSG_VIEW (self));
}
+static void
+modest_gtkhtml_msg_view_set_branding (ModestMsgView *self, const gchar *brand_name, const GdkPixbuf *brand_icon)
+{
+ MODEST_GTKHTML_MSG_VIEW_GET_CLASS (self)->set_branding_func (self, brand_name, brand_icon);
+}
+
+static void
+modest_gtkhtml_msg_view_set_branding_default (ModestMsgView *self, const gchar *brand_name, const GdkPixbuf *brand_icon)
+{
+ set_branding (MODEST_GTKHTML_MSG_VIEW (self), brand_name, brand_icon);
+}
+
static gboolean
modest_gtkhtml_msg_view_has_blocked_external_images (ModestMsgView *self)
{
void (*grab_focus_func) (ModestMsgView *self);
void (*remove_attachment_func) (ModestMsgView *view, TnyMimePart *attachment);
void (*request_fetch_images_func) (ModestMsgView *view);
+ void (*set_branding_func) (ModestMsgView *view, const gchar *brand_name, const GdkPixbuf *brand_icon);
gboolean (*has_blocked_external_images_func) (ModestMsgView *view);
void (*set_scroll_adjustments) (ModestGtkhtmlMsgView *msg_view, GtkAdjustment *hadj, GtkAdjustment *vadj);
MODEST_MAIL_HEADER_VIEW_GET_IFACE (self)->set_loading (self, is_loading);
}
+void
+modest_mail_header_view_set_branding (ModestMailHeaderView *self, const gchar *brand_name, const GdkPixbuf *brand_icon)
+{
+ MODEST_MAIL_HEADER_VIEW_GET_IFACE (self)->set_branding (self, brand_name, brand_icon);
+}
+
const GtkWidget *
modest_mail_header_view_add_custom_header (ModestMailHeaderView *self,
const gchar *label,
gboolean start);
void (*set_loading) (ModestMailHeaderView *self, gboolean is_loading);
gboolean (*get_loading) (ModestMailHeaderView *self);
+ void (*set_branding) (ModestMailHeaderView *self, const gchar *brand_name, const GdkPixbuf *brand_icon);
/* signals */
void (*show_details) (ModestMailHeaderView *msgview,
gboolean start);
void modest_mail_header_view_set_loading (ModestMailHeaderView *self, gboolean is_loading);
gboolean modest_mail_header_view_get_loading (ModestMailHeaderView *self);
+void modest_mail_header_view_set_branding (ModestMailHeaderView *self, const gchar *brand_name, const GdkPixbuf *brand_icon);
G_END_DECLS
static void modest_mozembed_msg_view_grab_focus (ModestMsgView *self);
static void modest_mozembed_msg_view_remove_attachment (ModestMsgView *view, TnyMimePart *attachment);
static void modest_mozembed_msg_view_request_fetch_images (ModestMsgView *view);
+static void modest_mozembed_msg_view_set_branding (ModestMsgView *view, const gchar *brand_name, const GdkPixbuf *brand_icon);
static gboolean modest_mozembed_msg_view_has_blocked_external_images (ModestMsgView *view);
static void modest_mozembed_msg_view_set_msg_with_other_body_default (ModestMsgView *self, TnyMsg *msg, TnyMimePart *part);
static GtkAdjustment *modest_mozembed_msg_view_get_vadjustment_default (ModestMsgView *self);
static void modest_mozembed_msg_view_remove_attachment_default (ModestMsgView *view, TnyMimePart *attachment);
static gboolean modest_mozembed_msg_view_has_blocked_external_images_default (ModestMsgView *view);
static void modest_mozembed_msg_view_request_fetch_images_default (ModestMsgView *view);
+static void modest_mozembed_msg_view_set_branding_default (ModestMsgView *view, const gchar *brand_name, const GdkPixbuf *brand_icon);
/* internal api */
static void set_header (ModestMozembedMsgView *self, TnyHeader *header);
static void grab_focus (ModestMozembedMsgView *self);
static void remove_attachment (ModestMozembedMsgView *view, TnyMimePart *attachment);
static void request_fetch_images (ModestMozembedMsgView *view);
+static void set_branding (ModestMozembedMsgView *view, const gchar *brand_name, const GdkPixbuf *brand_icon);
static gboolean has_blocked_external_images (ModestMozembedMsgView *view);
typedef struct _ModestMozembedMsgViewPrivate ModestMozembedMsgViewPrivate;
klass->grab_focus_func = modest_mozembed_msg_view_grab_focus_default;
klass->remove_attachment_func = modest_mozembed_msg_view_remove_attachment_default;
klass->request_fetch_images_func = modest_mozembed_msg_view_request_fetch_images_default;
+ klass->set_branding_func = modest_mozembed_msg_view_set_branding_default;
klass->has_blocked_external_images_func = modest_mozembed_msg_view_has_blocked_external_images_default;
g_type_class_add_private (gobject_class, sizeof(ModestMozembedMsgViewPrivate));
}
}
+static void
+set_branding (ModestMozembedMsgView *self, const gchar *brand_name, const GdkPixbuf *brand_icon)
+{
+ ModestMozembedMsgViewPrivate *priv = MODEST_MOZEMBED_MSG_VIEW_GET_PRIVATE (self);
+
+ modest_mail_header_view_set_branding (MODEST_MAIL_HEADER_VIEW (priv->mail_header_view), brand_name, brand_icon);
+}
+
static gboolean
has_blocked_external_images (ModestMozembedMsgView *self)
{
klass->grab_focus_func = modest_mozembed_msg_view_grab_focus;
klass->remove_attachment_func = modest_mozembed_msg_view_remove_attachment;
klass->request_fetch_images_func = modest_mozembed_msg_view_request_fetch_images;
+ klass->set_branding_func = modest_mozembed_msg_view_set_branding;
klass->has_blocked_external_images_func = modest_mozembed_msg_view_has_blocked_external_images;
return;
request_fetch_images (MODEST_MOZEMBED_MSG_VIEW (self));
}
+static void
+modest_mozembed_msg_view_set_branding (ModestMsgView *self, const gchar *brand_name, const GdkPixbuf *brand_icon)
+{
+ MODEST_MOZEMBED_MSG_VIEW_GET_CLASS (self)->set_branding_func (self, brand_name, brand_icon);
+}
+
+static void
+modest_mozembed_msg_view_set_branding_default (ModestMsgView *self, const gchar *brand_name, const GdkPixbuf *brand_icon)
+{
+ set_branding (MODEST_MOZEMBED_MSG_VIEW (self), brand_name, brand_icon);
+}
+
static gboolean
modest_mozembed_msg_view_has_blocked_external_images (ModestMsgView *self)
{
void (*grab_focus_func) (ModestMsgView *self);
void (*remove_attachment_func) (ModestMsgView *view, TnyMimePart *attachment);
void (*request_fetch_images_func) (ModestMsgView *view);
+ void (*set_branding_func) (ModestMsgView *view, const gchar *brand_name, const GdkPixbuf *brand_icon);
gboolean (*has_blocked_external_images_func) (ModestMsgView *view);
void (*set_scroll_adjustments) (ModestMozembedMsgView *msg_view, GtkAdjustment *hadj, GtkAdjustment *vadj);
}
void
+modest_msg_view_set_branding (ModestMsgView *self, const gchar *brand_name, const GdkPixbuf *brand_icon)
+{
+ MODEST_MSG_VIEW_GET_IFACE (self)->set_branding_func (self, brand_name, brand_icon);
+}
+
+void
modest_msg_view_request_fetch_images (ModestMsgView *self)
{
MODEST_MSG_VIEW_GET_IFACE (self)->request_fetch_images_func (self);
TnyList * (*get_attachments_func) (ModestMsgView *self);
void (*grab_focus_func) (ModestMsgView *self);
void (*remove_attachment_func) (ModestMsgView *view, TnyMimePart *attachment);
+ void (*set_branding_func) (ModestMsgView *view, const gchar *brand_name, const GdkPixbuf *brand_icon);
/* signals */
void (*set_scroll_adjustments) (ModestMsgView *msg_view,
TnyList *modest_msg_view_get_attachments (ModestMsgView *self);
void modest_msg_view_grab_focus (ModestMsgView *self);
void modest_msg_view_remove_attachment (ModestMsgView *view, TnyMimePart *attachment);
+void modest_msg_view_set_branding (ModestMsgView *view, const gchar *brand_name, const GdkPixbuf *brand_icon);
void modest_msg_view_set_view_images (ModestMsgView *view, gboolean view_images);
void modest_msg_view_request_fetch_images (ModestMsgView *view);
gboolean modest_msg_view_has_blocked_external_images (ModestMsgView *view);