const gchar *account_id,
const gchar *mailbox,
gboolean *has_signature);
+static const GdkPixbuf *modest_account_protocol_get_icon_default (ModestAccountProtocol *self,
+ ModestAccountProtocolIconType icon_type,
+ GObject *object,
+ guint icon_size);
/* globals */
modest_account_protocol_get_from_list_default;
account_class->get_signature =
modest_account_protocol_get_signature_default;
+ account_class->get_icon =
+ modest_account_protocol_get_icon_default;
}
static void
return NULL;
}
+const GdkPixbuf*
+modest_account_protocol_get_icon (ModestAccountProtocol *self,
+ ModestAccountProtocolIconType icon_type,
+ GObject *object,
+ guint icon_size)
+{
+ return MODEST_ACCOUNT_PROTOCOL_GET_CLASS (self)->get_icon (self, icon_type, object, icon_size);
+}
+
+static const GdkPixbuf *
+modest_account_protocol_get_icon_default (ModestAccountProtocol *self, ModestAccountProtocolIconType icon_type,
+ GObject *object, guint icon_size)
+{
+ g_return_val_if_fail (MODEST_ACCOUNT_PROTOCOL (self), NULL);
+
+ return NULL;
+}
typedef struct _ModestAccountProtocol ModestAccountProtocol;
typedef struct _ModestAccountProtocolClass ModestAccountProtocolClass;
+typedef enum {
+ MODEST_ACCOUNT_PROTOCOL_ICON_MAILBOX = 0,
+ MODEST_ACCOUNT_PROTOCOL_ICON_PROTOCOL,
+ MODEST_ACCOUNT_PROTOCOL_ICON_ACCOUNT,
+ MODEST_ACCOUNT_PROTOCOL_ICON_FOLDER,
+} ModestAccountProtocolIconType;
+
typedef void (*ModestAccountProtocolCheckSupportFunc) (ModestAccountProtocol *self,
gboolean supported, gpointer userdata);
gchar * (*get_from) (ModestAccountProtocol *self, const gchar *account_id, const gchar *mailbox);
ModestPairList * (*get_from_list) (ModestAccountProtocol *self, const gchar *account_id);
gchar * (*get_signature) (ModestAccountProtocol *self, const gchar *account_id, const gchar *mailbox, gboolean *has_signature);
+ const GdkPixbuf * (*get_icon) (ModestAccountProtocol *self, ModestAccountProtocolIconType icon_type,
+ GObject *object, guint icon_size);
};
/**
const gchar *mailbox,
gboolean *has_signature);
+/**
+ * modest_account_protocol_get_icon:
+ * @self: a #ModestAccountProtocl
+ * @icon_type: a #ModestAccountProtocolIconType
+ * @object: a #GObject
+ * @icon_size: the icon size to get
+ *
+ * Returns a @self owned #GdkPixbuf with the icon for @icon_type and @object. @object type
+ * should match @icon_type.
+ *
+ * Returns: a #GdkPixbuf (don't free or manipulate this, just copy)
+ */
+const GdkPixbuf * modest_account_protocol_get_icon (ModestAccountProtocol *self, ModestAccountProtocolIconType icon_type,
+ GObject *object, guint icon_size);
+
+
G_END_DECLS
#endif /* __MODEST_ACCOUNT_PROTOCOL_H__ */