pull/3/head
dl2alf 2020-03-15 15:29:02 +01:00
rodzic c1b5b7b82e
commit 51cbeabd7b
23 zmienionych plików z 403 dodań i 213 usunięć

Wyświetl plik

@ -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>

Wyświetl plik

@ -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>

Wyświetl plik

@ -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>

Wyświetl plik

@ -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);
} }
} }

Wyświetl plik

@ -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")]

Wyświetl plik

@ -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>

Wyświetl plik

@ -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>

Wyświetl plik

@ -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>

Wyświetl plik

@ -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

Wyświetl plik

@ -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;

Wyświetl plik

@ -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(',');

Wyświetl plik

@ -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

Wyświetl plik

@ -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;
} }
} }

Wyświetl plik

@ -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
{ {

Wyświetl plik

@ -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());
}
} }
} }
} }

Wyświetl plik

@ -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")]

Wyświetl plik

@ -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;
}
}
} }
} }

Wyświetl plik

@ -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>

Wyświetl plik

@ -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

Wyświetl plik

@ -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()
{ {

Wyświetl plik

@ -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>

Wyświetl plik

@ -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">

Wyświetl plik

@ -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;
} }