comparison 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
comparison
equal deleted inserted replaced
613:353dae3b8505 614:52a6c114e505
282 XS_MUTEX_UNLOCK(xs_status); 282 XS_MUTEX_UNLOCK(xs_status);
283 283
284 xs_fileinfostil = xs_stil_get(pcFilename); 284 xs_fileinfostil = xs_stil_get(pcFilename);
285 285
286 /* Check if there already is an open fileinfo window */ 286 /* Check if there already is an open fileinfo window */
287 if (xs_fileinfowin) { 287 if (xs_fileinfowin)
288 /* Raise old window */
289 gdk_window_raise(xs_fileinfowin->window); 288 gdk_window_raise(xs_fileinfowin->window);
290 289 else {
291 /* Delete items */
292 tmpOptionMenu = LUW("fileinfo_sub_tune");
293 gtk_widget_destroy(GTK_OPTION_MENU(tmpOptionMenu)->menu);
294 GTK_OPTION_MENU(tmpOptionMenu)->menu = gtk_menu_new();
295 } else {
296 /* If not, create a new one */
297 xs_fileinfowin = create_xs_fileinfowin(); 290 xs_fileinfowin = create_xs_fileinfowin();
298 291 gtk_signal_connect(
299 /* Connect additional signals */ 292 GTK_OBJECT(gtk_range_get_adjustment(GTK_RANGE(LUW("fileinfo_subctrl_adj")))),
300 gtk_signal_connect(GTK_OBJECT(gtk_range_get_adjustment(GTK_RANGE(LUW("fileinfo_subctrl_adj")))), 293 "value_changed", GTK_SIGNAL_FUNC(xs_fileinfo_setsong), NULL);
301 "value_changed", GTK_SIGNAL_FUNC(xs_fileinfo_setsong), NULL); 294 }
302 } 295
296 /* Delete current items */
297 tmpOptionMenu = LUW("fileinfo_sub_tune");
298 tmpMenu = gtk_option_menu_get_menu(GTK_OPTION_MENU(tmpOptionMenu));
299 gtk_widget_destroy(tmpMenu);
300 gtk_option_menu_remove_menu(GTK_OPTION_MENU(tmpOptionMenu));
301 tmpMenu = gtk_menu_new();
303 302
304 303
305 /* Set the generic song information */ 304 /* Set the generic song information */
306 gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_filename")), pcFilename); 305 gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_filename")), pcFilename);
307 gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_songname")), tmpInfo->sidName); 306 gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_songname")), tmpInfo->sidName);
308 gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_composer")), tmpInfo->sidComposer); 307 gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_composer")), tmpInfo->sidComposer);
309 gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_copyright")), tmpInfo->sidCopyright); 308 gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_copyright")), tmpInfo->sidCopyright);
310 309
311 310
312 /* Main tune - the pseudo tune */ 311 /* Main tune - the pseudo tune */
313 tmpOptionMenu = LUW("fileinfo_sub_tune");
314 tmpMenu = GTK_OPTION_MENU(tmpOptionMenu)->menu;
315
316 tmpMenuItem = gtk_menu_item_new_with_label(_("General info")); 312 tmpMenuItem = gtk_menu_item_new_with_label(_("General info"));
317 gtk_widget_show(tmpMenuItem); 313 gtk_widget_show(tmpMenuItem);
318 gtk_menu_append(GTK_MENU(tmpMenu), tmpMenuItem); 314 gtk_menu_append(GTK_MENU(tmpMenu), tmpMenuItem);
319 gtk_signal_connect(GTK_OBJECT(tmpMenuItem), "activate", GTK_SIGNAL_FUNC(xs_fileinfo_subtune), tmpMenu); 315 gtk_signal_connect(GTK_OBJECT(tmpMenuItem), "activate",
316 GTK_SIGNAL_FUNC(xs_fileinfo_subtune), tmpMenu);
320 317
321 /* Other menu items */ 318 /* Other menu items */
322 for (n = 1; n <= tmpInfo->nsubTunes; n++) { 319 for (n = 1; n <= tmpInfo->nsubTunes; n++) {
323 gchar tmpStr[64]; 320 gchar tmpStr[64];
324 if (xs_fileinfostil && n <= xs_fileinfostil->nsubTunes && xs_fileinfostil->subTunes[n]) { 321 if (xs_fileinfostil && n <= xs_fileinfostil->nsubTunes && xs_fileinfostil->subTunes[n]) {
340 337
341 tmpMenuItem = gtk_menu_item_new_with_label(tmpStr); 338 tmpMenuItem = gtk_menu_item_new_with_label(tmpStr);
342 gtk_widget_show(tmpMenuItem); 339 gtk_widget_show(tmpMenuItem);
343 gtk_menu_append(GTK_MENU(tmpMenu), tmpMenuItem); 340 gtk_menu_append(GTK_MENU(tmpMenu), tmpMenuItem);
344 341
345 gtk_signal_connect(GTK_OBJECT(tmpMenuItem), "activate", GTK_SIGNAL_FUNC(xs_fileinfo_subtune), tmpMenu); 342 gtk_signal_connect(GTK_OBJECT(tmpMenuItem), "activate",
346 } 343 GTK_SIGNAL_FUNC(xs_fileinfo_subtune), tmpMenu);
344 }
345
346 gtk_option_menu_set_menu(GTK_OPTION_MENU(tmpOptionMenu), tmpMenu);
347 gtk_widget_show(tmpOptionMenu);
347 348
348 /* Set the subtune information */ 349 /* Set the subtune information */
349 xs_fileinfo_subtune(NULL, tmpMenu); 350 xs_fileinfo_subtune(NULL, tmpMenu);
350 351
351 /* Free temporary tuneinfo */ 352 /* Free temporary tuneinfo */