+ return tny_msg_view_get_msg (TNY_MSG_VIEW(msg_view));
+}
+
+const gchar*
+modest_msg_view_window_get_message_uid (ModestMsgViewWindow *self)
+{
+ ModestMsgViewWindowPrivate *priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (self);
+ TnyMsg *msg;
+ TnyHeader *header;
+ const gchar *retval = NULL;
+
+ msg = tny_msg_view_get_msg (TNY_MSG_VIEW (priv->msg_view));
+ msg = modest_msg_view_window_get_message (self);
+
+ if (!msg)
+ return NULL;
+
+ header = tny_msg_get_header (msg);
+ g_free (priv->msg_uid);
+ if (header) {
+ priv->msg_uid = tny_header_dup_uid (header);
+ g_object_unref (header);
+ }
+ g_object_unref (msg);
+
+ return priv->msg_uid;
+}
+
+ModestWindow *
+modest_msg_view_window_new_from_uid (const gchar *modest_account_name,
+ const gchar *mailbox,
+ const gchar *msg_uid)
+{
+ /* NOT IMPLEMENTED */
+ return NULL;
+}
+
+ModestWindow*
+modest_msg_view_window_new_with_header_model (TnyMsg *msg,
+ const gchar *modest_account_name,
+ const gchar *mailbox, /*ignored*/
+ const gchar *msg_uid,
+ GtkTreeModel *model,
+ GtkTreeRowReference *row_reference)
+{
+ /* Currently we simply redirect to new constructor. It should store a
+ reference to the header list model, to enable next/prev message
+ actions */
+ g_debug ("partially implemented %s", __FUNCTION__);
+
+ return modest_msg_view_window_new_for_attachment (msg, modest_account_name, NULL, msg_uid);
+}
+
+
+gboolean
+modest_msg_view_window_select_next_message (ModestMsgViewWindow *window)
+{
+ g_warning ("not implemented %s", __FUNCTION__);
+ return FALSE;
+}
+
+gboolean
+modest_msg_view_window_select_previous_message (ModestMsgViewWindow *window)
+{
+ g_warning ("not implemented %s", __FUNCTION__);
+ return FALSE;
+}
+
+void
+modest_msg_view_window_view_attachment (ModestMsgViewWindow *window, TnyMimePart *mime_part)
+{
+ g_warning ("not implemented %s", __FUNCTION__);
+}
+
+void
+modest_msg_view_window_save_attachments (ModestMsgViewWindow *window, TnyList *mime_parts)
+{
+ g_warning ("not implemented %s", __FUNCTION__);
+}
+void
+modest_msg_view_window_remove_attachments (ModestMsgViewWindow *window, gboolean get_all)
+{
+ g_warning ("not implemented %s", __FUNCTION__);
+}
+
+TnyHeader *
+modest_msg_view_window_get_header (ModestMsgViewWindow *self)
+{
+ TnyMsg *msg;
+ TnyHeader *header = NULL;
+
+ msg = modest_msg_view_window_get_message (self);
+ if (msg) {
+ header = tny_msg_get_header (msg);
+ g_object_unref (msg);
+ }
+ return header;
+}
+
+TnyFolderType
+modest_msg_view_window_get_folder_type (ModestMsgViewWindow *window)
+{
+ ModestMsgViewWindowPrivate *priv;
+ TnyMsg *msg;
+ TnyFolderType folder_type;
+
+ priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (window);
+
+ folder_type = TNY_FOLDER_TYPE_UNKNOWN;
+
+ msg = tny_msg_view_get_msg (TNY_MSG_VIEW (priv->msg_view));
+ if (msg) {
+ TnyFolder *folder;
+
+ folder = tny_msg_get_folder (msg);
+ if (folder) {
+ folder_type = tny_folder_get_folder_type (folder);
+ g_object_unref (folder);
+ }
+ g_object_unref (msg);
+ }
+
+ return folder_type;
+}
+
+/* NOT IMPLEMENTED METHODS */
+
+gboolean
+modest_msg_view_window_last_message_selected (ModestMsgViewWindow *window)
+{
+ g_warning ("NOT IMPLEMENTED %s", __FUNCTION__);
+ return TRUE;
+}
+
+gboolean
+modest_msg_view_window_first_message_selected (ModestMsgViewWindow *window)
+{
+ g_warning ("NOT IMPLEMENTED %s", __FUNCTION__);
+ return TRUE;
+}
+
+gboolean
+modest_msg_view_window_transfer_mode_enabled (ModestMsgViewWindow *self)
+{
+ g_warning ("NOT IMPLEMENTED %s", __FUNCTION__);
+ return FALSE;
+}
+
+gboolean
+modest_msg_view_window_toolbar_on_transfer_mode (ModestMsgViewWindow *self)
+{
+ g_warning ("NOT IMPLEMENTED %s", __FUNCTION__);
+ return FALSE;
+}
+
+
+TnyList *
+modest_msg_view_window_get_attachments (ModestMsgViewWindow *win)
+{
+ TnyList *result;
+
+ result = tny_simple_list_new ();
+ g_warning ("NOT IMPLEMENTED %s", __FUNCTION__);
+ return result;
+}
+
+gboolean
+modest_msg_view_window_is_search_result (ModestMsgViewWindow *window)
+{
+ g_warning ("NOT IMPLEMENTED %s", __FUNCTION__);
+ return FALSE;
+}
+
+gboolean
+modest_msg_view_window_has_headers_model (ModestMsgViewWindow *window)
+{
+ g_warning ("NOT IMPLEMENTED %s", __FUNCTION__);
+ return FALSE;
+}
+
+static void
+modest_msg_view_window_toggle_find_toolbar (GtkToggleAction *toggle,
+ gpointer data)
+{
+ g_warning ("NOT IMPLEMENTED %s", __FUNCTION__);
+ return FALSE;
+}
+
+void
+modest_msg_view_window_add_to_contacts (ModestMsgViewWindow *self)
+{
+ modest_ui_actions_on_add_to_contacts (NULL, MODEST_WINDOW (self));
+}
+
+void
+modest_msg_view_window_fetch_images (ModestMsgViewWindow *self)
+{
+ ModestMsgViewWindowPrivate *priv;
+ priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (self);
+
+ modest_msg_view_request_fetch_images (MODEST_MSG_VIEW (priv->msg_view));
+}
+
+gboolean
+modest_msg_view_window_has_blocked_external_images (ModestMsgViewWindow *self)
+{
+ ModestMsgViewWindowPrivate *priv;
+ priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (self);
+
+ g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW (self), FALSE);
+
+ return modest_msg_view_has_blocked_external_images (MODEST_MSG_VIEW (priv->msg_view));
+}
+
+void
+modest_msg_view_window_reload (ModestMsgViewWindow *self)
+{
+ /* Not implemented */
+ return;