| 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 |
|
|---|