changeset 612:32fc27395220

About window wasn't handling delete_event properly, fixed; Cleaned up event handling a bit.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 02 Sep 2007 00:03:05 +0000
parents a751d2b85a7d
children 353dae3b8505
files src/xmms-sid.h src/xs_about.c src/xs_config.c src/xs_fileinfo.c src/xs_genui.c src/xs_genui.h
diffstat 6 files changed, 47 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/src/xmms-sid.h	Sat Sep 01 14:43:05 2007 +0000
+++ b/src/xmms-sid.h	Sun Sep 02 00:03:05 2007 +0000
@@ -216,6 +216,27 @@
 #  endif
 #endif
 
+
+/* And even some Gtk+ macro crap here, yay.
+ */
+#define XS_DEF_WINDOW_DELETE(ME, MV)					\
+gboolean xs_ ## ME ## _delete(GtkWidget *w, GdkEvent *e, gpointer d) {	\
+	(void) w; (void) e; (void) d;					\
+	if (xs_ ## MV ) {						\
+		gtk_widget_destroy(xs_ ## MV );				\
+		xs_ ## MV = NULL;					\
+	}								\
+	return FALSE;							\
+}
+
+#define XS_DEF_WINDOW_CLOSE(ME, MV)			\
+void xs_ ## ME (GtkButton *b, gpointer d) {		\
+	(void) b; (void) d;				\
+	gtk_widget_destroy(xs_ ## MV );			\
+	xs_ ## MV = NULL;				\
+}
+
+
 #ifdef __cplusplus
 }
 #endif
--- a/src/xs_about.c	Sat Sep 01 14:43:05 2007 +0000
+++ b/src/xs_about.c	Sun Sep 02 00:03:05 2007 +0000
@@ -51,12 +51,8 @@
 #endif
 
 
-gint xs_about_ok(void)
-{
-	gtk_widget_destroy(xs_aboutwin);
-	xs_aboutwin = NULL;
-	return 0;
-}
+XS_DEF_WINDOW_CLOSE(about_ok, aboutwin)
+XS_DEF_WINDOW_DELETE(about, aboutwin)
 
 
 /*
@@ -88,6 +84,9 @@
 	gtk_window_set_title(GTK_WINDOW(xs_aboutwin), tmpStr);
 	gtk_window_set_default_size(GTK_WINDOW(xs_aboutwin), 350, -1);
 
+	gtk_signal_connect(GTK_OBJECT(xs_aboutwin), "delete_event",
+		GTK_SIGNAL_FUNC(xs_about_delete), NULL);
+
 	about_vbox1 = gtk_vbox_new(FALSE, 0);
 	gtk_widget_set_name(about_vbox1, "about_vbox1");
 	gtk_widget_ref(about_vbox1);
--- a/src/xs_config.c	Sat Sep 01 14:43:05 2007 +0000
+++ b/src/xs_config.c	Sun Sep 02 00:03:05 2007 +0000
@@ -72,20 +72,6 @@
 
 #define LUW(x)	lookup_widget(xs_configwin, x)
 
-#define XS_DEF_WINDOW_DELETE(ME, MV)						\
-gboolean xs_ ## ME ## _delete(GtkWidget * w, GdkEvent * e, gpointer d) {	\
-	(void) w; (void) e; (void) d;						\
-	if (xs_ ## MV ) { gtk_widget_destroy(xs_ ## MV ); xs_ ## MV = NULL; }	\
-	return FALSE;								\
-}
-
-#define XS_DEF_WINDOW_CANCEL(ME, MV)			\
-void xs_ ## ME ## _cancel(GtkButton *b, gpointer d) {	\
-	(void) b; (void) d;				\
-	gtk_widget_destroy(xs_ ## MV );			\
-	xs_ ## MV = NULL;				\
-}
-
 /* Samplerates
  */
 static gchar *xs_samplerates_table[] = {
@@ -657,7 +643,7 @@
 
 /* Configuration panel was canceled
  */
-XS_DEF_WINDOW_CANCEL(cfg, configwin)
+XS_DEF_WINDOW_CLOSE(cfg_cancel, configwin)
 
 
 /* Configuration was accepted, save the settings
@@ -792,7 +778,7 @@
 	xs_sldb_fileselector = NULL;
 }
 
-XS_DEF_WINDOW_CANCEL(sldb_fs, sldb_fileselector)
+XS_DEF_WINDOW_CLOSE(sldb_fs_cancel, sldb_fileselector)
 XS_DEF_WINDOW_DELETE(sldb_fs, sldb_fileselector)
 
 
@@ -831,7 +817,7 @@
 }
 
 
-XS_DEF_WINDOW_CANCEL(stil_fs, stil_fileselector)
+XS_DEF_WINDOW_CLOSE(stil_fs_cancel, stil_fileselector)
 XS_DEF_WINDOW_DELETE(stil_fs, stil_fileselector)
 
 
@@ -870,7 +856,7 @@
 }
 
 
-XS_DEF_WINDOW_CANCEL(hvsc_fs, hvsc_selector)
+XS_DEF_WINDOW_CLOSE(hvsc_fs_cancel, hvsc_selector)
 XS_DEF_WINDOW_DELETE(hvsc_fs, hvsc_selector)
 
 
@@ -1031,7 +1017,7 @@
 }
 
 
-XS_DEF_WINDOW_CANCEL(filter_import_fs, filt_importselector)
+XS_DEF_WINDOW_CLOSE(filter_import_fs_cancel, filt_importselector)
 XS_DEF_WINDOW_DELETE(filter_import_fs, filt_importselector)
 
 
@@ -1069,7 +1055,7 @@
 }
 
 
-XS_DEF_WINDOW_CANCEL(filter_export_fs, filt_exportselector)
+XS_DEF_WINDOW_CLOSE(filter_export_fs_cancel, filt_exportselector)
 XS_DEF_WINDOW_DELETE(filter_export_fs, filt_exportselector)
 
 
--- a/src/xs_fileinfo.c	Sat Sep 01 14:43:05 2007 +0000
+++ b/src/xs_fileinfo.c	Sun Sep 02 00:03:05 2007 +0000
@@ -214,7 +214,6 @@
 }
 
 
-
 static void xs_fileinfo_subtune(GtkWidget * widget, void *data)
 {
 	t_xs_stil_subnode *tmpNode;
--- a/src/xs_genui.c	Sat Sep 01 14:43:05 2007 +0000
+++ b/src/xs_genui.c	Sun Sep 02 00:03:05 2007 +0000
@@ -9,3 +9,13 @@
 #include "xs_glade.h"
 
 
+
+gboolean
+xs_confirmwin_delete                   (GtkWidget       *widget,
+                                        GdkEvent        *event,
+                                        gpointer         user_data)
+{
+
+  return FALSE;
+}
+
--- a/src/xs_genui.h	Sat Sep 01 14:43:05 2007 +0000
+++ b/src/xs_genui.h	Sun Sep 02 00:03:05 2007 +0000
@@ -183,3 +183,8 @@
 void
 xs_filter_export_fs_cancel             (GtkButton       *button,
                                         gpointer         user_data);
+
+gboolean
+xs_confirmwin_delete                   (GtkWidget       *widget,
+                                        GdkEvent        *event,
+                                        gpointer         user_data);