Index: Makefile.am
===================================================================
--- Makefile.am	(revision 33212)
+++ Makefile.am	(working copy)
@@ -1,5 +1,7 @@
 INCLUDES =						\
 	-I$(top_srcdir)					\
+	-I$(top_srcdir)/widgets				\
+	-I$(top_srcdir)/widgets/misc			\
 	$(EVOLUTION_MAIL_CFLAGS)
 
 @EVO_PLUGIN_RULE@
Index: mail-to-meeting.c
===================================================================
--- mail-to-meeting.c	(revision 33212)
+++ mail-to-meeting.c	(working copy)
@@ -32,6 +32,12 @@
 #include "camel/camel-folder.h"
 #include "camel/camel-mime-message.h"
 #include "mail/em-popup.h"
+#include "calendar/gui/e-calendar-view.h"
+#include "calendar/common/authentication.h"
+#include "calendar/gui/dialogs/comp-editor.h"
+#include "calendar/gui/dialogs/select-source-dialog.h"
+#include "calendar/gui/dialogs/event-editor.h"
+#include <time.h>
 
 static void
 add_attendee_cb (gpointer key, gpointer value, gpointer user_data)
@@ -92,14 +98,22 @@
 	ECal *client;
 
 	/* open the meeting client */
-	client = e_cal_new (meeting_source, E_CAL_SOURCE_TYPE_EVENT);
+	client = auth_new_cal_from_source (meeting_source, E_CAL_SOURCE_TYPE_EVENT);
 	if (e_cal_open (client, FALSE, NULL)) {
 		int i;
 
 		for (i = 0; i < (t->uids ? t->uids->len : 0); i++) {
 			CamelMimeMessage *message;
-			ECalComponent *comp;
+			ECalComponent *comp, *comp1;
 			ECalComponentText text;
+			ECalComponentDateTime dt;
+			EventEditor *ee;
+			CompEditor *ce;
+			guint32 flags = 0;
+			struct icaltimetype itt;
+			time_t current_time;
+			icalproperty *icalprop;
+			icalcomponent *icalcomp;
 			GSList sl;
 			char *str;
 
@@ -112,6 +126,17 @@
 			e_cal_component_set_new_vtype (comp, E_CAL_COMPONENT_EVENT);
 			e_cal_component_set_uid (comp, camel_mime_message_get_message_id (message));
 
+			/* set current date/time.Else Meeting cannot be displayed */
+			(void) time(&current_time);
+			itt = icaltime_from_timet (current_time, 0);
+			dt.value = &itt;
+			dt.tzid = NULL;
+
+			/* DSTART and DEND */
+			e_cal_component_set_dtstart (comp, &dt);
+			e_cal_component_set_dtend (comp, &dt);
+			e_cal_component_commit_sequence (comp);
+
 			/* set the meeting's summary */
 			text.value = camel_mime_message_get_subject (message);
 			text.altrep = NULL;
@@ -129,7 +154,28 @@
 			/* set the organizer, and the attendees */
 			set_organizer (comp, message);
 			set_attendees (comp, message);
+			
+			/* icalcomponent */
+			icalcomp = e_cal_component_get_icalcomponent (comp);
+			icalprop = icalproperty_new_x ("0");
+			icalproperty_set_x_name (icalprop, "X-EVOLUTION-MOVE-CALENDAR");
+			icalcomponent_add_property (icalcomp, icalprop);
+			
+			/* Set the Flags */
+			flags |= COMP_EDITOR_NEW_ITEM;
 
+			/*Display the editor */
+			ee = event_editor_new (client, flags);
+			ce = COMP_EDITOR (ee);
+
+			comp1 = e_cal_component_new ();
+			e_cal_component_set_icalcomponent (comp1, icalcomponent_new_clone (icalcomp));
+			comp_editor_edit_comp (ce, comp);
+
+			if( flags & COMP_EDITOR_MEETING)	
+				event_editor_show_meeting (ee);
+			comp_editor_focus (ce);
+
 			/* save the meeting to the selected source */
 			e_cal_create_object (client, e_cal_component_get_icalcomponent (comp), NULL, NULL);
 
@@ -146,28 +192,20 @@
 void
 org_gnome_mail_to_meeting (void *ep, EMPopupTargetSelect *t)
 {
-	GtkWidget *dialog;
 	GConfClient *conf_client;
 	ESourceList *source_list;
+	ESource *source;
 
 	/* ask the user which meeting list to save to */
 	conf_client = gconf_client_get_default ();
 	source_list = e_source_list_new_for_gconf (conf_client, "/apps/evolution/calendar/sources");
 
-	dialog = e_source_selector_dialog_new (NULL, source_list);
+	source = select_source_dialog (NULL, E_CAL_SOURCE_TYPE_EVENT);
+	
+	do_mail_to_meeting (t, source);
 
-	if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK) {
-		ESource *source;
-
-		/* if a source has been selected, perform the mail2meeting operation */
-		source = e_source_selector_dialog_peek_primary_selection (E_SOURCE_SELECTOR_DIALOG (dialog));
-		if (source)
-			do_mail_to_meeting (t, source);
-	}
-
 	g_object_unref (conf_client);
 	g_object_unref (source_list);
-	gtk_widget_destroy (dialog);
 }
 
 int e_plugin_lib_enable(EPluginLib *ep, int enable);
Index: org-gnome-mail-to-meeting.eplug.xml
===================================================================
--- org-gnome-mail-to-meeting.eplug.xml	(revision 33212)
+++ org-gnome-mail-to-meeting.eplug.xml	(working copy)
@@ -15,7 +15,7 @@
 	  type="item"
 	  path="72.mail_to_meeting"
 	  icon="stock_new-meeting"
-	  _label="Con_vert to Meeting"
+	  _label="Conv_ert to Meeting"
 	  enable="one"
 	  visible="one"
 	  activate="org_gnome_mail_to_meeting"/>
