diff options
| -rw-r--r-- | altoslib/AltosConfigData.java | 4 | ||||
| -rw-r--r-- | altosui/AltosConfigUI.java | 39 | ||||
| -rw-r--r-- | altosui/AltosFreqList.java | 6 | 
3 files changed, 22 insertions, 27 deletions
| diff --git a/altoslib/AltosConfigData.java b/altoslib/AltosConfigData.java index d92f42c3..1c3085bd 100644 --- a/altoslib/AltosConfigData.java +++ b/altoslib/AltosConfigData.java @@ -336,6 +336,10 @@ public class AltosConfigData implements Iterable<String> {  	public double frequency() {  		int	channel = radio_channel;  		int	setting = radio_setting; + +		if (radio_frequency < 0 && channel < 0 && setting < 0) +			return -1; +  		if (channel < 0)  			channel = 0;  		if (setting < 0) diff --git a/altosui/AltosConfigUI.java b/altosui/AltosConfigUI.java index e07984b9..a7d95903 100644 --- a/altosui/AltosConfigUI.java +++ b/altosui/AltosConfigUI.java @@ -786,28 +786,7 @@ public class AltosConfigUI  	}  	public void set_radio_frequency(double new_radio_frequency) { -		int i; -		for (i = 0; i < radio_frequency_value.getItemCount(); i++) { -			AltosFrequency	f = (AltosFrequency) radio_frequency_value.getItemAt(i); -			 -			if (f.close(new_radio_frequency)) { -				radio_frequency_value.setSelectedIndex(i); -				return; -			} -		} -		for (i = 0; i < radio_frequency_value.getItemCount(); i++) { -			AltosFrequency	f = (AltosFrequency) radio_frequency_value.getItemAt(i); -			 -			if (new_radio_frequency < f.frequency) -				break; -		} -		String	description = String.format("%s serial %s", -						    product_value.getText(), -						    serial_value.getText()); -		AltosFrequency	new_frequency = new AltosFrequency(new_radio_frequency, description); -		AltosUIPreferences.add_common_frequency(new_frequency); -		radio_frequency_value.insertItemAt(new_frequency, i); -		radio_frequency_value.setSelectedIndex(i); +		radio_frequency_value.set_frequency(new_radio_frequency);  	}  	public double radio_frequency() { @@ -815,7 +794,11 @@ public class AltosConfigUI  	}  	public void set_radio_calibration(int new_radio_calibration) { -		radio_calibration_value.setText(String.format("%d", new_radio_calibration)); +		radio_calibration_value.setVisible(new_radio_calibration >= 0); +		if (new_radio_calibration < 0) +			radio_calibration_value.setText("Disabled"); +		else +			radio_calibration_value.setText(String.format("%d", new_radio_calibration));  	}  	public int radio_calibration() { @@ -828,6 +811,7 @@ public class AltosConfigUI  			radio_enable_value.setEnabled(true);  		} else {  			radio_enable_value.setSelected(true); +			radio_enable_value.setVisible(radio_frequency() > 0);  			radio_enable_value.setEnabled(false);  		}  		set_radio_enable_tool_tip(); @@ -841,6 +825,7 @@ public class AltosConfigUI  	}  	public void set_callsign(String new_callsign) { +		callsign_value.setVisible(new_callsign != null);  		callsign_value.setText(new_callsign);  	} @@ -900,10 +885,10 @@ public class AltosConfigUI  		if (new_pad_orientation >= pad_orientation_values.length)  			new_pad_orientation = 0;  		if (new_pad_orientation < 0) { -			pad_orientation_value.setEnabled(false); +			pad_orientation_value.setVisible(false);  			new_pad_orientation = 0;  		} else { -			pad_orientation_value.setEnabled(true); +			pad_orientation_value.setVisible(true);  		}  		pad_orientation_value.setSelectedIndex(new_pad_orientation);  		set_pad_orientation_tool_tip(); @@ -918,7 +903,7 @@ public class AltosConfigUI  	public void set_pyros(AltosPyro[] new_pyros) {  		pyros = new_pyros; -		pyro.setEnabled(pyros != null); +		pyro.setVisible(pyros != null);  		if (pyros != null && pyro_ui != null)  			pyro_ui.set_pyros(pyros);  	} @@ -937,7 +922,7 @@ public class AltosConfigUI  		else  			s = Integer.toString(new_aprs_interval);  		aprs_interval_value.setSelectedItem(s); -		aprs_interval_value.setEnabled(new_aprs_interval >= 0); +		aprs_interval_value.setVisible(new_aprs_interval >= 0);  		set_aprs_interval_tool_tip();  	} diff --git a/altosui/AltosFreqList.java b/altosui/AltosFreqList.java index 917ac364..17a995d4 100644 --- a/altosui/AltosFreqList.java +++ b/altosui/AltosFreqList.java @@ -29,6 +29,12 @@ public class AltosFreqList extends JComboBox {  	public void set_frequency(double new_frequency) {  		int i; + +		if (new_frequency < 0) { +			setVisible(false); +			return; +		} +  		for (i = 0; i < getItemCount(); i++) {  			AltosFrequency	f = (AltosFrequency) getItemAt(i); | 
