void
empathy_new_contact_dialog_show (GtkWindow *parent)
+{
+ empathy_new_contact_dialog_show_with_contact (parent, NULL);
+}
+
+void
+empathy_new_contact_dialog_show_with_contact (GtkWindow *parent,
+ EmpathyContact *contact)
{
GtkWidget *dialog;
GtkWidget *button;
gtk_widget_show (button);
/* Contact info widget */
- contact_widget = empathy_contact_widget_new (NULL,
+ contact_widget = empathy_contact_widget_new (contact,
EMPATHY_CONTACT_WIDGET_EDIT_ALIAS |
EMPATHY_CONTACT_WIDGET_EDIT_ACCOUNT |
EMPATHY_CONTACT_WIDGET_EDIT_ID |
void empathy_contact_edit_dialog_show (EmpathyContact *contact,
GtkWindow *parent);
void empathy_contact_personal_dialog_show (GtkWindow *parent);
-void empathy_new_contact_dialog_show (GtkWindow *parent);
+ GtkWindow *parent,
+ gboolean edit,
+ gboolean is_user);
+void empathy_new_contact_dialog_show (GtkWindow *parent);
+void empathy_new_contact_dialog_show_with_contact (GtkWindow *parent,
+ EmpathyContact *contact);
G_END_DECLS
}
static void
-empathy_contact_chat_menu_item_activated (GtkMenuItem *item,
+empathy_contact_add_menu_item_activated (GtkMenuItem *item,
EmpathyContact *contact)
{
- empathy_dispatcher_chat_with_contact (contact, NULL, NULL);
+ /* FIXME - attempt to get parent */
+ /* FIXME - the contact dialog doesn't set the source account right */
+ empathy_new_contact_dialog_show_with_contact (NULL, contact);
}
GtkWidget *
GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
- /* FIXME - callback */
+ g_signal_connect (item, "activate",
+ G_CALLBACK (empathy_contact_add_menu_item_activated),
+ contact);
return item;
}
+static void
+empathy_contact_chat_menu_item_activated (GtkMenuItem *item,
+ EmpathyContact *contact)
+{
+ empathy_dispatcher_chat_with_contact (contact, NULL, NULL);
+}
+
GtkWidget *
empathy_contact_chat_menu_item_new (EmpathyContact *contact)
{