Ticket #8: 01_close_button.diff

Line 
1 === modified file 'themes/standard/theme.c'
2 --- themes/standard/theme.c
3 +++ themes/standard/theme.c
4 @@ -82,6 +82,14 @@
5     return FALSE;
6  }
7  
8 +static void
9 +_button_release_cb(GtkWidget *self, GdkEvent *ev, gpointer data)
10 +{
11 +        GtkWidget *win = (GtkWidget *)data;
12 +   g_signal_emit_by_name(G_OBJECT(win), "button-release-event", win, ev);
13 +}
14 +
15 +
16  GtkWindow *
17  create_notification(UrlClickedCb url_clicked)
18  {
19 @@ -140,6 +148,24 @@
20  
21     vbox = gtk_vbox_new(FALSE, 6);
22     gtk_widget_show(vbox);
23 +
24 +   // add the close button
25 +   GtkWidget *close, *close_box;
26 +   close_box = gtk_vbox_new(FALSE, 0);
27 +   gtk_widget_show(close_box);
28 +   close = gtk_button_new();
29 +   g_signal_connect(G_OBJECT(close), "button-release-event",
30 +            G_CALLBACK(_button_release_cb), win);
31 +   gtk_button_set_relief(GTK_BUTTON(close), GTK_RELIEF_NONE);
32 +   gtk_button_set_label(GTK_BUTTON(close),"");
33 +   gtk_button_set_image(GTK_BUTTON(close),
34 +                gtk_image_new_from_stock(GTK_STOCK_CLOSE,
35 +                             GTK_ICON_SIZE_MENU));
36 +   gtk_widget_show(close);
37 +   gtk_box_pack_start(GTK_BOX(close_box), close, FALSE, FALSE, 0);
38 +   gtk_box_pack_end(GTK_BOX(windata->contentbox), close_box, FALSE, FALSE, 0);
39 +
40 +
41     gtk_container_add(GTK_CONTAINER(windata->contentbox), vbox);
42     gtk_container_set_border_width(GTK_CONTAINER(vbox), 10);
43  
44