? composer/Evolution-Addressbook-SelectNames-stubs.c
? composer/Evolution-Addressbook-SelectNames-skels.c
? composer/Evolution-Addressbook-SelectNames-common.c
? composer/Evolution-Addressbook-SelectNames.h
? executive-summary/component/Composer-stubs.c
? executive-summary/component/Composer-skels.c
? executive-summary/component/Composer-common.c
? executive-summary/component/Composer.h
Index: mail/folder-browser-factory.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/folder-browser-factory.c,v
retrieving revision 1.116
diff -u -r1.116 folder-browser-factory.c
--- mail/folder-browser-factory.c	2000/10/26 00:16:31	1.116
+++ mail/folder-browser-factory.c	2000/10/29 13:47:51
@@ -141,6 +141,9 @@
 		uic, EVOLUTION_DATADIR,
 		"evolution-mail.xml", "evolution-mail");
 
+	/* adding the uic to the folder-browser */
+	FOLDER_BROWSER(folder_browser)->uic = uic;
+
 	if (mail_config_thread_list ())
 		bonobo_ui_component_set_prop (
 			uic, "/commands/ViewThreaded", "state", "1", NULL);
Index: mail/folder-browser.h
===================================================================
RCS file: /cvs/gnome/evolution/mail/folder-browser.h,v
retrieving revision 1.17
diff -u -r1.17 folder-browser.h
--- mail/folder-browser.h	2000/10/09 12:57:36	1.17
+++ mail/folder-browser.h	2000/10/29 13:47:51
@@ -50,6 +50,9 @@
 	/* Stuff to allow on-demand filtering */
 	GSList        *filter_menu_paths;
 	FilterContext *filter_context;
+
+	/* the BonoboUIComponent */
+	BonoboUIComponent *uic;
 };
 
 
Index: mail/message-list.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/message-list.c,v
retrieving revision 1.162
diff -u -r1.162 message-list.c
--- mail/message-list.c	2000/10/25 19:05:20	1.162
+++ mail/message-list.c	2000/10/29 13:47:53
@@ -85,6 +85,7 @@
 static gint on_right_click (ETableScrolled *table, gint row, gint col, GdkEvent *event, MessageList *list);
 static gint on_click (ETableScrolled *table, gint row, gint col, GdkEvent *event, MessageList *list);
 static void on_double_click (ETableScrolled *table, gint row, MessageList *list);
+static void on_selection_change (ETableSelectionModel *selection, gpointer user_data);
 static void select_msg (MessageList *message_list, gint row);
 static char *filter_date (const void *data);
 static void nuke_uids (GtkObject *o);
@@ -1020,6 +1021,9 @@
 	
 	gtk_signal_connect (GTK_OBJECT (message_list->etable), "double_click",
 			    GTK_SIGNAL_FUNC (on_double_click), message_list);
+	
+	gtk_signal_connect (GTK_OBJECT (E_TABLE_SCROLLED(message_list->etable)->table->selection), "selection_changed", GTK_SIGNAL_FUNC (on_selection_change), message_list);
+
 
 #if 0
 	/* drag & drop */
@@ -1573,8 +1577,8 @@
 		{ _("Edit Message"),            NULL, GTK_SIGNAL_FUNC (edit_msg),          1 },
 		{ _("Print Message"),           NULL, GTK_SIGNAL_FUNC (print_msg),         0 },
 		{ "",                           NULL, GTK_SIGNAL_FUNC (NULL),              0 },
-		{ _("Reply to Sender"),         NULL, GTK_SIGNAL_FUNC (reply_to_sender),   0 },
-		{ _("Reply to All"),            NULL, GTK_SIGNAL_FUNC (reply_to_all),      0 },
+		{ _("Reply to Sender"),         NULL, GTK_SIGNAL_FUNC (reply_to_sender),   8 },
+		{ _("Reply to All"),            NULL, GTK_SIGNAL_FUNC (reply_to_all),      8 },
 		{ _("Forward Message"),         NULL, GTK_SIGNAL_FUNC (forward_msg),       0 },
 		{ "",                           NULL, GTK_SIGNAL_FUNC (NULL),              0 },
 		{ _("Delete Message"),          NULL, GTK_SIGNAL_FUNC (delete_msg),        0 },
@@ -1616,6 +1620,9 @@
 		menu[last_item].name = g_strdup_printf (_("Filter on Mailing List (%s)"),
 							mailing_list_name);
 	}
+	
+	if (e_table_selection_model_selected_count(table->table->selection) > 1) 
+	    enable_mask |= 8;
 
 	e_popup_menu_run (menu, (GdkEventButton *)event, enable_mask, 0, fb);
 
@@ -1660,6 +1667,39 @@
 	FolderBrowser *fb = list->parent_folder_browser;
 	
 	view_msg (NULL, fb);
+}
+
+static void
+on_selection_change (ETableSelectionModel *selection, gpointer user_data)
+{	
+	FolderBrowser *fb = FOLDER_BROWSER(MESSAGE_LIST(user_data)->parent_folder_browser);
+
+	if (e_table_selection_model_selected_count(selection) > 1)  {
+		/* disable reply, reply-to-all buttons on toolbar */
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessageReplySndr", "sensitive", "0", NULL);
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessageReplyAll", "sensitive", "0", NULL);
+	} else if (e_table_selection_model_selected_count(selection) == 0) {
+		/* disable reply, reply-to-all, forward, delete, and print
+		   buttons on toolbar 
+		   Maybe should also check to see if there's a message 
+		   being displayed, if so don't disable.
+		*/
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessageReplySndr", "sensitive", "0", NULL);
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessageReplyAll", "sensitive", "0", NULL);
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessageForward", "sensitive", "0", NULL);
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessageMove", "sensitive", "0", NULL);
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessageCopy", "sensitive", "0", NULL);
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessagePrint", "sensitive", "0", NULL);
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessageDelete", "sensitive", "0", NULL);
+	} else {
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessageReplySndr", "sensitive", "1", NULL);
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessageReplyAll", "sensitive", "1", NULL);
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessageForward", "sensitive", "1", NULL);
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessageMove", "sensitive", "1", NULL);
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessageCopy", "sensitive", "1", NULL);
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessagePrint", "sensitive", "1", NULL);
+		bonobo_ui_component_set_prop (fb->uic, "/commands/MessageDelete", "sensitive", "1", NULL);
+	}
 }
 
 struct message_list_foreach_data {
Index: ui/evolution-mail.xml
===================================================================
RCS file: /cvs/gnome/evolution/ui/evolution-mail.xml,v
retrieving revision 1.19
diff -u -r1.19 evolution-mail.xml
--- ui/evolution-mail.xml	2000/10/26 00:10:30	1.19
+++ ui/evolution-mail.xml	2000/10/29 13:47:53
@@ -4,7 +4,20 @@
 
     <cmd name="ViewThreaded"
       _label="_Threaded" _tip="Threaded Message list" type="toggle" />
- 
+    <cmd name="MessageReplySndr"
+	  _label="Reply" _tip="Reply to the sender of this message" />
+    <cmd name="MessageReplyAll"
+    _label="Reply to All" _tip="Reply to all recipients of this message" />
+    <cmd name="MessageForward"
+    _label="Forward" _tip="Forward this message" />
+    <cmd name="MessageMove"
+    _label="Move" _tip="Move message to a new folder" />
+    <cmd name="MessageCopy"
+    _label="Copy" _tip="Copy message to a new folder" />
+    <cmd name="MessagePrint"
+    _label="Print" _tip="Print the selected message" />
+    <cmd name="MessageDelete"
+    _label="Delete" _tip="Delete this message" />
   </commands>
 
   <keybindings>
@@ -165,35 +178,28 @@
     <separator/>
 
     <toolitem name="Reply" verb="MessageReplySndr"
-    _label="Reply" _tip="Reply to the sender of this message"
     pixtype="pixbuf"/>
 
     <toolitem name="ReplyAll" verb="MessageReplyAll"
-    _label="Reply to All" _tip="Reply to all recipients of this message"
     pixtype="pixbuf"/>
 
     <toolitem name="Forward" verb="MessageForward"
-    _label="Forward" _tip="Forward this message"
     pixtype="pixbuf"/>
 
     <separator/>
 
     <toolitem name="Move" verb="MessageMove"
-    _label="Move" _tip="Move message to a new folder"
     pixtype="pixbuf"/>
 
     <toolitem name="Copy" verb="MessageCopy"
-    _label="Copy" _tip="Copy message to a new folder"
     pixtype="pixbuf"/>
 
     <separator/>
 
     <toolitem name="Print" verb="MessagePrint"
-    _label="Print" _tip="Print the selected message"
     pixtype="stock" pixname="Print"/>
 
     <toolitem name="Delete" verb="MessageDelete"
-    _label="Delete" _tip="Delete this message"
     pixtype="stock" pixname="Trash"/>
 
   </dockitem>
