]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-individual-menu.c
factor out start_gnome_contacts()
[empathy.git] / libempathy-gtk / empathy-individual-menu.c
index b891854dadb66aaaf4f756aa49b592a211fcdbae..6d9359d65fa5550759050549f153d992492436da 100644 (file)
@@ -1292,7 +1292,25 @@ empathy_individual_favourite_menu_item_new (FolksIndividual *individual)
 }
 
 static void
-individual_info_menu_item_activate_cb (FolksIndividual *individual)
+show_gnome_contacts_error_dialog (void)
+{
+  GtkWidget *dialog;
+
+  dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
+      GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
+      _("gnome-contacts not installed"));
+
+  gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
+      _("Please install gnome-contacts to access contacts details."));
+
+  g_signal_connect_swapped (dialog, "response",
+          G_CALLBACK (gtk_widget_destroy), dialog);
+
+  gtk_widget_show (dialog);
+}
+
+static void
+start_gnome_contacts (FolksIndividual *individual)
 {
   GDesktopAppInfo *desktop_info;
   gchar *cmd;
@@ -1308,22 +1326,9 @@ individual_info_menu_item_activate_cb (FolksIndividual *individual)
   desktop_info = g_desktop_app_info_new ("gnome-contacts.desktop");
   if (desktop_info == NULL)
     {
-      GtkWidget *dialog;
-
       DEBUG ("gnome-contacts not installed");
 
-      dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
-          GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
-          _("gnome-contacts not installed"));
-
-      gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
-          _("Please install gnome-contacts to access contacts details."));
-
-      g_signal_connect_swapped (dialog, "response",
-          G_CALLBACK (gtk_widget_destroy),
-          dialog);
-
-      gtk_widget_show (dialog);
+      show_gnome_contacts_error_dialog ();
       return;
     }
 
@@ -1350,6 +1355,12 @@ individual_info_menu_item_activate_cb (FolksIndividual *individual)
   g_object_unref (app_info);
 }
 
+static void
+individual_info_menu_item_activate_cb (FolksIndividual *individual)
+{
+  start_gnome_contacts (individual);
+}
+
 static GtkWidget *
 empathy_individual_info_menu_item_new (FolksIndividual *individual)
 {