Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 2311 → Rev 2312

/MKLiveView/v1.0/Source/MainWindow.xaml.cs
2303,113 → 2303,120
_writeIni();
IniFile ini = new IniFile("MKLiveViewSettings.ini");
ini.path = filePath + "\\MKLiveViewSettings.ini";
try
{
 
string sVal = ini.IniReadValue("timings", "AutorefreshDebugData");
if (sVal != "") _debugDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshNavCtrlData");
if (sVal != "") _navCtrlDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshBLCtrlData");
if (sVal != "") _blctrlDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshOSDData");
if (sVal != "") _OSDAutorefresh = Convert.ToBoolean(sVal);
string sVal = ini.IniReadValue("timings", "AutorefreshDebugData");
if (sVal != "") _debugDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshNavCtrlData");
if (sVal != "") _navCtrlDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshBLCtrlData");
if (sVal != "") _blctrlDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshOSDData");
if (sVal != "") _OSDAutorefresh = Convert.ToBoolean(sVal);
 
sVal = ini.IniReadValue("timings", "IntervalDebugData");
if (sVal != "") debugInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalNavCtrlData");
if (sVal != "") navctrlInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalBLCtrlData");
if (sVal != "") blctrlInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalOSDData");
if (sVal != "") OSDInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalDebugData");
if (sVal != "") debugInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalNavCtrlData");
if (sVal != "") navctrlInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalBLCtrlData");
if (sVal != "") blctrlInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalOSDData");
if (sVal != "") OSDInterval = (byte)Convert.ToInt16(sVal);
 
sVal = ini.IniReadValue("topBar", "voltage");
if (sVal != "") chkBoxTopBarShowVoltage.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "capacity");
if (sVal != "") chkBoxTopBarShowCapacity.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "current");
if (sVal != "") chkBoxTopBarShowCurrent.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "flightTime");
if (sVal != "") chkBoxTopBarShowFlightTime.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "distanceHP");
if (sVal != "") chkBoxTopBarShowDistanceHP.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "height");
if (sVal != "") chkBoxTopBarShowHeight.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "speed");
if (sVal != "") chkBoxTopBarShowSpeed.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "magneticField");
if (sVal != "") chkBoxTopBarShowMF.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "satellites");
if (sVal != "") chkBoxTopBarShowSatellites.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "rc");
if (sVal != "") chkBoxTopBarShowRC.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "voltage");
if (sVal != "") chkBoxTopBarShowVoltage.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "capacity");
if (sVal != "") chkBoxTopBarShowCapacity.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "current");
if (sVal != "") chkBoxTopBarShowCurrent.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "flightTime");
if (sVal != "") chkBoxTopBarShowFlightTime.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "distanceHP");
if (sVal != "") chkBoxTopBarShowDistanceHP.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "height");
if (sVal != "") chkBoxTopBarShowHeight.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "speed");
if (sVal != "") chkBoxTopBarShowSpeed.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "magneticField");
if (sVal != "") chkBoxTopBarShowMF.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "satellites");
if (sVal != "") chkBoxTopBarShowSatellites.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "rc");
if (sVal != "") chkBoxTopBarShowRC.IsChecked = Convert.ToBoolean(sVal);
 
sVal = ini.IniReadValue("style", "saveFullScreen");
if (sVal != "") chkBoxSaveFullScreenState.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("style", "saveNormalState");
if (sVal != "") chkBoxSaveNormalState.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("style", "saveFullScreen");
if (sVal != "") chkBoxSaveFullScreenState.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("style", "saveNormalState");
if (sVal != "") chkBoxSaveNormalState.IsChecked = Convert.ToBoolean(sVal);
 
sVal = ini.IniReadValue("style", "scaleNormalAll");
if (sVal != "") scaleNormalAll = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalTopBar");
if (sVal != "") scaleNormalTopBar = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalMotors");
if (sVal != "") scaleNormalMotors = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalOSD");
if (sVal != "") scaleNormalOSD = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalLOG");
if (sVal != "") scaleNormalLOG = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalHorizon");
if (sVal != "") scaleNormalHorizon = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalAll");
if (sVal != "") scaleNormalAll = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalTopBar");
if (sVal != "") scaleNormalTopBar = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalMotors");
if (sVal != "") scaleNormalMotors = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalOSD");
if (sVal != "") scaleNormalOSD = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalLOG");
if (sVal != "") scaleNormalLOG = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalHorizon");
if (sVal != "") scaleNormalHorizon = Convert.ToDouble(sVal);
 
sVal = ini.IniReadValue("style", "scaleFullAll");
if (sVal != "") scaleFullAll = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullTopBar");
if (sVal != "") scaleFullTopBar = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullMotors");
if (sVal != "") scaleFullMotors = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullOSD");
if (sVal != "") scaleFullOSD = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullLOG");
if (sVal != "") scaleFullLOG = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullHorizon");
if (sVal != "") scaleFullHorizon = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullAll");
if (sVal != "") scaleFullAll = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullTopBar");
if (sVal != "") scaleFullTopBar = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullMotors");
if (sVal != "") scaleFullMotors = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullOSD");
if (sVal != "") scaleFullOSD = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullLOG");
if (sVal != "") scaleFullLOG = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullHorizon");
if (sVal != "") scaleFullHorizon = Convert.ToDouble(sVal);
 
sVal = ini.IniReadValue("general", "LiPoCells");
_LipoCells = Convert.ToInt16(sVal);
sVal = ini.IniReadValue("general", "Motors");
if (sVal != "") _iMotors = Convert.ToInt16(sVal);
sVal = ini.IniReadValue("general", "LiPoCells");
_LipoCells = Convert.ToInt16(sVal);
sVal = ini.IniReadValue("general", "Motors");
if (sVal != "") _iMotors = Convert.ToInt16(sVal);
 
sVal = ini.IniReadValue("map", "followMe");
if (sVal != "") _bFollowCopter = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("map", "AutoSetHome");
if (sVal != "") _bAutoHome = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("map", "followMe");
if (sVal != "") _bFollowCopter = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("map", "AutoSetHome");
if (sVal != "") _bAutoHome = Convert.ToBoolean(sVal);
 
sVal = ini.IniReadValue("threshold", "VoltageWarning");
if(sVal != "") _dThresholdVoltageWarn = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "VoltageCritical");
if(sVal != "") _dThresholdVoltageCrit = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "VoiceVoltageEnable");
if(sVal != "") _bVoiceVoltPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "VoiceSatFixEnable");
if(sVal != "") _bVoiceSatFixPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "VoiceMagFieldEnable");
if(sVal != "") _bVoiceMagneticFieldPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "DistanceWarning");
if(sVal != "") _dThresholdDistanceWarn = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "VoiceDistanceWarnEnable");
if(sVal != "") _bVoiceDistancePlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "VoiceRCLevelWarnEnable");
if(sVal != "") _bVoiceRCLevelPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "MaxDistance");
if(sVal != "") _dThresholdDistanceMax = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "RCThreshold");
if(sVal != "") _iThresholdRC = Convert.ToInt32(sVal);
sVal = ini.IniReadValue("threshold", "MagFieldThreshold");
if(sVal != "") _iThresholdMagField = Convert.ToInt32(sVal);
sVal = ini.IniReadValue("threshold", "VoltageWarning");
if(sVal != "") _dThresholdVoltageWarn = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "VoltageCritical");
if(sVal != "") _dThresholdVoltageCrit = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "VoiceVoltageEnable");
if(sVal != "") _bVoiceVoltPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "VoiceSatFixEnable");
if(sVal != "") _bVoiceSatFixPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "VoiceMagFieldEnable");
if(sVal != "") _bVoiceMagneticFieldPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "DistanceWarning");
if(sVal != "") _dThresholdDistanceWarn = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "VoiceDistanceWarnEnable");
if(sVal != "") _bVoiceDistancePlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "VoiceRCLevelWarnEnable");
if(sVal != "") _bVoiceRCLevelPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "MaxDistance");
if(sVal != "") _dThresholdDistanceMax = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "RCThreshold");
if(sVal != "") _iThresholdRC = Convert.ToInt32(sVal);
sVal = ini.IniReadValue("threshold", "MagFieldThreshold");
if(sVal != "") _iThresholdMagField = Convert.ToInt32(sVal);
}
catch (Exception e)
{
 
MessageBox.Show("Error parsing ini-file!" + Environment.NewLine + e.Message,"Read ini-file" ,MessageBoxButton.OK,MessageBoxImage.Error);
}
 
}
 
 
/// <summary>
/// save settings to ini-file
/// </summary>
2419,64 → 2426,195
IniFile ini = new IniFile("MKLiveViewSettings.ini");
ini.path = filePath + "\\MKLiveViewSettings.ini";
 
ini.IniWriteValue("timings", "AutorefreshDebugData", _debugDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshNavCtrlData", _navCtrlDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshBLCtrlData", _blctrlDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshOSDData", _OSDAutorefresh ? "true" : "false");
try
{
 
ini.IniWriteValue("timings", "IntervalDebugData", debugInterval.ToString());
ini.IniWriteValue("timings", "IntervalNavCtrlData", navctrlInterval.ToString());
ini.IniWriteValue("timings", "IntervalBLCtrlData", blctrlInterval.ToString());
ini.IniWriteValue("timings", "IntervalOSDData", OSDInterval.ToString());
ini.IniWriteValue("timings", "AutorefreshDebugData", _debugDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshNavCtrlData", _navCtrlDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshBLCtrlData", _blctrlDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshOSDData", _OSDAutorefresh ? "true" : "false");
 
ini.IniWriteValue("general", "LiPoCells", _LipoCells.ToString());
ini.IniWriteValue("general", "Motors", _iMotors.ToString());
ini.IniWriteValue("timings", "IntervalDebugData", debugInterval.ToString());
ini.IniWriteValue("timings", "IntervalNavCtrlData", navctrlInterval.ToString());
ini.IniWriteValue("timings", "IntervalBLCtrlData", blctrlInterval.ToString());
ini.IniWriteValue("timings", "IntervalOSDData", OSDInterval.ToString());
 
ini.IniWriteValue("map", "followMe", _bFollowCopter.ToString());
ini.IniWriteValue("map", "AutoSetHome", _bAutoHome.ToString());
ini.IniWriteValue("general", "LiPoCells", _LipoCells.ToString());
ini.IniWriteValue("general", "Motors", _iMotors.ToString());
 
ini.IniWriteValue("topBar", "voltage", chkBoxTopBarShowVoltage.IsChecked.ToString());
ini.IniWriteValue("topBar", "capacity", chkBoxTopBarShowCapacity.IsChecked.ToString());
ini.IniWriteValue("topBar", "current", chkBoxTopBarShowCurrent.IsChecked.ToString());
ini.IniWriteValue("topBar", "flightTime", chkBoxTopBarShowFlightTime.IsChecked.ToString());
ini.IniWriteValue("topBar", "distanceHP", chkBoxTopBarShowDistanceHP.IsChecked.ToString());
ini.IniWriteValue("topBar", "height", chkBoxTopBarShowHeight.IsChecked.ToString());
ini.IniWriteValue("topBar", "speed", chkBoxTopBarShowSpeed.IsChecked.ToString());
ini.IniWriteValue("topBar", "magneticField", chkBoxTopBarShowMF.IsChecked.ToString());
ini.IniWriteValue("topBar", "satellites", chkBoxTopBarShowSatellites.IsChecked.ToString());
ini.IniWriteValue("topBar", "rc", chkBoxTopBarShowRC.IsChecked.ToString());
ini.IniWriteValue("map", "followMe", _bFollowCopter.ToString());
ini.IniWriteValue("map", "AutoSetHome", _bAutoHome.ToString());
 
ini.IniWriteValue("style", "saveFullScreen", chkBoxSaveFullScreenState.IsChecked.ToString());
ini.IniWriteValue("style", "saveNormalState", chkBoxSaveNormalState.IsChecked.ToString());
ini.IniWriteValue("topBar", "voltage", chkBoxTopBarShowVoltage.IsChecked.ToString());
ini.IniWriteValue("topBar", "capacity", chkBoxTopBarShowCapacity.IsChecked.ToString());
ini.IniWriteValue("topBar", "current", chkBoxTopBarShowCurrent.IsChecked.ToString());
ini.IniWriteValue("topBar", "flightTime", chkBoxTopBarShowFlightTime.IsChecked.ToString());
ini.IniWriteValue("topBar", "distanceHP", chkBoxTopBarShowDistanceHP.IsChecked.ToString());
ini.IniWriteValue("topBar", "height", chkBoxTopBarShowHeight.IsChecked.ToString());
ini.IniWriteValue("topBar", "speed", chkBoxTopBarShowSpeed.IsChecked.ToString());
ini.IniWriteValue("topBar", "magneticField", chkBoxTopBarShowMF.IsChecked.ToString());
ini.IniWriteValue("topBar", "satellites", chkBoxTopBarShowSatellites.IsChecked.ToString());
ini.IniWriteValue("topBar", "rc", chkBoxTopBarShowRC.IsChecked.ToString());
 
ini.IniWriteValue("style", "scaleNormalAll", scaleNormalAll.ToString());
ini.IniWriteValue("style", "scaleNormalTopBar", scaleNormalTopBar.ToString());
ini.IniWriteValue("style", "scaleNormalMotors", scaleNormalMotors.ToString());
ini.IniWriteValue("style", "scaleNormalOSD", scaleNormalOSD.ToString());
ini.IniWriteValue("style", "scaleNormalLOG", scaleNormalLOG.ToString());
ini.IniWriteValue("style", "scaleNormalHorizon", scaleNormalHorizon.ToString());
ini.IniWriteValue("style", "saveFullScreen", chkBoxSaveFullScreenState.IsChecked.ToString());
ini.IniWriteValue("style", "saveNormalState", chkBoxSaveNormalState.IsChecked.ToString());
 
ini.IniWriteValue("style", "scaleFullAll", scaleFullAll.ToString());
ini.IniWriteValue("style", "scaleFullTopBar", scaleFullTopBar.ToString());
ini.IniWriteValue("style", "scaleFullMotors", scaleFullMotors.ToString());
ini.IniWriteValue("style", "scaleFullOSD", scaleFullOSD.ToString());
ini.IniWriteValue("style", "scaleFullLOG", scaleFullLOG.ToString());
ini.IniWriteValue("style", "scaleFullHorizon", scaleFullHorizon.ToString());
ini.IniWriteValue("style", "scaleNormalAll", scaleNormalAll.ToString());
ini.IniWriteValue("style", "scaleNormalTopBar", scaleNormalTopBar.ToString());
ini.IniWriteValue("style", "scaleNormalMotors", scaleNormalMotors.ToString());
ini.IniWriteValue("style", "scaleNormalOSD", scaleNormalOSD.ToString());
ini.IniWriteValue("style", "scaleNormalLOG", scaleNormalLOG.ToString());
ini.IniWriteValue("style", "scaleNormalHorizon", scaleNormalHorizon.ToString());
 
ini.IniWriteValue("style", "horizon", chkBoxShowHorizon.IsChecked.ToString());
ini.IniWriteValue("style", "scaleFullAll", scaleFullAll.ToString());
ini.IniWriteValue("style", "scaleFullTopBar", scaleFullTopBar.ToString());
ini.IniWriteValue("style", "scaleFullMotors", scaleFullMotors.ToString());
ini.IniWriteValue("style", "scaleFullOSD", scaleFullOSD.ToString());
ini.IniWriteValue("style", "scaleFullLOG", scaleFullLOG.ToString());
ini.IniWriteValue("style", "scaleFullHorizon", scaleFullHorizon.ToString());
 
ini.IniWriteValue("threshold", "VoltageWarning", _dThresholdVoltageWarn.ToString());
ini.IniWriteValue("threshold", "VoltageCritical", _dThresholdVoltageCrit.ToString());
ini.IniWriteValue("threshold", "VoiceVoltageEnable", _bVoiceVoltPlay.ToString());
ini.IniWriteValue("threshold", "VoiceSatFixEnable", _bVoiceSatFixPlay.ToString());
ini.IniWriteValue("threshold", "VoiceMagFieldEnable", _bVoiceMagneticFieldPlay.ToString());
ini.IniWriteValue("threshold", "VoiceDistanceWarnEnable", _bVoiceDistancePlay.ToString());
ini.IniWriteValue("threshold", "VoiceRCLevelWarnEnable", _bVoiceRCLevelPlay.ToString());
ini.IniWriteValue("threshold", "DistanceWarning", _dThresholdDistanceWarn.ToString());
ini.IniWriteValue("threshold", "MaxDistance", _dThresholdDistanceMax.ToString());
ini.IniWriteValue("threshold", "RCThreshold", _iThresholdRC.ToString());
ini.IniWriteValue("threshold", "MagFieldThreshold", _iThresholdMagField.ToString());
ini.IniWriteValue("style", "horizon", chkBoxShowHorizon.IsChecked.ToString());
 
ini.IniWriteValue("threshold", "VoltageWarning", _dThresholdVoltageWarn.ToString());
ini.IniWriteValue("threshold", "VoltageCritical", _dThresholdVoltageCrit.ToString());
ini.IniWriteValue("threshold", "VoiceVoltageEnable", _bVoiceVoltPlay.ToString());
ini.IniWriteValue("threshold", "VoiceSatFixEnable", _bVoiceSatFixPlay.ToString());
ini.IniWriteValue("threshold", "VoiceMagFieldEnable", _bVoiceMagneticFieldPlay.ToString());
ini.IniWriteValue("threshold", "VoiceDistanceWarnEnable", _bVoiceDistancePlay.ToString());
ini.IniWriteValue("threshold", "VoiceRCLevelWarnEnable", _bVoiceRCLevelPlay.ToString());
ini.IniWriteValue("threshold", "DistanceWarning", _dThresholdDistanceWarn.ToString());
ini.IniWriteValue("threshold", "MaxDistance", _dThresholdDistanceMax.ToString());
ini.IniWriteValue("threshold", "RCThreshold", _iThresholdRC.ToString());
ini.IniWriteValue("threshold", "MagFieldThreshold", _iThresholdMagField.ToString());
}
catch (Exception e)
{
 
MessageBox.Show("Error writing ini-file!" + Environment.NewLine + "Please make sure that the programm is in a location where it is allowed to write" + Environment.NewLine + e.Message, "Write ini-file", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
 
void _readWPLFile()
{
Microsoft.Win32.OpenFileDialog fd = new Microsoft.Win32.OpenFileDialog();
fd.Filter = "Waypointlists | *.wpl";
fd.Multiselect = false;
if (fd.ShowDialog().Value)
{
string file = fd.SafeFileName;
IniFile ini = new IniFile(fd.SafeFileName);
ini.path = fd.FileName;
 
try
{
string sVal = ini.IniReadValue("General", "FileVersion");
if (sVal == "")
MessageBox.Show("The file has no version declared - can't go on...", "", MessageBoxButton.OK, MessageBoxImage.Information);
else
{
if (Convert.ToInt16(sVal) < 3)
MessageBox.Show("The file version is not supported - can't go on...", "", MessageBoxButton.OK, MessageBoxImage.Information);
else
{
sVal = ini.IniReadValue("General", "NumberOfWaypoints");
if (sVal == "")
MessageBox.Show("The file has no number of waypoints declared - can't go on...", "", MessageBoxButton.OK, MessageBoxImage.Information);
else
{
int wpnum = Convert.ToInt16(sVal);
string wp;
int i;
dtWaypoints.Rows.Clear();
for (int k = 1; k <= wpnum; k++)
{
DataRow dr = dtWaypoints.NewRow();
dr.ItemArray = new object[16];
object[] o = new object[16];
i = 0;
wp = "Point" + k.ToString();
o[i] = k;
i++;
sVal = ini.IniReadValue(wp, "Type");
if (sVal != "")
o[i] = ((Waypoints.pointType)(Convert.ToInt16(sVal) - 1)).ToString();
i++;
sVal = ini.IniReadValue(wp, "Prefix");
if (sVal != "")
o[i] = sVal == "0" ? "P" + k.ToString() : sVal + k.ToString();
i++;
sVal = ini.IniReadValue(wp, "Longitude");
if (sVal != "")
o[i] = Convert.ToDouble(sVal);
i++;
sVal = ini.IniReadValue(wp, "Latitude");
if (sVal != "")
o[i] = Convert.ToDouble(sVal);
i++;
sVal = ini.IniReadValue(wp, "Altitude");
if (sVal != "")
o[i] = Convert.ToInt16(sVal);
i++;
sVal = ini.IniReadValue(wp, "Heading");
if (sVal != "")
o[i] = Convert.ToInt16(sVal);
i++;
sVal = ini.IniReadValue(wp, "Speed");
if (sVal != "")
o[i] = Waypoints.WPSpeed(Convert.ToInt16(sVal));
i++;
sVal = ini.IniReadValue(wp, "ClimbRate");
if (sVal != "")
o[i] = Convert.ToInt16(sVal);
i++;
sVal = ini.IniReadValue(wp, "Radius");
if (sVal != "")
o[i] = Convert.ToInt16(sVal);
i++;
sVal = ini.IniReadValue(wp, "DelayTime");
if (sVal != "")
o[i] = Convert.ToInt16(sVal);
i++;
sVal = ini.IniReadValue(wp, "AutoTrigger");
if (sVal != "")
o[i] = Convert.ToInt16(sVal); ;
i++;
sVal = ini.IniReadValue(wp, "CAM-Nick");
if (sVal != "")
o[i] = Waypoints.CAMAngle(Convert.ToInt16(sVal));
i++;
o[i] = 0;
i++;
sVal = ini.IniReadValue(wp, "WP_Event_Channel_Value");
if (sVal != "")
o[i] = Convert.ToInt16(sVal);
i++;
o[i] = "New";
 
dr.ItemArray = o;
dtWaypoints.Rows.Add(dr);
Dispatcher.Invoke(() => lblWPIndex.Content = k.ToString());
Dispatcher.Invoke(() => lblWPCount.Content = k.ToString());
Dispatcher.Invoke(() => dgvWP.Items.Refresh());
Thread.Sleep(10);
}
}
}
}
 
}
catch (Exception e)
{
 
MessageBox.Show("Error parsing wpl-file!" + Environment.NewLine + e.Message, "Read wpl-file", MessageBoxButton.OK, MessageBoxImage.Error);
}
 
}
}
 
private void btnLoadWPLFile_Click(object sender, RoutedEventArgs e)
{
_readWPLFile();
}
#endregion functions
}
public class BooleanToVisibilityConverter : IValueConverter