2005-02-24 [colin] 1.0.1cvs15.10
[claws.git] / src / messageview.c
index 44700e34c74a3410a3890491dd298f7aff57e460..d2e22da4945fb082f7a6dd2709eed30688295145 100644 (file)
@@ -20,6 +20,7 @@
 #include "defs.h"
 
 #include <glib.h>
+#include <glib/gi18n.h>
 #include <gdk/gdkkeysyms.h>
 #include <gtk/gtkvbox.h>
 #include <gtk/gtkcontainer.h>
@@ -32,7 +33,6 @@
 #include <ctype.h>
 #include <string.h>
 
-#include "intl.h"
 #include "main.h"
 #include "messageview.h"
 #include "message_search.h"
@@ -658,7 +658,13 @@ static gint disposition_notification_send(MsgInfo *msginfo)
                unlink(tmp);
                return -1;
        }
-       
+               
+       if (prefs_common.work_offline)
+               if (alertpanel(_("Offline warning"), 
+                              _("You're working offline. Override?"),
+                              _("Yes"), _("No"), NULL) != G_ALERTDEFAULT)
+                       return 0;
+
        /* send it */
        path = folder_item_fetch_msg(queue, num);
        ok = procmsg_send_message_queue(path);
@@ -751,7 +757,8 @@ gint messageview_show(MessageView *messageview, MsgInfo *msginfo,
 
        mimeinfo = procmime_mimeinfo_next(mimeinfo);
        if (mimeinfo && (mimeinfo->type != MIMETYPE_TEXT || 
-           strcmp(mimeinfo->subtype, "plain"))) {
+           (strcmp(mimeinfo->subtype, "plain") &&
+            strcmp(mimeinfo->subtype, "html")))) {
                mimeview_show_part(messageview->mimeview,mimeinfo);
        }
 
@@ -913,10 +920,28 @@ void messageview_copy_clipboard(MessageView *messageview)
 void messageview_select_all(MessageView *messageview)
 {
        TextView *text;
+       GtkTextView *edit = NULL;
+       GtkTextBuffer *textbuf;
+       gint body_pos = 0;
+       GtkTextIter start, end;
+       
+       g_return_if_fail(messageview != NULL);
 
        text = messageview_get_current_textview(messageview);
-       if (text)
-               gtk_editable_select_region(GTK_EDITABLE(text->text), 0, -1);
+       g_return_if_fail(text != NULL);
+
+       edit = GTK_TEXT_VIEW(text->text);
+       g_return_if_fail(edit != NULL);
+
+       textbuf = gtk_text_view_get_buffer(edit);
+       g_return_if_fail(textbuf != NULL);
+
+       gtk_text_buffer_get_bounds(textbuf, &start, &end);
+       
+       gtk_text_buffer_move_mark_by_name(textbuf, 
+               "selection_bound", &start);
+       gtk_text_buffer_move_mark_by_name(textbuf, 
+               "insert", &end);
 }
 
 void messageview_set_position(MessageView *messageview, gint pos)