2012-01-11 [mir] 3.7.10cvs16.19-new-contacts
authorMichael Rasmussen <mir@datanom.net>
Wed, 11 Jan 2012 22:40:47 +0000 (22:40 +0000)
committerMichael Rasmussen <mir@datanom.net>
Wed, 11 Jan 2012 22:40:47 +0000 (22:40 +0000)
* src/mainwindow.c
* src/mainwindow.h
* src/summaryview.c
* src/toolbar.c
    Applied patch 3.8.0cvs12 and 3.8.0cvs13 from HEAD.

ChangeLog
PATCHSETS
configure.ac
src/mainwindow.c
src/mainwindow.h
src/summaryview.c
src/toolbar.c

index d2d5a128eafd4b78d161a4ecdfa4f841b7326fa1..d6c1155814f56b4d417f3752aef79d57a6647379 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-01-11 [mir]       3.7.10cvs16.19-new-contacts
+
+       * src/mainwindow.c
+       * src/mainwindow.h
+       * src/summaryview.c
+       * src/toolbar.c
+           Applied patch 3.8.0cvs12 and 3.8.0cvs13 from HEAD.
+
 2012-01-07 [mir]       3.7.10cvs16.18-new-contacts
 
        * src/main.c
index 88e96212a16ac9a6a422f4d35b633c209bd61fe6..f252ce3b4de45cd721745752048676e217c6563b 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.11.2.2 -r 1.11.2.3 src/.cvsignore;  cvs diff -u -r 1.382.2.580.2.3 -r 1.382.2.580.2.4 src/compose.c;  cvs diff -u -r 1.50.2.62.2.1 -r 1.50.2.62.2.2 src/compose.h;  cvs diff -u -r 1.115.2.239.2.2 -r 1.115.2.239.2.3 src/main.c;  cvs diff -u -r 1.83.2.170.2.2 -r 1.83.2.170.2.3 src/mimeview.c;  cvs diff -u -r 1.105.2.168.2.1 -r 1.105.2.168.2.2 src/prefs_account.c;  ) > 3.7.10cvs16.16-new-contacts.patchset
 ( cvs diff -u -r 1.1.2.17.2.1 -r 1.1.2.17.2.2 src/gtk/gtkcmctree.c;  ) > 3.7.10cvs16.17-new-contacts.patchset
 ( cvs diff -u -r 1.115.2.239.2.3 -r 1.115.2.239.2.4 src/main.c;  ) > 3.7.10cvs16.18-new-contacts.patchset
+( cvs diff -u -r 1.274.2.328.2.3 -r 1.274.2.328.2.4 src/mainwindow.c;  cvs diff -u -r 1.39.2.61.2.1 -r 1.39.2.61.2.2 src/mainwindow.h;  cvs diff -u -r 1.395.2.430.2.3 -r 1.395.2.430.2.4 src/summaryview.c;  cvs diff -u -r 1.43.2.124.2.1 -r 1.43.2.124.2.2 src/toolbar.c;  ) > 3.7.10cvs16.19-new-contacts.patchset
index 8345da3548c7b6b7e6f797d8bf3805b9c5372f78..f6c75cbf4c245c78de50dcc65f6784277d664890 100644 (file)
@@ -12,7 +12,7 @@ MINOR_VERSION=7
 MICRO_VERSION=10
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=16.18
+EXTRA_VERSION=16.19
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=-new-contacts
 
index ddb4e57f7261dca24f6495b4f3a8fd0feb2d4bcf..f2c78bce6f29056c76acd8707848ab1b27a0f7e8 100644 (file)
@@ -6,12 +6,12 @@
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
-   
+
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
-   
+
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
@@ -3134,6 +3134,9 @@ SensitiveCond main_window_get_current_state(MainWindow *mainwin)
        if (cur_account)
                state |= M_HAVE_ACCOUNT;
        
+       if (cur_account && cur_account->protocol != A_NONE)
+               state |= M_HAVE_RETRIEVABLE_ACCOUNT;
+
        if (any_folder_want_synchronise())
                state |= M_WANT_SYNC;
 
@@ -3143,6 +3146,13 @@ SensitiveCond main_window_get_current_state(MainWindow *mainwin)
        if (g_list_length(account_list) > 1)
                state |= M_HAVE_MULTI_ACCOUNT;
 
+       for ( ; account_list != NULL; account_list = account_list->next) {
+               if (((PrefsAccount*)account_list->data)->protocol != A_NONE) {
+                       state |= M_HAVE_ANY_RETRIEVABLE_ACCOUNT;
+                       break;
+               }
+       }
+
        for ( ; account_list != NULL; account_list = account_list->next) {
                if (((PrefsAccount*)account_list->data)->protocol == A_NNTP) {
                        state |= M_HAVE_NEWS_ACCOUNT;
@@ -3240,9 +3250,9 @@ void main_window_set_menu_sensitive(MainWindow *mainwin)
                {"Menu/View/Quotes"                    , M_SINGLE_TARGET_EXIST},
 
                {"Menu/Message/Receive/CurrentAccount"
-                                                , M_HAVE_ACCOUNT|M_UNLOCKED},
+                                                , M_HAVE_ACCOUNT|M_UNLOCKED|M_HAVE_RETRIEVABLE_ACCOUNT},
                {"Menu/Message/Receive/AllAccounts"
-                                                , M_HAVE_ACCOUNT|M_UNLOCKED},
+                                                , M_HAVE_ACCOUNT|M_UNLOCKED|M_HAVE_ANY_RETRIEVABLE_ACCOUNT},
                {"Menu/Message/Receive/CancelReceiving"
                                                 , M_INC_ACTIVE},
                {"Menu/Message/SendQueue"  , M_HAVE_ACCOUNT|M_HAVE_QUEUED_MAILS},
index 39dfbb90cfbccc60c03b910ccab07a29e5f004e3..f10548de242ffcf07c4bc975b434419717eebd3e 100644 (file)
@@ -67,7 +67,9 @@ typedef enum
        M_SESSION_PASSWORDS   = 1 << 26,
        M_DELETED_EXISTS      = 1 << 27,
        M_NOT_TRASH           = 1 << 28,
-       M_HIDE_READ_THREADS   = 1 << 29
+       M_HIDE_READ_THREADS   = 1 << 29,
+       M_HAVE_RETRIEVABLE_ACCOUNT = 1 << 30,
+       M_HAVE_ANY_RETRIEVABLE_ACCOUNT = 1 << 31
 } SensitiveCond;
 
 typedef enum
index d34711ad4f7ec293dd50250f2ed86e51ee6f0449..c6eb5c46d94f12439ff21f1aa663bf2014cdde87 100644 (file)
@@ -3799,13 +3799,24 @@ static void summary_set_row_marks(SummaryView *summaryview, GtkCMCTreeNode *row)
        } else if (MSG_IS_MOVE(flags)) {
                gtk_cmctree_node_set_pixbuf(ctree, row, col_pos[S_COL_MARK],
                                          movedxpm);
-               if (style)
-                       style = bold_marked_style;
-               else {
-                       style = small_marked_style;
-               }
+               if (!msginfo->to_folder ||
+                   !folder_has_parent_of_type(msginfo->to_folder, F_TRASH)) {
+                       if (style)
+                               style = bold_marked_style;
+                       else {
+                               style = small_marked_style;
+                       }
                        gtk_cmctree_node_set_foreground
                                (ctree, row, &summaryview->color_marked);
+               } else {
+                       if (style)
+                               style = bold_deleted_style;
+                       else {
+                               style = small_deleted_style;
+                       }
+                               gtk_cmctree_node_set_foreground
+                                       (ctree, row, &summaryview->color_dim);
+               }
        } else if (MSG_IS_COPY(flags)) {
                gtk_cmctree_node_set_pixbuf(ctree, row, col_pos[S_COL_MARK],
                                          copiedxpm);
index 208fc71679e2fdd32b92f09d1234b3a7862bde79..351be879d49cabd39eb345eb9dd6201417a553b6 100644 (file)
@@ -2361,11 +2361,11 @@ void toolbar_main_set_sensitive(gpointer data)
        
        if (toolbar->get_btn)
                SET_WIDGET_COND(toolbar->get_btn, 
-                       M_HAVE_ACCOUNT|M_UNLOCKED);
+                       M_HAVE_ACCOUNT|M_UNLOCKED|M_HAVE_RETRIEVABLE_ACCOUNT);
 
        if (toolbar->getall_btn) {
                SET_WIDGET_COND(toolbar->getall_btn, 
-                       M_HAVE_ACCOUNT|M_UNLOCKED);
+                       M_HAVE_ACCOUNT|M_UNLOCKED|M_HAVE_ANY_RETRIEVABLE_ACCOUNT);
        }
        if (toolbar->send_btn) {
                SET_WIDGET_COND(toolbar->send_btn,