diff options
| author | Keith Packard <keithp@keithp.com> | 2014-06-24 20:57:29 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2014-06-24 20:58:49 -0700 | 
| commit | 424112349d54bb6360403683f8012b83f49220be (patch) | |
| tree | a4612b4746a01010595ab56d037e1e0f19a6f585 | |
| parent | 7427f8bac7b3743ce0ab990612bf7168b95e22f9 (diff) | |
telegps: Disable tracker config when not available
Tracker motion and interval were both left enabled even when the
device being configured didn't support them. Disable them like other
elements.
Signed-off-by: Keith Packard <keithp@keithp.com>
| -rw-r--r-- | telegps/TeleGPSConfigUI.java | 18 | 
1 files changed, 16 insertions, 2 deletions
diff --git a/telegps/TeleGPSConfigUI.java b/telegps/TeleGPSConfigUI.java index 1fdfd70c..ee2fbd2d 100644 --- a/telegps/TeleGPSConfigUI.java +++ b/telegps/TeleGPSConfigUI.java @@ -612,12 +612,16 @@ public class TeleGPSConfigUI  	}  	public void units_changed(boolean imperial_units) { +		boolean	was_dirty = dirty; +  		if (tracker_motion_value.isEnabled()) {  			String motion = tracker_motion_value.getSelectedItem().toString();  			tracker_motion_label.setText(get_tracker_motion_label());  			set_tracker_motion_values();  			set_tracker_motion((int) (AltosConvert.height.parse(motion, !imperial_units) + 0.5));  		} +		if (!was_dirty) +			set_clean();  	}  	/* set and get all of the dialog values */ @@ -794,7 +798,12 @@ public class TeleGPSConfigUI  	}  	public void set_tracker_motion(int tracker_motion) { -		tracker_motion_value.setSelectedItem(AltosConvert.height.say(tracker_motion)); +		if (tracker_motion < 0) { +			tracker_motion_value.setEnabled(false); +		} else { +			tracker_motion_value.setEnabled(true); +			tracker_motion_value.setSelectedItem(AltosConvert.height.say(tracker_motion)); +		}  	}  	public int tracker_motion() throws AltosConfigDataException { @@ -802,7 +811,12 @@ public class TeleGPSConfigUI  	}  	public void set_tracker_interval(int tracker_interval) { -		tracker_interval_value.setSelectedItem(String.format("%d", tracker_interval)); +		if (tracker_interval< 0) { +			tracker_interval_value.setEnabled(false); +		} else { +			tracker_interval_value.setEnabled(true); +			tracker_interval_value.setSelectedItem(String.format("%d", tracker_interval)); +		}  	}  	public int tracker_interval() throws AltosConfigDataException {  | 
