2006-08-16 [colin] 2.4.0cvs54
[claws.git] / src / mainwindow.c
index c371fe455714d58b6d158e6e8590ed940c7476c1..8c27cc4674ba3337808a98093a5fabadc2fcf7e8 100644 (file)
@@ -716,9 +716,9 @@ static GtkItemFactoryEntry mainwin_entries[] =
        {N_("/_View/Mess_age source"),          "<control>U", view_source_cb, 0, NULL},
        {N_("/_View/Show all headers"),         "<control>H", show_all_header_cb, 0, "<ToggleItem>"},
        {N_("/_View/Quotes"),                   NULL, NULL, 0, "<Branch>"},
-       {N_("/_View/Quotes/_Hide all"),         "<control><shift>Q", hide_quotes_cb, 1, "<ToggleItem>"},
-       {N_("/_View/Quotes/Hide from level _2"),NULL, hide_quotes_cb, 2, "<ToggleItem>"},
-       {N_("/_View/Quotes/Hide from level _3"),NULL, hide_quotes_cb, 3, "<ToggleItem>"},
+       {N_("/_View/Quotes/_Fold all"),         "<control><shift>Q", hide_quotes_cb, 1, "<ToggleItem>"},
+       {N_("/_View/Quotes/Fold from level _2"),NULL, hide_quotes_cb, 2, "<ToggleItem>"},
+       {N_("/_View/Quotes/Fold from level _3"),NULL, hide_quotes_cb, 3, "<ToggleItem>"},
        {N_("/_View/---"),                      NULL, NULL, 0, "<Separator>"},
        {N_("/_View/_Update summary"),          "<control><alt>U", update_summary_cb,  0, NULL},
 
@@ -2057,7 +2057,7 @@ SensitiveCond main_window_get_current_state(MainWindow *mainwin)
 
                if ((selection == SUMMARY_NONE && item->hide_read_msgs)
                    || selection != SUMMARY_NONE)
-                       state |= M_HIDE_READ_MSG;       
+                       state |= M_HIDE_READ_MSG;
        }               
        if (mainwin->summaryview->threaded)
                state |= M_THREADED;
@@ -2073,6 +2073,12 @@ SensitiveCond main_window_get_current_state(MainWindow *mainwin)
                state |= M_NEWS;
        else
                state |= M_NOT_NEWS;
+       if (prefs_common.actions_list && g_slist_length(prefs_common.actions_list))
+               state |= M_ACTIONS_EXIST;
+
+       if (procmsg_have_queued_mails_fast() && !procmsg_is_sending())
+               state |= M_HAVE_QUEUED_MAILS;
+
        if (selection == SUMMARY_SELECTED_SINGLE &&
            (item &&
             (folder_has_parent_of_type(item, F_DRAFT) ||
@@ -2153,7 +2159,7 @@ void main_window_set_menu_sensitive(MainWindow *mainwin)
                                                 , M_HAVE_ACCOUNT|M_UNLOCKED},
                {"/Message/Receive/Cancel receiving"
                                                 , M_INC_ACTIVE},
-
+               {"/Message/Send queued messages"  , M_HAVE_ACCOUNT|M_HAVE_QUEUED_MAILS},
                {"/Message/Compose a news message", M_HAVE_NEWS_ACCOUNT},
                {"/Message/Reply"                 , M_HAVE_ACCOUNT|M_TARGET_EXIST},
                {"/Message/Reply to"              , M_HAVE_ACCOUNT|M_TARGET_EXIST},
@@ -2180,7 +2186,7 @@ void main_window_set_menu_sensitive(MainWindow *mainwin)
                {"/Tools/Filter selected messages"     , M_TARGET_EXIST|M_EXEC},
                {"/Tools/Create filter rule"           , M_SINGLE_TARGET_EXIST|M_UNLOCKED},
                {"/Tools/Create processing rule"       , M_SINGLE_TARGET_EXIST|M_UNLOCKED},
-               {"/Tools/Actions"                      , M_TARGET_EXIST},
+               {"/Tools/Actions"                      , M_TARGET_EXIST|M_ACTIONS_EXIST},
                {"/Tools/Execute"                      , M_DELAY_EXEC},
                {"/Tools/Delete duplicated messages/In selected folder"   , M_MSG_EXIST|M_ALLOW_DELETE},
 
@@ -2277,12 +2283,15 @@ void main_window_set_menu_sensitive(MainWindow *mainwin)
                SET_CHECK_MENU_ACTIVE("/View/Show all headers",
                              mainwin->messageview->mimeview->textview->show_all_headers);
        SET_CHECK_MENU_ACTIVE("/View/Thread view", (state & M_THREADED) != 0);
+       SET_CHECK_MENU_ACTIVE("/View/Quotes/Fold all", FALSE);
+       SET_CHECK_MENU_ACTIVE("/View/Quotes/Fold from level 2", FALSE);
+       SET_CHECK_MENU_ACTIVE("/View/Quotes/Fold from level 3", FALSE);
        if (prefs_common.hide_quotes == 1)
-               SET_CHECK_MENU_ACTIVE("/View/Quotes/Hide all", TRUE);
+               SET_CHECK_MENU_ACTIVE("/View/Quotes/Fold all", TRUE);
        if (prefs_common.hide_quotes == 2)
-               SET_CHECK_MENU_ACTIVE("/View/Quotes/Hide from level 2", TRUE);
+               SET_CHECK_MENU_ACTIVE("/View/Quotes/Fold from level 2", TRUE);
        if (prefs_common.hide_quotes == 3)
-               SET_CHECK_MENU_ACTIVE("/View/Quotes/Hide from level 3", TRUE);
+               SET_CHECK_MENU_ACTIVE("/View/Quotes/Fold from level 3", TRUE);
 
 #undef SET_CHECK_MENU_ACTIVE
 
@@ -3170,15 +3179,16 @@ static void online_switch_clicked (GtkButton *btn, gpointer data)
        g_return_if_fail(menuitem != NULL);
        
        if (btn == GTK_BUTTON(mainwin->online_switch)) {
-               /* go offline */
-               if (prefs_common.work_offline)
-                       return;
-               mainwindow_check_synchronise(mainwin, TRUE);
                gtk_widget_hide (mainwin->online_switch);
                gtk_widget_show (mainwin->offline_switch);
                menuitem->active = TRUE;
+               inc_autocheck_timer_remove();
+                       
+               /* go offline */
+               if (prefs_common.work_offline)
+                       return;
                prefs_common.work_offline = TRUE;
-               inc_autocheck_timer_remove();           
+               mainwindow_check_synchronise(mainwin, TRUE);
                imap_disconnect_all();
        } else {
                /*go online */
@@ -3274,14 +3284,13 @@ static void hide_quotes_cb(MainWindow *mainwin, guint action,
                        GTK_CHECK_MENU_ITEM(widget)->active ? action : 0;
 
        mainwin->menu_lock_count++;
-       SET_CHECK_MENU_ACTIVE("/View/Quotes/Hide all", FALSE);
-       SET_CHECK_MENU_ACTIVE("/View/Quotes/Hide from level 2", FALSE);
-       SET_CHECK_MENU_ACTIVE("/View/Quotes/Hide from level 3", FALSE);
+       SET_CHECK_MENU_ACTIVE("/View/Quotes/Fold all", FALSE);
+       SET_CHECK_MENU_ACTIVE("/View/Quotes/Fold from level 2", FALSE);
+       SET_CHECK_MENU_ACTIVE("/View/Quotes/Fold from level 3", FALSE);
        gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), prefs_common.hide_quotes > 0);
        mainwin->menu_lock_count--;
 
-       summary_display_msg_selected(mainwin->summaryview,
-                       mainwin->summaryview->messageview->all_headers);
+       summary_redisplay_msg(mainwin->summaryview);
 }
 
 #undef SET_CHECK_MENU_ACTIVE