* added type cast macro to avoid gcc warning
[modest] / src / modest-editor-window.c
index 80a1358..72ef31b 100644 (file)
@@ -21,6 +21,7 @@ typedef struct _ModestEditorWindowPrivate ModestEditorWindowPrivate;
 struct _ModestEditorWindowPrivate {
        gpointer user_data;
        gboolean modified;
+       GList *attachments;
 };
 #define MODEST_EDITOR_WINDOW_GET_PRIVATE(o)      (G_TYPE_INSTANCE_GET_PRIVATE((o), \
                                                   MODEST_TYPE_EDITOR_WINDOW, \
@@ -80,6 +81,7 @@ modest_editor_window_init (ModestEditorWindow *obj)
 
        priv->user_data = NULL;
        priv->modified = FALSE;
+       priv->attachments = NULL;
 }
 
 static void
@@ -91,6 +93,8 @@ modest_editor_window_finalize (GObject *obj)
 
        if (priv->user_data)
                g_free(priv->user_data);
+
+       G_OBJECT_CLASS(parent_class)->finalize (obj);
 }
 
 GtkWidget*
@@ -139,12 +143,26 @@ gpointer modest_editor_window_get_data(ModestEditorWindow *edit_win)
        return priv->user_data;
 }
 
+gboolean modest_editor_window_set_modified(ModestEditorWindow *edit_win, gboolean modified)
+{
+       ModestEditorWindowPrivate *priv;
+
+       if (!edit_win) {
+               return FALSE;
+       }
+       priv = MODEST_EDITOR_WINDOW_GET_PRIVATE(edit_win);
+
+       priv->modified = modified;
+
+       return priv->modified;
+}
+
 gboolean modest_editor_window_get_modified(ModestEditorWindow *edit_win)
 {
        ModestEditorWindowPrivate *priv;
 
        if (!edit_win) {
-               return NULL;
+               return FALSE;
        }
        priv = MODEST_EDITOR_WINDOW_GET_PRIVATE(edit_win);
 
@@ -153,7 +171,7 @@ gboolean modest_editor_window_get_modified(ModestEditorWindow *edit_win)
        return priv->modified;
 }      
 
-gboolean modest_editor_window_set_to_header(ModestEditorWindow *edit_win, gchar *to)
+gboolean modest_editor_window_set_to_header(ModestEditorWindow *edit_win, const gchar *to)
 {
        ModestEditorWindowPrivate *priv;
 
@@ -166,7 +184,7 @@ gboolean modest_editor_window_set_to_header(ModestEditorWindow *edit_win, gchar
 }
 
 
-gboolean modest_editor_window_set_cc_header(ModestEditorWindow *edit_win, gchar *cc)
+gboolean modest_editor_window_set_cc_header(ModestEditorWindow *edit_win, const gchar *cc)
 {
        ModestEditorWindowPrivate *priv;
 
@@ -178,7 +196,7 @@ gboolean modest_editor_window_set_cc_header(ModestEditorWindow *edit_win, gchar
        return modest_ui_editor_window_set_cc_header(cc, priv->user_data);
 }
 
-gboolean modest_editor_window_set_bcc_header(ModestEditorWindow *edit_win, gchar *bcc)
+gboolean modest_editor_window_set_bcc_header(ModestEditorWindow *edit_win, const gchar *bcc)
 {
        ModestEditorWindowPrivate *priv;
 
@@ -190,7 +208,7 @@ gboolean modest_editor_window_set_bcc_header(ModestEditorWindow *edit_win, gchar
        return modest_ui_editor_window_set_bcc_header(bcc, priv->user_data);
 }
 
-gboolean modest_editor_window_set_subject_header(ModestEditorWindow *edit_win, gchar *subject)
+gboolean modest_editor_window_set_subject_header(ModestEditorWindow *edit_win, const gchar *subject)
 {
        ModestEditorWindowPrivate *priv;
 
@@ -202,7 +220,7 @@ gboolean modest_editor_window_set_subject_header(ModestEditorWindow *edit_win, g
        return modest_ui_editor_window_set_subject_header(subject, priv->user_data);
 }
 
-gboolean modest_editor_window_set_body(ModestEditorWindow *edit_win, gchar *body)
+gboolean modest_editor_window_set_body(ModestEditorWindow *edit_win, const gchar *body)
 {
        ModestEditorWindowPrivate *priv;
 
@@ -213,3 +231,41 @@ gboolean modest_editor_window_set_body(ModestEditorWindow *edit_win, gchar *body
 
        return modest_ui_editor_window_set_body(body, priv->user_data);
 }
+
+
+gboolean modest_editor_window_attach_file(ModestEditorWindow *edit_win, const gchar *filename)
+{
+       ModestEditorWindowPrivate *priv;
+
+       if (!edit_win)
+               return FALSE;
+       priv = MODEST_EDITOR_WINDOW_GET_PRIVATE(edit_win);
+       
+       priv->attachments = g_list_append(
+                                                       priv->attachments, 
+                                                       g_strdup(filename));
+       
+       return modest_ui_editor_window_update_attachments(priv->user_data);
+}
+
+GList * modest_editor_window_set_attachments(ModestEditorWindow *edit_win, GList* attachments)
+{
+       ModestEditorWindowPrivate *priv;
+
+       g_return_val_if_fail(edit_win, NULL);
+       
+       priv = MODEST_EDITOR_WINDOW_GET_PRIVATE(edit_win);
+
+       priv->attachments = attachments;
+       return priv->attachments;
+}
+
+GList * modest_editor_window_get_attachments(ModestEditorWindow *edit_win)
+{
+       ModestEditorWindowPrivate *priv;
+
+       g_return_val_if_fail(edit_win, NULL);
+       
+       priv = MODEST_EDITOR_WINDOW_GET_PRIVATE(edit_win);
+       return priv->attachments;
+}