static void action_connect_to_server_callback (GtkAction *action, gpointer user_data) { NautilusWindow *window = NAUTILUS_WINDOW (user_data); GtkWidget *dialog; GFile *location; location = nautilus_window_get_location (window); dialog = nautilus_connect_server_dialog_new (window, location); if (location) { g_object_unref (location); } gtk_widget_show (dialog); }
GtkWidget * nautilus_application_connect_server (NautilusApplication *application, NautilusWindow *window) { GtkWidget *dialog; dialog = application->priv->connect_server_window; if (dialog == NULL) { dialog = nautilus_connect_server_dialog_new (window); g_signal_connect (dialog, "response", G_CALLBACK (on_connect_server_response), application); application->priv->connect_server_window = GTK_WIDGET (dialog); g_object_add_weak_pointer (G_OBJECT (dialog), (gpointer *) &application->priv->connect_server_window); } gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (window)); gtk_window_set_screen (GTK_WINDOW (dialog), gtk_window_get_screen (GTK_WINDOW (window))); gtk_window_present (GTK_WINDOW (dialog)); return dialog; }