#include "milk-dialogs.h"
#include "milk-main-window.h"
-typedef struct {
- const char *uri;
- GtkWidget *finish_button;
-} LinkClickedClosure;
-
static void
-link_clicked_cb (GtkButton *link,
- LinkClickedClosure *closure)
+link_clicked_cb (GtkLinkButton *link,
+ gpointer user_data)
{
- gtk_widget_set_sensitive (closure->finish_button, TRUE);
+ GtkWidget *finish_button;
- hildon_uri_open (closure->uri, NULL, NULL);
+ finish_button = GTK_WIDGET (g_object_get_data (G_OBJECT (link),
+ "finish-button"));
- g_free (closure);
+ gtk_widget_set_sensitive (finish_button, TRUE);
+ hildon_uri_open (gtk_link_button_get_uri (link), NULL, NULL);
}
static void
GtkWidget *label;
GtkWidget *link;
GtkWidget *finish_button;
- LinkClickedClosure *closure;
if (!parent)
parent = GTK_WINDOW (milk_main_window_get_default ());
G_CALLBACK (finish_button_clicked_cb), dialog);
link = gtk_link_button_new_with_label (uri, _("Log in"));
- closure = g_new0 (LinkClickedClosure, 1);
- closure->uri = uri;
- closure->finish_button = finish_button;
- g_signal_connect (link, "clicked", G_CALLBACK (link_clicked_cb),
- closure);
+ g_object_set_data (G_OBJECT (link), "finish-button", finish_button);
+ g_signal_connect (link, "clicked", G_CALLBACK (link_clicked_cb), NULL);
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->action_area),
link);