aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs/e-delegate-dialog.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/dialogs/e-delegate-dialog.c')
-rw-r--r--calendar/gui/dialogs/e-delegate-dialog.c40
1 files changed, 15 insertions, 25 deletions
diff --git a/calendar/gui/dialogs/e-delegate-dialog.c b/calendar/gui/dialogs/e-delegate-dialog.c
index beb93d5dc8..1a245d0d32 100644
--- a/calendar/gui/dialogs/e-delegate-dialog.c
+++ b/calendar/gui/dialogs/e-delegate-dialog.c
@@ -145,9 +145,11 @@ e_delegate_dialog_destroy (GtkObject *object)
EDelegateDialog *
-e_delegate_dialog_construct (EDelegateDialog *edd)
+e_delegate_dialog_construct (EDelegateDialog *edd, const char *name, const char *address)
{
EDelegateDialogPrivate *priv;
+ EDestination *dest;
+ EDestination *destv[2] = {NULL, NULL};
Bonobo_Control corba_control;
CORBA_Environment ev;
@@ -197,7 +199,15 @@ e_delegate_dialog_construct (EDelegateDialog *edd)
gtk_widget_show (priv->entry);
gtk_box_pack_start (GTK_BOX (priv->hbox), priv->entry, TRUE, TRUE, 0);
-
+ dest = e_destination_new ();
+ destv[0] = dest;
+ if (name != NULL && *name)
+ e_destination_set_name (dest, name);
+ if (address != NULL && *address)
+ e_destination_set_email (dest, address);
+ bonobo_widget_set_property (BONOBO_WIDGET (priv->entry), "destinations", e_destination_exportv (destv), NULL);
+ gtk_object_unref (GTK_OBJECT (dest));
+
gtk_signal_connect (GTK_OBJECT (priv->addressbook), "clicked",
GTK_SIGNAL_FUNC (addressbook_clicked_cb), edd);
@@ -253,12 +263,12 @@ addressbook_clicked_cb (GtkWidget *widget, gpointer data)
* editor could not be created.
**/
EDelegateDialog *
-e_delegate_dialog_new (void)
+e_delegate_dialog_new (const char *name, const char *address)
{
EDelegateDialog *edd;
edd = E_DELEGATE_DIALOG (gtk_type_new (E_TYPE_DELEGATE_DIALOG));
- return e_delegate_dialog_construct (E_DELEGATE_DIALOG (edd));
+ return e_delegate_dialog_construct (E_DELEGATE_DIALOG (edd), name, address);
}
char *
@@ -273,11 +283,9 @@ e_delegate_dialog_get_delegate (EDelegateDialog *edd)
priv = edd->priv;
- bonobo_widget_get_property (BONOBO_WIDGET (priv->entry), "text", &string, NULL);
+ bonobo_widget_get_property (BONOBO_WIDGET (priv->entry), "destinations", &string, NULL);
destv = e_destination_importv (string);
- g_message ("importv: [%s]", string);
-
if (destv && destv[0] != NULL) {
g_free (priv->address);
priv->address = g_strdup (e_destination_get_email (destv[0]));
@@ -318,24 +326,6 @@ e_delegate_dialog_get_delegate_name (EDelegateDialog *edd)
return g_strdup (priv->name);
}
-void
-e_delegate_dialog_set_delegate (EDelegateDialog *edd,
- const char *address)
-{
- EDelegateDialogPrivate *priv;
-
- g_return_if_fail (edd != NULL);
- g_return_if_fail (E_IS_DELEGATE_DIALOG (edd));
-
- priv = edd->priv;
-
- if (priv->address)
- g_free (priv->address);
-
- priv->address = g_strdup (address);
-}
-
-
GtkWidget*
e_delegate_dialog_get_toplevel (EDelegateDialog *edd)
{