kopia lustrzana https://github.com/dl2alf/AirScout
V1.3.2.0
rodzic
c1b5b7b82e
commit
51cbeabd7b
|
@ -78,6 +78,7 @@
|
||||||
</Target>
|
</Target>
|
||||||
<Import Project="..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets" Condition="Exists('..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets')" />
|
<Import Project="..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets" Condition="Exists('..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PostBuildEvent>copy $(ProjectDir)\$(OutDir)\ILMerge\*$(TargetExt) $(SolutionDir)\Airscout\$(OutDir) /y</PostBuildEvent>
|
<PostBuildEvent>mkdir $(SolutionDir)\Airscout\$(OutDir)\Plugin\
|
||||||
|
copy $(ProjectDir)\$(OutDir)\ILMerge\*$(TargetExt) $(SolutionDir)\Airscout\$(OutDir)\Plugin\ /y</PostBuildEvent>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
|
@ -78,6 +78,7 @@
|
||||||
</Target>
|
</Target>
|
||||||
<Import Project="..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets" Condition="Exists('..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets')" />
|
<Import Project="..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets" Condition="Exists('..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PostBuildEvent>copy Z:\CSharp\AirScout\AirScout\AirScout.PlaneFeeds.Plugin.OpenSky\bin\Debug\ILMerge\*.dll Z:\CSharp\AirScout\AirScout\AirScout\bin\Debug\ /Y</PostBuildEvent>
|
<PostBuildEvent>mkdir $(SolutionDir)\Airscout\$(OutDir)\Plugin\
|
||||||
|
copy $(ProjectDir)\$(OutDir)\ILMerge\*$(TargetExt) $(SolutionDir)\Airscout\$(OutDir)\Plugin\ /y</PostBuildEvent>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
|
@ -78,6 +78,7 @@
|
||||||
</Target>
|
</Target>
|
||||||
<Import Project="..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets" Condition="Exists('..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets')" />
|
<Import Project="..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets" Condition="Exists('..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PostBuildEvent>copy $(ProjectDir)\$(OutDir)\ILMerge\*$(TargetExt) $(SolutionDir)\Airscout\$(OutDir) /y</PostBuildEvent>
|
<PostBuildEvent>mkdir $(SolutionDir)\Airscout\$(OutDir)\Plugin\
|
||||||
|
copy $(ProjectDir)\$(OutDir)\ILMerge\*$(TargetExt) $(SolutionDir)\Airscout\$(OutDir)\Plugin\ /y</PostBuildEvent>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
|
@ -158,12 +158,13 @@ namespace AirScout.PlaneFeeds.Plugin.PlaneFinder
|
||||||
{
|
{
|
||||||
using (StreamWriter sw = new StreamWriter(File.Create(filename)))
|
using (StreamWriter sw = new StreamWriter(File.Create(filename)))
|
||||||
{
|
{
|
||||||
XmlSerializer s = new XmlSerializer(this.GetType(), overrides);
|
XmlSerializer s = new XmlSerializer(this.GetType(), overrides,null,new XmlRootAttribute(),"");
|
||||||
s.Serialize(sw, this);
|
s.Serialize(sw, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
Console.WriteLine("[" + this.GetType().Name + "]: Cannot save settings to " + filename + ", " + ex.ToString());
|
||||||
throw new InvalidOperationException("[" + this.GetType().Name + "]: Cannot save settings to " + filename + ", " + ex.Message);
|
throw new InvalidOperationException("[" + this.GetType().Name + "]: Cannot save settings to " + filename + ", " + ex.Message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||||
// indem Sie "*" wie unten gezeigt eingeben:
|
// indem Sie "*" wie unten gezeigt eingeben:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.3.0.0")]
|
[assembly: AssemblyVersion("1.3.1.1")]
|
||||||
[assembly: AssemblyFileVersion("1.3.0.0")]
|
[assembly: AssemblyFileVersion("1.3.1.1")]
|
||||||
|
|
|
@ -78,6 +78,7 @@
|
||||||
</Target>
|
</Target>
|
||||||
<Import Project="..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets" Condition="Exists('..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets')" />
|
<Import Project="..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets" Condition="Exists('..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PostBuildEvent>copy $(ProjectDir)\$(OutDir)\ILMerge\*$(TargetExt) $(SolutionDir)\Airscout\$(OutDir) /y</PostBuildEvent>
|
<PostBuildEvent>mkdir $(SolutionDir)\Airscout\$(OutDir)\Plugin\
|
||||||
|
copy $(ProjectDir)\$(OutDir)\ILMerge\*$(TargetExt) $(SolutionDir)\Airscout\$(OutDir)\Plugin\ /y</PostBuildEvent>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
|
@ -84,6 +84,7 @@
|
||||||
</Target>
|
</Target>
|
||||||
<Import Project="..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets" Condition="Exists('..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets')" />
|
<Import Project="..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets" Condition="Exists('..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PostBuildEvent>copy $(ProjectDir)\$(OutDir)\ILMerge\*$(TargetExt) $(SolutionDir)\Airscout\$(OutDir) /y</PostBuildEvent>
|
<PostBuildEvent>mkdir $(SolutionDir)\Airscout\$(OutDir)\Plugin\
|
||||||
|
copy $(ProjectDir)\$(OutDir)\ILMerge\*$(TargetExt) $(SolutionDir)\Airscout\$(OutDir)\Plugin\ /y</PostBuildEvent>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
|
@ -77,7 +77,8 @@
|
||||||
<Error Condition="!Exists('..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets'))" />
|
<Error Condition="!Exists('..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PostBuildEvent>copy $(ProjectDir)\$(OutDir)\ILMerge\*$(TargetExt) $(SolutionDir)\Airscout\$(OutDir) /y</PostBuildEvent>
|
<PostBuildEvent>mkdir $(SolutionDir)\Airscout\$(OutDir)\Plugin\
|
||||||
|
copy $(ProjectDir)\$(OutDir)\ILMerge\*$(TargetExt) $(SolutionDir)\Airscout\$(OutDir)\Plugin\ /y</PostBuildEvent>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets" Condition="Exists('..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets')" />
|
<Import Project="..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets" Condition="Exists('..\packages\ILMerge.MSBuild.Task.1.0.7\build\ILMerge.MSBuild.Task.targets')" />
|
||||||
</Project>
|
</Project>
|
14
AirScout.sln
14
AirScout.sln
|
@ -81,8 +81,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirScout.PlaneFeeds.Plugin.
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirScout.PlaneFeeds.Plugin.RB24", "AirScout.PlaneFeeds.Plugin.RB24\AirScout.PlaneFeeds.Plugin.RB24.csproj", "{D953C82D-5881-4F5C-8335-1C54114BE28B}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirScout.PlaneFeeds.Plugin.RB24", "AirScout.PlaneFeeds.Plugin.RB24\AirScout.PlaneFeeds.Plugin.RB24.csproj", "{D953C82D-5881-4F5C-8335-1C54114BE28B}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirScout_Cleanup", "AirScout_Cleanup\AirScout_Cleanup.csproj", "{4DDDB65C-0E40-4A69-8775-5B4152C3196D}"
|
|
||||||
EndProject
|
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirScout.PlaneFeeds.Plugin.OpenSky", "AirScout.PlaneFeeds.Plugin.OpenSky\AirScout.PlaneFeeds.Plugin.OpenSky.csproj", "{23F584DB-EB5E-452D-B49F-7C1CABB713FF}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirScout.PlaneFeeds.Plugin.OpenSky", "AirScout.PlaneFeeds.Plugin.OpenSky\AirScout.PlaneFeeds.Plugin.OpenSky.csproj", "{23F584DB-EB5E-452D-B49F-7C1CABB713FF}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirScout.PlaneFeeds.Plugin.PlaneFinder", "AirScout.PlaneFeeds.Plugin.PlaneFinder\AirScout.PlaneFeeds.Plugin.PlaneFinder.csproj", "{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirScout.PlaneFeeds.Plugin.PlaneFinder", "AirScout.PlaneFeeds.Plugin.PlaneFinder\AirScout.PlaneFeeds.Plugin.PlaneFinder.csproj", "{DB85E98A-E209-49D0-B6CF-6CDD5B8E20E3}"
|
||||||
|
@ -537,18 +535,6 @@ Global
|
||||||
{D953C82D-5881-4F5C-8335-1C54114BE28B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
{D953C82D-5881-4F5C-8335-1C54114BE28B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||||
{D953C82D-5881-4F5C-8335-1C54114BE28B}.Release|x86.ActiveCfg = Release|Any CPU
|
{D953C82D-5881-4F5C-8335-1C54114BE28B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{D953C82D-5881-4F5C-8335-1C54114BE28B}.Release|x86.Build.0 = Release|Any CPU
|
{D953C82D-5881-4F5C-8335-1C54114BE28B}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{4DDDB65C-0E40-4A69-8775-5B4152C3196D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{4DDDB65C-0E40-4A69-8775-5B4152C3196D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{4DDDB65C-0E40-4A69-8775-5B4152C3196D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{4DDDB65C-0E40-4A69-8775-5B4152C3196D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{4DDDB65C-0E40-4A69-8775-5B4152C3196D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{4DDDB65C-0E40-4A69-8775-5B4152C3196D}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{4DDDB65C-0E40-4A69-8775-5B4152C3196D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{4DDDB65C-0E40-4A69-8775-5B4152C3196D}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{4DDDB65C-0E40-4A69-8775-5B4152C3196D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{4DDDB65C-0E40-4A69-8775-5B4152C3196D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{4DDDB65C-0E40-4A69-8775-5B4152C3196D}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{4DDDB65C-0E40-4A69-8775-5B4152C3196D}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{23F584DB-EB5E-452D-B49F-7C1CABB713FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{23F584DB-EB5E-452D-B49F-7C1CABB713FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{23F584DB-EB5E-452D-B49F-7C1CABB713FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{23F584DB-EB5E-452D-B49F-7C1CABB713FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{23F584DB-EB5E-452D-B49F-7C1CABB713FF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
{23F584DB-EB5E-452D-B49F-7C1CABB713FF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||||
|
|
|
@ -149,7 +149,7 @@ namespace AirScout
|
||||||
// elevation polar chart
|
// elevation polar chart
|
||||||
pm_Elevation_Polar.PlotType = PlotType.Polar;
|
pm_Elevation_Polar.PlotType = PlotType.Polar;
|
||||||
pm_Elevation_Polar.Title = String.Empty;
|
pm_Elevation_Polar.Title = String.Empty;
|
||||||
pm_Elevation_Polar.DefaultFontSize = 6F;
|
pm_Elevation_Polar.DefaultFontSize = (double)Properties.Settings.Default.Charts_FontSize;
|
||||||
pv_Elevation_Polar.BackColor = Color.White;
|
pv_Elevation_Polar.BackColor = Color.White;
|
||||||
pv_Elevation_Polar.Dock = DockStyle.Fill;
|
pv_Elevation_Polar.Dock = DockStyle.Fill;
|
||||||
pv_Elevation_Polar.Model = pm_Elevation_Polar;
|
pv_Elevation_Polar.Model = pm_Elevation_Polar;
|
||||||
|
@ -187,7 +187,7 @@ namespace AirScout
|
||||||
pv_Elevation_Cartesian.Dock = DockStyle.Fill;
|
pv_Elevation_Cartesian.Dock = DockStyle.Fill;
|
||||||
pv_Elevation_Cartesian.Model = pm_Elevation_Cartesian;
|
pv_Elevation_Cartesian.Model = pm_Elevation_Cartesian;
|
||||||
pm_Elevation_Cartesian.Title = String.Empty;
|
pm_Elevation_Cartesian.Title = String.Empty;
|
||||||
pm_Elevation_Cartesian.DefaultFontSize = 6F;
|
pm_Elevation_Cartesian.DefaultFontSize = (double)Properties.Settings.Default.Charts_FontSize;
|
||||||
// add axes
|
// add axes
|
||||||
pm_Elevation_Cartesian.Axes.Clear();
|
pm_Elevation_Cartesian.Axes.Clear();
|
||||||
// add x-axis
|
// add x-axis
|
||||||
|
@ -215,7 +215,7 @@ namespace AirScout
|
||||||
// distance polar chart
|
// distance polar chart
|
||||||
pm_Distance_Polar.PlotType = PlotType.Polar;
|
pm_Distance_Polar.PlotType = PlotType.Polar;
|
||||||
pm_Distance_Polar.Title = String.Empty;
|
pm_Distance_Polar.Title = String.Empty;
|
||||||
pm_Distance_Polar.DefaultFontSize = 6F;
|
pm_Distance_Polar.DefaultFontSize = (double)Properties.Settings.Default.Charts_FontSize;
|
||||||
pv_Distance_Polar.BackColor = Color.White;
|
pv_Distance_Polar.BackColor = Color.White;
|
||||||
pv_Distance_Polar.Dock = DockStyle.Fill;
|
pv_Distance_Polar.Dock = DockStyle.Fill;
|
||||||
pv_Distance_Polar.Model = pm_Distance_Polar;
|
pv_Distance_Polar.Model = pm_Distance_Polar;
|
||||||
|
@ -253,7 +253,7 @@ namespace AirScout
|
||||||
pv_Distance_Cartesian.Dock = DockStyle.Fill;
|
pv_Distance_Cartesian.Dock = DockStyle.Fill;
|
||||||
pv_Distance_Cartesian.Model = pm_Distance_Cartesian;
|
pv_Distance_Cartesian.Model = pm_Distance_Cartesian;
|
||||||
pm_Distance_Cartesian.Title = String.Empty;
|
pm_Distance_Cartesian.Title = String.Empty;
|
||||||
pm_Distance_Cartesian.DefaultFontSize = 6F;
|
pm_Distance_Cartesian.DefaultFontSize = (double)Properties.Settings.Default.Charts_FontSize;
|
||||||
// add axes
|
// add axes
|
||||||
pm_Distance_Cartesian.Axes.Clear();
|
pm_Distance_Cartesian.Axes.Clear();
|
||||||
// add x-axis
|
// add x-axis
|
||||||
|
@ -359,15 +359,17 @@ namespace AirScout
|
||||||
horizon.Clear();
|
horizon.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DrawHorizonPoint(int azimuth, HorizonPoint hp)
|
private void DrawHorizonPoint(int azimuth, HorizonPoint hp, bool closing = false)
|
||||||
{
|
{
|
||||||
Elevation_Polar_Series.Points.Add(new DataPoint(hp.Epsmin / Math.PI * 180.0, azimuth));
|
Elevation_Polar_Series.Points.Add(new DataPoint(hp.Epsmin / Math.PI * 180.0, azimuth));
|
||||||
pm_Elevation_Polar.InvalidatePlot(true);
|
pm_Elevation_Polar.InvalidatePlot(true);
|
||||||
Elevation_Cartesian_Series.Points.Add(new DataPoint(azimuth, hp.Epsmin / Math.PI * 180.0));
|
if (!closing)
|
||||||
|
Elevation_Cartesian_Series.Points.Add(new DataPoint(azimuth, hp.Epsmin / Math.PI * 180.0));
|
||||||
pm_Elevation_Cartesian.InvalidatePlot(true);
|
pm_Elevation_Cartesian.InvalidatePlot(true);
|
||||||
Distance_Polar_Series.Points.Add(new DataPoint(hp.Dist, azimuth));
|
Distance_Polar_Series.Points.Add(new DataPoint(hp.Dist, azimuth));
|
||||||
pm_Distance_Polar.InvalidatePlot(true);
|
pm_Distance_Polar.InvalidatePlot(true);
|
||||||
Distance_Cartesian_Series.Points.Add(new DataPoint(azimuth, hp.Dist));
|
if (!closing)
|
||||||
|
Distance_Cartesian_Series.Points.Add(new DataPoint(azimuth, hp.Dist));
|
||||||
pm_Distance_Cartesian.InvalidatePlot(true);
|
pm_Distance_Cartesian.InvalidatePlot(true);
|
||||||
LatLon.GPoint gp = LatLon.DestinationPoint(Location.Lat, Location.Lon, azimuth, hp.Dist);
|
LatLon.GPoint gp = LatLon.DestinationPoint(Location.Lat, Location.Lon, azimuth, hp.Dist);
|
||||||
PointLatLng p = new PointLatLng(gp.Lat, gp.Lon);
|
PointLatLng p = new PointLatLng(gp.Lat, gp.Lon);
|
||||||
|
@ -451,8 +453,8 @@ namespace AirScout
|
||||||
{
|
{
|
||||||
DrawHorizonPoint(j, Horizon.Horizon[j]);
|
DrawHorizonPoint(j, Horizon.Horizon[j]);
|
||||||
}
|
}
|
||||||
// draw first point again to close the circle
|
// draw first point again to close the circle in polar modes
|
||||||
DrawHorizonPoint(0, Horizon.Horizon[0]);
|
DrawHorizonPoint(0, Horizon.Horizon[0],true);
|
||||||
}
|
}
|
||||||
// enable radio buttons
|
// enable radio buttons
|
||||||
btn_Horizon_Calculate.Enabled = true;
|
btn_Horizon_Calculate.Enabled = true;
|
||||||
|
|
|
@ -731,7 +731,7 @@ namespace AirScout
|
||||||
string filespec = "AirScout.PlaneFeeds.Plugin.*.dll";
|
string filespec = "AirScout.PlaneFeeds.Plugin.*.dll";
|
||||||
|
|
||||||
// first copy plugins from application directory to plugin directory if they not exist or newer
|
// first copy plugins from application directory to plugin directory if they not exist or newer
|
||||||
CopyPlugins(AppDirectory, PluginDirectory, filespec);
|
CopyPlugins(Path.Combine(AppDirectory,"Plugin"), PluginDirectory, filespec);
|
||||||
|
|
||||||
// check for new plugins on the web resource
|
// check for new plugins on the web resource
|
||||||
try
|
try
|
||||||
|
@ -1158,8 +1158,6 @@ namespace AirScout
|
||||||
CheckSettings();
|
CheckSettings();
|
||||||
// reset topmost state
|
// reset topmost state
|
||||||
SplashDlg.TopMost = false;
|
SplashDlg.TopMost = false;
|
||||||
// must have internet connection on FirstRun
|
|
||||||
CheckInternet();
|
|
||||||
/*
|
/*
|
||||||
// run database updater once for basic information
|
// run database updater once for basic information
|
||||||
bw_DatabaseUpdater.RunWorkerAsync(UPDATERSTARTOPTIONS.FIRSTRUN);
|
bw_DatabaseUpdater.RunWorkerAsync(UPDATERSTARTOPTIONS.FIRSTRUN);
|
||||||
|
@ -1168,6 +1166,8 @@ namespace AirScout
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
*/
|
*/
|
||||||
SplashDlg.Close();
|
SplashDlg.Close();
|
||||||
|
// must have internet connection on FirstRun
|
||||||
|
CheckInternet();
|
||||||
// show FirstRunWizard
|
// show FirstRunWizard
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -1826,7 +1826,7 @@ namespace AirScout
|
||||||
{
|
{
|
||||||
// propagation path chart
|
// propagation path chart
|
||||||
pm_Path.Title = String.Empty;
|
pm_Path.Title = String.Empty;
|
||||||
pm_Path.DefaultFontSize = 6F;
|
pm_Path.DefaultFontSize = (double)Properties.Settings.Default.Charts_FontSize;
|
||||||
pm_Path.IsLegendVisible = false;
|
pm_Path.IsLegendVisible = false;
|
||||||
pv_Path.BackColor = Color.White;
|
pv_Path.BackColor = Color.White;
|
||||||
pv_Path.Model = pm_Path;
|
pv_Path.Model = pm_Path;
|
||||||
|
@ -1894,7 +1894,7 @@ namespace AirScout
|
||||||
|
|
||||||
// zoomed elevation chart
|
// zoomed elevation chart
|
||||||
pm_Elevation.Title = String.Empty;
|
pm_Elevation.Title = String.Empty;
|
||||||
pm_Elevation.DefaultFontSize = 6F;
|
pm_Elevation.DefaultFontSize = (double)Properties.Settings.Default.Charts_FontSize;
|
||||||
pm_Elevation.IsLegendVisible = false;
|
pm_Elevation.IsLegendVisible = false;
|
||||||
pv_Elevation.BackColor = Color.White;
|
pv_Elevation.BackColor = Color.White;
|
||||||
pv_Elevation.Model = pm_Elevation;
|
pv_Elevation.Model = pm_Elevation;
|
||||||
|
@ -1936,7 +1936,7 @@ namespace AirScout
|
||||||
|
|
||||||
// spectrum chart
|
// spectrum chart
|
||||||
pm_Spectrum.Title = String.Empty;
|
pm_Spectrum.Title = String.Empty;
|
||||||
pm_Spectrum.DefaultFontSize = 6F;
|
pm_Spectrum.DefaultFontSize = (double)Properties.Settings.Default.Charts_FontSize;
|
||||||
pv_Spectrum.BackColor = Color.White;
|
pv_Spectrum.BackColor = Color.White;
|
||||||
pv_Spectrum.Model = pm_Spectrum;
|
pv_Spectrum.Model = pm_Spectrum;
|
||||||
// add Spectrum series
|
// add Spectrum series
|
||||||
|
@ -2063,132 +2063,139 @@ namespace AirScout
|
||||||
|
|
||||||
private void SaveUserSettings()
|
private void SaveUserSettings()
|
||||||
{
|
{
|
||||||
Log.WriteMessage("Saving configuration...");
|
try
|
||||||
Properties.Settings.Default.Save();
|
|
||||||
if (!SupportFunctions.IsMono)
|
|
||||||
return;
|
|
||||||
Console.WriteLine("Creating XML document...");
|
|
||||||
XmlDocument doc = new XmlDocument();
|
|
||||||
XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
|
|
||||||
XmlElement root = doc.DocumentElement;
|
|
||||||
doc.InsertBefore(xmlDeclaration, root);
|
|
||||||
XmlElement configuration = doc.CreateElement(string.Empty, "configuration", string.Empty);
|
|
||||||
doc.AppendChild(configuration);
|
|
||||||
XmlElement configsections = doc.CreateElement(string.Empty, "configSections", string.Empty);
|
|
||||||
configuration.AppendChild(configsections);
|
|
||||||
XmlElement usersettingsgroup = doc.CreateElement(string.Empty, "sectionGroup", string.Empty);
|
|
||||||
XmlAttribute usersettingsname = doc.CreateAttribute(string.Empty, "name", string.Empty);
|
|
||||||
usersettingsname.Value = "userSettings";
|
|
||||||
usersettingsgroup.Attributes.Append(usersettingsname);
|
|
||||||
XmlElement usersection = doc.CreateElement(string.Empty, "section", string.Empty);
|
|
||||||
XmlAttribute sectionname = doc.CreateAttribute(string.Empty, "name", string.Empty);
|
|
||||||
sectionname.Value = "AirScout.PlaneFeeds.Properties.Settings";
|
|
||||||
usersection.Attributes.Append(sectionname);
|
|
||||||
XmlAttribute sectiontype = doc.CreateAttribute(string.Empty, "type", string.Empty);
|
|
||||||
sectiontype.Value = "System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
|
|
||||||
usersection.Attributes.Append(sectiontype);
|
|
||||||
XmlAttribute sectionallowexedefinition = doc.CreateAttribute(string.Empty, "allowExeDefinition", string.Empty);
|
|
||||||
sectionallowexedefinition.Value = "MachineToLocalUser";
|
|
||||||
usersection.Attributes.Append(sectionallowexedefinition);
|
|
||||||
XmlAttribute sectionrequirepermission = doc.CreateAttribute(string.Empty, "requirePermission", string.Empty);
|
|
||||||
sectionrequirepermission.Value = "false";
|
|
||||||
usersection.Attributes.Append(sectionrequirepermission);
|
|
||||||
usersettingsgroup.AppendChild(usersection);
|
|
||||||
configsections.AppendChild(usersettingsgroup);
|
|
||||||
XmlElement usersettings = doc.CreateElement(string.Empty, "userSettings", string.Empty);
|
|
||||||
configuration.AppendChild(usersettings);
|
|
||||||
Console.WriteLine("Writing user settings...");
|
|
||||||
// append AirScout.PlaneFeeds properties
|
|
||||||
Console.WriteLine("Appending AirScout.PlaneFeeds.Properties.Settings.Default node...");
|
|
||||||
XmlElement planefeedproperties = doc.CreateElement(string.Empty, AirScout.PlaneFeeds.Properties.Settings.Default.ToString(), string.Empty);
|
|
||||||
usersettings.AppendChild(planefeedproperties);
|
|
||||||
foreach (SettingsPropertyValue p in AirScout.PlaneFeeds.Properties.Settings.Default.PropertyValues)
|
|
||||||
{
|
{
|
||||||
if ((p != null) && (p.Name != null) && (p.PropertyValue != null) && !p.UsingDefaultValue)
|
Log.WriteMessage("Saving configuration...");
|
||||||
|
Properties.Settings.Default.Save();
|
||||||
|
if (!SupportFunctions.IsMono)
|
||||||
|
return;
|
||||||
|
Console.WriteLine("Creating XML document...");
|
||||||
|
XmlDocument doc = new XmlDocument();
|
||||||
|
XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
|
||||||
|
XmlElement root = doc.DocumentElement;
|
||||||
|
doc.InsertBefore(xmlDeclaration, root);
|
||||||
|
XmlElement configuration = doc.CreateElement(string.Empty, "configuration", string.Empty);
|
||||||
|
doc.AppendChild(configuration);
|
||||||
|
XmlElement configsections = doc.CreateElement(string.Empty, "configSections", string.Empty);
|
||||||
|
configuration.AppendChild(configsections);
|
||||||
|
XmlElement usersettingsgroup = doc.CreateElement(string.Empty, "sectionGroup", string.Empty);
|
||||||
|
XmlAttribute usersettingsname = doc.CreateAttribute(string.Empty, "name", string.Empty);
|
||||||
|
usersettingsname.Value = "userSettings";
|
||||||
|
usersettingsgroup.Attributes.Append(usersettingsname);
|
||||||
|
XmlElement usersection = doc.CreateElement(string.Empty, "section", string.Empty);
|
||||||
|
XmlAttribute sectionname = doc.CreateAttribute(string.Empty, "name", string.Empty);
|
||||||
|
sectionname.Value = "AirScout.PlaneFeeds.Properties.Settings";
|
||||||
|
usersection.Attributes.Append(sectionname);
|
||||||
|
XmlAttribute sectiontype = doc.CreateAttribute(string.Empty, "type", string.Empty);
|
||||||
|
sectiontype.Value = "System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
|
||||||
|
usersection.Attributes.Append(sectiontype);
|
||||||
|
XmlAttribute sectionallowexedefinition = doc.CreateAttribute(string.Empty, "allowExeDefinition", string.Empty);
|
||||||
|
sectionallowexedefinition.Value = "MachineToLocalUser";
|
||||||
|
usersection.Attributes.Append(sectionallowexedefinition);
|
||||||
|
XmlAttribute sectionrequirepermission = doc.CreateAttribute(string.Empty, "requirePermission", string.Empty);
|
||||||
|
sectionrequirepermission.Value = "false";
|
||||||
|
usersection.Attributes.Append(sectionrequirepermission);
|
||||||
|
usersettingsgroup.AppendChild(usersection);
|
||||||
|
configsections.AppendChild(usersettingsgroup);
|
||||||
|
XmlElement usersettings = doc.CreateElement(string.Empty, "userSettings", string.Empty);
|
||||||
|
configuration.AppendChild(usersettings);
|
||||||
|
Console.WriteLine("Writing user settings...");
|
||||||
|
// append AirScout.PlaneFeeds properties
|
||||||
|
Console.WriteLine("Appending AirScout.PlaneFeeds.Properties.Settings.Default node...");
|
||||||
|
XmlElement planefeedproperties = doc.CreateElement(string.Empty, AirScout.PlaneFeeds.Properties.Settings.Default.ToString(), string.Empty);
|
||||||
|
usersettings.AppendChild(planefeedproperties);
|
||||||
|
foreach (SettingsPropertyValue p in AirScout.PlaneFeeds.Properties.Settings.Default.PropertyValues)
|
||||||
{
|
{
|
||||||
// Console.WriteLine("Appending " + p.Name + " = " + p.PropertyValue.ToString());
|
if ((p != null) && (p.Name != null) && (p.PropertyValue != null) && !p.UsingDefaultValue)
|
||||||
XmlElement setting = doc.CreateElement(string.Empty, "setting", string.Empty);
|
|
||||||
XmlAttribute name = doc.CreateAttribute(string.Empty, "name", string.Empty);
|
|
||||||
name.Value = p.Name.ToString();
|
|
||||||
setting.Attributes.Append(name);
|
|
||||||
XmlAttribute serializeas = doc.CreateAttribute(string.Empty, "serializeAs", string.Empty);
|
|
||||||
serializeas.Value = p.Property.SerializeAs.ToString();
|
|
||||||
setting.Attributes.Append(serializeas);
|
|
||||||
XmlElement value = doc.CreateElement(string.Empty, "value", string.Empty);
|
|
||||||
if (p.PropertyValue != null && p.Property.SerializeAs == SettingsSerializeAs.String)
|
|
||||||
{
|
{
|
||||||
XmlText text = doc.CreateTextNode(p.SerializedValue.ToString());
|
// Console.WriteLine("Appending " + p.Name + " = " + p.PropertyValue.ToString());
|
||||||
value.AppendChild(text);
|
XmlElement setting = doc.CreateElement(string.Empty, "setting", string.Empty);
|
||||||
}
|
XmlAttribute name = doc.CreateAttribute(string.Empty, "name", string.Empty);
|
||||||
else
|
name.Value = p.Name.ToString();
|
||||||
{
|
setting.Attributes.Append(name);
|
||||||
if (p.PropertyValue != null && p.Property.SerializeAs == SettingsSerializeAs.Xml)
|
XmlAttribute serializeas = doc.CreateAttribute(string.Empty, "serializeAs", string.Empty);
|
||||||
|
serializeas.Value = p.Property.SerializeAs.ToString();
|
||||||
|
setting.Attributes.Append(serializeas);
|
||||||
|
XmlElement value = doc.CreateElement(string.Empty, "value", string.Empty);
|
||||||
|
if (p.PropertyValue != null && p.Property.SerializeAs == SettingsSerializeAs.String)
|
||||||
{
|
{
|
||||||
MemoryStream ms = new MemoryStream();
|
XmlText text = doc.CreateTextNode(p.SerializedValue.ToString());
|
||||||
XmlWriter writer = XmlWriter.Create(ms, new XmlWriterSettings
|
value.AppendChild(text);
|
||||||
{
|
|
||||||
NewLineOnAttributes = true,
|
|
||||||
OmitXmlDeclaration = true
|
|
||||||
});
|
|
||||||
XmlSerializer serializer = new XmlSerializer(p.PropertyValue.GetType());
|
|
||||||
serializer.Serialize(writer, p.PropertyValue);
|
|
||||||
byte[] text2 = new byte[ms.ToArray().Length - 3];
|
|
||||||
Array.Copy(ms.ToArray(), 3, text2, 0, text2.Length);
|
|
||||||
XmlText xml = doc.CreateTextNode(Encoding.UTF8.GetString(text2.ToArray<byte>()));
|
|
||||||
value.AppendChild(xml);
|
|
||||||
value.InnerXml = WebUtility.HtmlDecode(value.InnerXml);
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (p.PropertyValue != null && p.Property.SerializeAs == SettingsSerializeAs.Xml)
|
||||||
|
{
|
||||||
|
MemoryStream ms = new MemoryStream();
|
||||||
|
XmlWriter writer = XmlWriter.Create(ms, new XmlWriterSettings
|
||||||
|
{
|
||||||
|
NewLineOnAttributes = true,
|
||||||
|
OmitXmlDeclaration = true
|
||||||
|
});
|
||||||
|
XmlSerializer serializer = new XmlSerializer(p.PropertyValue.GetType());
|
||||||
|
serializer.Serialize(writer, p.PropertyValue);
|
||||||
|
byte[] text2 = new byte[ms.ToArray().Length - 3];
|
||||||
|
Array.Copy(ms.ToArray(), 3, text2, 0, text2.Length);
|
||||||
|
XmlText xml = doc.CreateTextNode(Encoding.UTF8.GetString(text2.ToArray<byte>()));
|
||||||
|
value.AppendChild(xml);
|
||||||
|
value.InnerXml = WebUtility.HtmlDecode(value.InnerXml);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setting.AppendChild(value);
|
||||||
|
planefeedproperties.AppendChild(setting);
|
||||||
}
|
}
|
||||||
setting.AppendChild(value);
|
|
||||||
planefeedproperties.AppendChild(setting);
|
|
||||||
}
|
}
|
||||||
|
// append AirScout properties
|
||||||
|
Console.WriteLine("Appending AirScout.Properties.Settings.Default node...");
|
||||||
|
XmlElement properties = doc.CreateElement(string.Empty, Properties.Settings.Default.ToString(), string.Empty);
|
||||||
|
usersettings.AppendChild(properties);
|
||||||
|
foreach (SettingsPropertyValue p in Properties.Settings.Default.PropertyValues)
|
||||||
|
{
|
||||||
|
if ((p != null) && (p.Name != null) && (p.PropertyValue != null) && !p.UsingDefaultValue)
|
||||||
|
{
|
||||||
|
// Console.WriteLine("Appending " + p.Name + " = " + p.PropertyValue.ToString();
|
||||||
|
XmlElement setting = doc.CreateElement(string.Empty, "setting", string.Empty);
|
||||||
|
XmlAttribute name = doc.CreateAttribute(string.Empty, "name", string.Empty);
|
||||||
|
name.Value = p.Name.ToString();
|
||||||
|
setting.Attributes.Append(name);
|
||||||
|
XmlAttribute serializeas = doc.CreateAttribute(string.Empty, "serializeAs", string.Empty);
|
||||||
|
serializeas.Value = p.Property.SerializeAs.ToString();
|
||||||
|
setting.Attributes.Append(serializeas);
|
||||||
|
XmlElement value = doc.CreateElement(string.Empty, "value", string.Empty);
|
||||||
|
if (p.PropertyValue != null && p.Property.SerializeAs == SettingsSerializeAs.String)
|
||||||
|
{
|
||||||
|
XmlText text = doc.CreateTextNode(p.SerializedValue.ToString());
|
||||||
|
value.AppendChild(text);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (p.PropertyValue != null && p.Property.SerializeAs == SettingsSerializeAs.Xml)
|
||||||
|
{
|
||||||
|
MemoryStream ms = new MemoryStream();
|
||||||
|
XmlWriter writer = XmlWriter.Create(ms, new XmlWriterSettings
|
||||||
|
{
|
||||||
|
NewLineOnAttributes = true,
|
||||||
|
OmitXmlDeclaration = true
|
||||||
|
});
|
||||||
|
XmlSerializer serializer = new XmlSerializer(p.PropertyValue.GetType());
|
||||||
|
serializer.Serialize(writer, p.PropertyValue);
|
||||||
|
byte[] text2 = new byte[ms.ToArray().Length - 3];
|
||||||
|
Array.Copy(ms.ToArray(), 3, text2, 0, text2.Length);
|
||||||
|
XmlText xml = doc.CreateTextNode(Encoding.UTF8.GetString(text2.ToArray<byte>()));
|
||||||
|
value.AppendChild(xml);
|
||||||
|
value.InnerXml = WebUtility.HtmlDecode(value.InnerXml);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setting.AppendChild(value);
|
||||||
|
properties.AppendChild(setting);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
doc.Save(GetUserSettingsPath());
|
||||||
}
|
}
|
||||||
// append AirScout properties
|
catch (Exception ex)
|
||||||
Console.WriteLine("Appending AirScout.Properties.Settings.Default node...");
|
|
||||||
XmlElement properties = doc.CreateElement(string.Empty, Properties.Settings.Default.ToString(), string.Empty);
|
|
||||||
usersettings.AppendChild(properties);
|
|
||||||
foreach (SettingsPropertyValue p in Properties.Settings.Default.PropertyValues)
|
|
||||||
{
|
{
|
||||||
if ((p != null) && (p.Name != null) && (p.PropertyValue != null) && !p.UsingDefaultValue)
|
Console.WriteLine("Unable to save settings: " + ex.ToString());
|
||||||
{
|
|
||||||
// Console.WriteLine("Appending " + p.Name + " = " + p.PropertyValue.ToString();
|
|
||||||
XmlElement setting = doc.CreateElement(string.Empty, "setting", string.Empty);
|
|
||||||
XmlAttribute name = doc.CreateAttribute(string.Empty, "name", string.Empty);
|
|
||||||
name.Value = p.Name.ToString();
|
|
||||||
setting.Attributes.Append(name);
|
|
||||||
XmlAttribute serializeas = doc.CreateAttribute(string.Empty, "serializeAs", string.Empty);
|
|
||||||
serializeas.Value = p.Property.SerializeAs.ToString();
|
|
||||||
setting.Attributes.Append(serializeas);
|
|
||||||
XmlElement value = doc.CreateElement(string.Empty, "value", string.Empty);
|
|
||||||
if (p.PropertyValue != null && p.Property.SerializeAs == SettingsSerializeAs.String)
|
|
||||||
{
|
|
||||||
XmlText text = doc.CreateTextNode(p.SerializedValue.ToString());
|
|
||||||
value.AppendChild(text);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (p.PropertyValue != null && p.Property.SerializeAs == SettingsSerializeAs.Xml)
|
|
||||||
{
|
|
||||||
MemoryStream ms = new MemoryStream();
|
|
||||||
XmlWriter writer = XmlWriter.Create(ms, new XmlWriterSettings
|
|
||||||
{
|
|
||||||
NewLineOnAttributes = true,
|
|
||||||
OmitXmlDeclaration = true
|
|
||||||
});
|
|
||||||
XmlSerializer serializer = new XmlSerializer(p.PropertyValue.GetType());
|
|
||||||
serializer.Serialize(writer, p.PropertyValue);
|
|
||||||
byte[] text2 = new byte[ms.ToArray().Length - 3];
|
|
||||||
Array.Copy(ms.ToArray(), 3, text2, 0, text2.Length);
|
|
||||||
XmlText xml = doc.CreateTextNode(Encoding.UTF8.GetString(text2.ToArray<byte>()));
|
|
||||||
value.AppendChild(xml);
|
|
||||||
value.InnerXml = WebUtility.HtmlDecode(value.InnerXml);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
setting.AppendChild(value);
|
|
||||||
properties.AppendChild(setting);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
doc.Save(GetUserSettingsPath());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -2197,9 +2204,6 @@ namespace AirScout
|
||||||
|
|
||||||
private void OnIdle(object sender, EventArgs args)
|
private void OnIdle(object sender, EventArgs args)
|
||||||
{
|
{
|
||||||
// enable/disable watchlist button
|
|
||||||
if (btn_Control_Manage_Watchlist.Enabled == Properties.Settings.Default.Watchlist_SyncWithKST)
|
|
||||||
btn_Control_Manage_Watchlist.Enabled = !Properties.Settings.Default.Watchlist_SyncWithKST;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -2813,6 +2817,10 @@ namespace AirScout
|
||||||
Say("Options");
|
Say("Options");
|
||||||
if (Dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
if (Dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||||
{
|
{
|
||||||
|
// enbale/disable manage watchlist button
|
||||||
|
btn_Control_Manage_Watchlist.Enabled = !Properties.Settings.Default.Watchlist_SyncWithKST;
|
||||||
|
// Re-initialze charts
|
||||||
|
InitializeCharts();
|
||||||
// clear paths cache assuming that new options were set
|
// clear paths cache assuming that new options were set
|
||||||
ElevationPaths.Clear();
|
ElevationPaths.Clear();
|
||||||
PropagationPaths.Clear();
|
PropagationPaths.Clear();
|
||||||
|
@ -2837,18 +2845,6 @@ namespace AirScout
|
||||||
bw_PlaneFeed2 = null;
|
bw_PlaneFeed2 = null;
|
||||||
bw_PlaneFeed3 = null;
|
bw_PlaneFeed3 = null;
|
||||||
|
|
||||||
/*
|
|
||||||
foreach (PlaneFeed feed in PlaneFeeds)
|
|
||||||
{
|
|
||||||
if (Properties.Settings.Default.Planes_PlaneFeed1 == feed.Name)
|
|
||||||
bw_PlaneFeed1 = feed;
|
|
||||||
if (Properties.Settings.Default.Planes_PlaneFeed2 == feed.Name)
|
|
||||||
bw_PlaneFeed2 = feed;
|
|
||||||
if (Properties.Settings.Default.Planes_PlaneFeed3 == feed.Name)
|
|
||||||
bw_PlaneFeed3 = feed;
|
|
||||||
}
|
|
||||||
|
|
||||||
*/
|
|
||||||
if (PlaneFeedPlugins != null)
|
if (PlaneFeedPlugins != null)
|
||||||
{
|
{
|
||||||
foreach (IPlaneFeedPlugin plugin in PlaneFeedPlugins)
|
foreach (IPlaneFeedPlugin plugin in PlaneFeedPlugins)
|
||||||
|
@ -4030,6 +4026,7 @@ namespace AirScout
|
||||||
// update listview
|
// update listview
|
||||||
lv_Control_Watchlist.BeginUpdate();
|
lv_Control_Watchlist.BeginUpdate();
|
||||||
lv_Control_Watchlist.Items.Clear();
|
lv_Control_Watchlist.Items.Clear();
|
||||||
|
Properties.Settings.Default.Watchlist.Sort();
|
||||||
// run twice, add checked items first, then all others
|
// run twice, add checked items first, then all others
|
||||||
foreach (WatchlistItem item in Properties.Settings.Default.Watchlist)
|
foreach (WatchlistItem item in Properties.Settings.Default.Watchlist)
|
||||||
{
|
{
|
||||||
|
@ -4143,6 +4140,7 @@ namespace AirScout
|
||||||
if (item.Overlay == gmo_Callsigns)
|
if (item.Overlay == gmo_Callsigns)
|
||||||
{
|
{
|
||||||
string call = (string)item.Tag;
|
string call = (string)item.Tag;
|
||||||
|
// check if callsign clicked and not own callsign
|
||||||
if (Callsign.Check(call) && (call != Properties.Settings.Default.MyCall))
|
if (Callsign.Check(call) && (call != Properties.Settings.Default.MyCall))
|
||||||
{
|
{
|
||||||
if (PathMode == AIRSCOUTPATHMODE.MULTI)
|
if (PathMode == AIRSCOUTPATHMODE.MULTI)
|
||||||
|
@ -4160,6 +4158,24 @@ namespace AirScout
|
||||||
UpdatePaths();
|
UpdatePaths();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (PathMode == AIRSCOUTPATHMODE.SINGLE)
|
||||||
|
{
|
||||||
|
// search call on watchlist
|
||||||
|
int index = Properties.Settings.Default.Watchlist.IndexOf(call);
|
||||||
|
if (index >= 0)
|
||||||
|
{
|
||||||
|
string loc = Properties.Settings.Default.Watchlist.ElementAt(index).Loc;
|
||||||
|
// get location info from database
|
||||||
|
LocationDesignator ld = LocationFindOrCreate(call, loc);
|
||||||
|
Properties.Settings.Default.DXCall = ld.Call;
|
||||||
|
Properties.Settings.Default.DXLat = ld.Lat;
|
||||||
|
Properties.Settings.Default.DXLon = ld.Lon;
|
||||||
|
UpdateStatus();
|
||||||
|
// update paths if running
|
||||||
|
if (PlayMode == AIRSCOUTPLAYMODE.FORWARD)
|
||||||
|
UpdatePaths();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// check if plane clicked
|
// check if plane clicked
|
||||||
|
@ -4635,6 +4651,9 @@ namespace AirScout
|
||||||
|
|
||||||
private void tp_Control_Multi_Enter(object sender, EventArgs e)
|
private void tp_Control_Multi_Enter(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
// enbale/disable manage watchlist button
|
||||||
|
btn_Control_Manage_Watchlist.Enabled = !Properties.Settings.Default.Watchlist_SyncWithKST;
|
||||||
|
|
||||||
if (PathMode != AIRSCOUTPATHMODE.MULTI)
|
if (PathMode != AIRSCOUTPATHMODE.MULTI)
|
||||||
{
|
{
|
||||||
PathMode = AIRSCOUTPATHMODE.MULTI;
|
PathMode = AIRSCOUTPATHMODE.MULTI;
|
||||||
|
@ -5876,13 +5895,14 @@ namespace AirScout
|
||||||
{
|
{
|
||||||
Stopwatch st = new Stopwatch();
|
Stopwatch st = new Stopwatch();
|
||||||
st.Start();
|
st.Start();
|
||||||
// mark all watchlist items to remove
|
// mark all watchlist items to remove wich are not currently tracked
|
||||||
foreach (WatchlistItem item in Properties.Settings.Default.Watchlist)
|
foreach (WatchlistItem item in Properties.Settings.Default.Watchlist)
|
||||||
{
|
{
|
||||||
// nasty!! Should never be null!
|
// nasty!! Should never be null!
|
||||||
if (item == null)
|
if (item == null)
|
||||||
continue;
|
continue;
|
||||||
item.Remove = true;
|
if (!item.Checked)
|
||||||
|
item.Remove = true;
|
||||||
}
|
}
|
||||||
// split message
|
// split message
|
||||||
string[] a = msg.Data.Split(',');
|
string[] a = msg.Data.Split(',');
|
||||||
|
|
|
@ -125,7 +125,7 @@
|
||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACc
|
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACc
|
||||||
DQAAAk1TRnQBSQFMAgEBAwEAAWgBCwFoAQsBIAEAASABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
DQAAAk1TRnQBSQFMAgEBAwEAAXABCwFwAQsBIAEAASABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||||
AwABgAMAASADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
AwABgAMAASADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||||
|
@ -340,7 +340,7 @@
|
||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACM
|
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACM
|
||||||
DAAAAk1TRnQBSQFMAwEBAAHQAQkB0AEJASABAAEgAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
|
DAAAAk1TRnQBSQFMAwEBAAHYAQkB2AEJASABAAEgAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
|
||||||
AYADAAEgAwABAQEAAQgGAAEQGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA
|
AYADAAEgAwABAQEAAQgGAAEQGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA
|
||||||
AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA
|
AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA
|
||||||
AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm
|
AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm
|
||||||
|
|
|
@ -422,6 +422,9 @@
|
||||||
this.bw_SRTM1_MapUpdater = new System.ComponentModel.BackgroundWorker();
|
this.bw_SRTM1_MapUpdater = new System.ComponentModel.BackgroundWorker();
|
||||||
this.bw_GLOBE_MapUpdater = new System.ComponentModel.BackgroundWorker();
|
this.bw_GLOBE_MapUpdater = new System.ComponentModel.BackgroundWorker();
|
||||||
this.bw_StationDataUpdater = new System.ComponentModel.BackgroundWorker();
|
this.bw_StationDataUpdater = new System.ComponentModel.BackgroundWorker();
|
||||||
|
this.groupBox37 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.ud_Options_Charts_FontSize = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label34 = new System.Windows.Forms.Label();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.pb_Donate)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.pb_Donate)).BeginInit();
|
||||||
this.tab_Options_Planes.SuspendLayout();
|
this.tab_Options_Planes.SuspendLayout();
|
||||||
this.groupBox48.SuspendLayout();
|
this.groupBox48.SuspendLayout();
|
||||||
|
@ -492,6 +495,8 @@
|
||||||
this.groupBox28.SuspendLayout();
|
this.groupBox28.SuspendLayout();
|
||||||
this.tab_Options_Info.SuspendLayout();
|
this.tab_Options_Info.SuspendLayout();
|
||||||
this.ss_Options.SuspendLayout();
|
this.ss_Options.SuspendLayout();
|
||||||
|
this.groupBox37.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.ud_Options_Charts_FontSize)).BeginInit();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// btn_Options_OK
|
// btn_Options_OK
|
||||||
|
@ -1802,6 +1807,7 @@
|
||||||
// tab_Options_Map
|
// tab_Options_Map
|
||||||
//
|
//
|
||||||
this.tab_Options_Map.BackColor = System.Drawing.SystemColors.Control;
|
this.tab_Options_Map.BackColor = System.Drawing.SystemColors.Control;
|
||||||
|
this.tab_Options_Map.Controls.Add(this.groupBox37);
|
||||||
this.tab_Options_Map.Controls.Add(this.groupBox39);
|
this.tab_Options_Map.Controls.Add(this.groupBox39);
|
||||||
this.tab_Options_Map.Controls.Add(this.groupBox23);
|
this.tab_Options_Map.Controls.Add(this.groupBox23);
|
||||||
this.tab_Options_Map.Controls.Add(this.groupBox30);
|
this.tab_Options_Map.Controls.Add(this.groupBox30);
|
||||||
|
@ -1945,9 +1951,9 @@
|
||||||
this.groupBox30.Controls.Add(this.label81);
|
this.groupBox30.Controls.Add(this.label81);
|
||||||
this.groupBox30.Controls.Add(this.label80);
|
this.groupBox30.Controls.Add(this.label80);
|
||||||
this.groupBox30.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.groupBox30.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.groupBox30.Location = new System.Drawing.Point(446, 301);
|
this.groupBox30.Location = new System.Drawing.Point(424, 301);
|
||||||
this.groupBox30.Name = "groupBox30";
|
this.groupBox30.Name = "groupBox30";
|
||||||
this.groupBox30.Size = new System.Drawing.Size(211, 154);
|
this.groupBox30.Size = new System.Drawing.Size(233, 154);
|
||||||
this.groupBox30.TabIndex = 6;
|
this.groupBox30.TabIndex = 6;
|
||||||
this.groupBox30.TabStop = false;
|
this.groupBox30.TabStop = false;
|
||||||
this.groupBox30.Text = "Plane Icon Sizes per Category";
|
this.groupBox30.Text = "Plane Icon Sizes per Category";
|
||||||
|
@ -2074,7 +2080,7 @@
|
||||||
this.groupBox7.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.groupBox7.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.groupBox7.Location = new System.Drawing.Point(14, 301);
|
this.groupBox7.Location = new System.Drawing.Point(14, 301);
|
||||||
this.groupBox7.Name = "groupBox7";
|
this.groupBox7.Name = "groupBox7";
|
||||||
this.groupBox7.Size = new System.Drawing.Size(415, 154);
|
this.groupBox7.Size = new System.Drawing.Size(394, 154);
|
||||||
this.groupBox7.TabIndex = 5;
|
this.groupBox7.TabIndex = 5;
|
||||||
this.groupBox7.TabStop = false;
|
this.groupBox7.TabStop = false;
|
||||||
this.groupBox7.Text = "Info Window Elements";
|
this.groupBox7.Text = "Info Window Elements";
|
||||||
|
@ -2086,7 +2092,7 @@
|
||||||
this.groupBox29.Controls.Add(this.label75);
|
this.groupBox29.Controls.Add(this.label75);
|
||||||
this.groupBox29.Location = new System.Drawing.Point(256, 19);
|
this.groupBox29.Location = new System.Drawing.Point(256, 19);
|
||||||
this.groupBox29.Name = "groupBox29";
|
this.groupBox29.Name = "groupBox29";
|
||||||
this.groupBox29.Size = new System.Drawing.Size(139, 123);
|
this.groupBox29.Size = new System.Drawing.Size(129, 123);
|
||||||
this.groupBox29.TabIndex = 19;
|
this.groupBox29.TabIndex = 19;
|
||||||
this.groupBox29.TabStop = false;
|
this.groupBox29.TabStop = false;
|
||||||
//
|
//
|
||||||
|
@ -2277,7 +2283,7 @@
|
||||||
this.groupBox22.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.groupBox22.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.groupBox22.Location = new System.Drawing.Point(13, 226);
|
this.groupBox22.Location = new System.Drawing.Point(13, 226);
|
||||||
this.groupBox22.Name = "groupBox22";
|
this.groupBox22.Name = "groupBox22";
|
||||||
this.groupBox22.Size = new System.Drawing.Size(644, 69);
|
this.groupBox22.Size = new System.Drawing.Size(395, 69);
|
||||||
this.groupBox22.TabIndex = 4;
|
this.groupBox22.TabIndex = 4;
|
||||||
this.groupBox22.TabStop = false;
|
this.groupBox22.TabStop = false;
|
||||||
this.groupBox22.Text = "Info Window Options";
|
this.groupBox22.Text = "Info Window Options";
|
||||||
|
@ -2324,7 +2330,7 @@
|
||||||
// btn_Options_SelectFont
|
// btn_Options_SelectFont
|
||||||
//
|
//
|
||||||
this.btn_Options_SelectFont.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.btn_Options_SelectFont.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.btn_Options_SelectFont.Location = new System.Drawing.Point(514, 37);
|
this.btn_Options_SelectFont.Location = new System.Drawing.Point(280, 37);
|
||||||
this.btn_Options_SelectFont.Name = "btn_Options_SelectFont";
|
this.btn_Options_SelectFont.Name = "btn_Options_SelectFont";
|
||||||
this.btn_Options_SelectFont.Size = new System.Drawing.Size(106, 23);
|
this.btn_Options_SelectFont.Size = new System.Drawing.Size(106, 23);
|
||||||
this.btn_Options_SelectFont.TabIndex = 2;
|
this.btn_Options_SelectFont.TabIndex = 2;
|
||||||
|
@ -2349,7 +2355,7 @@
|
||||||
this.tb_Options_Map_ToolTipFont.Location = new System.Drawing.Point(72, 39);
|
this.tb_Options_Map_ToolTipFont.Location = new System.Drawing.Point(72, 39);
|
||||||
this.tb_Options_Map_ToolTipFont.Name = "tb_Options_Map_ToolTipFont";
|
this.tb_Options_Map_ToolTipFont.Name = "tb_Options_Map_ToolTipFont";
|
||||||
this.tb_Options_Map_ToolTipFont.ReadOnly = true;
|
this.tb_Options_Map_ToolTipFont.ReadOnly = true;
|
||||||
this.tb_Options_Map_ToolTipFont.Size = new System.Drawing.Size(417, 20);
|
this.tb_Options_Map_ToolTipFont.Size = new System.Drawing.Size(179, 20);
|
||||||
this.tb_Options_Map_ToolTipFont.TabIndex = 0;
|
this.tb_Options_Map_ToolTipFont.TabIndex = 0;
|
||||||
this.tb_Options_Map_ToolTipFont.Text = global::AirScout.Properties.Settings.Default.Map_ToolTipFont;
|
this.tb_Options_Map_ToolTipFont.Text = global::AirScout.Properties.Settings.Default.Map_ToolTipFont;
|
||||||
//
|
//
|
||||||
|
@ -5339,6 +5345,48 @@
|
||||||
this.bw_StationDataUpdater.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.bw_StationDataUpdater_ProgressChanged);
|
this.bw_StationDataUpdater.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.bw_StationDataUpdater_ProgressChanged);
|
||||||
this.bw_StationDataUpdater.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.bw_StationDataUpdater_RunWorkerCompleted);
|
this.bw_StationDataUpdater.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.bw_StationDataUpdater_RunWorkerCompleted);
|
||||||
//
|
//
|
||||||
|
// groupBox37
|
||||||
|
//
|
||||||
|
this.groupBox37.Controls.Add(this.label34);
|
||||||
|
this.groupBox37.Controls.Add(this.ud_Options_Charts_FontSize);
|
||||||
|
this.groupBox37.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.groupBox37.Location = new System.Drawing.Point(415, 227);
|
||||||
|
this.groupBox37.Name = "groupBox37";
|
||||||
|
this.groupBox37.Size = new System.Drawing.Size(242, 68);
|
||||||
|
this.groupBox37.TabIndex = 9;
|
||||||
|
this.groupBox37.TabStop = false;
|
||||||
|
this.groupBox37.Text = "Chart Window Options";
|
||||||
|
//
|
||||||
|
// ud_Options_Charts_FontSize
|
||||||
|
//
|
||||||
|
this.ud_Options_Charts_FontSize.DataBindings.Add(new System.Windows.Forms.Binding("Value", global::AirScout.Properties.Settings.Default, "Charts_FontSize", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||||
|
this.ud_Options_Charts_FontSize.Font = new System.Drawing.Font("Courier New", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.ud_Options_Charts_FontSize.Location = new System.Drawing.Point(184, 39);
|
||||||
|
this.ud_Options_Charts_FontSize.Maximum = new decimal(new int[] {
|
||||||
|
16,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.ud_Options_Charts_FontSize.Minimum = new decimal(new int[] {
|
||||||
|
6,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.ud_Options_Charts_FontSize.Name = "ud_Options_Charts_FontSize";
|
||||||
|
this.ud_Options_Charts_FontSize.Size = new System.Drawing.Size(45, 22);
|
||||||
|
this.ud_Options_Charts_FontSize.TabIndex = 0;
|
||||||
|
this.ud_Options_Charts_FontSize.Value = global::AirScout.Properties.Settings.Default.Charts_FontSize;
|
||||||
|
//
|
||||||
|
// label34
|
||||||
|
//
|
||||||
|
this.label34.AutoSize = true;
|
||||||
|
this.label34.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.label34.Location = new System.Drawing.Point(7, 41);
|
||||||
|
this.label34.Name = "label34";
|
||||||
|
this.label34.Size = new System.Drawing.Size(174, 13);
|
||||||
|
this.label34.TabIndex = 2;
|
||||||
|
this.label34.Text = "Font Size for Axes in Diagrams etc.:";
|
||||||
|
//
|
||||||
// OptionsDlg
|
// OptionsDlg
|
||||||
//
|
//
|
||||||
this.AcceptButton = this.btn_Options_OK;
|
this.AcceptButton = this.btn_Options_OK;
|
||||||
|
@ -5470,6 +5518,9 @@
|
||||||
this.tab_Options_Info.PerformLayout();
|
this.tab_Options_Info.PerformLayout();
|
||||||
this.ss_Options.ResumeLayout(false);
|
this.ss_Options.ResumeLayout(false);
|
||||||
this.ss_Options.PerformLayout();
|
this.ss_Options.PerformLayout();
|
||||||
|
this.groupBox37.ResumeLayout(false);
|
||||||
|
this.groupBox37.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.ud_Options_Charts_FontSize)).EndInit();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
|
|
||||||
|
@ -5869,5 +5920,8 @@
|
||||||
private System.Windows.Forms.Button btn_Options_PlaneFeed2_Default;
|
private System.Windows.Forms.Button btn_Options_PlaneFeed2_Default;
|
||||||
private System.Windows.Forms.Button btn_Options_PlaneFeed1_Default;
|
private System.Windows.Forms.Button btn_Options_PlaneFeed1_Default;
|
||||||
private System.Windows.Forms.CheckBox cb_Options_Map_LabelCalls;
|
private System.Windows.Forms.CheckBox cb_Options_Map_LabelCalls;
|
||||||
|
private System.Windows.Forms.GroupBox groupBox37;
|
||||||
|
private System.Windows.Forms.Label label34;
|
||||||
|
private System.Windows.Forms.NumericUpDown ud_Options_Charts_FontSize;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1694,7 +1694,14 @@ namespace AirScout
|
||||||
ID = ID + "," + DateTime.UtcNow.ToString("u");
|
ID = ID + "," + DateTime.UtcNow.ToString("u");
|
||||||
ID = ID + "," + System.Security.Principal.WindowsIdentity.GetCurrent().Name;
|
ID = ID + "," + System.Security.Principal.WindowsIdentity.GetCurrent().Name;
|
||||||
feed.DisclaimerAccepted = ID;
|
feed.DisclaimerAccepted = ID;
|
||||||
feed.SaveSettings();
|
try
|
||||||
|
{
|
||||||
|
feed.SaveSettings();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Log.WriteMessage(ex.ToString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1740,7 +1747,14 @@ namespace AirScout
|
||||||
ID = ID + "," + DateTime.UtcNow.ToString("u");
|
ID = ID + "," + DateTime.UtcNow.ToString("u");
|
||||||
ID = ID + "," + System.Security.Principal.WindowsIdentity.GetCurrent().Name;
|
ID = ID + "," + System.Security.Principal.WindowsIdentity.GetCurrent().Name;
|
||||||
feed.DisclaimerAccepted = ID;
|
feed.DisclaimerAccepted = ID;
|
||||||
feed.SaveSettings();
|
try
|
||||||
|
{
|
||||||
|
feed.SaveSettings();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Log.WriteMessage(ex.ToString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1786,7 +1800,14 @@ namespace AirScout
|
||||||
ID = ID + "," + DateTime.UtcNow.ToString("u");
|
ID = ID + "," + DateTime.UtcNow.ToString("u");
|
||||||
ID = ID + "," + System.Security.Principal.WindowsIdentity.GetCurrent().Name;
|
ID = ID + "," + System.Security.Principal.WindowsIdentity.GetCurrent().Name;
|
||||||
feed.DisclaimerAccepted = ID;
|
feed.DisclaimerAccepted = ID;
|
||||||
feed.SaveSettings();
|
try
|
||||||
|
{
|
||||||
|
feed.SaveSettings();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Log.WriteMessage(ex.ToString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
@ -8,6 +9,11 @@ namespace AirScout
|
||||||
{
|
{
|
||||||
static class Program
|
static class Program
|
||||||
{
|
{
|
||||||
|
|
||||||
|
[DllImport("kernel32.dll")]
|
||||||
|
static extern bool AttachConsole(int dwProcessId);
|
||||||
|
private const int ATTACH_PARENT_PROCESS = -1;
|
||||||
|
|
||||||
// Mutex to ensure that only one instance is running
|
// Mutex to ensure that only one instance is running
|
||||||
static System.Threading.Mutex singleton = new Mutex(true, Application.ProductName);
|
static System.Threading.Mutex singleton = new Mutex(true, Application.ProductName);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -25,12 +31,21 @@ namespace AirScout
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
*/
|
*/
|
||||||
|
try
|
||||||
{
|
{
|
||||||
|
// redirect console output to parent process;
|
||||||
|
// must be before any calls to Console.WriteLine()
|
||||||
|
// this will crash on Linux/Mono for sure --> handle exception
|
||||||
|
AttachConsole(ATTACH_PARENT_PROCESS);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
// run program normally
|
// run program normally
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
Application.Run(new MapDlg());
|
Application.Run(new MapDlg());
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||||
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||||
// übernehmen, indem Sie "*" eingeben:
|
// übernehmen, indem Sie "*" eingeben:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.3.1.0")]
|
[assembly: AssemblyVersion("1.3.2.0")]
|
||||||
[assembly: AssemblyFileVersion("1.3.1.0")]
|
[assembly: AssemblyFileVersion("1.3.2.0")]
|
||||||
|
|
|
@ -1536,7 +1536,7 @@ namespace AirScout.Properties {
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
[global::System.Configuration.DefaultSettingValueAttribute("True")]
|
||||||
public bool Watchlist_SyncWithKST {
|
public bool Watchlist_SyncWithKST {
|
||||||
get {
|
get {
|
||||||
return ((bool)(this["Watchlist_SyncWithKST"]));
|
return ((bool)(this["Watchlist_SyncWithKST"]));
|
||||||
|
@ -2232,5 +2232,17 @@ Digital data base on the World Wide Web (URL: http://www.ngdc.noaa.gov/mgg/topo/
|
||||||
this["Map_LabelCalls"] = value;
|
this["Map_LabelCalls"] = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("6")]
|
||||||
|
public decimal Charts_FontSize {
|
||||||
|
get {
|
||||||
|
return ((decimal)(this["Charts_FontSize"]));
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this["Charts_FontSize"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -381,7 +381,7 @@
|
||||||
<Value Profile="(Default)">http://www.airscout.eu</Value>
|
<Value Profile="(Default)">http://www.airscout.eu</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="Watchlist_SyncWithKST" Type="System.Boolean" Scope="User">
|
<Setting Name="Watchlist_SyncWithKST" Type="System.Boolean" Scope="User">
|
||||||
<Value Profile="(Default)">False</Value>
|
<Value Profile="(Default)">True</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="Watchlist_Activated" Type="System.Boolean" Scope="User">
|
<Setting Name="Watchlist_Activated" Type="System.Boolean" Scope="User">
|
||||||
<Value Profile="(Default)">True</Value>
|
<Value Profile="(Default)">True</Value>
|
||||||
|
@ -586,5 +586,8 @@ MEaSUREs data and products are available at no charge from the LP DAAC.See https
|
||||||
<Setting Name="Map_LabelCalls" Type="System.Boolean" Scope="User">
|
<Setting Name="Map_LabelCalls" Type="System.Boolean" Scope="User">
|
||||||
<Value Profile="(Default)">True</Value>
|
<Value Profile="(Default)">True</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
|
<Setting Name="Charts_FontSize" Type="System.Decimal" Scope="User">
|
||||||
|
<Value Profile="(Default)">6</Value>
|
||||||
|
</Setting>
|
||||||
</Settings>
|
</Settings>
|
||||||
</SettingsFile>
|
</SettingsFile>
|
|
@ -209,3 +209,14 @@ Initial Version
|
||||||
- Feature: New web feed from OpenSky Network implenented (a free community)
|
- Feature: New web feed from OpenSky Network implenented (a free community)
|
||||||
- Bugfix: AirScout crashed when the "Info" tab in the "Options" dialog box is opened twice after doing some other stuff --> fixed (tnx G0LGS)
|
- Bugfix: AirScout crashed when the "Info" tab in the "Options" dialog box is opened twice after doing some other stuff --> fixed (tnx G0LGS)
|
||||||
|
|
||||||
|
2020-xx-xx: V1.3.2.0
|
||||||
|
====================
|
||||||
|
|
||||||
|
- Bugfix: Several limitations on Windows XP, program crashes while opening Options Dialog, users cannot save plane feed settings --> fixed (tnx OK1TEH)
|
||||||
|
- Feature: Users can click on the watchlist markers on the map to change path immediately in SINGLE mode (tnx GM4JTJ)
|
||||||
|
- Feature: Change font size in charts via "Options/Map" (tnx LZ2ZP)
|
||||||
|
- Bugfix: Radio Horizon shows an unwanted strike through in Cartesian diagram --> fixed (tnx LZ2ZP)
|
||||||
|
- Feature: Redirect console output, users can run AirScout from a command line and see all console output for debugging (like on Linux)
|
||||||
|
- Bugfix: Watchlist was not properly sorted when synchronized with wtKST --> fixed
|
||||||
|
- Bugfix: "Orphan paths" when watchlist synchronized with wtKST and user leaves the chat --> fixed, call is kept on watchlist now as long as it is selected
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ namespace AirScout
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Holds the watchlist item
|
/// Holds the watchlist item
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class WatchlistItem
|
public class WatchlistItem : IComparable<WatchlistItem>
|
||||||
{
|
{
|
||||||
public string Call { get; set; }
|
public string Call { get; set; }
|
||||||
public string Loc { get; set; }
|
public string Loc { get; set; }
|
||||||
|
@ -28,7 +28,7 @@ namespace AirScout
|
||||||
}
|
}
|
||||||
|
|
||||||
public WatchlistItem(string call, string loc, bool oor) : this(call, loc, oor, false, false) { }
|
public WatchlistItem(string call, string loc, bool oor) : this(call, loc, oor, false, false) { }
|
||||||
public WatchlistItem(string call, string loc, bool oor, bool check, bool selected )
|
public WatchlistItem(string call, string loc, bool oor, bool check, bool selected)
|
||||||
{
|
{
|
||||||
Call = call;
|
Call = call;
|
||||||
Loc = loc;
|
Loc = loc;
|
||||||
|
@ -38,13 +38,25 @@ namespace AirScout
|
||||||
Remove = false;
|
Remove = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
public int CompareTo(WatchlistItem other)
|
||||||
|
{
|
||||||
|
// If other is not a valid object reference, this instance is greater.
|
||||||
|
if (other == null) return 1;
|
||||||
|
|
||||||
/// <summary>
|
// compare call signs first
|
||||||
/// Holds the watchlist, e.g. a list of watchlist items
|
int i = String.Compare(this.Call, other.Call);
|
||||||
/// </summary>
|
if (i != 0)
|
||||||
public class Watchlist : List<WatchlistItem>
|
return i;
|
||||||
{
|
// then compare locs when calls are equal
|
||||||
|
return String.Compare(this.Loc, other.Loc);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Holds the watchlist, e.g. a list of watchlist items
|
||||||
|
/// </summary>
|
||||||
|
public class Watchlist : List<WatchlistItem>
|
||||||
|
{
|
||||||
public Watchlist()
|
public Watchlist()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -385,7 +385,7 @@
|
||||||
<value>http://www.airscout.eu</value>
|
<value>http://www.airscout.eu</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="Watchlist_SyncWithKST" serializeAs="String">
|
<setting name="Watchlist_SyncWithKST" serializeAs="String">
|
||||||
<value>False</value>
|
<value>True</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="Watchlist_Activated" serializeAs="String">
|
<setting name="Watchlist_Activated" serializeAs="String">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
|
@ -585,6 +585,9 @@ MEaSUREs data and products are available at no charge from the LP DAAC.See https
|
||||||
<setting name="Map_LabelCalls" serializeAs="String">
|
<setting name="Map_LabelCalls" serializeAs="String">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</setting>
|
</setting>
|
||||||
|
<setting name="Charts_FontSize" serializeAs="String">
|
||||||
|
<value>6</value>
|
||||||
|
</setting>
|
||||||
</AirScout.Properties.Settings>
|
</AirScout.Properties.Settings>
|
||||||
</userSettings>
|
</userSettings>
|
||||||
<startup>
|
<startup>
|
||||||
|
|
|
@ -15,6 +15,21 @@
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
<NuGetPackageImportStamp>
|
<NuGetPackageImportStamp>
|
||||||
</NuGetPackageImportStamp>
|
</NuGetPackageImportStamp>
|
||||||
|
<PublishUrl>publish\</PublishUrl>
|
||||||
|
<Install>true</Install>
|
||||||
|
<InstallFrom>Disk</InstallFrom>
|
||||||
|
<UpdateEnabled>false</UpdateEnabled>
|
||||||
|
<UpdateMode>Foreground</UpdateMode>
|
||||||
|
<UpdateInterval>7</UpdateInterval>
|
||||||
|
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||||
|
<UpdatePeriodically>false</UpdatePeriodically>
|
||||||
|
<UpdateRequired>false</UpdateRequired>
|
||||||
|
<MapFileExtensions>true</MapFileExtensions>
|
||||||
|
<ApplicationRevision>0</ApplicationRevision>
|
||||||
|
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||||
|
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||||
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
|
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
@ -117,6 +132,10 @@
|
||||||
<Project>{ee86e933-d883-4b18-80eb-0fba55ec67c6}</Project>
|
<Project>{ee86e933-d883-4b18-80eb-0fba55ec67c6}</Project>
|
||||||
<Name>ScoutBase.Core</Name>
|
<Name>ScoutBase.Core</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\ScoutBase\ScoutBase.Database\ScoutBase.Database.csproj">
|
||||||
|
<Project>{89E6C7A3-6064-479E-A710-37C7293CF47C}</Project>
|
||||||
|
<Name>ScoutBase.Database</Name>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\ScoutBase\ScoutBase.Elevation\ScoutBase.Elevation.csproj">
|
<ProjectReference Include="..\ScoutBase\ScoutBase.Elevation\ScoutBase.Elevation.csproj">
|
||||||
<Project>{009cabfd-726d-481f-972d-0a218e0ad9b9}</Project>
|
<Project>{009cabfd-726d-481f-972d-0a218e0ad9b9}</Project>
|
||||||
<Name>ScoutBase.Elevation</Name>
|
<Name>ScoutBase.Elevation</Name>
|
||||||
|
@ -126,6 +145,13 @@
|
||||||
<Name>SQLiteDatabase</Name>
|
<Name>SQLiteDatabase</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||||
|
<Install>false</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" />
|
<Import Project="..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" />
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
@ -134,6 +160,10 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets'))" />
|
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.112.0\build\net40\System.Data.SQLite.Core.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
|
<PropertyGroup>
|
||||||
|
<PostBuildEvent>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</PropertyGroup>
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
<Target Name="BeforeBuild">
|
<Target Name="BeforeBuild">
|
||||||
|
|
|
@ -373,33 +373,47 @@ namespace System.Data.SQLite
|
||||||
public DataTable Select (string sql)
|
public DataTable Select (string sql)
|
||||||
{
|
{
|
||||||
DataTable dt = new DataTable();
|
DataTable dt = new DataTable();
|
||||||
lock (DBCommand)
|
try
|
||||||
{
|
{
|
||||||
DBCommand.CommandText = sql;
|
lock (DBCommand)
|
||||||
DBCommand.Parameters.Clear();
|
{
|
||||||
SQLiteDataAdapter da = new SQLiteDataAdapter(DBCommand);
|
DBCommand.CommandText = sql;
|
||||||
da.Fill(dt);
|
DBCommand.Parameters.Clear();
|
||||||
|
SQLiteDataAdapter da = new SQLiteDataAdapter(DBCommand);
|
||||||
|
da.Fill(dt);
|
||||||
|
}
|
||||||
|
// Linux/Mono hack --> cut column names to its right length
|
||||||
|
for (int i = 0; i < dt.Columns.Count; i++)
|
||||||
|
{
|
||||||
|
int j = 0;
|
||||||
|
while ((j < dt.Columns[i].ColumnName.Length) && (Char.IsLetter(dt.Columns[i].ColumnName[j]) || Char.IsDigit(dt.Columns[i].ColumnName[j])))
|
||||||
|
j++;
|
||||||
|
dt.Columns[i].ColumnName = dt.Columns[i].ColumnName.Substring(0, j);
|
||||||
|
Console.Write("'" + dt.Columns[i].ColumnName + "[" + dt.Columns[i].ColumnName.Length + "]', ");
|
||||||
|
}
|
||||||
|
Console.WriteLine();
|
||||||
}
|
}
|
||||||
// Linux/Mono hack --> cut column names to its right length
|
catch (Exception ex)
|
||||||
for (int i = 0; i < dt.Columns.Count; i++)
|
|
||||||
{
|
{
|
||||||
int j = 0;
|
Console.WriteLine("SQLiteDatabase.Select: fatal error while executing command <" + sql + ">\n\n" + ex.ToString());
|
||||||
while ((j < dt.Columns[i].ColumnName.Length) && (Char.IsLetter(dt.Columns[i].ColumnName[j]) || Char.IsDigit(dt.Columns[i].ColumnName[j])))
|
|
||||||
j++;
|
|
||||||
dt.Columns[i].ColumnName = dt.Columns[i].ColumnName.Substring(0, j);
|
|
||||||
Console.Write("'" + dt.Columns[i].ColumnName + "[" + dt.Columns[i].ColumnName.Length + "]', ");
|
|
||||||
}
|
}
|
||||||
Console.WriteLine();
|
|
||||||
return dt;
|
return dt;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DataTable Select (SQLiteCommand cmd)
|
public DataTable Select (SQLiteCommand cmd)
|
||||||
{
|
{
|
||||||
DataTable dt = new DataTable();
|
DataTable dt = new DataTable();
|
||||||
lock (cmd)
|
try
|
||||||
{
|
{
|
||||||
SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
|
lock (cmd)
|
||||||
da.Fill(dt);
|
{
|
||||||
|
SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
|
||||||
|
da.Fill(dt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine("SQLiteDatabase.Select: fatal error while executing command <" + cmd.CommandText + ">\n\n" + ex.ToString());
|
||||||
}
|
}
|
||||||
return dt;
|
return dt;
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue