* apllied today's changes to the gtk-glade ui to the hildon ui
[modest] / src / modest-editor-window.c
index 18b8f16..7c36918 100644 (file)
@@ -21,6 +21,9 @@ typedef struct _ModestEditorWindowPrivate ModestEditorWindowPrivate;
 struct _ModestEditorWindowPrivate {
        gpointer user_data;
        gboolean modified;
+       GList *attachments;
+       gchar *identity;
+       gchar *transport;
 };
 #define MODEST_EDITOR_WINDOW_GET_PRIVATE(o)      (G_TYPE_INSTANCE_GET_PRIVATE((o), \
                                                   MODEST_TYPE_EDITOR_WINDOW, \
@@ -80,6 +83,9 @@ modest_editor_window_init (ModestEditorWindow *obj)
 
        priv->user_data = NULL;
        priv->modified = FALSE;
+       priv->attachments = NULL;
+       priv->identity = NULL;
+       priv->transport = NULL;
 }
 
 static void
@@ -92,6 +98,10 @@ modest_editor_window_finalize (GObject *obj)
        if (priv->user_data)
                g_free(priv->user_data);
 
+       modest_editor_window_set_attachments(MODEST_EDITOR_WINDOW(obj), NULL);
+       g_free(priv->identity);
+       g_free(priv->transport);
+       
        G_OBJECT_CLASS(parent_class)->finalize (obj);
 }
 
@@ -229,3 +239,99 @@ gboolean modest_editor_window_set_body(ModestEditorWindow *edit_win, const gchar
 
        return modest_ui_editor_window_set_body(body, priv->user_data);
 }
+
+
+gboolean modest_editor_window_attach_file(ModestEditorWindow *edit_win, ModestTnyAttachment *attachment)
+{
+       ModestEditorWindowPrivate *priv;
+
+       if (!edit_win)
+               return FALSE;
+       priv = MODEST_EDITOR_WINDOW_GET_PRIVATE(edit_win);
+       
+       priv->attachments = g_list_append(
+                                                       priv->attachments, 
+                                                       attachment);
+       
+       return modest_ui_editor_window_update_attachments(priv->user_data);
+}
+
+GList * modest_editor_window_set_attachments(ModestEditorWindow *edit_win, const GList* attachments)
+{
+       ModestEditorWindowPrivate *priv;
+       GList *pos;
+
+       g_return_val_if_fail(edit_win, NULL);
+       
+       priv = MODEST_EDITOR_WINDOW_GET_PRIVATE(edit_win);
+
+       modest_tny_attachment_free_list(priv->attachments);
+       priv->attachments = g_list_copy((GList *)attachments);
+       for (pos = priv->attachments ; pos ; pos = pos->next )
+               g_object_ref(pos->data);
+       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;
+}
+
+
+void
+modest_editor_window_set_identity(ModestEditorWindow *edit_win, const gchar *identity)
+{
+       ModestEditorWindowPrivate *priv;
+
+       g_return_if_fail(edit_win);
+
+       priv = MODEST_EDITOR_WINDOW_GET_PRIVATE(edit_win);
+
+       g_free(priv->identity);
+       priv->identity = g_strdup(identity);
+}
+
+
+const gchar *
+modest_editor_window_get_identity(ModestEditorWindow *edit_win)
+{
+       ModestEditorWindowPrivate *priv;
+
+       g_return_val_if_fail(edit_win, NULL);
+
+       priv = MODEST_EDITOR_WINDOW_GET_PRIVATE(edit_win);
+
+       return priv->identity;
+}      
+
+
+void
+modest_editor_window_set_transport(ModestEditorWindow *edit_win, const gchar *transport)
+{
+       ModestEditorWindowPrivate *priv;
+
+       g_return_if_fail(edit_win);
+
+       priv = MODEST_EDITOR_WINDOW_GET_PRIVATE(edit_win);
+
+       g_free(priv->transport);
+       priv->transport = g_strdup(transport);
+}
+
+
+const gchar *
+modest_editor_window_get_transport(ModestEditorWindow *edit_win)
+{
+       ModestEditorWindowPrivate *priv;
+
+       g_return_val_if_fail(edit_win, NULL);
+
+       priv = MODEST_EDITOR_WINDOW_GET_PRIVATE(edit_win);
+
+       return priv->transport;
+}