Mercurial > hg > xmms-sid
comparison src/xs_config.c @ 487:6357b7fe5b0d
Added new WTYPE_COMBO, the audio frequency selection now uses a combobox.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 26 Jan 2007 15:47:03 +0000 |
parents | faf12767a6f1 |
children | cdea37aef52c |
comparison
equal
deleted
inserted
replaced
486:4c599be2d349 | 487:6357b7fe5b0d |
---|---|
98 { WTYPE_BGROUP, CTYPE_INT, "cfg_res_16bit", &xs_cfg.audioBitsPerSample, XS_RES_16BIT }, | 98 { WTYPE_BGROUP, CTYPE_INT, "cfg_res_16bit", &xs_cfg.audioBitsPerSample, XS_RES_16BIT }, |
99 { WTYPE_BGROUP, CTYPE_INT, "cfg_res_8bit", &xs_cfg.audioBitsPerSample, XS_RES_8BIT }, | 99 { WTYPE_BGROUP, CTYPE_INT, "cfg_res_8bit", &xs_cfg.audioBitsPerSample, XS_RES_8BIT }, |
100 { WTYPE_BGROUP, CTYPE_INT, "cfg_chn_mono", &xs_cfg.audioChannels, XS_CHN_MONO }, | 100 { WTYPE_BGROUP, CTYPE_INT, "cfg_chn_mono", &xs_cfg.audioChannels, XS_CHN_MONO }, |
101 { WTYPE_BGROUP, CTYPE_INT, "cfg_chn_stereo", &xs_cfg.audioChannels, XS_CHN_STEREO }, | 101 { WTYPE_BGROUP, CTYPE_INT, "cfg_chn_stereo", &xs_cfg.audioChannels, XS_CHN_STEREO }, |
102 { WTYPE_BGROUP, CTYPE_INT, "cfg_chn_autopan", &xs_cfg.audioChannels, XS_CHN_AUTOPAN }, | 102 { WTYPE_BGROUP, CTYPE_INT, "cfg_chn_autopan", &xs_cfg.audioChannels, XS_CHN_AUTOPAN }, |
103 { WTYPE_SPIN, CTYPE_INT, "cfg_samplerate", &xs_cfg.audioFrequency, 0 }, | 103 { WTYPE_COMBO, CTYPE_INT, "cfg_samplerate", &xs_cfg.audioFrequency, XS_AUDIO_FREQ }, |
104 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_oversample", &xs_cfg.oversampleEnable, 0 }, | 104 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_oversample", &xs_cfg.oversampleEnable, 0 }, |
105 { WTYPE_SPIN, CTYPE_INT, "cfg_oversample_factor",&xs_cfg.oversampleFactor, 0 }, | 105 { WTYPE_SPIN, CTYPE_INT, "cfg_oversample_factor",&xs_cfg.oversampleFactor, 0 }, |
106 | 106 |
107 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sidplay1", &xs_cfg.playerEngine, XS_ENG_SIDPLAY1 }, | 107 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sidplay1", &xs_cfg.playerEngine, XS_ENG_SIDPLAY1 }, |
108 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sidplay2", &xs_cfg.playerEngine, XS_ENG_SIDPLAY2 }, | 108 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sidplay2", &xs_cfg.playerEngine, XS_ENG_SIDPLAY2 }, |
166 XS_MUTEX_LOCK(xs_cfg); | 166 XS_MUTEX_LOCK(xs_cfg); |
167 | 167 |
168 /* Initialize values with sensible defaults */ | 168 /* Initialize values with sensible defaults */ |
169 xs_cfg.audioBitsPerSample = XS_RES_16BIT; | 169 xs_cfg.audioBitsPerSample = XS_RES_16BIT; |
170 xs_cfg.audioChannels = XS_CHN_MONO; | 170 xs_cfg.audioChannels = XS_CHN_MONO; |
171 xs_cfg.audioFrequency = 44100; | 171 xs_cfg.audioFrequency = XS_AUDIO_FREQ; |
172 | 172 |
173 xs_cfg.mos8580 = FALSE; | 173 xs_cfg.mos8580 = FALSE; |
174 xs_cfg.forceModel = FALSE; | 174 xs_cfg.forceModel = FALSE; |
175 | 175 |
176 xs_cfg.emulateFilters = TRUE; | 176 xs_cfg.emulateFilters = TRUE; |
234 #ifdef HAVE_XMMSEXTRA | 234 #ifdef HAVE_XMMSEXTRA |
235 xs_cfg.titleOverride = FALSE; | 235 xs_cfg.titleOverride = FALSE; |
236 #else | 236 #else |
237 xs_cfg.titleOverride = TRUE; | 237 xs_cfg.titleOverride = TRUE; |
238 #endif | 238 #endif |
239 xs_pstrcpy(&xs_cfg.titleFormat, "%p - %t (%c) [%n/%N][%m]"); | 239 xs_pstrcpy(&xs_cfg.titleFormat, "%p - %t (%c) [%n/%N][%m/%C]"); |
240 | 240 |
241 | 241 |
242 xs_cfg.subAutoEnable = FALSE; | 242 xs_cfg.subAutoEnable = FALSE; |
243 xs_cfg.subAutoMinOnly = TRUE; | 243 xs_cfg.subAutoMinOnly = TRUE; |
244 xs_cfg.subAutoMinTime = 15; | 244 xs_cfg.subAutoMinTime = 15; |
281 | 281 |
282 /* Read the new settings from XMMS configuration file */ | 282 /* Read the new settings from XMMS configuration file */ |
283 for (i = 0; i < xs_cfgtable_max; i++) { | 283 for (i = 0; i < xs_cfgtable_max; i++) { |
284 switch (xs_cfgtable[i].itemType) { | 284 switch (xs_cfgtable[i].itemType) { |
285 case CTYPE_INT: | 285 case CTYPE_INT: |
286 xmms_cfg_read_int(cfgFile, XS_CONFIG_IDENT, xs_cfgtable[i].itemName, | 286 xmms_cfg_read_int(cfgFile, XS_CONFIG_IDENT, |
287 (gint *) xs_cfgtable[i].itemData); | 287 xs_cfgtable[i].itemName, |
288 (gint *) xs_cfgtable[i].itemData); | |
288 break; | 289 break; |
289 | 290 |
290 case CTYPE_BOOL: | 291 case CTYPE_BOOL: |
291 xmms_cfg_read_boolean(cfgFile, XS_CONFIG_IDENT, xs_cfgtable[i].itemName, | 292 xmms_cfg_read_boolean(cfgFile, XS_CONFIG_IDENT, |
292 (gboolean *) xs_cfgtable[i].itemData); | 293 xs_cfgtable[i].itemName, |
294 (gboolean *) xs_cfgtable[i].itemData); | |
293 break; | 295 break; |
294 | 296 |
295 case CTYPE_FLOAT: | 297 case CTYPE_FLOAT: |
296 xmms_cfg_read_float(cfgFile, XS_CONFIG_IDENT, xs_cfgtable[i].itemName, | 298 xmms_cfg_read_float(cfgFile, XS_CONFIG_IDENT, |
297 (gfloat *) xs_cfgtable[i].itemData); | 299 xs_cfgtable[i].itemName, |
298 break; | 300 (gfloat *) xs_cfgtable[i].itemData); |
299 | 301 break; |
302 | |
300 case CTYPE_STR: | 303 case CTYPE_STR: |
301 if (xmms_cfg_read_string | 304 if (xmms_cfg_read_string(cfgFile, XS_CONFIG_IDENT, |
302 (cfgFile, XS_CONFIG_IDENT, xs_cfgtable[i].itemName, (gchar **) & tmpStr)) { | 305 xs_cfgtable[i].itemName, (gchar **) &tmpStr)) { |
303 /* Read was successfull */ | 306 /* Read was successfull */ |
304 xs_pstrcpy((gchar **) xs_cfgtable[i].itemData, tmpStr); | 307 xs_pstrcpy((gchar **) xs_cfgtable[i].itemData, tmpStr); |
305 g_free(tmpStr); | 308 g_free(tmpStr); |
306 } | 309 } |
307 break; | 310 break; |
308 | |
309 default: | |
310 xs_error(_("Internal: Unsupported setting type found while reading configuration file. Please report to author!\n")); | |
311 break; | |
312 } | 311 } |
313 } | 312 } |
314 | 313 |
315 | 314 |
316 /* Free the config file */ | 315 /* Free the config file */ |
349 | 348 |
350 /* Write the new settings to XMMS configuration file */ | 349 /* Write the new settings to XMMS configuration file */ |
351 for (i = 0; i < xs_cfgtable_max; i++) { | 350 for (i = 0; i < xs_cfgtable_max; i++) { |
352 switch (xs_cfgtable[i].itemType) { | 351 switch (xs_cfgtable[i].itemType) { |
353 case CTYPE_INT: | 352 case CTYPE_INT: |
354 xmms_cfg_write_int(cfgFile, XS_CONFIG_IDENT, xs_cfgtable[i].itemName, | 353 xmms_cfg_write_int(cfgFile, XS_CONFIG_IDENT, |
355 *(gint *) xs_cfgtable[i].itemData); | 354 xs_cfgtable[i].itemName, |
355 *(gint *) xs_cfgtable[i].itemData); | |
356 break; | 356 break; |
357 | 357 |
358 case CTYPE_BOOL: | 358 case CTYPE_BOOL: |
359 xmms_cfg_write_boolean(cfgFile, XS_CONFIG_IDENT, xs_cfgtable[i].itemName, | 359 xmms_cfg_write_boolean(cfgFile, XS_CONFIG_IDENT, |
360 *(gboolean *) xs_cfgtable[i].itemData); | 360 xs_cfgtable[i].itemName, |
361 *(gboolean *) xs_cfgtable[i].itemData); | |
361 break; | 362 break; |
362 | 363 |
363 case CTYPE_FLOAT: | 364 case CTYPE_FLOAT: |
364 xmms_cfg_write_float(cfgFile, XS_CONFIG_IDENT, xs_cfgtable[i].itemName, | 365 xmms_cfg_write_float(cfgFile, XS_CONFIG_IDENT, |
365 *(gfloat *) xs_cfgtable[i].itemData); | 366 xs_cfgtable[i].itemName, |
367 *(gfloat *) xs_cfgtable[i].itemData); | |
366 break; | 368 break; |
367 | 369 |
368 case CTYPE_STR: | 370 case CTYPE_STR: |
369 xmms_cfg_write_string(cfgFile, XS_CONFIG_IDENT, xs_cfgtable[i].itemName, | 371 xmms_cfg_write_string(cfgFile, XS_CONFIG_IDENT, |
370 *(gchar **) xs_cfgtable[i].itemData); | 372 xs_cfgtable[i].itemName, |
371 break; | 373 *(gchar **) xs_cfgtable[i].itemData); |
372 | |
373 default: | |
374 xs_error(_("Internal: Unsupported setting type found while writing configuration file. Please report to author!\n")); | |
375 break; | 374 break; |
376 } | 375 } |
377 } | 376 } |
378 | 377 |
379 /* Flush the file */ | 378 /* Flush the file */ |
408 */ | 407 */ |
409 void xs_cfg_ok(void) | 408 void xs_cfg_ok(void) |
410 { | 409 { |
411 gint i; | 410 gint i; |
412 gfloat tmpValue; | 411 gfloat tmpValue; |
412 gint tmpInt; | |
413 gchar *tmpStr; | |
414 | |
415 /* Get lock on configuration */ | |
416 XS_MUTEX_LOCK(xs_cfg); | |
413 | 417 |
414 XSDEBUG("get data from widgets to config...\n"); | 418 XSDEBUG("get data from widgets to config...\n"); |
415 | 419 |
416 for (i = 0; i < xs_widtable_max; i++) { | 420 for (i = 0; i < xs_widtable_max; i++) { |
417 switch (xs_widtable[i].widType) { | 421 switch (xs_widtable[i].widType) { |
421 /* Yes, set the constant value */ | 425 /* Yes, set the constant value */ |
422 *((gint *) xs_widtable[i].itemData) = xs_widtable[i].itemSet; | 426 *((gint *) xs_widtable[i].itemData) = xs_widtable[i].itemSet; |
423 } | 427 } |
424 break; | 428 break; |
425 | 429 |
430 case WTYPE_COMBO: | |
431 /* Get text from text-widget */ | |
432 tmpStr = gtk_entry_get_text(GTK_ENTRY(LUW(xs_widtable[i].widName))); | |
433 if (sscanf(tmpStr, "%d", &tmpInt) != 1) | |
434 tmpInt = xs_widtable[i].itemSet; | |
435 | |
436 *((gint *) xs_widtable[i].itemData) = tmpInt; | |
437 break; | |
438 | |
426 case WTYPE_SPIN: | 439 case WTYPE_SPIN: |
427 case WTYPE_SCALE: | 440 case WTYPE_SCALE: |
428 /* Get the value */ | 441 /* Get the value */ |
429 switch (xs_widtable[i].widType) { | 442 switch (xs_widtable[i].widType) { |
430 case WTYPE_SPIN: | 443 case WTYPE_SPIN: |
431 tmpValue = | 444 tmpValue = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(LUW(xs_widtable[i].widName)))->value; |
432 gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(LUW(xs_widtable[i].widName)))->value; | |
433 break; | 445 break; |
434 | 446 |
435 case WTYPE_SCALE: | 447 case WTYPE_SCALE: |
436 tmpValue = gtk_range_get_adjustment(GTK_RANGE(LUW(xs_widtable[i].widName)))->value; | 448 tmpValue = gtk_range_get_adjustment(GTK_RANGE(LUW(xs_widtable[i].widName)))->value; |
437 break; | 449 break; |
438 | 450 |
439 default: | 451 default: |
440 tmpValue = -1; | 452 tmpValue = -1; |
453 break; | |
441 } | 454 } |
442 | 455 |
443 /* Set the value */ | 456 /* Set the value */ |
444 switch (xs_widtable[i].itemType) { | 457 switch (xs_widtable[i].itemType) { |
445 case CTYPE_INT: | 458 case CTYPE_INT: |
453 break; | 466 break; |
454 | 467 |
455 case WTYPE_BUTTON: | 468 case WTYPE_BUTTON: |
456 /* Check if toggle-button is active */ | 469 /* Check if toggle-button is active */ |
457 *((gboolean *) xs_widtable[i].itemData) = | 470 *((gboolean *) xs_widtable[i].itemData) = |
458 (GTK_TOGGLE_BUTTON(LUW(xs_widtable[i].widName))->active); | 471 (GTK_TOGGLE_BUTTON(LUW(xs_widtable[i].widName))->active); |
459 break; | 472 break; |
460 | 473 |
461 case WTYPE_TEXT: | 474 case WTYPE_TEXT: |
462 /* Get text from text-widget */ | 475 /* Get text from text-widget */ |
463 xs_pstrcpy((gchar **) xs_widtable[i].itemData, | 476 xs_pstrcpy((gchar **) xs_widtable[i].itemData, |
464 gtk_entry_get_text(GTK_ENTRY(LUW(xs_widtable[i].widName))) | 477 gtk_entry_get_text(GTK_ENTRY(LUW(xs_widtable[i].widName)))); |
465 ); | |
466 break; | 478 break; |
467 } | 479 } |
468 } | 480 } |
469 | 481 |
482 /* Release lock */ | |
483 XS_MUTEX_UNLOCK(xs_cfg); | |
484 | |
470 /* Close window */ | 485 /* Close window */ |
471 gtk_widget_destroy(xs_configwin); | 486 gtk_widget_destroy(xs_configwin); |
472 xs_configwin = NULL; | 487 xs_configwin = NULL; |
473 | 488 |
474 /* Write settings */ | 489 /* Write settings */ |
489 | 504 |
490 gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_emu_filt_fs"))), XS_SIDPLAY1_FS); | 505 gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_emu_filt_fs"))), XS_SIDPLAY1_FS); |
491 gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_emu_filt_fm"))), XS_SIDPLAY1_FM); | 506 gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_emu_filt_fm"))), XS_SIDPLAY1_FM); |
492 gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_emu_filt_ft"))), XS_SIDPLAY1_FT); | 507 gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_emu_filt_ft"))), XS_SIDPLAY1_FT); |
493 } | 508 } |
494 | |
495 | |
496 | 509 |
497 | 510 |
498 /* | 511 /* |
499 * HVSC songlength-database file selector response-functions | 512 * HVSC songlength-database file selector response-functions |
500 */ | 513 */ |
817 */ | 830 */ |
818 void xs_configure(void) | 831 void xs_configure(void) |
819 { | 832 { |
820 gint i; | 833 gint i; |
821 gfloat tmpValue; | 834 gfloat tmpValue; |
835 gchar tmpStr[32]; | |
822 GtkWidget *c; | 836 GtkWidget *c; |
823 | 837 |
824 /* Check if the window already exists */ | 838 /* Check if the window already exists */ |
825 if (xs_configwin != NULL) { | 839 if (xs_configwin != NULL) { |
826 gdk_window_raise(xs_configwin->window); | 840 gdk_window_raise(xs_configwin->window); |
828 } | 842 } |
829 | 843 |
830 /* Create the window */ | 844 /* Create the window */ |
831 xs_configwin = create_xs_configwin(); | 845 xs_configwin = create_xs_configwin(); |
832 | 846 |
847 /* Get lock on configuration */ | |
848 XS_MUTEX_LOCK(xs_cfg); | |
849 | |
833 /* Create the custom filter curve widget for libSIDPlay2 */ | 850 /* Create the custom filter curve widget for libSIDPlay2 */ |
834 c = xs_curve_new(); | 851 c = xs_curve_new(); |
835 | 852 |
836 gtk_widget_set_name(c, "cfg_filter2_curve"); | 853 gtk_widget_set_name(c, "cfg_filter2_curve"); |
837 gtk_widget_ref(c); | 854 gtk_widget_ref(c); |
838 gtk_object_set_data_full(GTK_OBJECT(xs_configwin), "cfg_filter2_curve", c, (GtkDestroyNotify) gtk_widget_unref); | 855 gtk_object_set_data_full(GTK_OBJECT(xs_configwin), "cfg_filter2_curve", c, (GtkDestroyNotify) gtk_widget_unref); |
839 gtk_widget_show(c); | 856 gtk_widget_show(c); |
840 gtk_box_pack_start(GTK_BOX(LUW("cfg_box_sidplay2")), c, TRUE, TRUE, 4); | 857 gtk_box_pack_start(GTK_BOX(LUW("cfg_box_sidplay2")), c, TRUE, TRUE, 4); |
841 | 858 |
842 xs_cfg_filter2_reset(NULL, NULL); | 859 xs_cfg_filter2_reset(NULL, NULL); |
843 | |
844 /* Get lock on configuration */ | |
845 XS_MUTEX_LOCK(xs_cfg); | |
846 | 860 |
847 /* Based on available optional parts, gray out options */ | 861 /* Based on available optional parts, gray out options */ |
848 #ifndef HAVE_SIDPLAY1 | 862 #ifndef HAVE_SIDPLAY1 |
849 gtk_widget_set_sensitive(LUW("cfg_emu_sidplay1"), FALSE); | 863 gtk_widget_set_sensitive(LUW("cfg_emu_sidplay1"), FALSE); |
850 gtk_widget_set_sensitive(LUW("cfg_box_sidplay1"), FALSE); | 864 gtk_widget_set_sensitive(LUW("cfg_box_sidplay1"), FALSE); |
880 | 894 |
881 /* Set current data to widgets */ | 895 /* Set current data to widgets */ |
882 for (i = 0; i < xs_widtable_max; i++) { | 896 for (i = 0; i < xs_widtable_max; i++) { |
883 switch (xs_widtable[i].widType) { | 897 switch (xs_widtable[i].widType) { |
884 case WTYPE_BGROUP: | 898 case WTYPE_BGROUP: |
899 assert(xs_widtable[i].itemType == CTYPE_INT); | |
885 /* Check if current value matches the given one */ | 900 /* Check if current value matches the given one */ |
886 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW(xs_widtable[i].widName)), | 901 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW(xs_widtable[i].widName)), |
887 (*((gint *) xs_widtable[i].itemData) == xs_widtable[i].itemSet) | 902 (*((gint *) xs_widtable[i].itemData) == xs_widtable[i].itemSet)); |
888 ); | 903 break; |
889 break; | 904 |
890 | 905 case WTYPE_COMBO: |
891 | 906 assert(xs_widtable[i].itemType == CTYPE_INT); |
907 g_snprintf(tmpStr, sizeof(tmpStr), "%d", *(gint *) xs_widtable[i].itemData); | |
908 gtk_entry_set_text(GTK_ENTRY(LUW(xs_widtable[i].widName)), tmpStr); | |
909 break; | |
910 | |
892 case WTYPE_SPIN: | 911 case WTYPE_SPIN: |
893 case WTYPE_SCALE: | 912 case WTYPE_SCALE: |
894 /* Get the value */ | 913 /* Get the value */ |
895 switch (xs_widtable[i].itemType) { | 914 switch (xs_widtable[i].itemType) { |
896 case CTYPE_INT: | 915 case CTYPE_INT: |
901 tmpValue = *((gfloat *) xs_widtable[i].itemData); | 920 tmpValue = *((gfloat *) xs_widtable[i].itemData); |
902 break; | 921 break; |
903 | 922 |
904 default: | 923 default: |
905 tmpValue = -1; | 924 tmpValue = -1; |
925 assert(0); | |
926 break; | |
906 } | 927 } |
907 | 928 |
908 /* Set the value */ | 929 /* Set the value */ |
909 switch (xs_widtable[i].widType) { | 930 switch (xs_widtable[i].widType) { |
910 case WTYPE_SPIN: | 931 case WTYPE_SPIN: |
911 gtk_adjustment_set_value(gtk_spin_button_get_adjustment | 932 gtk_adjustment_set_value(gtk_spin_button_get_adjustment |
912 (GTK_SPIN_BUTTON(LUW(xs_widtable[i].widName))), tmpValue); | 933 (GTK_SPIN_BUTTON(LUW(xs_widtable[i].widName))), tmpValue); |
913 break; | 934 break; |
914 | 935 |
915 case WTYPE_SCALE: | 936 case WTYPE_SCALE: |
916 gtk_adjustment_set_value(gtk_range_get_adjustment | 937 gtk_adjustment_set_value(gtk_range_get_adjustment |
917 (GTK_RANGE(LUW(xs_widtable[i].widName))), tmpValue); | 938 (GTK_RANGE(LUW(xs_widtable[i].widName))), tmpValue); |
918 break; | 939 break; |
919 } | 940 } |
920 break; | 941 break; |
921 | 942 |
922 case WTYPE_BUTTON: | 943 case WTYPE_BUTTON: |
944 assert(xs_widtable[i].itemType == CTYPE_BOOL); | |
923 /* Set toggle-button */ | 945 /* Set toggle-button */ |
924 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW(xs_widtable[i].widName)), | 946 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW(xs_widtable[i].widName)), |
925 *((gboolean *) xs_widtable[i].itemData) | 947 *((gboolean *) xs_widtable[i].itemData)); |
926 ); | |
927 break; | 948 break; |
928 | 949 |
929 case WTYPE_TEXT: | 950 case WTYPE_TEXT: |
951 assert(xs_widtable[i].itemType == CTYPE_STR); | |
930 /* Set text to text-widget */ | 952 /* Set text to text-widget */ |
931 if (*(gchar **) xs_widtable[i].itemData != NULL) { | 953 if (*(gchar **) xs_widtable[i].itemData != NULL) { |
932 gtk_entry_set_text(GTK_ENTRY(LUW(xs_widtable[i].widName)), | 954 gtk_entry_set_text(GTK_ENTRY(LUW(xs_widtable[i].widName)), |
933 *(gchar **) xs_widtable[i].itemData); | 955 *(gchar **) xs_widtable[i].itemData); |
934 } | 956 } |
935 break; | 957 break; |
936 } | 958 } |
937 } | 959 } |
938 | 960 |