summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-06-24 20:57:29 -0700
committerKeith Packard <keithp@keithp.com>2014-06-24 20:58:49 -0700
commit424112349d54bb6360403683f8012b83f49220be (patch)
treea4612b4746a01010595ab56d037e1e0f19a6f585
parent7427f8bac7b3743ce0ab990612bf7168b95e22f9 (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.java18
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 {