Mercurial > hg > xmms-sid
diff src/xs_fileinfo.c @ 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 | 32fc27395220 |
children | 8fe2e757fa4a |
line wrap: on
line diff
--- 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);