diff options
Diffstat (limited to 'altosui/AltosConfigUI.java')
| -rw-r--r-- | altosui/AltosConfigUI.java | 30 | 
1 files changed, 24 insertions, 6 deletions
| diff --git a/altosui/AltosConfigUI.java b/altosui/AltosConfigUI.java index 67decaa4..ef477ca9 100644 --- a/altosui/AltosConfigUI.java +++ b/altosui/AltosConfigUI.java @@ -21,6 +21,7 @@ import java.awt.*;  import java.awt.event.*;  import javax.swing.*;  import javax.swing.event.*; +import java.text.*;  import org.altusmetrum.altoslib_6.*;  import org.altusmetrum.altosuilib_6.*; @@ -976,8 +977,13 @@ public class AltosConfigUI  	} -	public int main_deploy() { -		return (int) (AltosConvert.height.parse(main_deploy_value.getSelectedItem().toString()) + 0.5); +	public int main_deploy() throws AltosConfigDataException { +		String	str = main_deploy_value.getSelectedItem().toString(); +		try { +			return (int) (AltosConvert.height.parse_locale(str) + 0.5); +		} catch (ParseException pe) { +			throw new AltosConfigDataException("invalid main deploy height %s", str); +		}  	}  	String get_main_deploy_label() { @@ -1006,14 +1012,21 @@ public class AltosConfigUI  		String v = main_deploy_value.getSelectedItem().toString();  		main_deploy_label.setText(get_main_deploy_label());  		set_main_deploy_values(); -		int m = (int) (AltosConvert.height.parse(v, !imperial_units) + 0.5); -		set_main_deploy(m); +		try { +			int m = (int) (AltosConvert.height.parse_locale(v, !imperial_units) + 0.5); +			set_main_deploy(m); +		} catch (ParseException pe) { +		}  		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)); +			try { +				int m = (int) (AltosConvert.height.parse_locale(motion, !imperial_units) + 0.5); +				set_tracker_motion(m); +			} catch (ParseException pe) { +			}  		}  		if (!was_dirty) @@ -1272,7 +1285,12 @@ public class AltosConfigUI  	}  	public int tracker_motion() throws AltosConfigDataException { -		return (int) AltosConvert.height.parse(tracker_motion_value.getSelectedItem().toString()); +		String str = tracker_motion_value.getSelectedItem().toString(); +		try { +			return (int) (AltosConvert.height.parse_locale(str) + 0.5); +		} catch (ParseException pe) { +			throw new AltosConfigDataException("invalid tracker motion %s", str); +		}  	}  	public void set_tracker_interval(int tracker_interval) { | 
