changeset 614:52a6c114e505

Sub-tune info selector fixed in file information dialog.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 02 Sep 2007 17:31:01 +0000
parents 353dae3b8505
children 8fe2e757fa4a
files TODO configure.in src/xs_fileinfo.c
diffstat 3 files changed, 21 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/TODO	Sun Sep 02 02:02:05 2007 +0000
+++ b/TODO	Sun Sep 02 17:31:01 2007 +0000
@@ -7,8 +7,6 @@
 - xs_curve / sidplay2 filter configuration
 - "Pause" does not disable sub-tune controls and XMMS gets confused
   if sub-tune is changed during paused state.
-- Subtune INFO selector does not have text when the
-  fileinfo window is first opened, why?
 - Fix remaining bugs, if any.
 - Check documentation (README, FAQ)
 
--- a/configure.in	Sun Sep 02 02:02:05 2007 +0000
+++ b/configure.in	Sun Sep 02 17:31:01 2007 +0000
@@ -6,7 +6,7 @@
 AC_PREREQ([2.60])
 
 dnl Initialize
-AC_INIT([XMMS-SID], [0.8.0beta18], [ccr@tnsp.org])
+AC_INIT([XMMS-SID], [0.8.0rc1], [ccr@tnsp.org])
 AC_COPYRIGHT([[(C) 2003-2007 Matti 'ccr' Hämäläinen]])
 AC_CONFIG_SRCDIR([src/xmms-sid.h])
 AM_INIT_AUTOMAKE
--- a/src/xs_fileinfo.c	Sun Sep 02 02:02:05 2007 +0000
+++ b/src/xs_fileinfo.c	Sun Sep 02 17:31:01 2007 +0000
@@ -284,22 +284,21 @@
 	xs_fileinfostil = xs_stil_get(pcFilename);
 
 	/* Check if there already is an open fileinfo window */
-	if (xs_fileinfowin) {
-		/* Raise old window */
+	if (xs_fileinfowin)
 		gdk_window_raise(xs_fileinfowin->window);
+	else {
+		xs_fileinfowin = create_xs_fileinfowin();
+		gtk_signal_connect(
+			GTK_OBJECT(gtk_range_get_adjustment(GTK_RANGE(LUW("fileinfo_subctrl_adj")))),
+			"value_changed", GTK_SIGNAL_FUNC(xs_fileinfo_setsong), NULL);
+	}
 
-		/* Delete items */
-		tmpOptionMenu = LUW("fileinfo_sub_tune");
-		gtk_widget_destroy(GTK_OPTION_MENU(tmpOptionMenu)->menu);
-		GTK_OPTION_MENU(tmpOptionMenu)->menu = gtk_menu_new();
-	} else {
-		/* If not, create a new one */
-		xs_fileinfowin = create_xs_fileinfowin();
-
-		/* Connect additional signals */
-		gtk_signal_connect(GTK_OBJECT(gtk_range_get_adjustment(GTK_RANGE(LUW("fileinfo_subctrl_adj")))),
-				   "value_changed", GTK_SIGNAL_FUNC(xs_fileinfo_setsong), NULL);
-	}
+	/* Delete current items */
+	tmpOptionMenu = LUW("fileinfo_sub_tune");
+	tmpMenu = gtk_option_menu_get_menu(GTK_OPTION_MENU(tmpOptionMenu));
+	gtk_widget_destroy(tmpMenu);
+	gtk_option_menu_remove_menu(GTK_OPTION_MENU(tmpOptionMenu));
+	tmpMenu = gtk_menu_new();
 
 
 	/* Set the generic song information */
@@ -310,13 +309,11 @@
 
 
 	/* Main tune - the pseudo tune */
-	tmpOptionMenu = LUW("fileinfo_sub_tune");
-	tmpMenu = GTK_OPTION_MENU(tmpOptionMenu)->menu;
-
 	tmpMenuItem = gtk_menu_item_new_with_label(_("General info"));
 	gtk_widget_show(tmpMenuItem);
 	gtk_menu_append(GTK_MENU(tmpMenu), tmpMenuItem);
-	gtk_signal_connect(GTK_OBJECT(tmpMenuItem), "activate", GTK_SIGNAL_FUNC(xs_fileinfo_subtune), tmpMenu);
+	gtk_signal_connect(GTK_OBJECT(tmpMenuItem), "activate",
+		GTK_SIGNAL_FUNC(xs_fileinfo_subtune), tmpMenu);
 
 	/* Other menu items */
 	for (n = 1; n <= tmpInfo->nsubTunes; n++) {
@@ -342,9 +339,13 @@
 		gtk_widget_show(tmpMenuItem);
 		gtk_menu_append(GTK_MENU(tmpMenu), tmpMenuItem);
 
-		gtk_signal_connect(GTK_OBJECT(tmpMenuItem), "activate", GTK_SIGNAL_FUNC(xs_fileinfo_subtune), tmpMenu);
+		gtk_signal_connect(GTK_OBJECT(tmpMenuItem), "activate",
+			GTK_SIGNAL_FUNC(xs_fileinfo_subtune), tmpMenu);
 	}
 
+	gtk_option_menu_set_menu(GTK_OPTION_MENU(tmpOptionMenu), tmpMenu);
+	gtk_widget_show(tmpOptionMenu);
+
 	/* Set the subtune information */
 	xs_fileinfo_subtune(NULL, tmpMenu);