Mercurial > hg > xmms-sid
diff src/xs_config.c @ 177:6e350784aa57
Various cleanups. Min-playtime option now works. Configuration has more
consistent operation while graying out unavailable settings.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 18 Aug 2004 03:27:00 +0000 |
parents | 505da1389e5c |
children | e036ad3350d6 |
line wrap: on
line diff
--- a/src/xs_config.c Wed Aug 18 03:24:04 2004 +0000 +++ b/src/xs_config.c Wed Aug 18 03:27:00 2004 +0000 @@ -617,12 +617,12 @@ gtk_widget_set_sensitive(LUW("cfg_oversample_grp"), isActive); gtk_widget_set_sensitive(LUW("cfg_oversample"), isActive); gtk_widget_set_sensitive(LUW("cfg_oversample_factor"), isActive); - gtk_widget_set_sensitive(LUW("cfg_overfilter_average"), isActive); - gtk_widget_set_sensitive(LUW("cfg_overfilter_sinc"), isActive); gtk_widget_set_sensitive(LUW("cfg_sidplay2_grp"), isActive); gtk_widget_set_sensitive(LUW("cfg_emu_sidplay2_opt"), isActive); + gtk_widget_set_sensitive(LUW("cfg_chn_autopan"), !isActive); + #ifdef HAVE_RESID_BUILDER gtk_widget_set_sensitive(LUW("cfg_emu_sidplay2_resid"), isActive); #else @@ -642,27 +642,91 @@ } +void xs_cfg_oversample_toggled(GtkToggleButton *togglebutton, gpointer user_data) +{ + gboolean isActive = GTK_TOGGLE_BUTTON(LUW("cfg_oversample"))->active; + + gtk_widget_set_sensitive(LUW("cfg_oversample_factor"), isActive); + gtk_widget_set_sensitive(LUW("cfg_oversample_label1"), isActive); + gtk_widget_set_sensitive(LUW("cfg_oversample_label2"), isActive); +} + + +void xs_cfg_mintime_enable_toggled(GtkToggleButton *togglebutton, gpointer user_data) +{ + gboolean isActive = GTK_TOGGLE_BUTTON(LUW("cfg_mintime_enable"))->active; + + gtk_widget_set_sensitive(LUW("cfg_mintime"), isActive); + gtk_widget_set_sensitive(LUW("cfg_mintime_label1"), isActive); + gtk_widget_set_sensitive(LUW("cfg_mintime_label2"), isActive); +} + + +void xs_cfg_maxtime_enable_toggled(GtkToggleButton *togglebutton, gpointer user_data) +{ + gboolean isActive = GTK_TOGGLE_BUTTON(LUW("cfg_maxtime_enable"))->active; + + gtk_widget_set_sensitive(LUW("cfg_maxtime_unknown"), isActive); + gtk_widget_set_sensitive(LUW("cfg_maxtime"), isActive); + gtk_widget_set_sensitive(LUW("cfg_maxtime_label1"), isActive); + gtk_widget_set_sensitive(LUW("cfg_maxtime_label2"), isActive); +} + + +void xs_cfg_sld_enable_toggled(GtkToggleButton *togglebutton, gpointer user_data) +{ + gboolean isActive = GTK_TOGGLE_BUTTON(LUW("cfg_sld_enable"))->active; + + gtk_widget_set_sensitive(LUW("cfg_sld_dbpath"), isActive); + gtk_widget_set_sensitive(LUW("cfg_sld_dbbrowse"), isActive); + gtk_widget_set_sensitive(LUW("cfg_sld_label1"), isActive); +} + + +void xs_cfg_stil_enable_toggled(GtkToggleButton *togglebutton, gpointer user_data) +{ + gboolean isActive = GTK_TOGGLE_BUTTON(LUW("cfg_stil_enable"))->active; + + gtk_widget_set_sensitive(LUW("cfg_stil_dbpath"), isActive); + gtk_widget_set_sensitive(LUW("cfg_stil_browse"), isActive); + gtk_widget_set_sensitive(LUW("cfg_stil_label1"), isActive); + + gtk_widget_set_sensitive(LUW("cfg_hvsc_path"), isActive); + gtk_widget_set_sensitive(LUW("cfg_hvsc_browse"), isActive); + gtk_widget_set_sensitive(LUW("cfg_hvsc_label1"), isActive); +} + + void xs_cfg_mintime_changed(GtkEditable *editable, gpointer user_data) { - gint tmpValue, maxValue; + gint tmpValue; + GtkAdjustment *tmpAdj; + + tmpAdj = gtk_spin_button_get_adjustment( + GTK_SPIN_BUTTON(LUW("cfg_maxtime"))); - if (tmpValue > maxValue) - - gtk_adjustment_set_value( - gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(LUW("cfg_maxtime"))), - tmpValue); + tmpValue = gtk_spin_button_get_adjustment( + GTK_SPIN_BUTTON(editable))->value; + + if (tmpValue > tmpAdj->value) + gtk_adjustment_set_value(tmpAdj, tmpValue); } void xs_cfg_maxtime_changed(GtkEditable *editable, gpointer user_data) { - gint tmpValue, minValue; + gint tmpValue; + GtkAdjustment *tmpAdj; + tmpAdj = gtk_spin_button_get_adjustment( + GTK_SPIN_BUTTON(LUW("cfg_mintime"))); - gtk_adjustment_set_value( - gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(LUW("cfg_mintime"))), - tmpValue); + tmpValue = gtk_spin_button_get_adjustment( + GTK_SPIN_BUTTON(editable))->value; + + if (tmpValue < tmpAdj->value) + gtk_adjustment_set_value(tmpAdj, tmpValue); } @@ -685,7 +749,7 @@ xs_configwin = create_xs_configwin(); - /* Based on selected emulation library, disable options */ + /* Based on available optional parts, gray out options */ #ifndef HAVE_SIDPLAY1 gtk_widget_set_sensitive(LUW("cfg_emu_sidplay1"), FALSE); #endif @@ -698,7 +762,6 @@ gtk_widget_set_sensitive(LUW("cfg_emu_nanosid"), FALSE); #endif - /* Other UI options */ #ifndef HAVE_XMMSEXTRA gtk_widget_set_sensitive(LUW("cfg_ftitle_override"), FALSE); xs_cfg.titleOverride = TRUE; @@ -714,6 +777,11 @@ xs_cfg_emu_sidplay1_toggled(NULL, NULL); xs_cfg_emu_sidplay2_toggled(NULL, NULL); xs_cfg_emu_nanosid_toggled(NULL, NULL); + xs_cfg_oversample_toggled(NULL, NULL); + xs_cfg_mintime_enable_toggled(NULL, NULL); + xs_cfg_maxtime_enable_toggled(NULL, NULL); + xs_cfg_sld_enable_toggled(NULL, NULL); + xs_cfg_stil_enable_toggled(NULL, NULL); /* Set current data to widgets */