2005-10-13 [colin] 1.9.15cvs38
[claws.git] / src / summaryview.c
index 4520c77273eae2d66aeac77ab057eb14ee806ced..b3d209791e547b9d0a17720f62e7acd0e1271858 100644 (file)
@@ -402,7 +402,8 @@ static GtkItemFactoryEntry summary_popup_entries[] =
                                        "<control>L", summary_reply_cb, COMPOSE_REPLY_TO_LIST, NULL},
        {N_("/Follow-up and reply to"), NULL, summary_reply_cb, COMPOSE_FOLLOWUP_AND_REPLY_TO, NULL},
        {N_("/---"),                    NULL, NULL,             0, "<Separator>"},
-       {N_("/_Forward"),               "<control><alt>F", summary_reply_cb, COMPOSE_FORWARD, NULL},
+       {N_("/_Forward"),               "<control><alt>F", summary_reply_cb, COMPOSE_FORWARD_INLINE, NULL},
+       {N_("/For_ward as attachment"), NULL, summary_reply_cb, COMPOSE_FORWARD_AS_ATTACH, NULL},
        {N_("/Redirect"),               NULL, summary_reply_cb, COMPOSE_REDIRECT, NULL},
        {N_("/---"),                    NULL, NULL,             0, "<Separator>"},
        {N_("/M_ove..."),               "<control>O", summary_move_to,  0, NULL},
@@ -982,8 +983,6 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item)
 
        g_slist_free(mlist);
 
-       gtk_clist_thaw(GTK_CLIST(ctree));
-
        if (is_refresh) {
                summaryview->displayed =
                        summary_find_msg_by_msgnum(summaryview,
@@ -1043,6 +1042,8 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item)
        summary_status_show(summaryview);
        summary_set_menu_sensitive(summaryview);
        toolbar_main_set_sensitive(summaryview->mainwin);
+       
+       gtk_clist_thaw(GTK_CLIST(ctree));
 
        debug_print("\n");
        STATUSBAR_PUSH(summaryview->mainwin, _("Done."));
@@ -1216,6 +1217,7 @@ static void summary_set_menu_sensitive(SummaryView *summaryview)
                {"/Follow-up and reply to"      , M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST|M_NEWS},
 
                {"/Forward"                     , M_HAVE_ACCOUNT|M_TARGET_EXIST},
+               {"/Forward as attachment"       , M_HAVE_ACCOUNT|M_TARGET_EXIST},
                {"/Redirect"                    , M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST},
 
                {"/Re-edit"                     , M_HAVE_ACCOUNT|M_ALLOW_REEDIT},
@@ -1223,7 +1225,7 @@ static void summary_set_menu_sensitive(SummaryView *summaryview)
                {"/Move..."                     , M_TARGET_EXIST|M_ALLOW_DELETE|M_UNLOCKED|M_NOT_NEWS},
                {"/Copy..."                     , M_TARGET_EXIST|M_EXEC|M_UNLOCKED},
                {"/Move to trash"               , M_TARGET_EXIST|M_ALLOW_DELETE|M_UNLOCKED|M_NOT_NEWS},
-               {"/Delete..."                   , M_TARGET_EXIST|M_ALLOW_DELETE|M_UNLOCKED|M_NOT_NEWS},
+               {"/Delete..."                   , M_TARGET_EXIST|M_ALLOW_DELETE|M_UNLOCKED},
                {"/Cancel a news message"       , M_TARGET_EXIST|M_ALLOW_DELETE|M_UNLOCKED|M_NEWS},
 
                {"/Mark"                        , M_TARGET_EXIST},
@@ -2069,13 +2071,28 @@ static void summary_set_column_titles(SummaryView *summaryview)
 
 void summary_reflect_prefs(void)
 {
+       static gchar *last_font = NULL;
+       gboolean update_font = TRUE;
        SummaryView *summaryview = NULL;
+
        if (!mainwindow_get_mainwindow())
                return;
        summaryview = mainwindow_get_mainwindow()->summaryview;
-       bold_style = bold_marked_style = bold_deleted_style = 
-               small_style = small_marked_style = small_deleted_style = NULL;
-       summary_set_fonts(summaryview);
+
+       if (last_font && !strcmp(last_font, NORMAL_FONT))
+               update_font = FALSE;
+
+       if (last_font)
+               g_free(last_font);
+       
+       last_font = g_strdup(NORMAL_FONT);
+
+       if (update_font) {      
+               bold_style = bold_marked_style = bold_deleted_style = 
+                       small_style = small_marked_style = small_deleted_style = NULL;
+               summary_set_fonts(summaryview);
+       }
+
        summary_set_column_titles(summaryview);
        summary_show(summaryview, summaryview->folder_item);
 }
@@ -3125,7 +3142,7 @@ static gboolean check_permission(SummaryView *summaryview, MsgInfo * msginfo)
                }
 
                if (!found) {
-                       alertpanel_error(_("You're not the author of the article\n"));
+                       alertpanel_error(_("You're not the author of the article.\n"));
                }
                
                return found;
@@ -3142,9 +3159,6 @@ static void summary_delete_row(SummaryView *summaryview, GtkCTreeNode *row)
 
        msginfo = gtk_ctree_node_get_row_data(ctree, row);
 
-       if (!check_permission(summaryview, msginfo))
-               return;
-
        if (MSG_IS_LOCKED(msginfo->flags)) return;
 
        if (MSG_IS_DELETED(msginfo->flags)) return;
@@ -3208,8 +3222,7 @@ void summary_delete(SummaryView *summaryview)
 
        if (summary_is_locked(summaryview)) return;
 
-       if (!summaryview->folder_item ||
-           FOLDER_TYPE(summaryview->folder_item->folder) == F_NEWS) return;
+       if (!summaryview->folder_item) return;
 
        aval = alertpanel(_("Delete message(s)"),
                          _("Do you really want to delete selected message(s)?"),