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 */