commit 8f8a8ce89c778e1eeafcf2765825e1e21bce2db0
parent 1f1d80e6608d4130aa53c3106ceb5a148cc6b402
Author: Colin Leroy <colin@colino.net>
Date: Thu, 6 Mar 2008 17:38:45 +0000
2008-03-06 [colin] 3.3.1cvs16
* src/mainwindow.c
* src/mainwindow.h
* src/summaryview.c
* src/summaryview.h
* src/toolbar.c
Integrate things better wrt the new
summaryview extensibility.
Diffstat:
8 files changed, 53 insertions(+), 32 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,13 @@
+2008-03-06 [colin] 3.3.1cvs16
+
+ * src/mainwindow.c
+ * src/mainwindow.h
+ * src/summaryview.c
+ * src/summaryview.h
+ * src/toolbar.c
+ Integrate things better wrt the new
+ summaryview extensibility.
+
2008-03-06 [wwp] 3.3.1cvs15
* src/quote_fmt.c
diff --git a/PATCHSETS b/PATCHSETS
@@ -3250,3 +3250,4 @@
( cvs diff -u -r 1.2.2.29 -r 1.2.2.30 src/folder_item_prefs.c; cvs diff -u -r 1.12.2.59 -r 1.12.2.60 src/prefs_template.c; cvs diff -u -r 1.1.16.8 -r 1.1.16.9 src/prefs_template.h; cvs diff -u -r 1.8.2.30 -r 1.8.2.31 src/quote_fmt.c; cvs diff -u -r 1.2.4.26 -r 1.2.4.27 src/common/template.c; ) > 3.3.1cvs13.patchset
( cvs diff -u -r 1.105.2.127 -r 1.105.2.128 src/prefs_account.c; cvs diff -u -r 1.52.2.60 -r 1.52.2.61 src/prefs_folder_item.c; cvs diff -u -r 1.10.2.36 -r 1.10.2.37 src/prefs_gtk.c; cvs diff -u -r 1.12.2.60 -r 1.12.2.61 src/prefs_template.c; cvs diff -u -r 1.12.2.44 -r 1.12.2.45 src/gtk/prefswindow.c; cvs diff -u -r 1.7.2.11 -r 1.7.2.12 src/gtk/prefswindow.h; ) > 3.3.1cvs14.patchset
( cvs diff -u -r 1.8.2.31 -r 1.8.2.32 src/quote_fmt.c; ) > 3.3.1cvs15.patchset
+( cvs diff -u -r 1.274.2.233 -r 1.274.2.234 src/mainwindow.c; cvs diff -u -r 1.39.2.43 -r 1.39.2.44 src/mainwindow.h; cvs diff -u -r 1.395.2.357 -r 1.395.2.358 src/summaryview.c; cvs diff -u -r 1.68.2.44 -r 1.68.2.45 src/summaryview.h; cvs diff -u -r 1.43.2.95 -r 1.43.2.96 src/toolbar.c; ) > 3.3.1cvs16.patchset
diff --git a/configure.ac b/configure.ac
@@ -11,7 +11,7 @@ MINOR_VERSION=3
MICRO_VERSION=1
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=15
+EXTRA_VERSION=16
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
diff --git a/src/mainwindow.c b/src/mainwindow.c
@@ -2719,6 +2719,9 @@ SensitiveCond main_window_get_current_state(MainWindow *mainwin)
mainwin->summaryview->copied > 0)
state |= M_DELAY_EXEC;
+ if (summary_is_list(mainwin->summaryview))
+ state |= M_SUMMARY_ISLIST;
+
return state;
}
@@ -2745,17 +2748,17 @@ void main_window_set_menu_sensitive(MainWindow *mainwin)
{"/File/Synchronise folders", M_WANT_SYNC},
{"/File/Exit" , M_UNLOCKED},
- {"/Edit/Select thread" , M_TARGET_EXIST},
- {"/Edit/Delete thread" , M_TARGET_EXIST},
+ {"/Edit/Select thread" , M_TARGET_EXIST|M_SUMMARY_ISLIST},
+ {"/Edit/Delete thread" , M_TARGET_EXIST|M_SUMMARY_ISLIST},
{"/Edit/Find in current message...", M_SINGLE_TARGET_EXIST},
{"/View/Set displayed columns/in Folder list..."
- , M_UNLOCKED},
- {"/View/Sort" , M_EXEC},
- {"/View/Thread view" , M_EXEC},
- {"/View/Expand all threads" , M_MSG_EXIST},
- {"/View/Collapse all threads" , M_MSG_EXIST},
- {"/View/Hide read messages" , M_HIDE_READ_MSG},
+ , M_UNLOCKED|M_SUMMARY_ISLIST},
+ {"/View/Sort" , M_EXEC|M_SUMMARY_ISLIST},
+ {"/View/Thread view" , M_EXEC|M_SUMMARY_ISLIST},
+ {"/View/Expand all threads" , M_MSG_EXIST|M_SUMMARY_ISLIST},
+ {"/View/Collapse all threads" , M_MSG_EXIST|M_SUMMARY_ISLIST},
+ {"/View/Hide read messages" , M_HIDE_READ_MSG|M_SUMMARY_ISLIST},
{"/View/Go to/Previous message" , M_MSG_EXIST},
{"/View/Go to/Next message" , M_MSG_EXIST},
{"/View/Go to/Previous unread message" , M_MSG_EXIST},
@@ -2779,18 +2782,18 @@ void main_window_set_menu_sensitive(MainWindow *mainwin)
{"/Message/Send queued messages" , M_HAVE_ACCOUNT|M_HAVE_QUEUED_MAILS},
{"/Message/Compose an email message", M_HAVE_ACCOUNT},
{"/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},
- {"/Message/Follow-up and reply to", M_HAVE_ACCOUNT|M_TARGET_EXIST|M_NEWS},
- {"/Message/Forward" , M_HAVE_ACCOUNT|M_TARGET_EXIST},
- {"/Message/Forward as attachment" , M_HAVE_ACCOUNT|M_TARGET_EXIST},
- {"/Message/Redirect" , M_HAVE_ACCOUNT|M_TARGET_EXIST},
+ {"/Message/Reply" , M_HAVE_ACCOUNT|M_TARGET_EXIST|M_SUMMARY_ISLIST},
+ {"/Message/Reply to" , M_HAVE_ACCOUNT|M_TARGET_EXIST|M_SUMMARY_ISLIST},
+ {"/Message/Follow-up and reply to", M_HAVE_ACCOUNT|M_TARGET_EXIST|M_NEWS|M_SUMMARY_ISLIST},
+ {"/Message/Forward" , M_HAVE_ACCOUNT|M_TARGET_EXIST|M_SUMMARY_ISLIST},
+ {"/Message/Forward as attachment" , M_HAVE_ACCOUNT|M_TARGET_EXIST|M_SUMMARY_ISLIST},
+ {"/Message/Redirect" , M_HAVE_ACCOUNT|M_TARGET_EXIST|M_SUMMARY_ISLIST},
{"/Message/Move..." , M_TARGET_EXIST|M_ALLOW_DELETE},
{"/Message/Copy..." , M_TARGET_EXIST|M_EXEC},
{"/Message/Move to trash" , M_TARGET_EXIST|M_ALLOW_DELETE|M_NOT_NEWS},
{"/Message/Delete..." , M_TARGET_EXIST|M_ALLOW_DELETE},
{"/Message/Cancel a news message" , M_TARGET_EXIST|M_ALLOW_DELETE|M_NEWS},
- {"/Message/Mark" , M_TARGET_EXIST},
+ {"/Message/Mark" , M_TARGET_EXIST|M_SUMMARY_ISLIST},
{"/Message/Mark/Mark as spam" , M_TARGET_EXIST|M_CAN_LEARN_SPAM},
{"/Message/Mark/Mark as ham" , M_TARGET_EXIST|M_CAN_LEARN_SPAM},
{"/Message/Mark/Ignore thread" , M_TARGET_EXIST},
@@ -2802,7 +2805,7 @@ void main_window_set_menu_sensitive(MainWindow *mainwin)
{"/Message/Re-edit" , M_HAVE_ACCOUNT|M_ALLOW_REEDIT},
{"/Tools/Add sender to address book" , M_SINGLE_TARGET_EXIST},
- {"/Tools/Harvest addresses" , M_MSG_EXIST},
+ {"/Tools/Harvest addresses" , M_MSG_EXIST|M_SUMMARY_ISLIST},
{"/Tools/Harvest addresses/from Messages..."
, M_TARGET_EXIST},
{"/Tools/Filter all messages in folder", M_MSG_EXIST|M_EXEC},
diff --git a/src/mainwindow.h b/src/mainwindow.h
@@ -59,7 +59,8 @@ typedef enum
M_HAVE_QUEUED_MAILS = 1 << 18,
M_WANT_SYNC = 1 << 19,
M_TAGS_EXIST = 1 << 20,
- M_HAVE_PROCESSING = 1 << 21
+ M_HAVE_PROCESSING = 1 << 21,
+ M_SUMMARY_ISLIST = 1 << 22
} SensitiveCond;
typedef enum
diff --git a/src/summaryview.c b/src/summaryview.c
@@ -3485,12 +3485,18 @@ gboolean summary_step(SummaryView *summaryview, GtkScrollType type)
return TRUE;
}
+gboolean summary_is_list(SummaryView *summaryview)
+{
+ return (gtk_notebook_get_current_page(
+ GTK_NOTEBOOK(summaryview->mainwidget_book)) == 0);
+}
+
void summary_toggle_view(SummaryView *summaryview)
{
if (prefs_common.layout_mode == SMALL_LAYOUT)
return;
if (!messageview_is_visible(summaryview->messageview) &&
- summaryview->selected)
+ summaryview->selected && summary_is_list(summaryview))
summary_display_msg(summaryview,
summaryview->selected);
else
@@ -6147,7 +6153,10 @@ static gboolean summary_button_released(GtkWidget *ctree, GdkEventButton *event,
gboolean summary_pass_key_press_event(SummaryView *summaryview, GdkEventKey *event)
{
- return summary_key_pressed(summaryview->ctree, event, summaryview);
+ if (summary_is_list(summaryview))
+ return summary_key_pressed(summaryview->ctree, event, summaryview);
+ else
+ return FALSE;
}
#define BREAK_ON_MODIFIER_KEY() \
diff --git a/src/summaryview.h b/src/summaryview.h
@@ -322,4 +322,5 @@ void summaryview_activate_quicksearch(SummaryView *summaryview, gboolean show);
void summary_set_menu_sensitive (SummaryView *summaryview);
void summary_relayout(SummaryView *summaryview);
void summary_update_unread(SummaryView *summaryview, FolderItem *removed_item);
+gboolean summary_is_list(SummaryView *summaryview);
#endif /* __SUMMARY_H__ */
diff --git a/src/toolbar.c b/src/toolbar.c
@@ -2294,31 +2294,31 @@ void toolbar_main_set_sensitive(gpointer data)
}
if (toolbar->open_mail_btn) {
SET_WIDGET_COND(toolbar->open_mail_btn,
- M_TARGET_EXIST);
+ M_TARGET_EXIST|M_SUMMARY_ISLIST);
}
if (toolbar->reply_btn) {
SET_WIDGET_COND(toolbar->reply_btn,
- M_HAVE_ACCOUNT|M_TARGET_EXIST);
+ M_HAVE_ACCOUNT|M_TARGET_EXIST|M_SUMMARY_ISLIST);
}
if (toolbar->replyall_btn) {
SET_WIDGET_COND(toolbar->replyall_btn,
- M_HAVE_ACCOUNT|M_TARGET_EXIST);
+ M_HAVE_ACCOUNT|M_TARGET_EXIST|M_SUMMARY_ISLIST);
}
if (toolbar->replylist_btn) {
SET_WIDGET_COND(toolbar->replylist_btn,
- M_HAVE_ACCOUNT|M_TARGET_EXIST);
+ M_HAVE_ACCOUNT|M_TARGET_EXIST|M_SUMMARY_ISLIST);
}
if (toolbar->replysender_btn) {
SET_WIDGET_COND(toolbar->replysender_btn,
- M_HAVE_ACCOUNT|M_TARGET_EXIST);
+ M_HAVE_ACCOUNT|M_TARGET_EXIST|M_SUMMARY_ISLIST);
}
if (toolbar->fwd_btn) {
SET_WIDGET_COND(toolbar->fwd_btn,
- M_HAVE_ACCOUNT|M_TARGET_EXIST);
+ M_HAVE_ACCOUNT|M_TARGET_EXIST|M_SUMMARY_ISLIST);
}
if (prefs_common.next_unread_msg_dialog == NEXTUNREADMSGDIALOG_ASSUME_NO) {
- SET_WIDGET_COND(toolbar->next_btn, M_MSG_EXIST);
+ SET_WIDGET_COND(toolbar->next_btn, M_MSG_EXIST|M_SUMMARY_ISLIST);
} else {
SET_WIDGET_COND(toolbar->next_btn, 0);
}
@@ -2335,13 +2335,9 @@ void toolbar_main_set_sensitive(gpointer data)
SET_WIDGET_COND(toolbar->exec_btn,
M_DELAY_EXEC);
-/* if (toolbar->learn_ham_btn)
- SET_WIDGET_COND(toolbar->learn_ham_btn,
- M_TARGET_EXIST|M_CAN_LEARN_SPAM);
-*/
if (toolbar->learn_spam_btn)
SET_WIDGET_COND(toolbar->learn_spam_btn,
- M_TARGET_EXIST|M_CAN_LEARN_SPAM);
+ M_TARGET_EXIST|M_CAN_LEARN_SPAM|M_SUMMARY_ISLIST);
if (toolbar->cancel_inc_btn)
SET_WIDGET_COND(toolbar->cancel_inc_btn,