diff --git a/.gitignore b/.gitignore index 9c3b54d1d..b1afc68d0 100644 --- a/.gitignore +++ b/.gitignore @@ -214,3 +214,8 @@ ModelManifest.xml /*.rb /*.bat /tools/XmlGenerator/*.sqlite +/Remote.txt +/tools/XmlGenerator/sqlite-latest.sqlite.bz2 +*.diff +tools/XmlGenerator/Index of -dump.url +src/EVEMon.Common/Resources/Index of -dump.url diff --git a/README.md b/README.md index 5d4e94919..707a16d4a 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,11 @@ A lightweight, easy-to-use standalone Windows application designed to assist you For complete info on *How To Contribute* please visit the [wiki](https://bitbucket.org/EVEMonDevTeam/evemon/wiki) section -**Maintainer of the ESI fork:** +**Maintainer of the fork:** + +[EVE:Wim van der Vegt](https://github.com/wvdvegt/evemon) (GitHub) + +**Forked from:** [EVE:Peter Han](https://github.com/peterhaneve/evemon) (GitHub) @@ -27,4 +31,4 @@ For complete info on *How To Contribute* please visit the [wiki](https://bitbuck [JimiC](https://github.com/JimiC) (GitHub) -[Jimi C](https://bitbucket.org/Desmont_McCallock) (Bitbucket) \ No newline at end of file +[Jimi C](https://bitbucket.org/Desmont_McCallock) (Bitbucket) diff --git a/src/EVEMon.Common/App.config b/src/EVEMon.Common/App.config index 5e08ce20e..705c74a5d 100644 --- a/src/EVEMon.Common/App.config +++ b/src/EVEMon.Common/App.config @@ -14,22 +14,302 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/src/EVEMon.Common/CloudStorageServices/CloudStorageServiceResources.Designer.cs b/src/EVEMon.Common/CloudStorageServices/CloudStorageServiceResources.Designer.cs index 20e8df552..20e00debe 100644 --- a/src/EVEMon.Common/CloudStorageServices/CloudStorageServiceResources.Designer.cs +++ b/src/EVEMon.Common/CloudStorageServices/CloudStorageServiceResources.Designer.cs @@ -19,7 +19,7 @@ namespace EVEMon.Common.CloudStorageServices { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class CloudStorageServiceResources { diff --git a/src/EVEMon.Common/CloudStorageServices/CloudStorageServiceSettings.Designer.cs b/src/EVEMon.Common/CloudStorageServices/CloudStorageServiceSettings.Designer.cs index f5adcfffe..87d7a9451 100644 --- a/src/EVEMon.Common/CloudStorageServices/CloudStorageServiceSettings.Designer.cs +++ b/src/EVEMon.Common/CloudStorageServices/CloudStorageServiceSettings.Designer.cs @@ -12,7 +12,7 @@ namespace EVEMon.Common.CloudStorageServices { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.8.0.0")] public sealed partial class CloudStorageServiceSettings : global::System.Configuration.ApplicationSettingsBase { private static CloudStorageServiceSettings defaultInstance = ((CloudStorageServiceSettings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new CloudStorageServiceSettings()))); diff --git a/src/EVEMon.Common/CloudStorageServices/Dropbox/DropboxCloudStorageServiceSettings.Designer.cs b/src/EVEMon.Common/CloudStorageServices/Dropbox/DropboxCloudStorageServiceSettings.Designer.cs index 81495d49d..171d5733f 100644 --- a/src/EVEMon.Common/CloudStorageServices/Dropbox/DropboxCloudStorageServiceSettings.Designer.cs +++ b/src/EVEMon.Common/CloudStorageServices/Dropbox/DropboxCloudStorageServiceSettings.Designer.cs @@ -12,7 +12,7 @@ namespace EVEMon.Common.CloudStorageServices.Dropbox { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.8.0.0")] internal sealed partial class DropboxCloudStorageServiceSettings : global::System.Configuration.ApplicationSettingsBase { private static DropboxCloudStorageServiceSettings defaultInstance = ((DropboxCloudStorageServiceSettings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new DropboxCloudStorageServiceSettings()))); diff --git a/src/EVEMon.Common/CloudStorageServices/GoogleDrive/GoogleDriveCloudStorageServiceSettings.Designer.cs b/src/EVEMon.Common/CloudStorageServices/GoogleDrive/GoogleDriveCloudStorageServiceSettings.Designer.cs index 1a631098d..400c9006b 100644 --- a/src/EVEMon.Common/CloudStorageServices/GoogleDrive/GoogleDriveCloudStorageServiceSettings.Designer.cs +++ b/src/EVEMon.Common/CloudStorageServices/GoogleDrive/GoogleDriveCloudStorageServiceSettings.Designer.cs @@ -12,7 +12,7 @@ namespace EVEMon.Common.CloudStorageServices.GoogleDrive { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.8.0.0")] internal sealed partial class GoogleDriveCloudStorageServiceSettings : global::System.Configuration.ApplicationSettingsBase { private static GoogleDriveCloudStorageServiceSettings defaultInstance = ((GoogleDriveCloudStorageServiceSettings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new GoogleDriveCloudStorageServiceSettings()))); diff --git a/src/EVEMon.Common/CloudStorageServices/OneDrive/OneDriveCloudStorageServiceSettings.Designer.cs b/src/EVEMon.Common/CloudStorageServices/OneDrive/OneDriveCloudStorageServiceSettings.Designer.cs index f1182d713..549705f73 100644 --- a/src/EVEMon.Common/CloudStorageServices/OneDrive/OneDriveCloudStorageServiceSettings.Designer.cs +++ b/src/EVEMon.Common/CloudStorageServices/OneDrive/OneDriveCloudStorageServiceSettings.Designer.cs @@ -12,7 +12,7 @@ namespace EVEMon.Common.CloudStorageServices.OneDrive { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.8.0.0")] internal sealed partial class OneDriveCloudStorageServiceSettings : global::System.Configuration.ApplicationSettingsBase { private static OneDriveCloudStorageServiceSettings defaultInstance = ((OneDriveCloudStorageServiceSettings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new OneDriveCloudStorageServiceSettings()))); diff --git a/src/EVEMon.Common/Collections/Global/GlobalNotificationCollection.cs b/src/EVEMon.Common/Collections/Global/GlobalNotificationCollection.cs index c8fcfef90..ff59b718a 100644 --- a/src/EVEMon.Common/Collections/Global/GlobalNotificationCollection.cs +++ b/src/EVEMon.Common/Collections/Global/GlobalNotificationCollection.cs @@ -50,28 +50,28 @@ public void Notify(NotificationEventArgs notification) switch (notification.Behaviour) { - case NotificationBehaviour.Cohabitate: - Items.Add(notification); - break; - - case NotificationBehaviour.Overwrite: - // Replace the previous notifications with the same invalidation key - InvalidateCore(notification.InvalidationKey); - Items.Add(notification); - break; - - case NotificationBehaviour.Merge: - // Merge the notifications with the same key - long key = notification.InvalidationKey; - foreach (NotificationEventArgs other in Items.Where(x => x.InvalidationKey == key)) - { - notification.Append(other); - } - - // Replace the previous notifications with the same invalidation key - InvalidateCore(key); - Items.Add(notification); - break; + case NotificationBehaviour.Cohabitate: + Items.Add(notification); + break; + + case NotificationBehaviour.Overwrite: + // Replace the previous notifications with the same invalidation key + InvalidateCore(notification.InvalidationKey); + Items.Add(notification); + break; + + case NotificationBehaviour.Merge: + // Merge the notifications with the same key + long key = notification.InvalidationKey; + foreach (NotificationEventArgs other in Items.Where(x => x.InvalidationKey == key)) + { + notification.Append(other); + } + + // Replace the previous notifications with the same invalidation key + InvalidateCore(key); + Items.Add(notification); + break; } EveMonClient.OnNotificationSent(notification); @@ -1202,17 +1202,17 @@ internal void NotifyServerStatusChanged(string serverName, ServerStatus status) string text = string.Empty; switch (status) { - case ServerStatus.Offline: - text = $"{serverName} is offline."; - break; - case ServerStatus.Online: - text = $"{serverName} is online."; - break; - case ServerStatus.CheckDisabled: - case ServerStatus.Unknown: - break; - default: - throw new NotImplementedException(); + case ServerStatus.Offline: + text = $"{serverName} is offline."; + break; + case ServerStatus.Online: + text = $"{serverName} is online."; + break; + case ServerStatus.CheckDisabled: + case ServerStatus.Unknown: + break; + default: + throw new NotImplementedException(); } if (!string.IsNullOrEmpty(text)) @@ -1341,15 +1341,25 @@ public void NotifyCharacterContractsAssigned(Character character, int assignedCo #region Industry jobs completion /// - /// Notify some character industry jobs have ended. + /// Invalidates the notification for completed industry hobs. /// /// The character. + internal void InvalidateIndustryJobsCompleted(CCPCharacter character) + { + Invalidate(new NotificationInvalidationEventArgs(character, NotificationCategory. + IndustryJobsCompletion)); + } + + /// + /// Notify some character industry jobs have ended. + /// + /// The character. /// The completed jobs. internal void NotifyCharacterIndustryJobCompletion(Character character, IEnumerable jobsCompleted) { var notification = new IndustryJobsNotificationEventArgs(character, jobsCompleted) - { + { Behaviour = NotificationBehaviour.Merge, Priority = NotificationPriority.Information }; @@ -1370,7 +1380,7 @@ internal void NotifyCorporationIndustryJobCompletion(Corporation corporation, Priority = NotificationPriority.Information }; Notify(notification); - } + } #endregion diff --git a/src/EVEMon.Common/Constants/NetworkConstants.resx b/src/EVEMon.Common/Constants/NetworkConstants.resx index 03a622a3d..874fce336 100644 --- a/src/EVEMon.Common/Constants/NetworkConstants.resx +++ b/src/EVEMon.Common/Constants/NetworkConstants.resx @@ -182,8 +182,8 @@ 600 - /v4/characters/{0:D}/ - 3600 + /v5/characters/{0:D}/ + 120 /v1/characters/{0:D}/standings/ @@ -480,7 +480,7 @@ 3600 - 0.pool.ntp.org + pool.ntp.org https://esi.evetech.net @@ -610,4 +610,4 @@ https://market.fuzzwork.co.uk/aggregates/?region=10000002&types= - \ No newline at end of file + diff --git a/src/EVEMon.Common/Constants/NetworkConstants1.Designer.cs b/src/EVEMon.Common/Constants/NetworkConstants1.Designer.cs index d1ac4b21f..4a6cc3ba8 100644 --- a/src/EVEMon.Common/Constants/NetworkConstants1.Designer.cs +++ b/src/EVEMon.Common/Constants/NetworkConstants1.Designer.cs @@ -19,7 +19,7 @@ namespace EVEMon.Common.Constants { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] public class NetworkConstants { @@ -268,7 +268,7 @@ public static string ESICharacterName { } /// - /// Looks up a localized string similar to /v4/characters/{0:D}/. + /// Looks up a localized string similar to /v5/characters/{0:D}/. /// public static string ESICharacterSheet { get { @@ -1087,7 +1087,7 @@ public static string GitHubDownloadsBase { } /// - /// Looks up a localized string similar to 0.pool.ntp.org. + /// Looks up a localized string similar to pool.ntp.org. /// public static string GlobalNTPPool { get { diff --git a/src/EVEMon.Common/Controls/ControlExtensions.cs b/src/EVEMon.Common/Controls/ControlExtensions.cs index 8e69feed9..f51232beb 100644 --- a/src/EVEMon.Common/Controls/ControlExtensions.cs +++ b/src/EVEMon.Common/Controls/ControlExtensions.cs @@ -29,7 +29,7 @@ public static bool IsDesignModeHosted(this Control control) /// The parent. public static void SuspendDrawing(this Control parent) { - NativeMethods.SendMessage(parent.Handle, NativeMethods.WM_SETREDRAW, IntPtr.Zero, IntPtr.Zero); + //NativeMethods.SendMessage(parent.Handle, NativeMethods.WM_SETREDRAW, IntPtr.Zero, IntPtr.Zero); } /// @@ -38,8 +38,8 @@ public static void SuspendDrawing(this Control parent) /// The parent. public static void ResumeDrawing(this Control parent) { - NativeMethods.SendMessage(parent.Handle, NativeMethods.WM_SETREDRAW, (IntPtr)1, IntPtr.Zero); - parent.Refresh(); + //NativeMethods.SendMessage(parent.Handle, NativeMethods.WM_SETREDRAW, (IntPtr)1, IntPtr.Zero); + //parent.Refresh(); } } -} \ No newline at end of file +} diff --git a/src/EVEMon.Common/Controls/NoFlickerListBox.cs b/src/EVEMon.Common/Controls/NoFlickerListBox.cs index a6fb8f2cc..9fce082df 100644 --- a/src/EVEMon.Common/Controls/NoFlickerListBox.cs +++ b/src/EVEMon.Common/Controls/NoFlickerListBox.cs @@ -42,7 +42,7 @@ protected override void OnDrawItem(DrawItemEventArgs e) NativeMethods.CopyGraphics(e.Graphics, e.Bounds, bufferedGraphics.Graphics, new Point(0, 0)); } } - + /// /// The list's window procedure. /// @@ -51,39 +51,44 @@ protected override void WndProc(ref Message m) { switch (m.Msg) { - case NativeMethods.WM_ERASEBKGND: - PaintNonItemRegion(); - m.Msg = NativeMethods.WM_NULL; - break; - case NativeMethods.WM_POINTERDOWN: - uint id = (uint)m.WParam & NativeMethods.PT_POINTERID_MASK; - if (NativeMethods.GetPointerType(id, out int pPointerType)) - { - if (pPointerType == NativeMethods.PT_TOUCH) - // Touch press down - pointerDown = DateTime.UtcNow; - else - pointerDown = DateTime.MinValue; - // Handle the event + case NativeMethods.WM_ERASEBKGND: + PaintNonItemRegion(); m.Msg = NativeMethods.WM_NULL; - m.Result = new IntPtr(1); - } else - pointerDown = DateTime.MinValue; - break; - case NativeMethods.WM_POINTERUP: - // Check for tap and hold - if (DateTime.UtcNow.Subtract(pointerDown).TotalMilliseconds >= TOUCH_HOLD_TIME) - { - // Extract position from the event and convert to control coordinates - var pos = PointToClient(new Point(m.LParam.ToInt32())); - OnMouseDown(new MouseEventArgs(MouseButtons.Right, 1, pos.X, pos.Y, 0)); - } - // Handle the event - m.Msg = NativeMethods.WM_NULL; - m.Result = new IntPtr(1); - pointerDown = DateTime.MinValue; - break; + return; + /* + case NativeMethods.WM_POINTERDOWN: + uint id = (uint)m.WParam & NativeMethods.PT_POINTERID_MASK; + if (NativeMethods.GetPointerType(id, out int pPointerType)) + { + if (pPointerType == NativeMethods.PT_TOUCH) + // Touch press down + pointerDown = DateTime.UtcNow; + else + pointerDown = DateTime.MinValue; + // Handle the event + m.Msg = NativeMethods.WM_NULL; + m.Result = new IntPtr(1); + } + else + pointerDown = DateTime.MinValue; + break; + case NativeMethods.WM_POINTERUP: + // Check for tap and hold + if (DateTime.UtcNow.Subtract(pointerDown).TotalMilliseconds >= TOUCH_HOLD_TIME) + { + // Extract position from the event and convert to control coordinates + var pos = PointToClient(new Point(m.LParam.ToInt32())); + OnMouseDown(new MouseEventArgs(MouseButtons.Right, 1, pos.X, pos.Y, 0)); + } + // Handle the event + m.Msg = NativeMethods.WM_NULL; + m.Result = new IntPtr(1); + pointerDown = DateTime.MinValue; + + return; + */ } + base.WndProc(ref m); } diff --git a/src/EVEMon.Common/EVEMon.Common.csproj b/src/EVEMon.Common/EVEMon.Common.csproj index c71048152..3ecee0735 100644 --- a/src/EVEMon.Common/EVEMon.Common.csproj +++ b/src/EVEMon.Common/EVEMon.Common.csproj @@ -9,7 +9,7 @@ Properties EVEMon.Common EVEMon.Common - v4.6.1 + v4.7.2 512 ..\..\ true @@ -58,107 +58,206 @@ false + + ..\..\packages\Azure.Core.1.36.0\lib\net472\Azure.Core.dll + - ..\..\packages\Dropbox.Api.4.9.4\lib\net45\Dropbox.Api.dll + ..\..\packages\Dropbox.Api.4.10.0\lib\net45\Dropbox.Api.dll + + + ..\..\packages\Google.Apis.1.62.1\lib\net45\Google.Apis.dll - - ..\..\packages\Google.Apis.1.42.0\lib\net45\Google.Apis.dll + + ..\..\packages\Google.Apis.Auth.1.62.1\lib\net461\Google.Apis.Auth.dll - - ..\..\packages\Google.Apis.Auth.1.42.0\lib\net45\Google.Apis.Auth.dll + + ..\..\packages\Google.Apis.Auth.1.62.1\lib\net461\Google.Apis.Auth.PlatformServices.dll - - ..\..\packages\Google.Apis.Auth.1.42.0\lib\net45\Google.Apis.Auth.PlatformServices.dll + + ..\..\packages\Google.Apis.Calendar.v3.1.62.0.3171\lib\net45\Google.Apis.Calendar.v3.dll - - ..\..\packages\Google.Apis.Calendar.v3.1.42.0.1795\lib\net45\Google.Apis.Calendar.v3.dll + + ..\..\packages\Google.Apis.Core.1.62.1\lib\net45\Google.Apis.Core.dll - - ..\..\packages\Google.Apis.Core.1.42.0\lib\net45\Google.Apis.Core.dll + + ..\..\packages\Google.Apis.Drive.v3.1.62.0.3155\lib\net45\Google.Apis.Drive.v3.dll - - ..\..\packages\Google.Apis.Drive.v3.1.42.0.1778\lib\net45\Google.Apis.Drive.v3.dll + + ..\..\packages\Google.Apis.1.62.1\lib\net45\Google.Apis.PlatformServices.dll - - ..\..\packages\Google.Apis.1.42.0\lib\net45\Google.Apis.PlatformServices.dll + + ..\..\packages\SharpZipLib.1.4.2\lib\netstandard2.0\ICSharpCode.SharpZipLib.dll - - ..\..\packages\SharpZipLib.1.2.0\lib\net45\ICSharpCode.SharpZipLib.dll + + ..\..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll - - ..\..\packages\Microsoft.IdentityModel.JsonWebTokens.5.6.0\lib\net461\Microsoft.IdentityModel.JsonWebTokens.dll + + ..\..\packages\Microsoft.Graph.Core.3.1.0\lib\netstandard2.0\Microsoft.Graph.Core.dll - - ..\..\packages\Microsoft.IdentityModel.Logging.5.6.0\lib\net461\Microsoft.IdentityModel.Logging.dll + + ..\..\packages\Microsoft.IdentityModel.Abstractions.7.0.3\lib\net461\Microsoft.IdentityModel.Abstractions.dll - - ..\..\packages\Microsoft.IdentityModel.Tokens.5.6.0\lib\net461\Microsoft.IdentityModel.Tokens.dll + + ..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.22.302111727\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll - - ..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll - True + + ..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.22.302111727\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll - - ..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll - True + + ..\..\packages\Microsoft.IdentityModel.JsonWebTokens.7.0.3\lib\net461\Microsoft.IdentityModel.JsonWebTokens.dll + + + ..\..\packages\Microsoft.IdentityModel.Logging.7.0.3\lib\net461\Microsoft.IdentityModel.Logging.dll + + + ..\..\packages\Microsoft.IdentityModel.Protocols.7.0.3\lib\net461\Microsoft.IdentityModel.Protocols.dll + + + ..\..\packages\Microsoft.IdentityModel.Protocols.OpenIdConnect.7.0.3\lib\net461\Microsoft.IdentityModel.Protocols.OpenIdConnect.dll + + + ..\..\packages\Microsoft.IdentityModel.Tokens.7.0.3\lib\net461\Microsoft.IdentityModel.Tokens.dll + + + ..\..\packages\Microsoft.Kiota.Abstractions.1.7.2\lib\netstandard2.0\Microsoft.Kiota.Abstractions.dll + + + ..\..\packages\Microsoft.Kiota.Authentication.Azure.1.1.2\lib\netstandard2.0\Microsoft.Kiota.Authentication.Azure.dll + + + ..\..\packages\Microsoft.Kiota.Http.HttpClientLibrary.1.3.2\lib\netstandard2.0\Microsoft.Kiota.Http.HttpClientLibrary.dll + + + ..\..\packages\Microsoft.Kiota.Serialization.Form.1.1.0\lib\netstandard2.0\Microsoft.Kiota.Serialization.Form.dll - - ..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll + + ..\..\packages\Microsoft.Kiota.Serialization.Json.1.1.2\lib\netstandard2.0\Microsoft.Kiota.Serialization.Json.dll + + + ..\..\packages\Microsoft.Kiota.Serialization.Multipart.1.1.0\lib\netstandard2.0\Microsoft.Kiota.Serialization.Multipart.dll + + + ..\..\packages\Microsoft.Kiota.Serialization.Text.1.1.0\lib\netstandard2.0\Microsoft.Kiota.Serialization.Text.dll ..\..\packages\Nancy.2.0.0\lib\net452\Nancy.dll - - ..\..\packages\NetOffice.Core.Net40.1.7.4.4\lib\net40\NetOffice.dll + + ..\..\packages\NetOffice.Core.Net40.1.7.4.11\lib\net40\NetOffice.dll False - - ..\..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll - True + + ..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll - - ..\..\packages\NetOffice.Core.Net40.1.7.4.4\lib\net40\OfficeApi.dll + + ..\..\packages\NetOffice.Core.Net40.1.7.4.11\lib\net40\OfficeApi.dll False - - ..\..\packages\Microsoft.OneDriveSDK.1.1.29\lib\net451\OneDriveSdk.dll - True + + ..\..\packages\Microsoft.OneDriveSDK.1.1.47\lib\net451\OneDriveSdk.dll - - ..\..\packages\Microsoft.OneDriveSDK.1.1.29\lib\net451\OneDriveSdk.WindowsForms.dll - True + + ..\..\packages\Microsoft.OneDriveSDK.1.1.47\lib\net451\OneDriveSdk.WindowsForms.dll - - ..\..\packages\NetOffice.Outlook.Net40.1.7.4.4\lib\net40\OutlookApi.dll + + ..\..\packages\NetOffice.Outlook.Net40.1.7.4.11\lib\net40\OutlookApi.dll False - - ..\..\packages\System.IdentityModel.Tokens.Jwt.5.6.0\lib\net461\System.IdentityModel.Tokens.Jwt.dll + + ..\..\packages\Std.UriTemplate.0.0.46\lib\netstandard2.0\Std.UriTemplate.dll + + + ..\..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + + + ..\..\packages\System.Diagnostics.DiagnosticSource.8.0.0\lib\net462\System.Diagnostics.DiagnosticSource.dll + + + + ..\..\packages\System.IdentityModel.Tokens.Jwt.7.0.3\lib\net461\System.IdentityModel.Tokens.Jwt.dll + + + ..\..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + ..\..\packages\System.Memory.Data.8.0.0\lib\net462\System.Memory.Data.dll - - - ..\..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll + + ..\..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll + True True + + + ..\..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + ..\..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll + True + True + + + ..\..\packages\System.Security.Claims.4.3.0\lib\net46\System.Security.Claims.dll + True + True + + + ..\..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll + True + True + + + ..\..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll + True + True + + + ..\..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll + True + True + + + ..\..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll + True + True + + + ..\..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll + + + ..\..\packages\System.Text.Json.8.0.0\lib\net462\System.Text.Json.dll + + + ..\..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + ..\..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + - - ..\..\packages\NetOffice.Core.Net40.1.7.4.4\lib\net40\VBIDEApi.dll + + + ..\..\packages\NetOffice.Core.Net40.1.7.4.11\lib\net40\VBIDEApi.dll False - - ..\..\packages\YamlDotNet.8.0.0\lib\net45\YamlDotNet.dll + + ..\..\packages\YamlDotNet.13.7.1\lib\net45\YamlDotNet.dll ..\..\packages\Zlib.Portable.Signed.1.11.0\lib\portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid\Zlib.Portable.dll diff --git a/src/EVEMon.Common/EveMonClient.Events.cs b/src/EVEMon.Common/EveMonClient.Events.cs index f6a36242b..a888082aa 100644 --- a/src/EVEMon.Common/EveMonClient.Events.cs +++ b/src/EVEMon.Common/EveMonClient.Events.cs @@ -58,7 +58,7 @@ public static partial class EveMonClient /// Occurs when the collection of a character implant set changed. /// public static event EventHandler CharacterImplantSetCollectionChanged; - + /// /// Occurs when an account status has been updated. /// @@ -128,7 +128,7 @@ public static partial class EveMonClient /// Occurs when a character info has been updated. /// public static event EventHandler CharacterInfoUpdated; - + /// /// Occurs when a character skill queue has been updated. /// @@ -263,7 +263,7 @@ public static partial class EveMonClient /// Occurs when the notifications of a character have been updated. /// public static event EventHandler CharacterEVENotificationsUpdated; - + /// /// Occurs when the text of a character contacts have been updated. /// @@ -566,7 +566,7 @@ internal static void OnCharacterListUpdated(ESIKey esiKey) Settings.Save(); CharacterListUpdated?.ThreadSafeInvoke(null, new ESIKeyInfoChangedEventArgs(esiKey)); } - + /// /// Called when the character implant set collection changed. /// @@ -932,7 +932,7 @@ internal static void OnCharacterEVENotificationsUpdated(Character character) Settings.Save(); CharacterEVENotificationsUpdated?.ThreadSafeInvoke(null, new CharacterChangedEventArgs(character)); } - + /// /// Called when the character contacts updated. /// diff --git a/src/EVEMon.Common/Extensions/EventHandlerExtensions.cs b/src/EVEMon.Common/Extensions/EventHandlerExtensions.cs index adc846d3c..648369fb7 100644 --- a/src/EVEMon.Common/Extensions/EventHandlerExtensions.cs +++ b/src/EVEMon.Common/Extensions/EventHandlerExtensions.cs @@ -1,6 +1,9 @@ using System; +using System.Collections.Generic; using System.ComponentModel; +using System.Diagnostics; using System.Linq; +using System.Threading; namespace EVEMon.Common.Extensions { @@ -22,9 +25,18 @@ public static void ThreadSafeInvoke(this EventHandler eventHandler, object sende if (eventHandler == null) return; + Stopwatch sw = new Stopwatch(); + sw.Start(); + + Stopwatch time = new Stopwatch(); + List> timing = new List>(); + // Get each subscriber in turn foreach (EventHandler handler in eventHandler.GetInvocationList().Cast()) { + time.Reset(); + time.Start(); + // Get the object containing the subscribing method // If the target doesn't implement ISyncronizeInvoke, this will be null ISynchronizeInvoke sync = handler.Target as ISynchronizeInvoke; @@ -36,13 +48,31 @@ public static void ThreadSafeInvoke(this EventHandler eventHandler, object sende // This is preferable to using Invoke so that if an exception is thrown its presented // in the context of the handler, not the current thread IAsyncResult result = sync.BeginInvoke(handler, new[] { sender, e }); + //veg + //Thread.Sleep(1); sync.EndInvoke(result); continue; } // No it doesn't, so invoke the handler directly handler.Invoke(sender, e); + + timing.Add(new KeyValuePair(time.ElapsedTicks, $"{handler.Method.DeclaringType.FullName}.{handler.Method.Name}")); + + //System.Windows.Forms.Application.DoEvents(); + + //veg + //Thread.Sleep(1); } + + sw.Stop(); + + //foreach (KeyValuePair kvp in timing.OrderBy(p => p.Key).Reverse().Take(5)) + //{ + // EveMonClient.Trace($"{kvp.Key} - {kvp.Value}"); + //} + + //EveMonClient.Trace($"ThreadSafeInvoke: { sw.ElapsedMilliseconds} ms for {eventHandler.GetInvocationList().Length} delegates"); } /// diff --git a/src/EVEMon.Common/ExternalCalendar/GoogleCalendarEvent.cs b/src/EVEMon.Common/ExternalCalendar/GoogleCalendarEvent.cs index 128b5c45b..18557e721 100644 --- a/src/EVEMon.Common/ExternalCalendar/GoogleCalendarEvent.cs +++ b/src/EVEMon.Common/ExternalCalendar/GoogleCalendarEvent.cs @@ -102,8 +102,8 @@ internal override async Task AddOrUpdateEventAsync(bool eventExists, int queuePo // Set the title and content of the entry eventItem.Summary = Subject; - eventItem.Start = new EventDateTime { DateTime = StartDate }; - eventItem.End = new EventDateTime { DateTime = EndDate }; + eventItem.Start = new EventDateTime { DateTimeDateTimeOffset = StartDate }; + eventItem.End = new EventDateTime { DateTimeDateTimeOffset = EndDate }; eventItem.Reminders = new Event.RemindersData(); if (AlternateReminder) @@ -124,7 +124,7 @@ internal override async Task AddOrUpdateEventAsync(bool eventExists, int queuePo // Subtract the reminder time from the event time DateTime dateTimeAlternateReminder = WorkOutAlternateReminders(); - TimeSpan timeSpan = eventItem.Start.DateTime.GetValueOrDefault().Subtract(dateTimeAlternateReminder); + TimeSpan timeSpan = eventItem.Start.DateTimeDateTimeOffset.GetValueOrDefault().Subtract(dateTimeAlternateReminder); Minutes = Math.Abs(timeSpan.Hours * 60 + timeSpan.Minutes); SetGoogleReminder(eventItem); @@ -161,11 +161,11 @@ internal override bool GetEvent() return false; Event eventItem = (Event)Events[0]; - if (!eventItem.Start.DateTime.HasValue || !eventItem.End.DateTime.HasValue) + if (!eventItem.Start.DateTimeDateTimeOffset.HasValue || !eventItem.End.DateTimeDateTimeOffset.HasValue) return false; - StartDate = eventItem.Start.DateTime.Value; - EndDate = eventItem.End.DateTime.Value; + StartDate = eventItem.Start.DateTimeDateTimeOffset.Value.DateTime; + EndDate = eventItem.End.DateTimeDateTimeOffset.Value.DateTime; Subject = eventItem.Summary; if (eventItem.Reminders?.Overrides != null) @@ -467,4 +467,4 @@ private void SetGoogleReminder(Event eventItem) #endregion } -} \ No newline at end of file +} diff --git a/src/EVEMon.Common/Models/CCPCharacter.cs b/src/EVEMon.Common/Models/CCPCharacter.cs index 9a011169d..a20fc35aa 100644 --- a/src/EVEMon.Common/Models/CCPCharacter.cs +++ b/src/EVEMon.Common/Models/CCPCharacter.cs @@ -866,7 +866,7 @@ private void EveMonClient_CharacterIndustryJobsUpdated(object sender, CharacterC if (e.Character == this && (m_corporationDataQuerying?. CorporationIndustryJobsQueried ?? true)) NotifyForIndustryJobsRelatedEvents(); - } + } /// /// Handles the CorporationIndustryJobsUpdated event of the EveMonClient control. @@ -878,7 +878,7 @@ private void EveMonClient_CorporationIndustryJobsUpdated(object sender, Characte if (e.Character == this && (m_characterDataQuerying?. CharacterIndustryJobsQueried ?? true)) NotifyForIndustryJobsRelatedEvents(); - } + } /// /// Handles the CharacterIndustryJobsCompleted event of the EveMonClient control. diff --git a/src/EVEMon.Common/Models/Collections/IndustryJobCollection.cs b/src/EVEMon.Common/Models/Collections/IndustryJobCollection.cs index 320b96aed..ccd70fa05 100644 --- a/src/EVEMon.Common/Models/Collections/IndustryJobCollection.cs +++ b/src/EVEMon.Common/Models/Collections/IndustryJobCollection.cs @@ -163,9 +163,9 @@ private void UpdateOnTimerTick() else // Fire event for character job completion EveMonClient.OnCharacterIndustryJobsCompleted(m_ccpCharacter, - jobsCompleted); + jobsCompleted); + } } } } } -} diff --git a/src/EVEMon.Common/Net/ExceptionMessages.Designer.cs b/src/EVEMon.Common/Net/ExceptionMessages.Designer.cs index 8e97dadb5..7cb844a5e 100644 --- a/src/EVEMon.Common/Net/ExceptionMessages.Designer.cs +++ b/src/EVEMon.Common/Net/ExceptionMessages.Designer.cs @@ -19,7 +19,7 @@ namespace EVEMon.Common.Net { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class ExceptionMessages { diff --git a/src/EVEMon.Common/Net/HttpClientServiceRequest.cs b/src/EVEMon.Common/Net/HttpClientServiceRequest.cs index d74f01145..12d965f15 100644 --- a/src/EVEMon.Common/Net/HttpClientServiceRequest.cs +++ b/src/EVEMon.Common/Net/HttpClientServiceRequest.cs @@ -117,9 +117,19 @@ private static void EnsureSuccessStatusCode(HttpResponseMessage response) { response.StatusCode = HttpStatusCode.OK; response.ReasonPhrase = "OK"; - } else if (code != HttpStatusCode.NotModified) + } + else if (code != HttpStatusCode.NotModified) + { + if (response.RequestMessage.RequestUri.ToString().StartsWith(NetworkConstants.ESIBase) && !response.IsSuccessStatusCode) + { + String body = response.Content.ReadAsStringAsync().Result; + + EveMonClient.Trace($"Request: {response.RequestMessage.RequestUri} returned: {(Int32)response.StatusCode} ({response.ReasonPhrase}) with content: '{body}'.", printMethod: false); + } + // Allow "not modified" so that it will be detected by the front end response.EnsureSuccessStatusCode(); + } } /// diff --git a/src/EVEMon.Common/Notifications/IndustryJobsNotificationEventArgs.cs b/src/EVEMon.Common/Notifications/IndustryJobsNotificationEventArgs.cs index 70025e17d..d9c26fca7 100644 --- a/src/EVEMon.Common/Notifications/IndustryJobsNotificationEventArgs.cs +++ b/src/EVEMon.Common/Notifications/IndustryJobsNotificationEventArgs.cs @@ -62,4 +62,4 @@ private void UpdateDescription() Description = $"{Jobs.Count} industry job{(Jobs.Count > 1 ? "s" : string.Empty)} completed."; } } -} \ No newline at end of file +} diff --git a/src/EVEMon.Common/Properties/Resources.Designer.cs b/src/EVEMon.Common/Properties/Resources.Designer.cs index 628d4428f..f2775b540 100644 --- a/src/EVEMon.Common/Properties/Resources.Designer.cs +++ b/src/EVEMon.Common/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace EVEMon.Common.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] public class Resources { @@ -100,7 +100,7 @@ public static System.Drawing.Bitmap Bug { /// p, body { color: #FFFFFF; font-family: ProximaNova-Regular, Arial } /// h2 { text-align: center; margin-bottom: 10px; text-shadow: 1px 1px 2px #7F7F7F; font-size: 30px; font-family: "ProximaNova-SemiBold",Arial } /// body { background: #000000 url(https://login.eveonline.com/Images/site-bg.jpg) no-repeat center center fixed } - /// #content { bac [rest of string was truncated]";. + /// #content { background-c [rest of string was truncated]";. /// public static string CallbackFail { get { @@ -118,7 +118,7 @@ public static string CallbackFail { /// p, body { color: #FFFFFF; font-family: ProximaNova-Regular, Arial } /// h2 { text-align: center; margin-bottom: 10px; text-shadow: 1px 1px 2px #7F7F7F; font-size: 30px; font-family: "ProximaNova-SemiBold",Arial } /// body { background: #000000 url(https://login.eveonline.com/Images/site-bg.jpg) no-repeat center center fixed } - /// [rest of string was truncated]";. + /// #co [rest of string was truncated]";. /// public static string CallbackOK { get { @@ -128,7 +128,7 @@ public static string CallbackOK { /// /// Looks up a localized string similar to factionID,factionName,description,raceIDs,solarSystemID,corporationID,sizeFactor,stationCount,stationSystemCount,militiaCorporationID,iconID - ///500001,Caldari State,"The Caldari State is ruled by several mega-corporations. There is no central government to speak of - all territories within the State are owned and ruled by corporations. Duty and discipline are required traits in Caldari citizens, plus unquestioning loyalty to the corporation they live to serve. The corporations compete aggressively amongst the [rest of string was truncated]";. + ///500001,Caldari State,"The Caldari State is ruled by several mega-corporations. There is no central government to speak of - all territories within the State are owned and ruled by corporations. Duty and discipline are required traits in Caldari citizens, plus unquestioning loyalty to the corporation they live to serve. The corporations compete aggressively amongst them [rest of string was truncated]";. /// public static string chrFactions { get { @@ -200,7 +200,7 @@ public static System.Drawing.Bitmap CrossGray { /// </xsl:copy> /// </xsl:template> /// - /// <!-- Renaming root name 'blueprints' in blueprints datafile to 'bluep [rest of string was truncated]";. + /// <!-- Renaming root name 'blueprints' in blueprints datafile to 'blueprintsDatafile [rest of string was truncated]";. /// public static string DatafilesXSLT { get { @@ -707,13 +707,14 @@ public static System.Drawing.Bitmap Faction { /// /// Looks up a localized string similar to <?xml version="1.0"?> - ///<invFlags xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + ///<invFlags xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> /// <rowset name="flags" key="flagID" columns="flagID,flagName,flagText"> /// <row flagID="0" flagName="None" flagText="None" /> /// <row flagID="1" flagName="Wallet" flagText="Wallet" /> /// <row flagID="2" flagName="Offices" flagText="OfficeFolder" /> /// <row flagID="3" flagName="Wardrobe" flagText="Wardrobe" /> - /// <row flagID="4" flagName="Hangar" flagText="Hangar" /> [rest of string was truncated]";. + /// <row flagID="4" flagName="Hangar" flagText="Hangar" /> + /// <r [rest of string was truncated]";. /// public static string Flags { get { @@ -844,7 +845,7 @@ public static System.Drawing.Bitmap NeutralStanding { /// <result> /// <rowset name="refTypes" key="refTypeID" columns="refTypeID,refTypeCode,refTypeName,subjectLayout,textLayout"> /// <row refTypeID="1" refTypeCode="OldLscMessages" refTypeName="Old Notifications" subjectLayout="{subject}" textLayout="{body}"/> - /// <row refTypeID="2" refTypeCode="CharTerminationMsg" refTypeName="Member Biomassed" subjectLayout="RIP Corporation member {charID}" textLayout="The untimely death of fel [rest of string was truncated]";. + /// <row refTypeID="2" refTypeCode="CharTerminationMsg" refTypeName="Member Biomassed" subjectLayout="RIP Corporation member {charID}" textLayout="The untimely death of fellow {c [rest of string was truncated]";. /// public static string NotificationRefTypes { get { @@ -873,7 +874,7 @@ public static System.Drawing.Bitmap Officer { /// <row refTypeID="2" refTypeName="Market Transaction" /> /// <row refTypeID="3" refTypeName="GM Cash Transfer" /> /// <row refTypeID="4" refTypeName="ATM Withdraw" /> - /// <row refTypeID= [rest of string was truncated]";. + /// <row refTypeID="5" refTyp [rest of string was truncated]";. /// public static string RefTypes { get { @@ -896,7 +897,7 @@ public static string RefTypes { /// </xsl:template> /// /// <!-- Rowsets are transformed into something else--> - /// <xsl:templat [rest of string was truncated]";. + /// <xsl:template match="rowse [rest of string was truncated]";. /// public static string RowsetsXSLT { get { @@ -918,7 +919,7 @@ public static string RowsetsXSLT { /// </xsl:template> /// /// <!--Transforms the SerializableDictionary to its Modified version--> - /// <xsl:templa [rest of string was truncated]";. + /// <xsl:template match="per [rest of string was truncated]";. /// public static string SettingsXSLT { get { @@ -1022,7 +1023,7 @@ public static System.Drawing.Bitmap Watch { /// <tr> /// <td> /// <xsl:element name="img"> - /// <xsl:attribute name="src">http://image.eveonline.com/character/<xsl:value-of [rest of string was truncated]";. + /// <xsl:attribute name="src">http://image.eveonline.com/character/<xsl:value-of select="@charact [rest of string was truncated]";. /// public static string XmlToHtmlXslt { get { diff --git a/src/EVEMon.Common/Resources/MD5Sums.txt b/src/EVEMon.Common/Resources/MD5Sums.txt index 196b247f4..7b4234da8 100644 --- a/src/EVEMon.Common/Resources/MD5Sums.txt +++ b/src/EVEMon.Common/Resources/MD5Sums.txt @@ -1,8 +1,8 @@ -df91ac86ac9954dfaff13ab77681a1cc *eve-blueprints-en-US.xml.gzip +b95c5121f9d1983631c13e10fec2e57a *eve-blueprints-en-US.xml.gzip 540000f7c111354769a54fa31e57d411 *eve-certificates-en-US.xml.gzip -3077e700023d84a267b744a6ee44acc7 *eve-geography-en-US.xml.gzip -4c9cb667e22421fad8ca08777be7fd8a *eve-items-en-US.xml.gzip +e5ad67810efbc31a82c486b84d766079 *eve-geography-en-US.xml.gzip +4904250e9c42de3a377c147a5591d2ec *eve-items-en-US.xml.gzip 3668b50996fc40a0c0853fec427b5712 *eve-masteries-en-US.xml.gzip -1f6ae9f613fd26b08d5ec206d0958d79 *eve-properties-en-US.xml.gzip -adb83f4fc55f61a58548dcb924a91cfe *eve-reprocessing-en-US.xml.gzip -727a781211b138cf331afed346692962 *eve-skills-en-US.xml.gzip +1fda3fe1dc71fd125cfa421fbf660994 *eve-properties-en-US.xml.gzip +602268953e0f4874d2969af3c89c895d *eve-reprocessing-en-US.xml.gzip +09b73254a977522a82c33642b11c68d8 *eve-skills-en-US.xml.gzip diff --git a/src/EVEMon.Common/Resources/Skill_Select/IconSettings.Designer.cs b/src/EVEMon.Common/Resources/Skill_Select/IconSettings.Designer.cs index cf91481ca..217800250 100644 --- a/src/EVEMon.Common/Resources/Skill_Select/IconSettings.Designer.cs +++ b/src/EVEMon.Common/Resources/Skill_Select/IconSettings.Designer.cs @@ -12,7 +12,7 @@ namespace EVEMon.Common.Resources.Skill_Select { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.8.0.0")] public sealed partial class IconSettings : global::System.Configuration.ApplicationSettingsBase { private static IconSettings defaultInstance = ((IconSettings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new IconSettings()))); diff --git a/src/EVEMon.Common/Resources/eve-blueprints-en-US.xml.gzip b/src/EVEMon.Common/Resources/eve-blueprints-en-US.xml.gzip index c7d5fe310..c4a987c09 100644 Binary files a/src/EVEMon.Common/Resources/eve-blueprints-en-US.xml.gzip and b/src/EVEMon.Common/Resources/eve-blueprints-en-US.xml.gzip differ diff --git a/src/EVEMon.Common/Resources/eve-geography-en-US.xml.gzip b/src/EVEMon.Common/Resources/eve-geography-en-US.xml.gzip index 3346341ec..7ce181299 100644 Binary files a/src/EVEMon.Common/Resources/eve-geography-en-US.xml.gzip and b/src/EVEMon.Common/Resources/eve-geography-en-US.xml.gzip differ diff --git a/src/EVEMon.Common/Resources/eve-items-en-US.xml.gzip b/src/EVEMon.Common/Resources/eve-items-en-US.xml.gzip index 31715da1b..023ac2973 100644 Binary files a/src/EVEMon.Common/Resources/eve-items-en-US.xml.gzip and b/src/EVEMon.Common/Resources/eve-items-en-US.xml.gzip differ diff --git a/src/EVEMon.Common/Resources/eve-properties-en-US.xml.gzip b/src/EVEMon.Common/Resources/eve-properties-en-US.xml.gzip index 9d1537ccb..1abee09fd 100644 Binary files a/src/EVEMon.Common/Resources/eve-properties-en-US.xml.gzip and b/src/EVEMon.Common/Resources/eve-properties-en-US.xml.gzip differ diff --git a/src/EVEMon.Common/Resources/eve-reprocessing-en-US.xml.gzip b/src/EVEMon.Common/Resources/eve-reprocessing-en-US.xml.gzip index 3fceec093..d9db394a9 100644 Binary files a/src/EVEMon.Common/Resources/eve-reprocessing-en-US.xml.gzip and b/src/EVEMon.Common/Resources/eve-reprocessing-en-US.xml.gzip differ diff --git a/src/EVEMon.Common/Resources/eve-skills-en-US.xml.gzip b/src/EVEMon.Common/Resources/eve-skills-en-US.xml.gzip index 29d68f7e7..37433171d 100644 Binary files a/src/EVEMon.Common/Resources/eve-skills-en-US.xml.gzip and b/src/EVEMon.Common/Resources/eve-skills-en-US.xml.gzip differ diff --git a/src/EVEMon.Common/Serialization/Datafiles/DatafileConstants.Designer.cs b/src/EVEMon.Common/Serialization/Datafiles/DatafileConstants.Designer.cs index a077b79f7..1bd4d309f 100644 --- a/src/EVEMon.Common/Serialization/Datafiles/DatafileConstants.Designer.cs +++ b/src/EVEMon.Common/Serialization/Datafiles/DatafileConstants.Designer.cs @@ -19,7 +19,7 @@ namespace EVEMon.Common.Serialization.Datafiles { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] public class DatafileConstants { diff --git a/src/EVEMon.Common/Serialization/Flags.xml b/src/EVEMon.Common/Serialization/Flags.xml index 917b2e41e..4c2dad40e 100644 --- a/src/EVEMon.Common/Serialization/Flags.xml +++ b/src/EVEMon.Common/Serialization/Flags.xml @@ -1,5 +1,5 @@ - + @@ -89,7 +89,7 @@ - + @@ -135,5 +135,9 @@ + + + + \ No newline at end of file diff --git a/src/EVEMon.Common/Service/EveFlag.cs b/src/EVEMon.Common/Service/EveFlag.cs index 7d210c8a5..b8d35964a 100644 --- a/src/EVEMon.Common/Service/EveFlag.cs +++ b/src/EVEMon.Common/Service/EveFlag.cs @@ -53,9 +53,9 @@ internal static int GetFlagID(string name) SerializableEveFlagsListItem flag = null; if (s_eveFlags != null) - flag = s_eveFlags.Values.FirstOrDefault(x => x.Name.Equals(name, - StringComparison.InvariantCultureIgnoreCase)); - + flag = s_eveFlags.Values.Where(x => x != null).FirstOrDefault(x => x.Name.Equals(name, + StringComparison.InvariantCultureIgnoreCase)); + return flag?.ID ?? 0; } diff --git a/src/EVEMon.Common/Service/EveIDToName.cs b/src/EVEMon.Common/Service/EveIDToName.cs index 9439bc721..1d4bf8c50 100644 --- a/src/EVEMon.Common/Service/EveIDToName.cs +++ b/src/EVEMon.Common/Service/EveIDToName.cs @@ -115,7 +115,7 @@ private static void Import(IEnumerable entiti private static Task UpdateOnOneSecondTickAsync() { // Is a save requested and is the last save older than 10s ? - if (s_savePending && DateTime.UtcNow > s_lastSaveTime.AddSeconds(10)) + if (s_savePending && DateTime.UtcNow > s_lastSaveTime.AddSeconds(30)) return SaveImmediateAsync(); return Task.CompletedTask; diff --git a/src/EVEMon.Common/Service/EveIDToStation.cs b/src/EVEMon.Common/Service/EveIDToStation.cs index 021260872..4165281f8 100644 --- a/src/EVEMon.Common/Service/EveIDToStation.cs +++ b/src/EVEMon.Common/Service/EveIDToStation.cs @@ -1,4 +1,4 @@ -#define HAMMERTIME +#undef HAMMERTIME using EVEMon.Common.Constants; using EVEMon.Common.Data; diff --git a/src/EVEMon.Common/SettingsObjects/IndustryJobColumn.cs b/src/EVEMon.Common/SettingsObjects/IndustryJobColumn.cs index c0b332c33..cc7d96bca 100644 --- a/src/EVEMon.Common/SettingsObjects/IndustryJobColumn.cs +++ b/src/EVEMon.Common/SettingsObjects/IndustryJobColumn.cs @@ -102,4 +102,4 @@ public enum IndustryJobColumn [Description("Runs")] Runs = 22, } -} \ No newline at end of file +} diff --git a/src/EVEMon.Common/SettingsObjects/IndustryJobSettings.cs b/src/EVEMon.Common/SettingsObjects/IndustryJobSettings.cs index 11d908548..7af65ef6a 100644 --- a/src/EVEMon.Common/SettingsObjects/IndustryJobSettings.cs +++ b/src/EVEMon.Common/SettingsObjects/IndustryJobSettings.cs @@ -65,10 +65,10 @@ public IEnumerable DefaultColumns { Column = column, Visible = defaultColumns.Contains(column), - Width = -2 + Width = column.GetHeader() == "TTC" ? 120 : -2 }); } } } -} \ No newline at end of file +} diff --git a/src/EVEMon.Common/SettingsObjects/PlanetarySettings.cs b/src/EVEMon.Common/SettingsObjects/PlanetarySettings.cs index bc0300de3..8b6375783 100644 --- a/src/EVEMon.Common/SettingsObjects/PlanetarySettings.cs +++ b/src/EVEMon.Common/SettingsObjects/PlanetarySettings.cs @@ -68,7 +68,7 @@ public IEnumerable DefaultColumns { Column = column, Visible = defaultColumns.Contains(column), - Width = -2 + Width = column.GetHeader() == "TTC" ? 120 : -2 }); } } diff --git a/src/EVEMon.Common/Threading/Dispatcher.cs b/src/EVEMon.Common/Threading/Dispatcher.cs index 96e17eac9..2ba281e83 100644 --- a/src/EVEMon.Common/Threading/Dispatcher.cs +++ b/src/EVEMon.Common/Threading/Dispatcher.cs @@ -70,12 +70,32 @@ public static void Schedule(TimeSpan time, Action action) timer.Start(); } + private static object locker = new object(); + /// /// Occurs on every second, when the timer ticks. /// private static void OneSecondTickTimer_Tick(object sender, EventArgs e) { - EveMonClient.UpdateOnOneSecondTick(); + s_oneSecondTimer.Stop(); + + if (Monitor.TryEnter(locker)) + { + try + { + EveMonClient.UpdateOnOneSecondTick(); + } + finally + { + Monitor.Exit(locker); + } + } + else + { + EveMonClient.Trace($"Skipped OneSecondTickTimer_Tick()"); + } + + s_oneSecondTimer.Start(); } } } diff --git a/src/EVEMon.Common/packages.config b/src/EVEMon.Common/packages.config index 2ed997e1a..593eb53be 100644 --- a/src/EVEMon.Common/packages.config +++ b/src/EVEMon.Common/packages.config @@ -1,25 +1,55 @@  - - - - - - + + + + + + + - + - - - - - + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/EVEMon.LogitechG15/EVEMon.LogitechG15.csproj b/src/EVEMon.LogitechG15/EVEMon.LogitechG15.csproj index 8ca77dca4..c7b8a9693 100644 --- a/src/EVEMon.LogitechG15/EVEMon.LogitechG15.csproj +++ b/src/EVEMon.LogitechG15/EVEMon.LogitechG15.csproj @@ -9,7 +9,7 @@ Properties EVEMon.LogitechG15 EVEMon.LogitechG15 - v4.6.1 + v4.7.2 512 @@ -51,6 +51,9 @@ 4 false + + true + False diff --git a/src/EVEMon.LogitechG15/Properties/Resources.Designer.cs b/src/EVEMon.LogitechG15/Properties/Resources.Designer.cs index 1fcd37cc7..01cde6049 100644 --- a/src/EVEMon.LogitechG15/Properties/Resources.Designer.cs +++ b/src/EVEMon.LogitechG15/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace EVEMon.LogitechG15.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { diff --git a/src/EVEMon.LogitechG15/app.config b/src/EVEMon.LogitechG15/app.config index 467d30b0e..f43a303ca 100644 --- a/src/EVEMon.LogitechG15/app.config +++ b/src/EVEMon.LogitechG15/app.config @@ -8,16 +8,76 @@ - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/src/EVEMon.PieChart/EVEMon.PieChart.csproj b/src/EVEMon.PieChart/EVEMon.PieChart.csproj index 4e347a4f8..879626a0f 100644 --- a/src/EVEMon.PieChart/EVEMon.PieChart.csproj +++ b/src/EVEMon.PieChart/EVEMon.PieChart.csproj @@ -9,7 +9,7 @@ Properties EVEMon.PieChart EVEMon.PieChart - v4.6.1 + v4.7.2 512 @@ -49,6 +49,9 @@ 4 false + + true + System diff --git a/src/EVEMon.PieChart/app.config b/src/EVEMon.PieChart/app.config index 467d30b0e..7f939a578 100644 --- a/src/EVEMon.PieChart/app.config +++ b/src/EVEMon.PieChart/app.config @@ -8,16 +8,96 @@ - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/src/EVEMon.Watchdog/EVEMon.Watchdog.csproj b/src/EVEMon.Watchdog/EVEMon.Watchdog.csproj index e677b66c1..5687c7233 100644 --- a/src/EVEMon.Watchdog/EVEMon.Watchdog.csproj +++ b/src/EVEMon.Watchdog/EVEMon.Watchdog.csproj @@ -9,7 +9,7 @@ Properties EVEMon.Watchdog EVEMon.Watchdog - v4.6.1 + v4.7.2 512 @@ -48,6 +48,9 @@ 4 false + + true + diff --git a/src/EVEMon.Watchdog/Properties/Resources.Designer.cs b/src/EVEMon.Watchdog/Properties/Resources.Designer.cs index 725dde1d8..50068e582 100644 --- a/src/EVEMon.Watchdog/Properties/Resources.Designer.cs +++ b/src/EVEMon.Watchdog/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace EVEMon.Watchdog.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { diff --git a/src/EVEMon.Watchdog/app.config b/src/EVEMon.Watchdog/app.config index 3dbff35f4..312bb3f26 100644 --- a/src/EVEMon.Watchdog/app.config +++ b/src/EVEMon.Watchdog/app.config @@ -1,3 +1,3 @@ - + diff --git a/src/EVEMon.WindowsApi/EVEMon.WindowsApi.csproj b/src/EVEMon.WindowsApi/EVEMon.WindowsApi.csproj index c32da6062..31a0de359 100644 --- a/src/EVEMon.WindowsApi/EVEMon.WindowsApi.csproj +++ b/src/EVEMon.WindowsApi/EVEMon.WindowsApi.csproj @@ -9,7 +9,7 @@ Properties EVEMon.WindowsApi EVEMon.WindowsApi - v4.6.1 + v4.7.2 512 @@ -48,6 +48,9 @@ 4 false + + true + diff --git a/src/EVEMon/App.config b/src/EVEMon/App.config index 5ea1dc9b8..15485c115 100644 --- a/src/EVEMon/App.config +++ b/src/EVEMon/App.config @@ -13,11 +13,11 @@ - + - + @@ -37,11 +37,87 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -52,4 +128,4 @@ - + diff --git a/src/EVEMon/CharacterMonitoring/CharacterAssetsList.Designer.cs b/src/EVEMon/CharacterMonitoring/CharacterAssetsList.Designer.cs index 901e7ab5a..325f35c00 100644 --- a/src/EVEMon/CharacterMonitoring/CharacterAssetsList.Designer.cs +++ b/src/EVEMon/CharacterMonitoring/CharacterAssetsList.Designer.cs @@ -154,7 +154,7 @@ private void InitializeComponent() this.lblTotalCost.Name = "lblTotalCost"; this.lblTotalCost.Size = new System.Drawing.Size(207, 13); this.lblTotalCost.TabIndex = 0; - this.lblTotalCost.Text = "Estimated Cost of shown items: {0:N2} ISK"; + this.lblTotalCost.Text = "Estimated Cost of shown items: {0:N0} ISK"; this.lblTotalCost.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // totalCostThrobber diff --git a/src/EVEMon/CharacterMonitoring/CharacterIndustryJobsList.Designer.cs b/src/EVEMon/CharacterMonitoring/CharacterIndustryJobsList.Designer.cs index 1e9a2e3c7..ab3f6cee0 100644 --- a/src/EVEMon/CharacterMonitoring/CharacterIndustryJobsList.Designer.cs +++ b/src/EVEMon/CharacterMonitoring/CharacterIndustryJobsList.Designer.cs @@ -30,145 +30,147 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CharacterIndustryJobsList)); - this.lvJobs = new System.Windows.Forms.ListView(); - this.chState = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.chTTC = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.chInstalledItem = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.chOutputItem = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.contextMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.showInstalledInBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.showInBrowserMenuSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.exportToCSVToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ilIcons = new System.Windows.Forms.ImageList(this.components); - this.noJobsLabel = new System.Windows.Forms.Label(); - this.industryExpPanelControl = new EVEMon.Common.Controls.ExpandablePanelControl(); - this.showProducedInBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenu.SuspendLayout(); - this.SuspendLayout(); - // - // lvJobs - // - this.lvJobs.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.lvJobs.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CharacterIndustryJobsList)); + this.lvJobs = new System.Windows.Forms.ListView(); + this.chState = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.chTTC = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.chInstalledItem = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.chOutputItem = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.contextMenu = new System.Windows.Forms.ContextMenuStrip(this.components); + this.showInstalledInBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.showProducedInBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.showInBrowserMenuSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.exportToCSVToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.ilIcons = new System.Windows.Forms.ImageList(this.components); + this.noJobsLabel = new System.Windows.Forms.Label(); + this.industryExpPanelControl = new EVEMon.Common.Controls.ExpandablePanelControl(); + this.contextMenu.SuspendLayout(); + this.SuspendLayout(); + // + // lvJobs + // + this.lvJobs.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.lvJobs.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.chState, this.chTTC, this.chInstalledItem, this.chOutputItem}); - this.lvJobs.ContextMenuStrip = this.contextMenu; - this.lvJobs.Dock = System.Windows.Forms.DockStyle.Fill; - this.lvJobs.FullRowSelect = true; - this.lvJobs.HideSelection = false; - this.lvJobs.Location = new System.Drawing.Point(0, 0); - this.lvJobs.MultiSelect = false; - this.lvJobs.Name = "lvJobs"; - this.lvJobs.Size = new System.Drawing.Size(454, 334); - this.lvJobs.SmallImageList = this.ilIcons; - this.lvJobs.TabIndex = 0; - this.lvJobs.UseCompatibleStateImageBehavior = false; - this.lvJobs.View = System.Windows.Forms.View.Details; - // - // chState - // - this.chState.Text = "State"; - // - // chTTC - // - this.chTTC.Text = "TTC"; - // - // chInstalledItem - // - this.chInstalledItem.Text = "Installed Item"; - // - // chOutputItem - // - this.chOutputItem.Text = "Output Item"; - // - // contextMenu - // - this.contextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.lvJobs.ContextMenuStrip = this.contextMenu; + this.lvJobs.Dock = System.Windows.Forms.DockStyle.Fill; + this.lvJobs.FullRowSelect = true; + this.lvJobs.HideSelection = false; + this.lvJobs.Location = new System.Drawing.Point(0, 0); + this.lvJobs.MultiSelect = false; + this.lvJobs.Name = "lvJobs"; + this.lvJobs.Size = new System.Drawing.Size(454, 334); + this.lvJobs.SmallImageList = this.ilIcons; + this.lvJobs.TabIndex = 0; + this.lvJobs.UseCompatibleStateImageBehavior = false; + this.lvJobs.View = System.Windows.Forms.View.Details; + // + // chState + // + this.chState.Text = "State"; + // + // chTTC + // + this.chTTC.Text = "TTC"; + this.chTTC.Width = 120; + // + // chInstalledItem + // + this.chInstalledItem.Text = "Installed Item"; + // + // chOutputItem + // + this.chOutputItem.Text = "Output Item"; + // + // contextMenu + // + this.contextMenu.ImageScalingSize = new System.Drawing.Size(20, 20); + this.contextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.showInstalledInBrowserMenuItem, this.showProducedInBrowserMenuItem, this.showInBrowserMenuSeparator, this.exportToCSVToolStripMenuItem}); - this.contextMenu.Name = "ShipPropertiesContextMenu"; - this.contextMenu.Size = new System.Drawing.Size(218, 98); - this.contextMenu.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenu_Opening); - // - // showInstalledInBrowserMenuItem - // - this.showInstalledInBrowserMenuItem.Name = "showInstalledInBrowserMenuItem"; - this.showInstalledInBrowserMenuItem.Size = new System.Drawing.Size(217, 22); - this.showInstalledInBrowserMenuItem.Text = "Show Input In Blueprint Browser..."; - this.showInstalledInBrowserMenuItem.Click += new System.EventHandler(this.showInBrowserMenuItem_Click); - // - // showProducedInBrowserMenuItem - // - this.showProducedInBrowserMenuItem.Name = "showProducedInBrowserMenuItem"; - this.showProducedInBrowserMenuItem.Size = new System.Drawing.Size(217, 22); - this.showProducedInBrowserMenuItem.Text = "Show Output In Browser..."; - this.showProducedInBrowserMenuItem.Click += new System.EventHandler(this.showInBrowserMenuItem_Click); - // - // showInBrowserMenuSeparator - // - this.showInBrowserMenuSeparator.Name = "showInBrowserMenuSeparator"; - this.showInBrowserMenuSeparator.Size = new System.Drawing.Size(214, 6); - // - // exportToCSVToolStripMenuItem - // - this.exportToCSVToolStripMenuItem.Name = "exportToCSVToolStripMenuItem"; - this.exportToCSVToolStripMenuItem.Size = new System.Drawing.Size(217, 22); - this.exportToCSVToolStripMenuItem.Text = "Export To CSV..."; - this.exportToCSVToolStripMenuItem.Click += new System.EventHandler(this.exportToCSVToolStripMenuItem_Click); - // - // ilIcons - // - this.ilIcons.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ilIcons.ImageStream"))); - this.ilIcons.TransparentColor = System.Drawing.Color.Transparent; - this.ilIcons.Images.SetKeyName(0, "arrow_up.png"); - this.ilIcons.Images.SetKeyName(1, "arrow_down.png"); - this.ilIcons.Images.SetKeyName(2, "16x16Transparant.png"); - // - // noJobsLabel - // - this.noJobsLabel.Dock = System.Windows.Forms.DockStyle.Fill; - this.noJobsLabel.ForeColor = System.Drawing.SystemColors.GrayText; - this.noJobsLabel.Location = new System.Drawing.Point(0, 0); - this.noJobsLabel.Name = "noJobsLabel"; - this.noJobsLabel.Size = new System.Drawing.Size(454, 434); - this.noJobsLabel.TabIndex = 2; - this.noJobsLabel.Text = "No industry jobs are available."; - this.noJobsLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // industryExpPanelControl - // - this.industryExpPanelControl.AnimationSpeed = EVEMon.Common.Controls.AnimationSpeed.Medium; - this.industryExpPanelControl.Dock = System.Windows.Forms.DockStyle.Bottom; - this.industryExpPanelControl.EnableContextMenu = false; - this.industryExpPanelControl.ExpandDirection = EVEMon.Common.Controls.Direction.Down; - this.industryExpPanelControl.ExpandedHeight = 100; - this.industryExpPanelControl.ExpandedOnStartup = false; - this.industryExpPanelControl.HeaderHeight = 30; - this.industryExpPanelControl.HeaderText = "Header Text"; - this.industryExpPanelControl.ImageCollapse = ((System.Drawing.Bitmap)(resources.GetObject("industryExpPanelControl.ImageCollapse"))); - this.industryExpPanelControl.ImageExpand = ((System.Drawing.Bitmap)(resources.GetObject("industryExpPanelControl.ImageExpand"))); - this.industryExpPanelControl.Location = new System.Drawing.Point(0, 334); - this.industryExpPanelControl.Name = "industryExpPanelControl"; - this.industryExpPanelControl.Size = new System.Drawing.Size(454, 100); - this.industryExpPanelControl.TabIndex = 1; - // - // CharacterIndustryJobsList - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.lvJobs); - this.Controls.Add(this.industryExpPanelControl); - this.Controls.Add(this.noJobsLabel); - this.Name = "CharacterIndustryJobsList"; - this.Size = new System.Drawing.Size(454, 434); - this.contextMenu.ResumeLayout(false); - this.ResumeLayout(false); + this.contextMenu.Name = "ShipPropertiesContextMenu"; + this.contextMenu.Size = new System.Drawing.Size(253, 76); + this.contextMenu.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenu_Opening); + // + // showInstalledInBrowserMenuItem + // + this.showInstalledInBrowserMenuItem.Name = "showInstalledInBrowserMenuItem"; + this.showInstalledInBrowserMenuItem.Size = new System.Drawing.Size(252, 22); + this.showInstalledInBrowserMenuItem.Text = "Show Input In Blueprint Browser..."; + this.showInstalledInBrowserMenuItem.Click += new System.EventHandler(this.showInBrowserMenuItem_Click); + // + // showProducedInBrowserMenuItem + // + this.showProducedInBrowserMenuItem.Name = "showProducedInBrowserMenuItem"; + this.showProducedInBrowserMenuItem.Size = new System.Drawing.Size(252, 22); + this.showProducedInBrowserMenuItem.Text = "Show Output In Browser..."; + this.showProducedInBrowserMenuItem.Click += new System.EventHandler(this.showInBrowserMenuItem_Click); + // + // showInBrowserMenuSeparator + // + this.showInBrowserMenuSeparator.Name = "showInBrowserMenuSeparator"; + this.showInBrowserMenuSeparator.Size = new System.Drawing.Size(249, 6); + // + // exportToCSVToolStripMenuItem + // + this.exportToCSVToolStripMenuItem.Name = "exportToCSVToolStripMenuItem"; + this.exportToCSVToolStripMenuItem.Size = new System.Drawing.Size(252, 22); + this.exportToCSVToolStripMenuItem.Text = "Export To CSV..."; + this.exportToCSVToolStripMenuItem.Click += new System.EventHandler(this.exportToCSVToolStripMenuItem_Click); + // + // ilIcons + // + this.ilIcons.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ilIcons.ImageStream"))); + this.ilIcons.TransparentColor = System.Drawing.Color.Transparent; + this.ilIcons.Images.SetKeyName(0, "arrow_up.png"); + this.ilIcons.Images.SetKeyName(1, "arrow_down.png"); + this.ilIcons.Images.SetKeyName(2, "16x16Transparant.png"); + // + // noJobsLabel + // + this.noJobsLabel.Dock = System.Windows.Forms.DockStyle.Fill; + this.noJobsLabel.ForeColor = System.Drawing.SystemColors.GrayText; + this.noJobsLabel.Location = new System.Drawing.Point(0, 0); + this.noJobsLabel.Name = "noJobsLabel"; + this.noJobsLabel.Size = new System.Drawing.Size(454, 434); + this.noJobsLabel.TabIndex = 2; + this.noJobsLabel.Text = "No industry jobs are available."; + this.noJobsLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // industryExpPanelControl + // + this.industryExpPanelControl.AnimationSpeed = EVEMon.Common.Controls.AnimationSpeed.Medium; + this.industryExpPanelControl.Dock = System.Windows.Forms.DockStyle.Bottom; + this.industryExpPanelControl.EnableContextMenu = false; + this.industryExpPanelControl.ExpandDirection = EVEMon.Common.Controls.Direction.Down; + this.industryExpPanelControl.ExpandedHeight = 123; + this.industryExpPanelControl.ExpandedOnStartup = false; + this.industryExpPanelControl.HeaderHeight = 30; + this.industryExpPanelControl.HeaderText = "Header Text"; + this.industryExpPanelControl.ImageCollapse = ((System.Drawing.Bitmap)(resources.GetObject("industryExpPanelControl.ImageCollapse"))); + this.industryExpPanelControl.ImageExpand = ((System.Drawing.Bitmap)(resources.GetObject("industryExpPanelControl.ImageExpand"))); + this.industryExpPanelControl.Location = new System.Drawing.Point(0, 334); + this.industryExpPanelControl.Name = "industryExpPanelControl"; + this.industryExpPanelControl.Size = new System.Drawing.Size(454, 100); + this.industryExpPanelControl.TabIndex = 1; + // + // CharacterIndustryJobsList + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.lvJobs); + this.Controls.Add(this.industryExpPanelControl); + this.Controls.Add(this.noJobsLabel); + this.Name = "CharacterIndustryJobsList"; + this.Size = new System.Drawing.Size(454, 434); + this.contextMenu.ResumeLayout(false); + this.ResumeLayout(false); } diff --git a/src/EVEMon/CharacterMonitoring/CharacterIndustryJobsList.cs b/src/EVEMon/CharacterMonitoring/CharacterIndustryJobsList.cs index 659de0df2..c4f68c6e3 100644 --- a/src/EVEMon/CharacterMonitoring/CharacterIndustryJobsList.cs +++ b/src/EVEMon/CharacterMonitoring/CharacterIndustryJobsList.cs @@ -45,6 +45,7 @@ internal sealed partial class CharacterIndustryJobsList : UserControl, IListView private bool m_isUpdatingColumns; private bool m_columnsChanged; private bool m_init; + private bool m_ttcsort = false; private int m_columnTTCIndex; @@ -205,7 +206,7 @@ public IEnumerable Columns m_columns.AddRange(value.Cast()); // Whenever the columns changes, we need to - // reset the dipslay index of the TTC column + // reset the display index of the TTC column m_columnTTCIndex = -1; if (m_init) @@ -303,7 +304,7 @@ public void AutoResizeColumns() m_columns.ForEach(column => { if (column.Visible) - column.Width = -2; + column.Width = column.Column.GetHeader() == "TTC" ? 120 : -2; }); UpdateColumns(); @@ -335,6 +336,15 @@ internal void UpdateColumns() switch (column.Column) { case IndustryJobColumn.TTC: + //! veg 28-20-2023 Sort on TTC by default. + if (!m_ttcsort) + { + m_sortCriteria = column.Column; + UpdateSort(); + m_ttcsort = true; + } + header.TextAlign = HorizontalAlignment.Right; + break; case IndustryJobColumn.Cost: case IndustryJobColumn.Probability: header.TextAlign = HorizontalAlignment.Right; diff --git a/src/EVEMon/CharacterMonitoring/CharacterIndustryJobsList.resx b/src/EVEMon/CharacterMonitoring/CharacterIndustryJobsList.resx index a94184f99..e0b5851a9 100644 --- a/src/EVEMon/CharacterMonitoring/CharacterIndustryJobsList.resx +++ b/src/EVEMon/CharacterMonitoring/CharacterIndustryJobsList.resx @@ -128,7 +128,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADi - AAAAAk1TRnQBSQFMAgEBAwEAAXQBBwF0AQcBEAEAARABAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFA + AAAAAk1TRnQBSQFMAgEBAwEAAYQBBwGEAQcBEAEAARABAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFA AwABEAMAAQEBAAEQBgABCP8A/wD/AP8A/wD/AP8A/wAaAAFCAU0BPgcAAT4DAAEoAwABQAMAARADAAEB AQABAQUAAYAXAAP/AQAG/wIABv8CAAb/AgAG/wIABv8CAAb/AgAB8AEPAf4BfwL/AgAB+AEfAfwBPwL/ AgAB/AE/AfgBHwL/AgAB/gF/AfABDwL/AgAG/wIABv8CAAb/AgAG/wIABv8CAAb/AgAL diff --git a/src/EVEMon/CharacterMonitoring/CharacterMonitorBody.cs b/src/EVEMon/CharacterMonitoring/CharacterMonitorBody.cs index 1e065d883..5c0e10813 100644 --- a/src/EVEMon/CharacterMonitoring/CharacterMonitorBody.cs +++ b/src/EVEMon/CharacterMonitoring/CharacterMonitorBody.cs @@ -161,7 +161,8 @@ private void OnDisposed(object sender, EventArgs e) /// private void UpdateFrequentControls() { - SuspendLayout(); + //veg + //SuspendLayout(); try { // Hides or shows the warning about a character with no API key @@ -169,7 +170,8 @@ private void UpdateFrequentControls() } finally { - ResumeLayout(false); + //veg + //ResumeLayout(false); Refresh(); } } @@ -183,7 +185,8 @@ private void UpdateInfrequentControls() if (!Visible) return; - SuspendLayout(); + //veg + //SuspendLayout(); try { // Reset the text filter @@ -227,8 +230,9 @@ private void UpdateInfrequentControls() } finally { - ResumeLayout(false); - Refresh(); + //veg + //ResumeLayout(false); + //Refresh(); } } diff --git a/src/EVEMon/CharacterMonitoring/CharacterMonitorFooter.cs b/src/EVEMon/CharacterMonitoring/CharacterMonitorFooter.cs index 02609af08..69e9b3177 100644 --- a/src/EVEMon/CharacterMonitoring/CharacterMonitorFooter.cs +++ b/src/EVEMon/CharacterMonitoring/CharacterMonitorFooter.cs @@ -101,7 +101,8 @@ private void OnDisposed(object sender, EventArgs e) /// private void UpdateFrequentControls() { - SuspendLayout(); + //veg + //SuspendLayout(); try { // Update the training controls @@ -109,7 +110,8 @@ private void UpdateFrequentControls() } finally { - ResumeLayout(false); + //veg + //ResumeLayout(false); } } @@ -241,7 +243,8 @@ private void UpdateInfrequentControls() if (!Visible) return; - SuspendLayout(); + //veg + //SuspendLayout(); try { // "Update Calendar" button @@ -249,7 +252,8 @@ private void UpdateInfrequentControls() } finally { - ResumeLayout(false); + //veg + //ResumeLayout(false); } } diff --git a/src/EVEMon/CharacterMonitoring/CharacterMonitorHeader.cs b/src/EVEMon/CharacterMonitoring/CharacterMonitorHeader.cs index badff8251..eedc395cc 100644 --- a/src/EVEMon/CharacterMonitoring/CharacterMonitorHeader.cs +++ b/src/EVEMon/CharacterMonitoring/CharacterMonitorHeader.cs @@ -127,7 +127,8 @@ private void UpdateFrequentControls() if (m_character == null) return; - SuspendLayout(); + //veg + //SuspendLayout(); try { RefreshThrobber(); @@ -148,7 +149,8 @@ private void UpdateFrequentControls() } finally { - ResumeLayout(false); + //veg + //ResumeLayout(false); } } @@ -191,7 +193,8 @@ private void UpdateInfrequentControls() if (m_character == null) return; - SuspendLayout(); + //veg + //SuspendLayout(); try { // Safe for work implementation @@ -219,7 +222,8 @@ private void UpdateInfrequentControls() } finally { - ResumeLayout(false); + //veg + //ResumeLayout(false); } } @@ -231,7 +235,8 @@ private void UpdateInfoControls() if (m_character == null) return; - SuspendLayout(); + //veg + //SuspendLayout(); try { SecurityStatusLabel.Text = $"Security Status: {m_character.SecurityStatus:N2}"; @@ -246,7 +251,7 @@ private void UpdateInfoControls() } finally { - ResumeLayout(false); + //ResumeLayout(false); } } @@ -290,7 +295,8 @@ private void UpdateAccountStatusInfo() return; } - SuspendLayout(); + //veg + //SuspendLayout(); m_updatingStatus = true; try { @@ -332,7 +338,8 @@ private void UpdateAccountStatusInfo() finally { m_updatingStatus = false; - ResumeLayout(false); + //veg + //ResumeLayout(false); } } @@ -359,7 +366,7 @@ private void FormatBalance() if (m_character == null) return; - BalanceLabel.Text = $"Balance: {m_character.Balance:N} ISK"; + BalanceLabel.Text = $"Balance: {m_character.Balance:N0} ISK"; CCPCharacter ccpCharacter = m_character as CCPCharacter; diff --git a/src/EVEMon/CharacterMonitoring/CharacterMonitorHeader.resx b/src/EVEMon/CharacterMonitoring/CharacterMonitorHeader.resx index 55f1fd4d3..a83ecaa69 100644 --- a/src/EVEMon/CharacterMonitoring/CharacterMonitorHeader.resx +++ b/src/EVEMon/CharacterMonitoring/CharacterMonitorHeader.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 193, 17 - 17, 17 diff --git a/src/EVEMon/CharacterMonitoring/CharacterPlanetaryList.Designer.cs b/src/EVEMon/CharacterMonitoring/CharacterPlanetaryList.Designer.cs index 35d679f33..f3bd07d8c 100644 --- a/src/EVEMon/CharacterMonitoring/CharacterPlanetaryList.Designer.cs +++ b/src/EVEMon/CharacterMonitoring/CharacterPlanetaryList.Designer.cs @@ -153,7 +153,7 @@ private void InitializeComponent() // chTTC // this.chTTC.Text = "TTC"; - this.chTTC.Width = 54; + this.chTTC.Width = 120; // // chInstallation // diff --git a/src/EVEMon/CharacterMonitoring/CharacterPlanetaryList.cs b/src/EVEMon/CharacterMonitoring/CharacterPlanetaryList.cs index ea5969156..364d3233f 100644 --- a/src/EVEMon/CharacterMonitoring/CharacterPlanetaryList.cs +++ b/src/EVEMon/CharacterMonitoring/CharacterPlanetaryList.cs @@ -257,7 +257,7 @@ public void AutoResizeColumns() m_columns.ForEach(column => { if (column.Visible) - column.Width = -2; + column.Width = column.Column.GetHeader() == "TTC" ? 120 : -2; }); UpdateColumns(); diff --git a/src/EVEMon/Controls/NotificationList.cs b/src/EVEMon/Controls/NotificationList.cs index b2bdb5f7a..ca1bac76a 100644 --- a/src/EVEMon/Controls/NotificationList.cs +++ b/src/EVEMon/Controls/NotificationList.cs @@ -532,12 +532,12 @@ private void DisplayTooltip(NotificationEventArgs notification) } // Industry jobs ? - IndustryJobsNotificationEventArgs jobsNotification = notification as IndustryJobsNotificationEventArgs; - if (jobsNotification != null) - { - SetToolTip(IndustryJobsCompletedMessage(jobsNotification)); - return; - } + IndustryJobsNotificationEventArgs jobsNotification = notification as IndustryJobsNotificationEventArgs; + if (jobsNotification != null) + { + SetToolTip(IndustryJobsCompletedMessage(jobsNotification)); + return; + } // Planetary pins ? PlanetaryPinsNotificationEventArgs pinsNotification = notification as PlanetaryPinsNotificationEventArgs; diff --git a/src/EVEMon/Controls/Overview.cs b/src/EVEMon/Controls/Overview.cs index a5b6a388d..fdd57cd5a 100644 --- a/src/EVEMon/Controls/Overview.cs +++ b/src/EVEMon/Controls/Overview.cs @@ -11,6 +11,8 @@ using EVEMon.Common.Extensions; using EVEMon.Common.Factories; using EVEMon.Common.Models; +using EVEMon.Common.Notifications; +using EVEMon.Common.SettingsObjects; namespace EVEMon.Controls { @@ -142,7 +144,7 @@ private void UpdateContent() characters.AddRange(EveMonClient.MonitoredCharacters); int index = 0; - + foreach (Character character in characters) { // Retrieve the current overview item, or null if we're past the limits @@ -163,6 +165,18 @@ private void UpdateContent() overviewItems.Insert(index, overviewItem); } + Int32 badgeCount = EveMonClient.Notifications.Where(p => character.Equals(p.SenderCharacter) && p.Category != NotificationCategory.MarketOrdersEnding).Distinct().Count(); + + //System.Diagnostics.Debug.WriteLine($"{character.Name} - {badgeCount}"); + Label badge = (Label)overviewItems[index].Controls.Find("badge", true)[0]; + + badge.Visible = badgeCount != 0; + badge.Text = $"{badgeCount}"; + + MainWindowSettings mainWindowSettings = Settings.UI.MainWindow; + PortraitSizes portraitSize = mainWindowSettings.OverviewItemSize; + badge.Left = portraitSize.GetDefaultValue() - badge.Width + 3; + // Remove processed character from the dictionary and move forward if (character != null) items.Remove(character); @@ -311,9 +325,9 @@ private void PerformCustomLayout() // Computes the vertical margin height -= Pad; - + // We put 1/3 at the top, 2/3 at the bottom - int marginV = Math.Max(0, (clientHeight - height) / 3); + int marginV = Math.Max(0, (clientHeight - height) / 3); // Adjust the controls bounds rowIndex = 0; diff --git a/src/EVEMon/Controls/OverviewItem.Designer.cs b/src/EVEMon/Controls/OverviewItem.Designer.cs index 4ea9f2a23..46a517990 100644 --- a/src/EVEMon/Controls/OverviewItem.Designer.cs +++ b/src/EVEMon/Controls/OverviewItem.Designer.cs @@ -29,6 +29,7 @@ protected override void Dispose(bool disposing) private void InitializeComponent() { this.pbCharacterPortrait = new EVEMon.Common.Controls.CharacterPortrait(); + this.badge = new System.Windows.Forms.Label(); this.lblTotalSkillPoints = new EVEMon.Controls.OverviewLabel(); this.lblExtraInfo = new EVEMon.Controls.OverviewLabel(); this.lblSkillQueueTrainingTime = new EVEMon.Controls.OverviewLabel(); @@ -49,6 +50,18 @@ private void InitializeComponent() this.pbCharacterPortrait.TabIndex = 0; this.pbCharacterPortrait.TabStop = false; // + // badge + // + this.badge.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.badge.AutoSize = true; + this.badge.BackColor = System.Drawing.SystemColors.InactiveCaption; + this.badge.Location = new System.Drawing.Point(86, 86); + this.badge.Margin = new System.Windows.Forms.Padding(0); + this.badge.Name = "badge"; + this.badge.Size = new System.Drawing.Size(13, 13); + this.badge.TabIndex = 9; + this.badge.Text = "0"; + // // lblTotalSkillPoints // this.lblTotalSkillPoints.AutoEllipsis = true; @@ -149,6 +162,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.badge); this.Controls.Add(this.lblTotalSkillPoints); this.Controls.Add(this.lblExtraInfo); this.Controls.Add(this.lblSkillQueueTrainingTime); @@ -162,6 +176,7 @@ private void InitializeComponent() this.Name = "OverviewItem"; this.Size = new System.Drawing.Size(330, 120); this.ResumeLayout(false); + this.PerformLayout(); } @@ -176,5 +191,6 @@ private void InitializeComponent() private OverviewLabel lblCompletionTime; private OverviewLabel lblSkillQueueTrainingTime; private OverviewLabel lblExtraInfo; + private System.Windows.Forms.Label badge; } } \ No newline at end of file diff --git a/src/EVEMon/Controls/OverviewItem.cs b/src/EVEMon/Controls/OverviewItem.cs index 59d2a0466..a508d6533 100644 --- a/src/EVEMon/Controls/OverviewItem.cs +++ b/src/EVEMon/Controls/OverviewItem.cs @@ -461,7 +461,7 @@ private void UpdateExtraData() /// private void FormatBalance() { - lblBalance.Text = $"{Character.Balance:N} ISK"; + lblBalance.Text = $"{Character.Balance:N0} ISK"; CCPCharacter ccpCharacter = Character as CCPCharacter; Color balanceColor = m_settingsForeColor; diff --git a/src/EVEMon/EVEMon.csproj b/src/EVEMon/EVEMon.csproj index 63177e99a..04ec08282 100644 --- a/src/EVEMon/EVEMon.csproj +++ b/src/EVEMon/EVEMon.csproj @@ -9,7 +9,7 @@ Properties EVEMon EVEMon - v4.6.1 + v4.7.2 512 true @@ -1162,10 +1162,6 @@ True SkipValidatePackageReferences=true - - {3067bdfb-c02d-4caf-96aa-4d8f9f986180} - EVEMon.LogitechG15 - {8C4A87A0-780E-4765-ADD0-146091FE26F4} EVEMon.Watchdog diff --git a/src/EVEMon/MainWindow.Designer.cs b/src/EVEMon/MainWindow.Designer.cs index b00d76cce..9eda0477d 100644 --- a/src/EVEMon/MainWindow.Designer.cs +++ b/src/EVEMon/MainWindow.Designer.cs @@ -29,321 +29,321 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainWindow)); - this.trayIconContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components); - this.planToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.plansStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.testTrayToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.trayTestNotificationTSMI = new System.Windows.Forms.ToolStripMenuItem(); - this.trayTestCharacterNotificationTSMI = new System.Windows.Forms.ToolStripMenuItem(); - this.testsToolStripSeperator = new System.Windows.Forms.ToolStripSeparator(); - this.restoreToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.statusStrip = new System.Windows.Forms.StatusStrip(); - this.lblTraining = new System.Windows.Forms.ToolStripStatusLabel(); - this.lblStatus = new System.Windows.Forms.ToolStripStatusLabel(); - this.lblServerStatus = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolStripStatusSpacerLabel = new System.Windows.Forms.ToolStripStatusLabel(); - this.lblCSSProviderStatus = new System.Windows.Forms.ToolStripStatusLabel(); - this.tsDatafilesLoadingProgressBar = new System.Windows.Forms.ToolStripProgressBar(); - this.saveFileDialog = new System.Windows.Forms.SaveFileDialog(); - this.openFileDialog = new System.Windows.Forms.OpenFileDialog(); - this.mainMenuBar = new System.Windows.Forms.MenuStrip(); - this.toolbarContext = new System.Windows.Forms.ContextMenuStrip(this.components); - this.menubarToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolbarToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.addAPIKeyMenu = new System.Windows.Forms.ToolStripMenuItem(); - this.manageAPIKeysMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.fileManagerHideToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.deleteCharacterMenu = new System.Windows.Forms.ToolStripMenuItem(); - this.exportCharacterMenu = new System.Windows.Forms.ToolStripMenuItem(); - this.hideCharacterMenu = new System.Windows.Forms.ToolStripMenuItem(); - this.fileExportSaveToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.loadSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.resetSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.fileRestoreResetToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.clearCacheToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.fileResetExitToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.copySkillsToClipboardBBFormatToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.plansToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.tsmiNewPlan = new System.Windows.Forms.ToolStripMenuItem(); - this.tsmiCreatePlanFromSkillQueue = new System.Windows.Forms.ToolStripMenuItem(); - this.tsmiImportPlanFromFile = new System.Windows.Forms.ToolStripMenuItem(); - this.tsmiManagePlans = new System.Windows.Forms.ToolStripMenuItem(); - this.plansSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.charactersComparisonMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.blankCreatorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.dataBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.skillBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.certificateBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.shipBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.itemBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.blueprintBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.skillsPieChartMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.firstSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.implantsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.showOwnedSkillbooksMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.secondSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.forumsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.issuesFeaturesMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.readTheDocsManualToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.helpAboutKnownProblemsToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.aboutMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.testsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.exceptionWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.exceptionWindowRecursiveExceptionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.testNotificationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.testCharacterNotificationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.testTimeoutOneSecToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.restartToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.mainToolBar = new System.Windows.Forms.ToolStrip(); - this.addAPIKeyTbMenu = new System.Windows.Forms.ToolStripButton(); - this.apiKeysManagementTbMenu = new System.Windows.Forms.ToolStripButton(); - this.apiKeysSettingsToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.manageCharacterTbMenu = new System.Windows.Forms.ToolStripDropDownButton(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); - this.manageCharacterToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.tsdbSettings = new System.Windows.Forms.ToolStripDropDownButton(); - this.tsLoadSettings = new System.Windows.Forms.ToolStripMenuItem(); - this.tsSaveSettings = new System.Windows.Forms.ToolStripMenuItem(); - this.settingsToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.clearCacheToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.resetSettingsToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.cacheResetToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.exitToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.exitToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.tsbManagePlans = new System.Windows.Forms.ToolStripButton(); - this.plansTbMenu = new System.Windows.Forms.ToolStripDropDownButton(); - this.plansToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.characterComparisonToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.tsbMineralSheet = new System.Windows.Forms.ToolStripButton(); - this.skillsPieChartTbMenu = new System.Windows.Forms.ToolStripButton(); - this.tsbSchedule = new System.Windows.Forms.ToolStripButton(); - this.tsbImplantGroups = new System.Windows.Forms.ToolStripButton(); - this.tsbShowOwned = new System.Windows.Forms.ToolStripButton(); - this.toolsToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.tsbOptions = new System.Windows.Forms.ToolStripButton(); - this.tsbAbout = new System.Windows.Forms.ToolStripButton(); - this.niAlertIcon = new System.Windows.Forms.NotifyIcon(this.components); - this.ofdOpenDialog = new System.Windows.Forms.OpenFileDialog(); - this.tcCharacterTabs = new EVEMon.Common.Controls.DraggableTabControl(); - this.tpOverview = new System.Windows.Forms.TabPage(); - this.overview = new EVEMon.Controls.Overview(); - this.trayIcon = new EVEMon.Common.Controls.TrayIcon(this.components); - this.tabLoadingLabel = new System.Windows.Forms.Label(); - this.noCharactersLabel = new System.Windows.Forms.Label(); - this.mainLoadingThrobber = new EVEMon.Common.Controls.Throbber(); - this.notificationList = new EVEMon.Controls.NotificationList(); - this.trayIconContextMenuStrip.SuspendLayout(); - this.statusStrip.SuspendLayout(); - this.mainMenuBar.SuspendLayout(); - this.toolbarContext.SuspendLayout(); - this.mainToolBar.SuspendLayout(); - this.tcCharacterTabs.SuspendLayout(); - this.tpOverview.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.mainLoadingThrobber)).BeginInit(); - this.SuspendLayout(); - // - // trayIconContextMenuStrip - // - this.trayIconContextMenuStrip.ImageScalingSize = new System.Drawing.Size(24, 24); - this.trayIconContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainWindow)); + this.trayIconContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components); + this.planToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.plansStripSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.testTrayToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.trayTestNotificationTSMI = new System.Windows.Forms.ToolStripMenuItem(); + this.trayTestCharacterNotificationTSMI = new System.Windows.Forms.ToolStripMenuItem(); + this.testsToolStripSeperator = new System.Windows.Forms.ToolStripSeparator(); + this.restoreToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.statusStrip = new System.Windows.Forms.StatusStrip(); + this.lblTraining = new System.Windows.Forms.ToolStripStatusLabel(); + this.lblStatus = new System.Windows.Forms.ToolStripStatusLabel(); + this.lblServerStatus = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusSpacerLabel = new System.Windows.Forms.ToolStripStatusLabel(); + this.lblCSSProviderStatus = new System.Windows.Forms.ToolStripStatusLabel(); + this.tsDatafilesLoadingProgressBar = new System.Windows.Forms.ToolStripProgressBar(); + this.saveFileDialog = new System.Windows.Forms.SaveFileDialog(); + this.openFileDialog = new System.Windows.Forms.OpenFileDialog(); + this.mainMenuBar = new System.Windows.Forms.MenuStrip(); + this.toolbarContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.menubarToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolbarToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.addAPIKeyMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.manageAPIKeysMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fileManagerHideToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.deleteCharacterMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.exportCharacterMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.hideCharacterMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.fileExportSaveToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.loadSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.resetSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fileRestoreResetToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.clearCacheToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fileResetExitToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.copySkillsToClipboardBBFormatToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.plansToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmiNewPlan = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmiCreatePlanFromSkillQueue = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmiImportPlanFromFile = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmiManagePlans = new System.Windows.Forms.ToolStripMenuItem(); + this.plansSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.charactersComparisonMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.blankCreatorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.dataBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.skillBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.certificateBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.shipBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.itemBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.blueprintBrowserMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.skillsPieChartMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.firstSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.implantsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.showOwnedSkillbooksMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.secondSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.forumsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.issuesFeaturesMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.readTheDocsManualToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.helpAboutKnownProblemsToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.aboutMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.testsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exceptionWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exceptionWindowRecursiveExceptionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.testNotificationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.testCharacterNotificationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.testTimeoutOneSecToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.restartToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.mainToolBar = new System.Windows.Forms.ToolStrip(); + this.addAPIKeyTbMenu = new System.Windows.Forms.ToolStripButton(); + this.apiKeysManagementTbMenu = new System.Windows.Forms.ToolStripButton(); + this.apiKeysSettingsToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.manageCharacterTbMenu = new System.Windows.Forms.ToolStripDropDownButton(); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.manageCharacterToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.tsdbSettings = new System.Windows.Forms.ToolStripDropDownButton(); + this.tsLoadSettings = new System.Windows.Forms.ToolStripMenuItem(); + this.tsSaveSettings = new System.Windows.Forms.ToolStripMenuItem(); + this.settingsToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.clearCacheToolStripButton = new System.Windows.Forms.ToolStripButton(); + this.resetSettingsToolStripButton = new System.Windows.Forms.ToolStripButton(); + this.cacheResetToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.exitToolStripButton = new System.Windows.Forms.ToolStripButton(); + this.exitToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.tsbManagePlans = new System.Windows.Forms.ToolStripButton(); + this.plansTbMenu = new System.Windows.Forms.ToolStripDropDownButton(); + this.plansToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.characterComparisonToolStripButton = new System.Windows.Forms.ToolStripButton(); + this.tsbMineralSheet = new System.Windows.Forms.ToolStripButton(); + this.skillsPieChartTbMenu = new System.Windows.Forms.ToolStripButton(); + this.tsbSchedule = new System.Windows.Forms.ToolStripButton(); + this.tsbImplantGroups = new System.Windows.Forms.ToolStripButton(); + this.tsbShowOwned = new System.Windows.Forms.ToolStripButton(); + this.toolsToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.tsbOptions = new System.Windows.Forms.ToolStripButton(); + this.tsbAbout = new System.Windows.Forms.ToolStripButton(); + this.niAlertIcon = new System.Windows.Forms.NotifyIcon(this.components); + this.ofdOpenDialog = new System.Windows.Forms.OpenFileDialog(); + this.tcCharacterTabs = new EVEMon.Common.Controls.DraggableTabControl(); + this.tpOverview = new System.Windows.Forms.TabPage(); + this.overview = new EVEMon.Controls.Overview(); + this.trayIcon = new EVEMon.Common.Controls.TrayIcon(this.components); + this.tabLoadingLabel = new System.Windows.Forms.Label(); + this.noCharactersLabel = new System.Windows.Forms.Label(); + this.mainLoadingThrobber = new EVEMon.Common.Controls.Throbber(); + this.notificationList = new EVEMon.Controls.NotificationList(); + this.trayIconContextMenuStrip.SuspendLayout(); + this.statusStrip.SuspendLayout(); + this.mainMenuBar.SuspendLayout(); + this.toolbarContext.SuspendLayout(); + this.mainToolBar.SuspendLayout(); + this.tcCharacterTabs.SuspendLayout(); + this.tpOverview.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.mainLoadingThrobber)).BeginInit(); + this.SuspendLayout(); + // + // trayIconContextMenuStrip + // + this.trayIconContextMenuStrip.ImageScalingSize = new System.Drawing.Size(24, 24); + this.trayIconContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.planToolStripMenuItem, this.plansStripSeparator, this.testTrayToolStripMenuItem, this.testsToolStripSeperator, this.restoreToolStripMenuItem, this.closeToolStripMenuItem}); - this.trayIconContextMenuStrip.Name = "trayIconContextMenuStrip"; - this.trayIconContextMenuStrip.Size = new System.Drawing.Size(114, 104); - this.trayIconContextMenuStrip.Closed += new System.Windows.Forms.ToolStripDropDownClosedEventHandler(this.trayIconToolStrip_Closed); - this.trayIconContextMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(this.trayIconToolStrip_Opening); - // - // planToolStripMenuItem - // - this.planToolStripMenuItem.Name = "planToolStripMenuItem"; - this.planToolStripMenuItem.Size = new System.Drawing.Size(113, 22); - this.planToolStripMenuItem.Text = "Plans"; - // - // plansStripSeparator - // - this.plansStripSeparator.Name = "plansStripSeparator"; - this.plansStripSeparator.Size = new System.Drawing.Size(110, 6); - // - // testTrayToolStripMenuItem - // - this.testTrayToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.trayIconContextMenuStrip.Name = "trayIconContextMenuStrip"; + this.trayIconContextMenuStrip.Size = new System.Drawing.Size(114, 104); + this.trayIconContextMenuStrip.Closed += new System.Windows.Forms.ToolStripDropDownClosedEventHandler(this.trayIconToolStrip_Closed); + this.trayIconContextMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(this.trayIconToolStrip_Opening); + // + // planToolStripMenuItem + // + this.planToolStripMenuItem.Name = "planToolStripMenuItem"; + this.planToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.planToolStripMenuItem.Text = "Plans"; + // + // plansStripSeparator + // + this.plansStripSeparator.Name = "plansStripSeparator"; + this.plansStripSeparator.Size = new System.Drawing.Size(110, 6); + // + // testTrayToolStripMenuItem + // + this.testTrayToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.trayTestNotificationTSMI, this.trayTestCharacterNotificationTSMI}); - this.testTrayToolStripMenuItem.Name = "testTrayToolStripMenuItem"; - this.testTrayToolStripMenuItem.Size = new System.Drawing.Size(113, 22); - this.testTrayToolStripMenuItem.Text = "Test"; - this.testTrayToolStripMenuItem.Visible = false; - // - // trayTestNotificationTSMI - // - this.trayTestNotificationTSMI.Name = "trayTestNotificationTSMI"; - this.trayTestNotificationTSMI.Size = new System.Drawing.Size(191, 22); - this.trayTestNotificationTSMI.Text = "Notification"; - this.trayTestNotificationTSMI.Click += new System.EventHandler(this.testNotificationToolstripMenuItem_Click); - // - // trayTestCharacterNotificationTSMI - // - this.trayTestCharacterNotificationTSMI.Name = "trayTestCharacterNotificationTSMI"; - this.trayTestCharacterNotificationTSMI.Size = new System.Drawing.Size(191, 22); - this.trayTestCharacterNotificationTSMI.Text = "Character Notification"; - this.trayTestCharacterNotificationTSMI.Click += new System.EventHandler(this.testCharacterNotificationToolStripMenuItem_Click); - // - // testsToolStripSeperator - // - this.testsToolStripSeperator.Name = "testsToolStripSeperator"; - this.testsToolStripSeperator.Size = new System.Drawing.Size(110, 6); - this.testsToolStripSeperator.Visible = false; - // - // restoreToolStripMenuItem - // - this.restoreToolStripMenuItem.Name = "restoreToolStripMenuItem"; - this.restoreToolStripMenuItem.Size = new System.Drawing.Size(113, 22); - this.restoreToolStripMenuItem.Text = "Restore"; - this.restoreToolStripMenuItem.Click += new System.EventHandler(this.restoreToolStripMenuItem_Click); - // - // closeToolStripMenuItem - // - this.closeToolStripMenuItem.Name = "closeToolStripMenuItem"; - this.closeToolStripMenuItem.Size = new System.Drawing.Size(113, 22); - this.closeToolStripMenuItem.Text = "Close"; - this.closeToolStripMenuItem.Click += new System.EventHandler(this.closeToolStripMenuItem_Click); - // - // statusStrip - // - this.statusStrip.ImageScalingSize = new System.Drawing.Size(24, 24); - this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.testTrayToolStripMenuItem.Name = "testTrayToolStripMenuItem"; + this.testTrayToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.testTrayToolStripMenuItem.Text = "Test"; + this.testTrayToolStripMenuItem.Visible = false; + // + // trayTestNotificationTSMI + // + this.trayTestNotificationTSMI.Name = "trayTestNotificationTSMI"; + this.trayTestNotificationTSMI.Size = new System.Drawing.Size(191, 22); + this.trayTestNotificationTSMI.Text = "Notification"; + this.trayTestNotificationTSMI.Click += new System.EventHandler(this.testNotificationToolstripMenuItem_Click); + // + // trayTestCharacterNotificationTSMI + // + this.trayTestCharacterNotificationTSMI.Name = "trayTestCharacterNotificationTSMI"; + this.trayTestCharacterNotificationTSMI.Size = new System.Drawing.Size(191, 22); + this.trayTestCharacterNotificationTSMI.Text = "Character Notification"; + this.trayTestCharacterNotificationTSMI.Click += new System.EventHandler(this.testCharacterNotificationToolStripMenuItem_Click); + // + // testsToolStripSeperator + // + this.testsToolStripSeperator.Name = "testsToolStripSeperator"; + this.testsToolStripSeperator.Size = new System.Drawing.Size(110, 6); + this.testsToolStripSeperator.Visible = false; + // + // restoreToolStripMenuItem + // + this.restoreToolStripMenuItem.Name = "restoreToolStripMenuItem"; + this.restoreToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.restoreToolStripMenuItem.Text = "Restore"; + this.restoreToolStripMenuItem.Click += new System.EventHandler(this.restoreToolStripMenuItem_Click); + // + // closeToolStripMenuItem + // + this.closeToolStripMenuItem.Name = "closeToolStripMenuItem"; + this.closeToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.closeToolStripMenuItem.Text = "Close"; + this.closeToolStripMenuItem.Click += new System.EventHandler(this.closeToolStripMenuItem_Click); + // + // statusStrip + // + this.statusStrip.ImageScalingSize = new System.Drawing.Size(24, 24); + this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.lblTraining, this.lblStatus, this.lblServerStatus, this.toolStripStatusSpacerLabel, this.lblCSSProviderStatus, this.tsDatafilesLoadingProgressBar}); - this.statusStrip.Location = new System.Drawing.Point(0, 624); - this.statusStrip.Name = "statusStrip"; - this.statusStrip.ShowItemToolTips = true; - this.statusStrip.Size = new System.Drawing.Size(600, 22); - this.statusStrip.TabIndex = 1; - // - // lblTraining - // - this.lblTraining.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.lblTraining.Name = "lblTraining"; - this.lblTraining.Size = new System.Drawing.Size(0, 17); - this.lblTraining.Text = "toolStripStatusLabel1"; - // - // lblStatus - // - this.lblStatus.Name = "lblStatus"; - this.lblStatus.Size = new System.Drawing.Size(59, 17); - this.lblStatus.Text = "EVE Time:"; - // - // lblServerStatus - // - this.lblServerStatus.Name = "lblServerStatus"; - this.lblServerStatus.Size = new System.Drawing.Size(137, 17); - this.lblServerStatus.Text = "| Server Status Unknown"; - // - // toolStripStatusSpacerLabel - // - this.toolStripStatusSpacerLabel.Name = "toolStripStatusSpacerLabel"; - this.toolStripStatusSpacerLabel.Size = new System.Drawing.Size(287, 17); - this.toolStripStatusSpacerLabel.Spring = true; - // - // lblCSSProviderStatus - // - this.lblCSSProviderStatus.Name = "lblCSSProviderStatus"; - this.lblCSSProviderStatus.Size = new System.Drawing.Size(143, 17); - this.lblCSSProviderStatus.Text = "Uploading to CSSProvider"; - this.lblCSSProviderStatus.Visible = false; - // - // tsDatafilesLoadingProgressBar - // - this.tsDatafilesLoadingProgressBar.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsDatafilesLoadingProgressBar.Name = "tsDatafilesLoadingProgressBar"; - this.tsDatafilesLoadingProgressBar.Size = new System.Drawing.Size(100, 16); - this.tsDatafilesLoadingProgressBar.Style = System.Windows.Forms.ProgressBarStyle.Continuous; - this.tsDatafilesLoadingProgressBar.ToolTipText = "Loading data files"; - // - // saveFileDialog - // - this.saveFileDialog.DefaultExt = "bak"; - this.saveFileDialog.FileName = "settings.xml.bak"; - this.saveFileDialog.Filter = "EVEMon Settings Backup Files (*.bak)|*.bak"; - this.saveFileDialog.RestoreDirectory = true; - this.saveFileDialog.Title = "Backup EVEMon settings file"; - // - // openFileDialog - // - this.openFileDialog.DefaultExt = "bak"; - this.openFileDialog.FileName = "settings.xml.bak"; - this.openFileDialog.Filter = "EVEMon Settings Backup Files (*.bak)|*.bak"; - this.openFileDialog.RestoreDirectory = true; - this.openFileDialog.ShowHelp = true; - this.openFileDialog.Title = "Restore EVEMon settings file"; - // - // mainMenuBar - // - this.mainMenuBar.BackColor = System.Drawing.SystemColors.Control; - this.mainMenuBar.ContextMenuStrip = this.toolbarContext; - this.mainMenuBar.ImageScalingSize = new System.Drawing.Size(24, 24); - this.mainMenuBar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.statusStrip.Location = new System.Drawing.Point(0, 624); + this.statusStrip.Name = "statusStrip"; + this.statusStrip.ShowItemToolTips = true; + this.statusStrip.Size = new System.Drawing.Size(600, 22); + this.statusStrip.TabIndex = 1; + // + // lblTraining + // + this.lblTraining.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.lblTraining.Name = "lblTraining"; + this.lblTraining.Size = new System.Drawing.Size(0, 17); + this.lblTraining.Text = "toolStripStatusLabel1"; + // + // lblStatus + // + this.lblStatus.Name = "lblStatus"; + this.lblStatus.Size = new System.Drawing.Size(58, 17); + this.lblStatus.Text = "EVE Time:"; + // + // lblServerStatus + // + this.lblServerStatus.Name = "lblServerStatus"; + this.lblServerStatus.Size = new System.Drawing.Size(137, 17); + this.lblServerStatus.Text = "| Server Status Unknown"; + // + // toolStripStatusSpacerLabel + // + this.toolStripStatusSpacerLabel.Name = "toolStripStatusSpacerLabel"; + this.toolStripStatusSpacerLabel.Size = new System.Drawing.Size(288, 17); + this.toolStripStatusSpacerLabel.Spring = true; + // + // lblCSSProviderStatus + // + this.lblCSSProviderStatus.Name = "lblCSSProviderStatus"; + this.lblCSSProviderStatus.Size = new System.Drawing.Size(143, 17); + this.lblCSSProviderStatus.Text = "Uploading to CSSProvider"; + this.lblCSSProviderStatus.Visible = false; + // + // tsDatafilesLoadingProgressBar + // + this.tsDatafilesLoadingProgressBar.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsDatafilesLoadingProgressBar.Name = "tsDatafilesLoadingProgressBar"; + this.tsDatafilesLoadingProgressBar.Size = new System.Drawing.Size(100, 16); + this.tsDatafilesLoadingProgressBar.Style = System.Windows.Forms.ProgressBarStyle.Continuous; + this.tsDatafilesLoadingProgressBar.ToolTipText = "Loading data files"; + // + // saveFileDialog + // + this.saveFileDialog.DefaultExt = "bak"; + this.saveFileDialog.FileName = "settings.xml.bak"; + this.saveFileDialog.Filter = "EVEMon Settings Backup Files (*.bak)|*.bak"; + this.saveFileDialog.RestoreDirectory = true; + this.saveFileDialog.Title = "Backup EVEMon settings file"; + // + // openFileDialog + // + this.openFileDialog.DefaultExt = "bak"; + this.openFileDialog.FileName = "settings.xml.bak"; + this.openFileDialog.Filter = "EVEMon Settings Backup Files (*.bak)|*.bak"; + this.openFileDialog.RestoreDirectory = true; + this.openFileDialog.ShowHelp = true; + this.openFileDialog.Title = "Restore EVEMon settings file"; + // + // mainMenuBar + // + this.mainMenuBar.BackColor = System.Drawing.SystemColors.Control; + this.mainMenuBar.ContextMenuStrip = this.toolbarContext; + this.mainMenuBar.ImageScalingSize = new System.Drawing.Size(24, 24); + this.mainMenuBar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem, this.editToolStripMenuItem, this.plansToolStripMenuItem, this.toolsToolStripMenuItem, this.helpToolStripMenuItem, this.testsToolStripMenuItem}); - this.mainMenuBar.Location = new System.Drawing.Point(0, 0); - this.mainMenuBar.Name = "mainMenuBar"; - this.mainMenuBar.Size = new System.Drawing.Size(600, 24); - this.mainMenuBar.TabIndex = 3; - this.mainMenuBar.Text = "menuStrip1"; - this.mainMenuBar.MouseDown += new System.Windows.Forms.MouseEventHandler(this.mainMenuBar_MouseDown); - this.mainMenuBar.MouseMove += new System.Windows.Forms.MouseEventHandler(this.mainMenuBar_MouseMove); - // - // toolbarContext - // - this.toolbarContext.ImageScalingSize = new System.Drawing.Size(24, 24); - this.toolbarContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mainMenuBar.Location = new System.Drawing.Point(0, 0); + this.mainMenuBar.Name = "mainMenuBar"; + this.mainMenuBar.Size = new System.Drawing.Size(600, 24); + this.mainMenuBar.TabIndex = 3; + this.mainMenuBar.Text = "menuStrip1"; + this.mainMenuBar.MouseDown += new System.Windows.Forms.MouseEventHandler(this.mainMenuBar_MouseDown); + this.mainMenuBar.MouseMove += new System.Windows.Forms.MouseEventHandler(this.mainMenuBar_MouseMove); + // + // toolbarContext + // + this.toolbarContext.ImageScalingSize = new System.Drawing.Size(24, 24); + this.toolbarContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menubarToolStripMenuItem, this.toolbarToolStripMenuItem}); - this.toolbarContext.Name = "toolbarContext"; - this.toolbarContext.Size = new System.Drawing.Size(123, 48); - this.toolbarContext.Opening += new System.ComponentModel.CancelEventHandler(this.toolbarContext_Opening); - // - // menubarToolStripMenuItem - // - this.menubarToolStripMenuItem.Name = "menubarToolStripMenuItem"; - this.menubarToolStripMenuItem.Size = new System.Drawing.Size(122, 22); - this.menubarToolStripMenuItem.Text = "&Menubar"; - this.menubarToolStripMenuItem.Click += new System.EventHandler(this.menubarToolStripMenuItem_Click); - // - // toolbarToolStripMenuItem - // - this.toolbarToolStripMenuItem.Name = "toolbarToolStripMenuItem"; - this.toolbarToolStripMenuItem.Size = new System.Drawing.Size(122, 22); - this.toolbarToolStripMenuItem.Text = "&Toolbar"; - this.toolbarToolStripMenuItem.Click += new System.EventHandler(this.toolbarToolStripMenuItem_Click); - // - // fileToolStripMenuItem - // - this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolbarContext.Name = "toolbarContext"; + this.toolbarContext.Size = new System.Drawing.Size(123, 48); + this.toolbarContext.Opening += new System.ComponentModel.CancelEventHandler(this.toolbarContext_Opening); + // + // menubarToolStripMenuItem + // + this.menubarToolStripMenuItem.Name = "menubarToolStripMenuItem"; + this.menubarToolStripMenuItem.Size = new System.Drawing.Size(122, 22); + this.menubarToolStripMenuItem.Text = "&Menubar"; + this.menubarToolStripMenuItem.Click += new System.EventHandler(this.menubarToolStripMenuItem_Click); + // + // toolbarToolStripMenuItem + // + this.toolbarToolStripMenuItem.Name = "toolbarToolStripMenuItem"; + this.toolbarToolStripMenuItem.Size = new System.Drawing.Size(122, 22); + this.toolbarToolStripMenuItem.Text = "&Toolbar"; + this.toolbarToolStripMenuItem.Click += new System.EventHandler(this.toolbarToolStripMenuItem_Click); + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addAPIKeyMenu, this.manageAPIKeysMenuItem, this.fileManagerHideToolStripSeparator, @@ -358,180 +358,180 @@ private void InitializeComponent() this.clearCacheToolStripMenuItem, this.fileResetExitToolStripSeparator, this.exitToolStripMenuItem}); - this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; - this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); - this.fileToolStripMenuItem.Text = "&File"; - // - // addAPIKeyMenu - // - this.addAPIKeyMenu.Image = ((System.Drawing.Image)(resources.GetObject("addAPIKeyMenu.Image"))); - this.addAPIKeyMenu.Name = "addAPIKeyMenu"; - this.addAPIKeyMenu.Size = new System.Drawing.Size(185, 22); - this.addAPIKeyMenu.Text = "&Add Character..."; - this.addAPIKeyMenu.Click += new System.EventHandler(this.addAPIKeyMenu_Click); - // - // manageAPIKeysMenuItem - // - this.manageAPIKeysMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("manageAPIKeysMenuItem.Image"))); - this.manageAPIKeysMenuItem.Name = "manageAPIKeysMenuItem"; - this.manageAPIKeysMenuItem.Size = new System.Drawing.Size(185, 22); - this.manageAPIKeysMenuItem.Text = "&Manage Characters..."; - this.manageAPIKeysMenuItem.Click += new System.EventHandler(this.manageAPIKeysMenuItem_Click); - // - // fileManagerHideToolStripSeparator - // - this.fileManagerHideToolStripSeparator.Name = "fileManagerHideToolStripSeparator"; - this.fileManagerHideToolStripSeparator.Size = new System.Drawing.Size(182, 6); - // - // deleteCharacterMenu - // - this.deleteCharacterMenu.Image = ((System.Drawing.Image)(resources.GetObject("deleteCharacterMenu.Image"))); - this.deleteCharacterMenu.Name = "deleteCharacterMenu"; - this.deleteCharacterMenu.Size = new System.Drawing.Size(185, 22); - this.deleteCharacterMenu.Text = "&Delete Character..."; - this.deleteCharacterMenu.Click += new System.EventHandler(this.deleteCharacterMenu_Click); - // - // exportCharacterMenu - // - this.exportCharacterMenu.Image = ((System.Drawing.Image)(resources.GetObject("exportCharacterMenu.Image"))); - this.exportCharacterMenu.Name = "exportCharacterMenu"; - this.exportCharacterMenu.Size = new System.Drawing.Size(185, 22); - this.exportCharacterMenu.Text = "&Export Character..."; - this.exportCharacterMenu.Click += new System.EventHandler(this.saveCharacterInfosMenuItem_Click); - // - // hideCharacterMenu - // - this.hideCharacterMenu.Image = ((System.Drawing.Image)(resources.GetObject("hideCharacterMenu.Image"))); - this.hideCharacterMenu.Name = "hideCharacterMenu"; - this.hideCharacterMenu.Size = new System.Drawing.Size(185, 22); - this.hideCharacterMenu.Text = "&Hide Character"; - this.hideCharacterMenu.Click += new System.EventHandler(this.hideCharacterMenu_Click); - // - // fileExportSaveToolStripSeparator - // - this.fileExportSaveToolStripSeparator.Name = "fileExportSaveToolStripSeparator"; - this.fileExportSaveToolStripSeparator.Size = new System.Drawing.Size(182, 6); - // - // loadSettingsToolStripMenuItem - // - this.loadSettingsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("loadSettingsToolStripMenuItem.Image"))); - this.loadSettingsToolStripMenuItem.Name = "loadSettingsToolStripMenuItem"; - this.loadSettingsToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.loadSettingsToolStripMenuItem.Text = "R&estore Settings..."; - this.loadSettingsToolStripMenuItem.Click += new System.EventHandler(this.loadSettingsToolStripMenuItem_Click); - // - // saveSettingsToolStripMenuItem - // - this.saveSettingsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("saveSettingsToolStripMenuItem.Image"))); - this.saveSettingsToolStripMenuItem.Name = "saveSettingsToolStripMenuItem"; - this.saveSettingsToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.saveSettingsToolStripMenuItem.Text = "Sa&ve Settings..."; - this.saveSettingsToolStripMenuItem.Click += new System.EventHandler(this.saveSettingsToolStripMenuItem_Click); - // - // resetSettingsToolStripMenuItem - // - this.resetSettingsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("resetSettingsToolStripMenuItem.Image"))); - this.resetSettingsToolStripMenuItem.Name = "resetSettingsToolStripMenuItem"; - this.resetSettingsToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.resetSettingsToolStripMenuItem.Text = "&Reset Settings"; - this.resetSettingsToolStripMenuItem.Click += new System.EventHandler(this.resetSettingsToolStripMenuItem_Click); - // - // fileRestoreResetToolStripSeparator - // - this.fileRestoreResetToolStripSeparator.Name = "fileRestoreResetToolStripSeparator"; - this.fileRestoreResetToolStripSeparator.Size = new System.Drawing.Size(182, 6); - // - // clearCacheToolStripMenuItem - // - this.clearCacheToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("clearCacheToolStripMenuItem.Image"))); - this.clearCacheToolStripMenuItem.Name = "clearCacheToolStripMenuItem"; - this.clearCacheToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.clearCacheToolStripMenuItem.Text = "&Clear Cache"; - this.clearCacheToolStripMenuItem.Click += new System.EventHandler(this.clearCacheToolStripMenuItem_Click); - // - // fileResetExitToolStripSeparator - // - this.fileResetExitToolStripSeparator.Name = "fileResetExitToolStripSeparator"; - this.fileResetExitToolStripSeparator.Size = new System.Drawing.Size(182, 6); - // - // exitToolStripMenuItem - // - this.exitToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("exitToolStripMenuItem.Image"))); - this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; - this.exitToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.exitToolStripMenuItem.Text = "E&xit"; - this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); - // - // editToolStripMenuItem - // - this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); + this.fileToolStripMenuItem.Text = "&File"; + // + // addAPIKeyMenu + // + this.addAPIKeyMenu.Image = ((System.Drawing.Image)(resources.GetObject("addAPIKeyMenu.Image"))); + this.addAPIKeyMenu.Name = "addAPIKeyMenu"; + this.addAPIKeyMenu.Size = new System.Drawing.Size(185, 22); + this.addAPIKeyMenu.Text = "&Add Character..."; + this.addAPIKeyMenu.Click += new System.EventHandler(this.addAPIKeyMenu_Click); + // + // manageAPIKeysMenuItem + // + this.manageAPIKeysMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("manageAPIKeysMenuItem.Image"))); + this.manageAPIKeysMenuItem.Name = "manageAPIKeysMenuItem"; + this.manageAPIKeysMenuItem.Size = new System.Drawing.Size(185, 22); + this.manageAPIKeysMenuItem.Text = "&Manage Characters..."; + this.manageAPIKeysMenuItem.Click += new System.EventHandler(this.manageAPIKeysMenuItem_Click); + // + // fileManagerHideToolStripSeparator + // + this.fileManagerHideToolStripSeparator.Name = "fileManagerHideToolStripSeparator"; + this.fileManagerHideToolStripSeparator.Size = new System.Drawing.Size(182, 6); + // + // deleteCharacterMenu + // + this.deleteCharacterMenu.Image = ((System.Drawing.Image)(resources.GetObject("deleteCharacterMenu.Image"))); + this.deleteCharacterMenu.Name = "deleteCharacterMenu"; + this.deleteCharacterMenu.Size = new System.Drawing.Size(185, 22); + this.deleteCharacterMenu.Text = "&Delete Character..."; + this.deleteCharacterMenu.Click += new System.EventHandler(this.deleteCharacterMenu_Click); + // + // exportCharacterMenu + // + this.exportCharacterMenu.Image = ((System.Drawing.Image)(resources.GetObject("exportCharacterMenu.Image"))); + this.exportCharacterMenu.Name = "exportCharacterMenu"; + this.exportCharacterMenu.Size = new System.Drawing.Size(185, 22); + this.exportCharacterMenu.Text = "&Export Character..."; + this.exportCharacterMenu.Click += new System.EventHandler(this.saveCharacterInfosMenuItem_Click); + // + // hideCharacterMenu + // + this.hideCharacterMenu.Image = ((System.Drawing.Image)(resources.GetObject("hideCharacterMenu.Image"))); + this.hideCharacterMenu.Name = "hideCharacterMenu"; + this.hideCharacterMenu.Size = new System.Drawing.Size(185, 22); + this.hideCharacterMenu.Text = "&Hide Character"; + this.hideCharacterMenu.Click += new System.EventHandler(this.hideCharacterMenu_Click); + // + // fileExportSaveToolStripSeparator + // + this.fileExportSaveToolStripSeparator.Name = "fileExportSaveToolStripSeparator"; + this.fileExportSaveToolStripSeparator.Size = new System.Drawing.Size(182, 6); + // + // loadSettingsToolStripMenuItem + // + this.loadSettingsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("loadSettingsToolStripMenuItem.Image"))); + this.loadSettingsToolStripMenuItem.Name = "loadSettingsToolStripMenuItem"; + this.loadSettingsToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + this.loadSettingsToolStripMenuItem.Text = "R&estore Settings..."; + this.loadSettingsToolStripMenuItem.Click += new System.EventHandler(this.loadSettingsToolStripMenuItem_Click); + // + // saveSettingsToolStripMenuItem + // + this.saveSettingsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("saveSettingsToolStripMenuItem.Image"))); + this.saveSettingsToolStripMenuItem.Name = "saveSettingsToolStripMenuItem"; + this.saveSettingsToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + this.saveSettingsToolStripMenuItem.Text = "Sa&ve Settings..."; + this.saveSettingsToolStripMenuItem.Click += new System.EventHandler(this.saveSettingsToolStripMenuItem_Click); + // + // resetSettingsToolStripMenuItem + // + this.resetSettingsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("resetSettingsToolStripMenuItem.Image"))); + this.resetSettingsToolStripMenuItem.Name = "resetSettingsToolStripMenuItem"; + this.resetSettingsToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + this.resetSettingsToolStripMenuItem.Text = "&Reset Settings"; + this.resetSettingsToolStripMenuItem.Click += new System.EventHandler(this.resetSettingsToolStripMenuItem_Click); + // + // fileRestoreResetToolStripSeparator + // + this.fileRestoreResetToolStripSeparator.Name = "fileRestoreResetToolStripSeparator"; + this.fileRestoreResetToolStripSeparator.Size = new System.Drawing.Size(182, 6); + // + // clearCacheToolStripMenuItem + // + this.clearCacheToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("clearCacheToolStripMenuItem.Image"))); + this.clearCacheToolStripMenuItem.Name = "clearCacheToolStripMenuItem"; + this.clearCacheToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + this.clearCacheToolStripMenuItem.Text = "&Clear Cache"; + this.clearCacheToolStripMenuItem.Click += new System.EventHandler(this.clearCacheToolStripMenuItem_Click); + // + // fileResetExitToolStripSeparator + // + this.fileResetExitToolStripSeparator.Name = "fileResetExitToolStripSeparator"; + this.fileResetExitToolStripSeparator.Size = new System.Drawing.Size(182, 6); + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("exitToolStripMenuItem.Image"))); + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + this.exitToolStripMenuItem.Text = "E&xit"; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); + // + // editToolStripMenuItem + // + this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.copySkillsToClipboardBBFormatToolStripMenuItem}); - this.editToolStripMenuItem.Name = "editToolStripMenuItem"; - this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20); - this.editToolStripMenuItem.Text = "&Edit"; - this.editToolStripMenuItem.DropDownOpening += new System.EventHandler(this.editToolStripMenuItem_DropDownOpening); - // - // copySkillsToClipboardBBFormatToolStripMenuItem - // - this.copySkillsToClipboardBBFormatToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("copySkillsToClipboardBBFormatToolStripMenuItem.Image"))); - this.copySkillsToClipboardBBFormatToolStripMenuItem.Name = "copySkillsToClipboardBBFormatToolStripMenuItem"; - this.copySkillsToClipboardBBFormatToolStripMenuItem.Size = new System.Drawing.Size(266, 22); - this.copySkillsToClipboardBBFormatToolStripMenuItem.Text = "&Copy Skills to Clipboard (BB Format)"; - this.copySkillsToClipboardBBFormatToolStripMenuItem.Click += new System.EventHandler(this.copySkillsToClipboardBBFormatToolStripMenuItem_Click); - // - // plansToolStripMenuItem - // - this.plansToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.editToolStripMenuItem.Name = "editToolStripMenuItem"; + this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20); + this.editToolStripMenuItem.Text = "&Edit"; + this.editToolStripMenuItem.DropDownOpening += new System.EventHandler(this.editToolStripMenuItem_DropDownOpening); + // + // copySkillsToClipboardBBFormatToolStripMenuItem + // + this.copySkillsToClipboardBBFormatToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("copySkillsToClipboardBBFormatToolStripMenuItem.Image"))); + this.copySkillsToClipboardBBFormatToolStripMenuItem.Name = "copySkillsToClipboardBBFormatToolStripMenuItem"; + this.copySkillsToClipboardBBFormatToolStripMenuItem.Size = new System.Drawing.Size(266, 22); + this.copySkillsToClipboardBBFormatToolStripMenuItem.Text = "&Copy Skills to Clipboard (BB Format)"; + this.copySkillsToClipboardBBFormatToolStripMenuItem.Click += new System.EventHandler(this.copySkillsToClipboardBBFormatToolStripMenuItem_Click); + // + // plansToolStripMenuItem + // + this.plansToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsmiNewPlan, this.tsmiCreatePlanFromSkillQueue, this.tsmiImportPlanFromFile, this.tsmiManagePlans, this.plansSeparator}); - this.plansToolStripMenuItem.Name = "plansToolStripMenuItem"; - this.plansToolStripMenuItem.Size = new System.Drawing.Size(47, 20); - this.plansToolStripMenuItem.Text = "&Plans"; - this.plansToolStripMenuItem.DropDownOpening += new System.EventHandler(this.plansToolStripMenuItem_DropDownOpening); - // - // tsmiNewPlan - // - this.tsmiNewPlan.Image = ((System.Drawing.Image)(resources.GetObject("tsmiNewPlan.Image"))); - this.tsmiNewPlan.Name = "tsmiNewPlan"; - this.tsmiNewPlan.Size = new System.Drawing.Size(234, 22); - this.tsmiNewPlan.Text = "&New Plan…"; - this.tsmiNewPlan.Click += new System.EventHandler(this.tsmiNewPlan_Click); - // - // tsmiCreatePlanFromSkillQueue - // - this.tsmiCreatePlanFromSkillQueue.Image = ((System.Drawing.Image)(resources.GetObject("tsmiCreatePlanFromSkillQueue.Image"))); - this.tsmiCreatePlanFromSkillQueue.Name = "tsmiCreatePlanFromSkillQueue"; - this.tsmiCreatePlanFromSkillQueue.Size = new System.Drawing.Size(234, 22); - this.tsmiCreatePlanFromSkillQueue.Text = "Create Plan from Skill Queue..."; - this.tsmiCreatePlanFromSkillQueue.Click += new System.EventHandler(this.tsmiCreatePlanFromSkillQueue_Click); - // - // tsmiImportPlanFromFile - // - this.tsmiImportPlanFromFile.Image = ((System.Drawing.Image)(resources.GetObject("tsmiImportPlanFromFile.Image"))); - this.tsmiImportPlanFromFile.Name = "tsmiImportPlanFromFile"; - this.tsmiImportPlanFromFile.Size = new System.Drawing.Size(234, 22); - this.tsmiImportPlanFromFile.Text = "&Import Plan from File..."; - this.tsmiImportPlanFromFile.Click += new System.EventHandler(this.tsmiImportPlanFromFile_Click); - // - // tsmiManagePlans - // - this.tsmiManagePlans.Image = ((System.Drawing.Image)(resources.GetObject("tsmiManagePlans.Image"))); - this.tsmiManagePlans.Name = "tsmiManagePlans"; - this.tsmiManagePlans.Size = new System.Drawing.Size(234, 22); - this.tsmiManagePlans.Text = "&Manage Plans..."; - this.tsmiManagePlans.Click += new System.EventHandler(this.manageToolStripMenuItem_Click); - // - // plansSeparator - // - this.plansSeparator.Name = "plansSeparator"; - this.plansSeparator.Size = new System.Drawing.Size(231, 6); - // - // toolsToolStripMenuItem - // - this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.plansToolStripMenuItem.Name = "plansToolStripMenuItem"; + this.plansToolStripMenuItem.Size = new System.Drawing.Size(47, 20); + this.plansToolStripMenuItem.Text = "&Plans"; + this.plansToolStripMenuItem.DropDownOpening += new System.EventHandler(this.plansToolStripMenuItem_DropDownOpening); + // + // tsmiNewPlan + // + this.tsmiNewPlan.Image = ((System.Drawing.Image)(resources.GetObject("tsmiNewPlan.Image"))); + this.tsmiNewPlan.Name = "tsmiNewPlan"; + this.tsmiNewPlan.Size = new System.Drawing.Size(234, 22); + this.tsmiNewPlan.Text = "&New Plan…"; + this.tsmiNewPlan.Click += new System.EventHandler(this.tsmiNewPlan_Click); + // + // tsmiCreatePlanFromSkillQueue + // + this.tsmiCreatePlanFromSkillQueue.Image = ((System.Drawing.Image)(resources.GetObject("tsmiCreatePlanFromSkillQueue.Image"))); + this.tsmiCreatePlanFromSkillQueue.Name = "tsmiCreatePlanFromSkillQueue"; + this.tsmiCreatePlanFromSkillQueue.Size = new System.Drawing.Size(234, 22); + this.tsmiCreatePlanFromSkillQueue.Text = "Create Plan from Skill Queue..."; + this.tsmiCreatePlanFromSkillQueue.Click += new System.EventHandler(this.tsmiCreatePlanFromSkillQueue_Click); + // + // tsmiImportPlanFromFile + // + this.tsmiImportPlanFromFile.Image = ((System.Drawing.Image)(resources.GetObject("tsmiImportPlanFromFile.Image"))); + this.tsmiImportPlanFromFile.Name = "tsmiImportPlanFromFile"; + this.tsmiImportPlanFromFile.Size = new System.Drawing.Size(234, 22); + this.tsmiImportPlanFromFile.Text = "&Import Plan from File..."; + this.tsmiImportPlanFromFile.Click += new System.EventHandler(this.tsmiImportPlanFromFile_Click); + // + // tsmiManagePlans + // + this.tsmiManagePlans.Image = ((System.Drawing.Image)(resources.GetObject("tsmiManagePlans.Image"))); + this.tsmiManagePlans.Name = "tsmiManagePlans"; + this.tsmiManagePlans.Size = new System.Drawing.Size(234, 22); + this.tsmiManagePlans.Text = "&Manage Plans..."; + this.tsmiManagePlans.Click += new System.EventHandler(this.manageToolStripMenuItem_Click); + // + // plansSeparator + // + this.plansSeparator.Name = "plansSeparator"; + this.plansSeparator.Size = new System.Drawing.Size(231, 6); + // + // toolsToolStripMenuItem + // + this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.charactersComparisonMenuItem, this.blankCreatorToolStripMenuItem, this.dataBrowserMenuItem, @@ -541,229 +541,229 @@ private void InitializeComponent() this.showOwnedSkillbooksMenuItem, this.secondSeparator, this.optionsToolStripMenuItem}); - this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem"; - this.toolsToolStripMenuItem.Size = new System.Drawing.Size(47, 20); - this.toolsToolStripMenuItem.Text = "&Tools"; - // - // charactersComparisonMenuItem - // - this.charactersComparisonMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("charactersComparisonMenuItem.Image"))); - this.charactersComparisonMenuItem.Name = "charactersComparisonMenuItem"; - this.charactersComparisonMenuItem.Size = new System.Drawing.Size(208, 22); - this.charactersComparisonMenuItem.Text = "&Characters Comparison..."; - this.charactersComparisonMenuItem.Click += new System.EventHandler(this.charactersComparisonToolStripMenuItem_Click); - // - // blankCreatorToolStripMenuItem - // - this.blankCreatorToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("blankCreatorToolStripMenuItem.Image"))); - this.blankCreatorToolStripMenuItem.Name = "blankCreatorToolStripMenuItem"; - this.blankCreatorToolStripMenuItem.Size = new System.Drawing.Size(208, 22); - this.blankCreatorToolStripMenuItem.Text = "&Blank Character Creator..."; - this.blankCreatorToolStripMenuItem.Click += new System.EventHandler(this.blankCreatorToolStripMenuItem_Click); - // - // dataBrowserMenuItem - // - this.dataBrowserMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem"; + this.toolsToolStripMenuItem.Size = new System.Drawing.Size(46, 20); + this.toolsToolStripMenuItem.Text = "&Tools"; + // + // charactersComparisonMenuItem + // + this.charactersComparisonMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("charactersComparisonMenuItem.Image"))); + this.charactersComparisonMenuItem.Name = "charactersComparisonMenuItem"; + this.charactersComparisonMenuItem.Size = new System.Drawing.Size(208, 22); + this.charactersComparisonMenuItem.Text = "&Characters Comparison..."; + this.charactersComparisonMenuItem.Click += new System.EventHandler(this.charactersComparisonToolStripMenuItem_Click); + // + // blankCreatorToolStripMenuItem + // + this.blankCreatorToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("blankCreatorToolStripMenuItem.Image"))); + this.blankCreatorToolStripMenuItem.Name = "blankCreatorToolStripMenuItem"; + this.blankCreatorToolStripMenuItem.Size = new System.Drawing.Size(208, 22); + this.blankCreatorToolStripMenuItem.Text = "&Blank Character Creator..."; + this.blankCreatorToolStripMenuItem.Click += new System.EventHandler(this.blankCreatorToolStripMenuItem_Click); + // + // dataBrowserMenuItem + // + this.dataBrowserMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.skillBrowserMenuItem, this.certificateBrowserMenuItem, this.shipBrowserMenuItem, this.itemBrowserMenuItem, this.blueprintBrowserMenuItem}); - this.dataBrowserMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("dataBrowserMenuItem.Image"))); - this.dataBrowserMenuItem.Name = "dataBrowserMenuItem"; - this.dataBrowserMenuItem.Size = new System.Drawing.Size(208, 22); - this.dataBrowserMenuItem.Text = "&Data Browser"; - // - // skillBrowserMenuItem - // - this.skillBrowserMenuItem.Name = "skillBrowserMenuItem"; - this.skillBrowserMenuItem.Size = new System.Drawing.Size(182, 22); - this.skillBrowserMenuItem.Text = "&Skill Browser..."; - this.skillBrowserMenuItem.Click += new System.EventHandler(this.skillBrowserMenuItem_Click); - // - // certificateBrowserMenuItem - // - this.certificateBrowserMenuItem.Name = "certificateBrowserMenuItem"; - this.certificateBrowserMenuItem.Size = new System.Drawing.Size(182, 22); - this.certificateBrowserMenuItem.Text = "&Certificate Browser..."; - this.certificateBrowserMenuItem.Click += new System.EventHandler(this.certificateBrowserMenuItem_Click); - // - // shipBrowserMenuItem - // - this.shipBrowserMenuItem.Name = "shipBrowserMenuItem"; - this.shipBrowserMenuItem.Size = new System.Drawing.Size(182, 22); - this.shipBrowserMenuItem.Text = "S&hip Browser..."; - this.shipBrowserMenuItem.Click += new System.EventHandler(this.shipBrowserMenuItem_Click); - // - // itemBrowserMenuItem - // - this.itemBrowserMenuItem.Name = "itemBrowserMenuItem"; - this.itemBrowserMenuItem.Size = new System.Drawing.Size(182, 22); - this.itemBrowserMenuItem.Text = "&Item Browser..."; - this.itemBrowserMenuItem.Click += new System.EventHandler(this.itemBrowserMenuItem_Click); - // - // blueprintBrowserMenuItem - // - this.blueprintBrowserMenuItem.Name = "blueprintBrowserMenuItem"; - this.blueprintBrowserMenuItem.Size = new System.Drawing.Size(182, 22); - this.blueprintBrowserMenuItem.Text = "&Blueprint Browser..."; - this.blueprintBrowserMenuItem.Click += new System.EventHandler(this.blueprintBrowserMenuItem_Click); - // - // skillsPieChartMenuItem - // - this.skillsPieChartMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("skillsPieChartMenuItem.Image"))); - this.skillsPieChartMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.skillsPieChartMenuItem.Name = "skillsPieChartMenuItem"; - this.skillsPieChartMenuItem.Size = new System.Drawing.Size(208, 22); - this.skillsPieChartMenuItem.Text = "Skills &Pie Chart..."; - this.skillsPieChartMenuItem.Click += new System.EventHandler(this.tsSkillsPieChartTool_Click); - // - // firstSeparator - // - this.firstSeparator.Name = "firstSeparator"; - this.firstSeparator.Size = new System.Drawing.Size(205, 6); - // - // implantsMenuItem - // - this.implantsMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("implantsMenuItem.Image"))); - this.implantsMenuItem.Name = "implantsMenuItem"; - this.implantsMenuItem.Size = new System.Drawing.Size(208, 22); - this.implantsMenuItem.Text = "&Implant Groups..."; - this.implantsMenuItem.Click += new System.EventHandler(this.manualImplantGroupsToolStripMenuItem_Click); - // - // showOwnedSkillbooksMenuItem - // - this.showOwnedSkillbooksMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("showOwnedSkillbooksMenuItem.Image"))); - this.showOwnedSkillbooksMenuItem.Name = "showOwnedSkillbooksMenuItem"; - this.showOwnedSkillbooksMenuItem.Size = new System.Drawing.Size(208, 22); - this.showOwnedSkillbooksMenuItem.Text = "O&wned Skillbooks..."; - this.showOwnedSkillbooksMenuItem.Click += new System.EventHandler(this.tsShowOwnedSkillbooks_Click); - // - // secondSeparator - // - this.secondSeparator.Name = "secondSeparator"; - this.secondSeparator.Size = new System.Drawing.Size(205, 6); - // - // optionsToolStripMenuItem - // - this.optionsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("optionsToolStripMenuItem.Image"))); - this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; - this.optionsToolStripMenuItem.Size = new System.Drawing.Size(208, 22); - this.optionsToolStripMenuItem.Text = "&Options..."; - this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsMenuItem_Click); - // - // helpToolStripMenuItem - // - this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.dataBrowserMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("dataBrowserMenuItem.Image"))); + this.dataBrowserMenuItem.Name = "dataBrowserMenuItem"; + this.dataBrowserMenuItem.Size = new System.Drawing.Size(208, 22); + this.dataBrowserMenuItem.Text = "&Data Browser"; + // + // skillBrowserMenuItem + // + this.skillBrowserMenuItem.Name = "skillBrowserMenuItem"; + this.skillBrowserMenuItem.Size = new System.Drawing.Size(182, 22); + this.skillBrowserMenuItem.Text = "&Skill Browser..."; + this.skillBrowserMenuItem.Click += new System.EventHandler(this.skillBrowserMenuItem_Click); + // + // certificateBrowserMenuItem + // + this.certificateBrowserMenuItem.Name = "certificateBrowserMenuItem"; + this.certificateBrowserMenuItem.Size = new System.Drawing.Size(182, 22); + this.certificateBrowserMenuItem.Text = "&Certificate Browser..."; + this.certificateBrowserMenuItem.Click += new System.EventHandler(this.certificateBrowserMenuItem_Click); + // + // shipBrowserMenuItem + // + this.shipBrowserMenuItem.Name = "shipBrowserMenuItem"; + this.shipBrowserMenuItem.Size = new System.Drawing.Size(182, 22); + this.shipBrowserMenuItem.Text = "S&hip Browser..."; + this.shipBrowserMenuItem.Click += new System.EventHandler(this.shipBrowserMenuItem_Click); + // + // itemBrowserMenuItem + // + this.itemBrowserMenuItem.Name = "itemBrowserMenuItem"; + this.itemBrowserMenuItem.Size = new System.Drawing.Size(182, 22); + this.itemBrowserMenuItem.Text = "&Item Browser..."; + this.itemBrowserMenuItem.Click += new System.EventHandler(this.itemBrowserMenuItem_Click); + // + // blueprintBrowserMenuItem + // + this.blueprintBrowserMenuItem.Name = "blueprintBrowserMenuItem"; + this.blueprintBrowserMenuItem.Size = new System.Drawing.Size(182, 22); + this.blueprintBrowserMenuItem.Text = "&Blueprint Browser..."; + this.blueprintBrowserMenuItem.Click += new System.EventHandler(this.blueprintBrowserMenuItem_Click); + // + // skillsPieChartMenuItem + // + this.skillsPieChartMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("skillsPieChartMenuItem.Image"))); + this.skillsPieChartMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta; + this.skillsPieChartMenuItem.Name = "skillsPieChartMenuItem"; + this.skillsPieChartMenuItem.Size = new System.Drawing.Size(208, 22); + this.skillsPieChartMenuItem.Text = "Skills &Pie Chart..."; + this.skillsPieChartMenuItem.Click += new System.EventHandler(this.tsSkillsPieChartTool_Click); + // + // firstSeparator + // + this.firstSeparator.Name = "firstSeparator"; + this.firstSeparator.Size = new System.Drawing.Size(205, 6); + // + // implantsMenuItem + // + this.implantsMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("implantsMenuItem.Image"))); + this.implantsMenuItem.Name = "implantsMenuItem"; + this.implantsMenuItem.Size = new System.Drawing.Size(208, 22); + this.implantsMenuItem.Text = "&Implant Groups..."; + this.implantsMenuItem.Click += new System.EventHandler(this.manualImplantGroupsToolStripMenuItem_Click); + // + // showOwnedSkillbooksMenuItem + // + this.showOwnedSkillbooksMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("showOwnedSkillbooksMenuItem.Image"))); + this.showOwnedSkillbooksMenuItem.Name = "showOwnedSkillbooksMenuItem"; + this.showOwnedSkillbooksMenuItem.Size = new System.Drawing.Size(208, 22); + this.showOwnedSkillbooksMenuItem.Text = "O&wned Skillbooks..."; + this.showOwnedSkillbooksMenuItem.Click += new System.EventHandler(this.tsShowOwnedSkillbooks_Click); + // + // secondSeparator + // + this.secondSeparator.Name = "secondSeparator"; + this.secondSeparator.Size = new System.Drawing.Size(205, 6); + // + // optionsToolStripMenuItem + // + this.optionsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("optionsToolStripMenuItem.Image"))); + this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; + this.optionsToolStripMenuItem.Size = new System.Drawing.Size(208, 22); + this.optionsToolStripMenuItem.Text = "&Options..."; + this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsMenuItem_Click); + // + // helpToolStripMenuItem + // + this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.forumsMenuItem, this.issuesFeaturesMenuItem, this.readTheDocsManualToolStripMenuItem, this.helpAboutKnownProblemsToolStripSeparator, this.aboutMenuItem}); - this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; - this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); - this.helpToolStripMenuItem.Text = "&Help"; - // - // forumsMenuItem - // - this.forumsMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("forumsMenuItem.Image"))); - this.forumsMenuItem.Name = "forumsMenuItem"; - this.forumsMenuItem.Size = new System.Drawing.Size(224, 22); - this.forumsMenuItem.Text = "&Forums"; - this.forumsMenuItem.Click += new System.EventHandler(this.forumsMenuItem_Click); - // - // issuesFeaturesMenuItem - // - this.issuesFeaturesMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("issuesFeaturesMenuItem.Image"))); - this.issuesFeaturesMenuItem.Name = "issuesFeaturesMenuItem"; - this.issuesFeaturesMenuItem.Size = new System.Drawing.Size(224, 22); - this.issuesFeaturesMenuItem.Text = "I&ssues and Features (GitHub)"; - this.issuesFeaturesMenuItem.Click += new System.EventHandler(this.issuesFeaturesMenuItem_Click); - // - // readTheDocsManualToolStripMenuItem - // - this.readTheDocsManualToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("readTheDocsManualToolStripMenuItem.Image"))); - this.readTheDocsManualToolStripMenuItem.Name = "readTheDocsManualToolStripMenuItem"; - this.readTheDocsManualToolStripMenuItem.Size = new System.Drawing.Size(224, 22); - this.readTheDocsManualToolStripMenuItem.Text = "Read The Docs (Manual)"; - this.readTheDocsManualToolStripMenuItem.Click += new System.EventHandler(this.readTheDocsManualMenuItem_Click); - // - // helpAboutKnownProblemsToolStripSeparator - // - this.helpAboutKnownProblemsToolStripSeparator.Name = "helpAboutKnownProblemsToolStripSeparator"; - this.helpAboutKnownProblemsToolStripSeparator.Size = new System.Drawing.Size(221, 6); - // - // aboutMenuItem - // - this.aboutMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("aboutMenuItem.Image"))); - this.aboutMenuItem.Name = "aboutMenuItem"; - this.aboutMenuItem.Size = new System.Drawing.Size(224, 22); - this.aboutMenuItem.Text = "&About..."; - this.aboutMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); - // - // testsToolStripMenuItem - // - this.testsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; + this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); + this.helpToolStripMenuItem.Text = "&Help"; + // + // forumsMenuItem + // + this.forumsMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("forumsMenuItem.Image"))); + this.forumsMenuItem.Name = "forumsMenuItem"; + this.forumsMenuItem.Size = new System.Drawing.Size(224, 22); + this.forumsMenuItem.Text = "&Forums"; + this.forumsMenuItem.Click += new System.EventHandler(this.forumsMenuItem_Click); + // + // issuesFeaturesMenuItem + // + this.issuesFeaturesMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("issuesFeaturesMenuItem.Image"))); + this.issuesFeaturesMenuItem.Name = "issuesFeaturesMenuItem"; + this.issuesFeaturesMenuItem.Size = new System.Drawing.Size(224, 22); + this.issuesFeaturesMenuItem.Text = "I&ssues and Features (GitHub)"; + this.issuesFeaturesMenuItem.Click += new System.EventHandler(this.issuesFeaturesMenuItem_Click); + // + // readTheDocsManualToolStripMenuItem + // + this.readTheDocsManualToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("readTheDocsManualToolStripMenuItem.Image"))); + this.readTheDocsManualToolStripMenuItem.Name = "readTheDocsManualToolStripMenuItem"; + this.readTheDocsManualToolStripMenuItem.Size = new System.Drawing.Size(224, 22); + this.readTheDocsManualToolStripMenuItem.Text = "Read The Docs (Manual)"; + this.readTheDocsManualToolStripMenuItem.Click += new System.EventHandler(this.readTheDocsManualMenuItem_Click); + // + // helpAboutKnownProblemsToolStripSeparator + // + this.helpAboutKnownProblemsToolStripSeparator.Name = "helpAboutKnownProblemsToolStripSeparator"; + this.helpAboutKnownProblemsToolStripSeparator.Size = new System.Drawing.Size(221, 6); + // + // aboutMenuItem + // + this.aboutMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("aboutMenuItem.Image"))); + this.aboutMenuItem.Name = "aboutMenuItem"; + this.aboutMenuItem.Size = new System.Drawing.Size(224, 22); + this.aboutMenuItem.Text = "&About..."; + this.aboutMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); + // + // testsToolStripMenuItem + // + this.testsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.exceptionWindowToolStripMenuItem, this.exceptionWindowRecursiveExceptionToolStripMenuItem, this.testNotificationToolStripMenuItem, this.testCharacterNotificationToolStripMenuItem, this.testTimeoutOneSecToolStripMenuItem, this.restartToolStripMenuItem}); - this.testsToolStripMenuItem.Name = "testsToolStripMenuItem"; - this.testsToolStripMenuItem.Size = new System.Drawing.Size(40, 20); - this.testsToolStripMenuItem.Text = "Te&st"; - this.testsToolStripMenuItem.Visible = false; - this.testsToolStripMenuItem.DropDownOpening += new System.EventHandler(this.testToolStripMenuItem_DropDownOpening); - // - // exceptionWindowToolStripMenuItem - // - this.exceptionWindowToolStripMenuItem.Name = "exceptionWindowToolStripMenuItem"; - this.exceptionWindowToolStripMenuItem.Size = new System.Drawing.Size(287, 22); - this.exceptionWindowToolStripMenuItem.Text = "Exception Window"; - this.exceptionWindowToolStripMenuItem.Click += new System.EventHandler(this.ExceptionWindowToolStripMenuItem_Click); - // - // exceptionWindowRecursiveExceptionToolStripMenuItem - // - this.exceptionWindowRecursiveExceptionToolStripMenuItem.Name = "exceptionWindowRecursiveExceptionToolStripMenuItem"; - this.exceptionWindowRecursiveExceptionToolStripMenuItem.Size = new System.Drawing.Size(287, 22); - this.exceptionWindowRecursiveExceptionToolStripMenuItem.Text = "Exception Window (Recursive Exception)"; - this.exceptionWindowRecursiveExceptionToolStripMenuItem.Click += new System.EventHandler(this.exceptionWindowRecursiveExceptionToolStripMenuItem_Click); - // - // testNotificationToolStripMenuItem - // - this.testNotificationToolStripMenuItem.Name = "testNotificationToolStripMenuItem"; - this.testNotificationToolStripMenuItem.Size = new System.Drawing.Size(287, 22); - this.testNotificationToolStripMenuItem.Text = "Notification"; - this.testNotificationToolStripMenuItem.Click += new System.EventHandler(this.testNotificationToolstripMenuItem_Click); - // - // testCharacterNotificationToolStripMenuItem - // - this.testCharacterNotificationToolStripMenuItem.Name = "testCharacterNotificationToolStripMenuItem"; - this.testCharacterNotificationToolStripMenuItem.Size = new System.Drawing.Size(287, 22); - this.testCharacterNotificationToolStripMenuItem.Text = "Character Notification"; - this.testCharacterNotificationToolStripMenuItem.Click += new System.EventHandler(this.testCharacterNotificationToolStripMenuItem_Click); - // - // testTimeoutOneSecToolStripMenuItem - // - this.testTimeoutOneSecToolStripMenuItem.Name = "testTimeoutOneSecToolStripMenuItem"; - this.testTimeoutOneSecToolStripMenuItem.Size = new System.Drawing.Size(287, 22); - this.testTimeoutOneSecToolStripMenuItem.Text = "Set Timeout to 1 Second"; - this.testTimeoutOneSecToolStripMenuItem.Click += new System.EventHandler(this.testTimeoutOneSecToolStripMenuItem_Click); - // - // restartToolStripMenuItem - // - this.restartToolStripMenuItem.Name = "restartToolStripMenuItem"; - this.restartToolStripMenuItem.Size = new System.Drawing.Size(287, 22); - this.restartToolStripMenuItem.Text = "Restart"; - this.restartToolStripMenuItem.Click += new System.EventHandler(this.restartToolStripMenuItem_Click); - // - // mainToolBar - // - this.mainToolBar.ContextMenuStrip = this.toolbarContext; - this.mainToolBar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; - this.mainToolBar.ImageScalingSize = new System.Drawing.Size(24, 24); - this.mainToolBar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.testsToolStripMenuItem.Name = "testsToolStripMenuItem"; + this.testsToolStripMenuItem.Size = new System.Drawing.Size(39, 20); + this.testsToolStripMenuItem.Text = "Te&st"; + this.testsToolStripMenuItem.Visible = false; + this.testsToolStripMenuItem.DropDownOpening += new System.EventHandler(this.testToolStripMenuItem_DropDownOpening); + // + // exceptionWindowToolStripMenuItem + // + this.exceptionWindowToolStripMenuItem.Name = "exceptionWindowToolStripMenuItem"; + this.exceptionWindowToolStripMenuItem.Size = new System.Drawing.Size(289, 22); + this.exceptionWindowToolStripMenuItem.Text = "Exception Window"; + this.exceptionWindowToolStripMenuItem.Click += new System.EventHandler(this.ExceptionWindowToolStripMenuItem_Click); + // + // exceptionWindowRecursiveExceptionToolStripMenuItem + // + this.exceptionWindowRecursiveExceptionToolStripMenuItem.Name = "exceptionWindowRecursiveExceptionToolStripMenuItem"; + this.exceptionWindowRecursiveExceptionToolStripMenuItem.Size = new System.Drawing.Size(289, 22); + this.exceptionWindowRecursiveExceptionToolStripMenuItem.Text = "Exception Window (Recursive Exception)"; + this.exceptionWindowRecursiveExceptionToolStripMenuItem.Click += new System.EventHandler(this.exceptionWindowRecursiveExceptionToolStripMenuItem_Click); + // + // testNotificationToolStripMenuItem + // + this.testNotificationToolStripMenuItem.Name = "testNotificationToolStripMenuItem"; + this.testNotificationToolStripMenuItem.Size = new System.Drawing.Size(289, 22); + this.testNotificationToolStripMenuItem.Text = "Notification"; + this.testNotificationToolStripMenuItem.Click += new System.EventHandler(this.testNotificationToolstripMenuItem_Click); + // + // testCharacterNotificationToolStripMenuItem + // + this.testCharacterNotificationToolStripMenuItem.Name = "testCharacterNotificationToolStripMenuItem"; + this.testCharacterNotificationToolStripMenuItem.Size = new System.Drawing.Size(289, 22); + this.testCharacterNotificationToolStripMenuItem.Text = "Character Notification"; + this.testCharacterNotificationToolStripMenuItem.Click += new System.EventHandler(this.testCharacterNotificationToolStripMenuItem_Click); + // + // testTimeoutOneSecToolStripMenuItem + // + this.testTimeoutOneSecToolStripMenuItem.Name = "testTimeoutOneSecToolStripMenuItem"; + this.testTimeoutOneSecToolStripMenuItem.Size = new System.Drawing.Size(289, 22); + this.testTimeoutOneSecToolStripMenuItem.Text = "Set Timeout to 1 Second"; + this.testTimeoutOneSecToolStripMenuItem.Click += new System.EventHandler(this.testTimeoutOneSecToolStripMenuItem_Click); + // + // restartToolStripMenuItem + // + this.restartToolStripMenuItem.Name = "restartToolStripMenuItem"; + this.restartToolStripMenuItem.Size = new System.Drawing.Size(289, 22); + this.restartToolStripMenuItem.Text = "Restart"; + this.restartToolStripMenuItem.Click += new System.EventHandler(this.restartToolStripMenuItem_Click); + // + // mainToolBar + // + this.mainToolBar.ContextMenuStrip = this.toolbarContext; + this.mainToolBar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; + this.mainToolBar.ImageScalingSize = new System.Drawing.Size(24, 24); + this.mainToolBar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addAPIKeyTbMenu, this.apiKeysManagementTbMenu, this.apiKeysSettingsToolStripSeparator, @@ -788,396 +788,397 @@ private void InitializeComponent() this.toolsToolStripSeparator, this.tsbOptions, this.tsbAbout}); - this.mainToolBar.Location = new System.Drawing.Point(0, 24); - this.mainToolBar.Name = "mainToolBar"; - this.mainToolBar.Size = new System.Drawing.Size(600, 25); - this.mainToolBar.TabIndex = 5; - this.mainToolBar.Text = "toolStrip1"; - this.mainToolBar.MouseDown += new System.Windows.Forms.MouseEventHandler(this.mainToolBar_MouseDown); - this.mainToolBar.MouseMove += new System.Windows.Forms.MouseEventHandler(this.mainToolBar_MouseMove); - // - // addAPIKeyTbMenu - // - this.addAPIKeyTbMenu.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.addAPIKeyTbMenu.Image = ((System.Drawing.Image)(resources.GetObject("addAPIKeyTbMenu.Image"))); - this.addAPIKeyTbMenu.ImageTransparentColor = System.Drawing.Color.Magenta; - this.addAPIKeyTbMenu.Name = "addAPIKeyTbMenu"; - this.addAPIKeyTbMenu.Size = new System.Drawing.Size(23, 22); - this.addAPIKeyTbMenu.ToolTipText = "Add API key"; - this.addAPIKeyTbMenu.Click += new System.EventHandler(this.addAPIKeyMenu_Click); - // - // apiKeysManagementTbMenu - // - this.apiKeysManagementTbMenu.Image = ((System.Drawing.Image)(resources.GetObject("apiKeysManagementTbMenu.Image"))); - this.apiKeysManagementTbMenu.ImageTransparentColor = System.Drawing.Color.Magenta; - this.apiKeysManagementTbMenu.Name = "apiKeysManagementTbMenu"; - this.apiKeysManagementTbMenu.Size = new System.Drawing.Size(23, 22); - this.apiKeysManagementTbMenu.ToolTipText = "Manage accounts"; - this.apiKeysManagementTbMenu.Click += new System.EventHandler(this.manageAPIKeysMenuItem_Click); - // - // apiKeysSettingsToolStripSeparator - // - this.apiKeysSettingsToolStripSeparator.Name = "apiKeysSettingsToolStripSeparator"; - this.apiKeysSettingsToolStripSeparator.Size = new System.Drawing.Size(6, 25); - // - // manageCharacterTbMenu - // - this.manageCharacterTbMenu.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.manageCharacterTbMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mainToolBar.Location = new System.Drawing.Point(0, 24); + this.mainToolBar.Name = "mainToolBar"; + this.mainToolBar.Size = new System.Drawing.Size(600, 31); + this.mainToolBar.TabIndex = 5; + this.mainToolBar.Text = "toolStrip1"; + this.mainToolBar.MouseDown += new System.Windows.Forms.MouseEventHandler(this.mainToolBar_MouseDown); + this.mainToolBar.MouseMove += new System.Windows.Forms.MouseEventHandler(this.mainToolBar_MouseMove); + // + // addAPIKeyTbMenu + // + this.addAPIKeyTbMenu.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.addAPIKeyTbMenu.Image = ((System.Drawing.Image)(resources.GetObject("addAPIKeyTbMenu.Image"))); + this.addAPIKeyTbMenu.ImageTransparentColor = System.Drawing.Color.Magenta; + this.addAPIKeyTbMenu.Name = "addAPIKeyTbMenu"; + this.addAPIKeyTbMenu.Size = new System.Drawing.Size(28, 28); + this.addAPIKeyTbMenu.ToolTipText = "Add API key"; + this.addAPIKeyTbMenu.Click += new System.EventHandler(this.addAPIKeyMenu_Click); + // + // apiKeysManagementTbMenu + // + this.apiKeysManagementTbMenu.Image = ((System.Drawing.Image)(resources.GetObject("apiKeysManagementTbMenu.Image"))); + this.apiKeysManagementTbMenu.ImageTransparentColor = System.Drawing.Color.Magenta; + this.apiKeysManagementTbMenu.Name = "apiKeysManagementTbMenu"; + this.apiKeysManagementTbMenu.Size = new System.Drawing.Size(28, 28); + this.apiKeysManagementTbMenu.ToolTipText = "Manage accounts"; + this.apiKeysManagementTbMenu.Click += new System.EventHandler(this.manageAPIKeysMenuItem_Click); + // + // apiKeysSettingsToolStripSeparator + // + this.apiKeysSettingsToolStripSeparator.Name = "apiKeysSettingsToolStripSeparator"; + this.apiKeysSettingsToolStripSeparator.Size = new System.Drawing.Size(6, 31); + // + // manageCharacterTbMenu + // + this.manageCharacterTbMenu.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.manageCharacterTbMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripMenuItem1, this.toolStripMenuItem2, this.toolStripMenuItem3}); - this.manageCharacterTbMenu.Image = ((System.Drawing.Image)(resources.GetObject("manageCharacterTbMenu.Image"))); - this.manageCharacterTbMenu.ImageTransparentColor = System.Drawing.Color.Magenta; - this.manageCharacterTbMenu.Name = "manageCharacterTbMenu"; - this.manageCharacterTbMenu.Size = new System.Drawing.Size(29, 22); - this.manageCharacterTbMenu.Text = "Manage Character"; - this.manageCharacterTbMenu.ToolTipText = "Manage Character"; - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripMenuItem1.Image"))); - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(170, 22); - this.toolStripMenuItem1.Text = "&Delete Character..."; - this.toolStripMenuItem1.Click += new System.EventHandler(this.deleteCharacterMenu_Click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripMenuItem2.Image"))); - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(170, 22); - this.toolStripMenuItem2.Text = "&Export Character..."; - this.toolStripMenuItem2.Click += new System.EventHandler(this.saveCharacterInfosMenuItem_Click); - // - // toolStripMenuItem3 - // - this.toolStripMenuItem3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripMenuItem3.Image"))); - this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(170, 22); - this.toolStripMenuItem3.Text = "&Hide Character"; - this.toolStripMenuItem3.Click += new System.EventHandler(this.hideCharacterMenu_Click); - // - // manageCharacterToolStripSeparator - // - this.manageCharacterToolStripSeparator.Name = "manageCharacterToolStripSeparator"; - this.manageCharacterToolStripSeparator.Size = new System.Drawing.Size(6, 25); - // - // tsdbSettings - // - this.tsdbSettings.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsdbSettings.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.manageCharacterTbMenu.Image = ((System.Drawing.Image)(resources.GetObject("manageCharacterTbMenu.Image"))); + this.manageCharacterTbMenu.ImageTransparentColor = System.Drawing.Color.Magenta; + this.manageCharacterTbMenu.Name = "manageCharacterTbMenu"; + this.manageCharacterTbMenu.Size = new System.Drawing.Size(37, 28); + this.manageCharacterTbMenu.Text = "Manage Character"; + this.manageCharacterTbMenu.ToolTipText = "Manage Character"; + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripMenuItem1.Image"))); + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(171, 22); + this.toolStripMenuItem1.Text = "&Delete Character..."; + this.toolStripMenuItem1.Click += new System.EventHandler(this.deleteCharacterMenu_Click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripMenuItem2.Image"))); + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(171, 22); + this.toolStripMenuItem2.Text = "&Export Character..."; + this.toolStripMenuItem2.Click += new System.EventHandler(this.saveCharacterInfosMenuItem_Click); + // + // toolStripMenuItem3 + // + this.toolStripMenuItem3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripMenuItem3.Image"))); + this.toolStripMenuItem3.Name = "toolStripMenuItem3"; + this.toolStripMenuItem3.Size = new System.Drawing.Size(171, 22); + this.toolStripMenuItem3.Text = "&Hide Character"; + this.toolStripMenuItem3.Click += new System.EventHandler(this.hideCharacterMenu_Click); + // + // manageCharacterToolStripSeparator + // + this.manageCharacterToolStripSeparator.Name = "manageCharacterToolStripSeparator"; + this.manageCharacterToolStripSeparator.Size = new System.Drawing.Size(6, 31); + // + // tsdbSettings + // + this.tsdbSettings.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsdbSettings.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsLoadSettings, this.tsSaveSettings}); - this.tsdbSettings.Image = ((System.Drawing.Image)(resources.GetObject("tsdbSettings.Image"))); - this.tsdbSettings.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsdbSettings.Name = "tsdbSettings"; - this.tsdbSettings.Size = new System.Drawing.Size(29, 22); - this.tsdbSettings.Text = "tsddbSettings"; - this.tsdbSettings.ToolTipText = "Save/Restore Settings"; - // - // tsLoadSettings - // - this.tsLoadSettings.Image = ((System.Drawing.Image)(resources.GetObject("tsLoadSettings.Image"))); - this.tsLoadSettings.Name = "tsLoadSettings"; - this.tsLoadSettings.Size = new System.Drawing.Size(167, 22); - this.tsLoadSettings.Text = "Restore Settings..."; - this.tsLoadSettings.Click += new System.EventHandler(this.loadSettingsToolStripMenuItem_Click); - // - // tsSaveSettings - // - this.tsSaveSettings.Image = ((System.Drawing.Image)(resources.GetObject("tsSaveSettings.Image"))); - this.tsSaveSettings.Name = "tsSaveSettings"; - this.tsSaveSettings.Size = new System.Drawing.Size(167, 22); - this.tsSaveSettings.Text = "Save Settings..."; - this.tsSaveSettings.Click += new System.EventHandler(this.saveSettingsToolStripMenuItem_Click); - // - // settingsToolStripSeparator - // - this.settingsToolStripSeparator.Name = "settingsToolStripSeparator"; - this.settingsToolStripSeparator.Size = new System.Drawing.Size(6, 25); - // - // clearCacheToolStripButton - // - this.clearCacheToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.clearCacheToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("clearCacheToolStripButton.Image"))); - this.clearCacheToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.clearCacheToolStripButton.Name = "clearCacheToolStripButton"; - this.clearCacheToolStripButton.Size = new System.Drawing.Size(23, 22); - this.clearCacheToolStripButton.Text = "Clear Cache"; - this.clearCacheToolStripButton.Click += new System.EventHandler(this.clearCacheToolStripMenuItem_Click); - // - // resetSettingsToolStripButton - // - this.resetSettingsToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.resetSettingsToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("resetSettingsToolStripButton.Image"))); - this.resetSettingsToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.resetSettingsToolStripButton.Name = "resetSettingsToolStripButton"; - this.resetSettingsToolStripButton.Size = new System.Drawing.Size(23, 22); - this.resetSettingsToolStripButton.Text = "Reset Settings"; - this.resetSettingsToolStripButton.Click += new System.EventHandler(this.resetSettingsToolStripMenuItem_Click); - // - // cacheResetToolStripSeparator - // - this.cacheResetToolStripSeparator.Name = "cacheResetToolStripSeparator"; - this.cacheResetToolStripSeparator.Size = new System.Drawing.Size(6, 25); - // - // exitToolStripButton - // - this.exitToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.exitToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("exitToolStripButton.Image"))); - this.exitToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.exitToolStripButton.Name = "exitToolStripButton"; - this.exitToolStripButton.Size = new System.Drawing.Size(23, 22); - this.exitToolStripButton.Text = "Exit"; - this.exitToolStripButton.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); - // - // exitToolStripSeparator - // - this.exitToolStripSeparator.Name = "exitToolStripSeparator"; - this.exitToolStripSeparator.Size = new System.Drawing.Size(6, 25); - // - // tsbManagePlans - // - this.tsbManagePlans.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsbManagePlans.Image = ((System.Drawing.Image)(resources.GetObject("tsbManagePlans.Image"))); - this.tsbManagePlans.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsbManagePlans.Name = "tsbManagePlans"; - this.tsbManagePlans.Size = new System.Drawing.Size(23, 22); - this.tsbManagePlans.Text = "Manage Plans"; - this.tsbManagePlans.Click += new System.EventHandler(this.manageToolStripMenuItem_Click); - // - // plansTbMenu - // - this.plansTbMenu.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.plansTbMenu.Image = ((System.Drawing.Image)(resources.GetObject("plansTbMenu.Image"))); - this.plansTbMenu.ImageTransparentColor = System.Drawing.Color.Magenta; - this.plansTbMenu.Name = "plansTbMenu"; - this.plansTbMenu.Size = new System.Drawing.Size(57, 22); - this.plansTbMenu.Text = "Plans..."; - this.plansTbMenu.DropDownOpening += new System.EventHandler(this.tsdbPlans_DropDownOpening); - // - // plansToolStripSeparator - // - this.plansToolStripSeparator.Name = "plansToolStripSeparator"; - this.plansToolStripSeparator.Size = new System.Drawing.Size(6, 25); - // - // characterComparisonToolStripButton - // - this.characterComparisonToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.characterComparisonToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("characterComparisonToolStripButton.Image"))); - this.characterComparisonToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.characterComparisonToolStripButton.Name = "characterComparisonToolStripButton"; - this.characterComparisonToolStripButton.Size = new System.Drawing.Size(23, 22); - this.characterComparisonToolStripButton.Text = "Character Comparison..."; - this.characterComparisonToolStripButton.Click += new System.EventHandler(this.charactersComparisonToolStripMenuItem_Click); - // - // tsbMineralSheet - // - this.tsbMineralSheet.Name = "tsbMineralSheet"; - this.tsbMineralSheet.Size = new System.Drawing.Size(23, 22); - // - // skillsPieChartTbMenu - // - this.skillsPieChartTbMenu.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.skillsPieChartTbMenu.Image = ((System.Drawing.Image)(resources.GetObject("skillsPieChartTbMenu.Image"))); - this.skillsPieChartTbMenu.ImageTransparentColor = System.Drawing.Color.Magenta; - this.skillsPieChartTbMenu.Name = "skillsPieChartTbMenu"; - this.skillsPieChartTbMenu.Size = new System.Drawing.Size(23, 22); - this.skillsPieChartTbMenu.Text = "Skill Group Pie Chart..."; - this.skillsPieChartTbMenu.Click += new System.EventHandler(this.tsSkillsPieChartTool_Click); - // - // tsbSchedule - // - this.tsbSchedule.Name = "tsbSchedule"; - this.tsbSchedule.Size = new System.Drawing.Size(23, 22); - // - // tsbImplantGroups - // - this.tsbImplantGroups.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsbImplantGroups.Image = ((System.Drawing.Image)(resources.GetObject("tsbImplantGroups.Image"))); - this.tsbImplantGroups.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsbImplantGroups.Name = "tsbImplantGroups"; - this.tsbImplantGroups.Size = new System.Drawing.Size(23, 22); - this.tsbImplantGroups.Text = "Implant AllGroups..."; - this.tsbImplantGroups.Click += new System.EventHandler(this.manualImplantGroupsToolStripMenuItem_Click); - // - // tsbShowOwned - // - this.tsbShowOwned.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsbShowOwned.Image = ((System.Drawing.Image)(resources.GetObject("tsbShowOwned.Image"))); - this.tsbShowOwned.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsbShowOwned.Name = "tsbShowOwned"; - this.tsbShowOwned.Size = new System.Drawing.Size(23, 22); - this.tsbShowOwned.Text = "Show Owned Skillbooks..."; - this.tsbShowOwned.Click += new System.EventHandler(this.tsShowOwnedSkillbooks_Click); - // - // toolsToolStripSeparator - // - this.toolsToolStripSeparator.Name = "toolsToolStripSeparator"; - this.toolsToolStripSeparator.Size = new System.Drawing.Size(6, 25); - // - // tsbOptions - // - this.tsbOptions.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsbOptions.Image = ((System.Drawing.Image)(resources.GetObject("tsbOptions.Image"))); - this.tsbOptions.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsbOptions.Name = "tsbOptions"; - this.tsbOptions.Size = new System.Drawing.Size(23, 22); - this.tsbOptions.Text = "Options..."; - this.tsbOptions.Click += new System.EventHandler(this.optionsMenuItem_Click); - // - // tsbAbout - // - this.tsbAbout.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsbAbout.Image = ((System.Drawing.Image)(resources.GetObject("tsbAbout.Image"))); - this.tsbAbout.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsbAbout.Name = "tsbAbout"; - this.tsbAbout.Size = new System.Drawing.Size(23, 22); - this.tsbAbout.Text = "About..."; - this.tsbAbout.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); - // - // niAlertIcon - // - this.niAlertIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("niAlertIcon.Icon"))); - this.niAlertIcon.Text = "EVEMon notifications"; - this.niAlertIcon.BalloonTipClicked += new System.EventHandler(this.niAlertIcon_BalloonTipClicked); - this.niAlertIcon.Click += new System.EventHandler(this.niAlertIcon_Click); - this.niAlertIcon.MouseClick += new System.Windows.Forms.MouseEventHandler(this.niAlertIcon_MouseClick); - // - // ofdOpenDialog - // - this.ofdOpenDialog.Filter = "Plan Files (*.emp)|*.emp|Plan Files (*.xml)|*.xml|All Files (*.*)|*.*"; - this.ofdOpenDialog.Title = "Open Plan File"; - // - // tcCharacterTabs - // - this.tcCharacterTabs.AllowDrop = true; - this.tcCharacterTabs.Controls.Add(this.tpOverview); - this.tcCharacterTabs.Dock = System.Windows.Forms.DockStyle.Fill; - this.tcCharacterTabs.Location = new System.Drawing.Point(0, 49); - this.tcCharacterTabs.Multiline = true; - this.tcCharacterTabs.Name = "tcCharacterTabs"; - this.tcCharacterTabs.Padding = new System.Drawing.Point(0, 0); - this.tcCharacterTabs.SelectedIndex = 0; - this.tcCharacterTabs.ShowToolTips = true; - this.tcCharacterTabs.Size = new System.Drawing.Size(600, 503); - this.tcCharacterTabs.SizeMode = System.Windows.Forms.TabSizeMode.FillToRight; - this.tcCharacterTabs.TabIndex = 0; - this.tcCharacterTabs.SelectedIndexChanged += new System.EventHandler(this.tcCharacterTabs_SelectedIndexChanged); - this.tcCharacterTabs.DragDrop += new System.Windows.Forms.DragEventHandler(this.tcCharacterTabs_DragDrop); - // - // tpOverview - // - this.tpOverview.Controls.Add(this.overview); - this.tpOverview.Location = new System.Drawing.Point(4, 22); - this.tpOverview.Name = "tpOverview"; - this.tpOverview.Size = new System.Drawing.Size(592, 477); - this.tpOverview.TabIndex = 0; - this.tpOverview.Text = "Overview"; - this.tpOverview.UseVisualStyleBackColor = true; - // - // overview - // - this.overview.AutoScroll = true; - this.overview.BackColor = System.Drawing.Color.Transparent; - this.overview.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this.overview.Dock = System.Windows.Forms.DockStyle.Fill; - this.overview.Location = new System.Drawing.Point(0, 0); - this.overview.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.overview.Name = "overview"; - this.overview.Size = new System.Drawing.Size(592, 477); - this.overview.TabIndex = 0; - this.overview.CharacterClicked += new System.EventHandler(this.overview_CharacterClicked); - // - // trayIcon - // - this.trayIcon.ContextMenuStrip = this.trayIconContextMenuStrip; - this.trayIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("trayIcon.Icon"))); - this.trayIcon.MouseHoverTime = 300; - this.trayIcon.Text = ""; - this.trayIcon.Click += new System.EventHandler(this.trayIcon_Click); - this.trayIcon.MouseHover += new System.EventHandler(this.trayIcon_MouseHover); - this.trayIcon.MouseLeave += new System.EventHandler(this.trayIcon_MouseLeave); - // - // tabLoadingLabel - // - this.tabLoadingLabel.BackColor = System.Drawing.Color.WhiteSmoke; - this.tabLoadingLabel.Dock = System.Windows.Forms.DockStyle.Fill; - this.tabLoadingLabel.ForeColor = System.Drawing.SystemColors.GrayText; - this.tabLoadingLabel.Location = new System.Drawing.Point(0, 49); - this.tabLoadingLabel.Name = "tabLoadingLabel"; - this.tabLoadingLabel.Size = new System.Drawing.Size(600, 503); - this.tabLoadingLabel.TabIndex = 7; - this.tabLoadingLabel.Text = "Loading...\r\n\r\nPlease Wait."; - this.tabLoadingLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // noCharactersLabel - // - this.noCharactersLabel.BackColor = System.Drawing.Color.WhiteSmoke; - this.noCharactersLabel.Dock = System.Windows.Forms.DockStyle.Fill; - this.noCharactersLabel.ForeColor = System.Drawing.SystemColors.GrayText; - this.noCharactersLabel.Location = new System.Drawing.Point(0, 49); - this.noCharactersLabel.Name = "noCharactersLabel"; - this.noCharactersLabel.Size = new System.Drawing.Size(600, 503); - this.noCharactersLabel.TabIndex = 8; - this.noCharactersLabel.Text = "No character loaded or monitored\r\n\r\nTo add characters, click the File > Add API k" + + this.tsdbSettings.Image = ((System.Drawing.Image)(resources.GetObject("tsdbSettings.Image"))); + this.tsdbSettings.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsdbSettings.Name = "tsdbSettings"; + this.tsdbSettings.Size = new System.Drawing.Size(37, 28); + this.tsdbSettings.Text = "tsddbSettings"; + this.tsdbSettings.ToolTipText = "Save/Restore Settings"; + // + // tsLoadSettings + // + this.tsLoadSettings.Image = ((System.Drawing.Image)(resources.GetObject("tsLoadSettings.Image"))); + this.tsLoadSettings.Name = "tsLoadSettings"; + this.tsLoadSettings.Size = new System.Drawing.Size(167, 22); + this.tsLoadSettings.Text = "Restore Settings..."; + this.tsLoadSettings.Click += new System.EventHandler(this.loadSettingsToolStripMenuItem_Click); + // + // tsSaveSettings + // + this.tsSaveSettings.Image = ((System.Drawing.Image)(resources.GetObject("tsSaveSettings.Image"))); + this.tsSaveSettings.Name = "tsSaveSettings"; + this.tsSaveSettings.Size = new System.Drawing.Size(167, 22); + this.tsSaveSettings.Text = "Save Settings..."; + this.tsSaveSettings.Click += new System.EventHandler(this.saveSettingsToolStripMenuItem_Click); + // + // settingsToolStripSeparator + // + this.settingsToolStripSeparator.Name = "settingsToolStripSeparator"; + this.settingsToolStripSeparator.Size = new System.Drawing.Size(6, 31); + // + // clearCacheToolStripButton + // + this.clearCacheToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.clearCacheToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("clearCacheToolStripButton.Image"))); + this.clearCacheToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.clearCacheToolStripButton.Name = "clearCacheToolStripButton"; + this.clearCacheToolStripButton.Size = new System.Drawing.Size(28, 28); + this.clearCacheToolStripButton.Text = "Clear Cache"; + this.clearCacheToolStripButton.Click += new System.EventHandler(this.clearCacheToolStripMenuItem_Click); + // + // resetSettingsToolStripButton + // + this.resetSettingsToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.resetSettingsToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("resetSettingsToolStripButton.Image"))); + this.resetSettingsToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.resetSettingsToolStripButton.Name = "resetSettingsToolStripButton"; + this.resetSettingsToolStripButton.Size = new System.Drawing.Size(28, 28); + this.resetSettingsToolStripButton.Text = "Reset Settings"; + this.resetSettingsToolStripButton.Click += new System.EventHandler(this.resetSettingsToolStripMenuItem_Click); + // + // cacheResetToolStripSeparator + // + this.cacheResetToolStripSeparator.Name = "cacheResetToolStripSeparator"; + this.cacheResetToolStripSeparator.Size = new System.Drawing.Size(6, 31); + // + // exitToolStripButton + // + this.exitToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.exitToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("exitToolStripButton.Image"))); + this.exitToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.exitToolStripButton.Name = "exitToolStripButton"; + this.exitToolStripButton.Size = new System.Drawing.Size(28, 28); + this.exitToolStripButton.Text = "Exit"; + this.exitToolStripButton.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); + // + // exitToolStripSeparator + // + this.exitToolStripSeparator.Name = "exitToolStripSeparator"; + this.exitToolStripSeparator.Size = new System.Drawing.Size(6, 31); + // + // tsbManagePlans + // + this.tsbManagePlans.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsbManagePlans.Image = ((System.Drawing.Image)(resources.GetObject("tsbManagePlans.Image"))); + this.tsbManagePlans.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbManagePlans.Name = "tsbManagePlans"; + this.tsbManagePlans.Size = new System.Drawing.Size(28, 28); + this.tsbManagePlans.Text = "Manage Plans"; + this.tsbManagePlans.Click += new System.EventHandler(this.manageToolStripMenuItem_Click); + // + // plansTbMenu + // + this.plansTbMenu.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + this.plansTbMenu.Image = ((System.Drawing.Image)(resources.GetObject("plansTbMenu.Image"))); + this.plansTbMenu.ImageTransparentColor = System.Drawing.Color.Magenta; + this.plansTbMenu.Name = "plansTbMenu"; + this.plansTbMenu.Size = new System.Drawing.Size(57, 28); + this.plansTbMenu.Text = "Plans..."; + this.plansTbMenu.DropDownOpening += new System.EventHandler(this.tsdbPlans_DropDownOpening); + // + // plansToolStripSeparator + // + this.plansToolStripSeparator.Name = "plansToolStripSeparator"; + this.plansToolStripSeparator.Size = new System.Drawing.Size(6, 31); + // + // characterComparisonToolStripButton + // + this.characterComparisonToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.characterComparisonToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("characterComparisonToolStripButton.Image"))); + this.characterComparisonToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.characterComparisonToolStripButton.Name = "characterComparisonToolStripButton"; + this.characterComparisonToolStripButton.Size = new System.Drawing.Size(28, 28); + this.characterComparisonToolStripButton.Text = "Character Comparison..."; + this.characterComparisonToolStripButton.Click += new System.EventHandler(this.charactersComparisonToolStripMenuItem_Click); + // + // tsbMineralSheet + // + this.tsbMineralSheet.Name = "tsbMineralSheet"; + this.tsbMineralSheet.Size = new System.Drawing.Size(23, 28); + // + // skillsPieChartTbMenu + // + this.skillsPieChartTbMenu.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.skillsPieChartTbMenu.Image = ((System.Drawing.Image)(resources.GetObject("skillsPieChartTbMenu.Image"))); + this.skillsPieChartTbMenu.ImageTransparentColor = System.Drawing.Color.Magenta; + this.skillsPieChartTbMenu.Name = "skillsPieChartTbMenu"; + this.skillsPieChartTbMenu.Size = new System.Drawing.Size(28, 28); + this.skillsPieChartTbMenu.Text = "Skill Group Pie Chart..."; + this.skillsPieChartTbMenu.Click += new System.EventHandler(this.tsSkillsPieChartTool_Click); + // + // tsbSchedule + // + this.tsbSchedule.Name = "tsbSchedule"; + this.tsbSchedule.Size = new System.Drawing.Size(23, 28); + // + // tsbImplantGroups + // + this.tsbImplantGroups.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsbImplantGroups.Image = ((System.Drawing.Image)(resources.GetObject("tsbImplantGroups.Image"))); + this.tsbImplantGroups.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbImplantGroups.Name = "tsbImplantGroups"; + this.tsbImplantGroups.Size = new System.Drawing.Size(28, 28); + this.tsbImplantGroups.Text = "Implant AllGroups..."; + this.tsbImplantGroups.Click += new System.EventHandler(this.manualImplantGroupsToolStripMenuItem_Click); + // + // tsbShowOwned + // + this.tsbShowOwned.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsbShowOwned.Image = ((System.Drawing.Image)(resources.GetObject("tsbShowOwned.Image"))); + this.tsbShowOwned.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbShowOwned.Name = "tsbShowOwned"; + this.tsbShowOwned.Size = new System.Drawing.Size(28, 28); + this.tsbShowOwned.Text = "Show Owned Skillbooks..."; + this.tsbShowOwned.Click += new System.EventHandler(this.tsShowOwnedSkillbooks_Click); + // + // toolsToolStripSeparator + // + this.toolsToolStripSeparator.Name = "toolsToolStripSeparator"; + this.toolsToolStripSeparator.Size = new System.Drawing.Size(6, 31); + // + // tsbOptions + // + this.tsbOptions.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsbOptions.Image = ((System.Drawing.Image)(resources.GetObject("tsbOptions.Image"))); + this.tsbOptions.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbOptions.Name = "tsbOptions"; + this.tsbOptions.Size = new System.Drawing.Size(28, 28); + this.tsbOptions.Text = "Options..."; + this.tsbOptions.Click += new System.EventHandler(this.optionsMenuItem_Click); + // + // tsbAbout + // + this.tsbAbout.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsbAbout.Image = ((System.Drawing.Image)(resources.GetObject("tsbAbout.Image"))); + this.tsbAbout.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbAbout.Name = "tsbAbout"; + this.tsbAbout.Size = new System.Drawing.Size(28, 28); + this.tsbAbout.Text = "About..."; + this.tsbAbout.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); + // + // niAlertIcon + // + this.niAlertIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("niAlertIcon.Icon"))); + this.niAlertIcon.Text = "EVEMon notifications"; + this.niAlertIcon.BalloonTipClicked += new System.EventHandler(this.niAlertIcon_BalloonTipClicked); + this.niAlertIcon.Click += new System.EventHandler(this.niAlertIcon_Click); + this.niAlertIcon.MouseClick += new System.Windows.Forms.MouseEventHandler(this.niAlertIcon_MouseClick); + // + // ofdOpenDialog + // + this.ofdOpenDialog.Filter = "Plan Files (*.emp)|*.emp|Plan Files (*.xml)|*.xml|All Files (*.*)|*.*"; + this.ofdOpenDialog.Title = "Open Plan File"; + // + // tcCharacterTabs + // + this.tcCharacterTabs.AllowDrop = true; + this.tcCharacterTabs.Controls.Add(this.tpOverview); + this.tcCharacterTabs.Dock = System.Windows.Forms.DockStyle.Fill; + this.tcCharacterTabs.Location = new System.Drawing.Point(0, 55); + this.tcCharacterTabs.Multiline = true; + this.tcCharacterTabs.Name = "tcCharacterTabs"; + this.tcCharacterTabs.Padding = new System.Drawing.Point(0, 0); + this.tcCharacterTabs.SelectedIndex = 0; + this.tcCharacterTabs.ShowToolTips = true; + this.tcCharacterTabs.Size = new System.Drawing.Size(600, 497); + this.tcCharacterTabs.SizeMode = System.Windows.Forms.TabSizeMode.FillToRight; + this.tcCharacterTabs.TabIndex = 0; + this.tcCharacterTabs.SelectedIndexChanged += new System.EventHandler(this.tcCharacterTabs_SelectedIndexChanged); + this.tcCharacterTabs.DragDrop += new System.Windows.Forms.DragEventHandler(this.tcCharacterTabs_DragDrop); + // + // tpOverview + // + this.tpOverview.Controls.Add(this.overview); + this.tpOverview.Location = new System.Drawing.Point(4, 22); + this.tpOverview.Name = "tpOverview"; + this.tpOverview.Size = new System.Drawing.Size(592, 471); + this.tpOverview.TabIndex = 0; + this.tpOverview.Text = "Overview"; + this.tpOverview.UseVisualStyleBackColor = true; + // + // overview + // + this.overview.AutoScroll = true; + this.overview.BackColor = System.Drawing.Color.Transparent; + this.overview.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; + this.overview.Dock = System.Windows.Forms.DockStyle.Fill; + this.overview.Location = new System.Drawing.Point(0, 0); + this.overview.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.overview.Name = "overview"; + this.overview.Size = new System.Drawing.Size(592, 471); + this.overview.TabIndex = 0; + this.overview.CharacterClicked += new System.EventHandler(this.overview_CharacterClicked); + // + // trayIcon + // + this.trayIcon.ContextMenuStrip = this.trayIconContextMenuStrip; + this.trayIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("trayIcon.Icon"))); + this.trayIcon.MouseHoverTime = 300; + this.trayIcon.Text = ""; + this.trayIcon.Click += new System.EventHandler(this.trayIcon_Click); + this.trayIcon.MouseHover += new System.EventHandler(this.trayIcon_MouseHover); + this.trayIcon.MouseLeave += new System.EventHandler(this.trayIcon_MouseLeave); + // + // tabLoadingLabel + // + this.tabLoadingLabel.BackColor = System.Drawing.Color.WhiteSmoke; + this.tabLoadingLabel.Dock = System.Windows.Forms.DockStyle.Fill; + this.tabLoadingLabel.ForeColor = System.Drawing.SystemColors.GrayText; + this.tabLoadingLabel.Location = new System.Drawing.Point(0, 55); + this.tabLoadingLabel.Name = "tabLoadingLabel"; + this.tabLoadingLabel.Size = new System.Drawing.Size(600, 497); + this.tabLoadingLabel.TabIndex = 7; + this.tabLoadingLabel.Text = "Loading...\r\n\r\nPlease Wait."; + this.tabLoadingLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // noCharactersLabel + // + this.noCharactersLabel.BackColor = System.Drawing.Color.WhiteSmoke; + this.noCharactersLabel.Dock = System.Windows.Forms.DockStyle.Fill; + this.noCharactersLabel.ForeColor = System.Drawing.SystemColors.GrayText; + this.noCharactersLabel.Location = new System.Drawing.Point(0, 55); + this.noCharactersLabel.Name = "noCharactersLabel"; + this.noCharactersLabel.Size = new System.Drawing.Size(600, 497); + this.noCharactersLabel.TabIndex = 8; + this.noCharactersLabel.Text = "No character loaded or monitored\r\n\r\nTo add characters, click the File > Add API k" + "ey... menu option\r\nTo monitor characters, click the File > Manage API Keys... me" + "nu option"; - this.noCharactersLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // mainLoadingThrobber - // - this.mainLoadingThrobber.Anchor = System.Windows.Forms.AnchorStyles.None; - this.mainLoadingThrobber.Location = new System.Drawing.Point(285, 314); - this.mainLoadingThrobber.MaximumSize = new System.Drawing.Size(24, 24); - this.mainLoadingThrobber.MinimumSize = new System.Drawing.Size(24, 24); - this.mainLoadingThrobber.Name = "mainLoadingThrobber"; - this.mainLoadingThrobber.Size = new System.Drawing.Size(24, 24); - this.mainLoadingThrobber.State = EVEMon.Common.Enumerations.ThrobberState.Rotating; - this.mainLoadingThrobber.TabIndex = 1; - this.mainLoadingThrobber.TabStop = false; - // - // notificationList - // - this.notificationList.Dock = System.Windows.Forms.DockStyle.Bottom; - this.notificationList.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(161))); - this.notificationList.Location = new System.Drawing.Point(0, 552); - this.notificationList.Margin = new System.Windows.Forms.Padding(0); - this.notificationList.Name = "notificationList"; - this.notificationList.Size = new System.Drawing.Size(600, 72); - this.notificationList.TabIndex = 6; - // - // MainWindow - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(600, 646); - this.Controls.Add(this.tcCharacterTabs); - this.Controls.Add(this.mainLoadingThrobber); - this.Controls.Add(this.tabLoadingLabel); - this.Controls.Add(this.noCharactersLabel); - this.Controls.Add(this.notificationList); - this.Controls.Add(this.statusStrip); - this.Controls.Add(this.mainToolBar); - this.Controls.Add(this.mainMenuBar); - this.MainMenuStrip = this.mainMenuBar; - this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.MinimumSize = new System.Drawing.Size(614, 344); - this.Name = "MainWindow"; - this.trayIconContextMenuStrip.ResumeLayout(false); - this.statusStrip.ResumeLayout(false); - this.statusStrip.PerformLayout(); - this.mainMenuBar.ResumeLayout(false); - this.mainMenuBar.PerformLayout(); - this.toolbarContext.ResumeLayout(false); - this.mainToolBar.ResumeLayout(false); - this.mainToolBar.PerformLayout(); - this.tcCharacterTabs.ResumeLayout(false); - this.tpOverview.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.mainLoadingThrobber)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); + this.noCharactersLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // mainLoadingThrobber + // + this.mainLoadingThrobber.Anchor = System.Windows.Forms.AnchorStyles.None; + this.mainLoadingThrobber.Location = new System.Drawing.Point(285, 314); + this.mainLoadingThrobber.MaximumSize = new System.Drawing.Size(24, 24); + this.mainLoadingThrobber.MinimumSize = new System.Drawing.Size(24, 24); + this.mainLoadingThrobber.Name = "mainLoadingThrobber"; + this.mainLoadingThrobber.Size = new System.Drawing.Size(24, 24); + this.mainLoadingThrobber.State = EVEMon.Common.Enumerations.ThrobberState.Rotating; + this.mainLoadingThrobber.TabIndex = 1; + this.mainLoadingThrobber.TabStop = false; + // + // notificationList + // + this.notificationList.Dock = System.Windows.Forms.DockStyle.Bottom; + this.notificationList.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(161))); + this.notificationList.Location = new System.Drawing.Point(0, 552); + this.notificationList.Margin = new System.Windows.Forms.Padding(0); + this.notificationList.Name = "notificationList"; + this.notificationList.Size = new System.Drawing.Size(600, 72); + this.notificationList.TabIndex = 6; + // + // MainWindow + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(600, 646); + this.Controls.Add(this.tcCharacterTabs); + this.Controls.Add(this.mainLoadingThrobber); + this.Controls.Add(this.tabLoadingLabel); + this.Controls.Add(this.noCharactersLabel); + this.Controls.Add(this.notificationList); + this.Controls.Add(this.statusStrip); + this.Controls.Add(this.mainToolBar); + this.Controls.Add(this.mainMenuBar); + this.DoubleBuffered = true; + this.MainMenuStrip = this.mainMenuBar; + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.MinimumSize = new System.Drawing.Size(614, 344); + this.Name = "MainWindow"; + this.trayIconContextMenuStrip.ResumeLayout(false); + this.statusStrip.ResumeLayout(false); + this.statusStrip.PerformLayout(); + this.mainMenuBar.ResumeLayout(false); + this.mainMenuBar.PerformLayout(); + this.toolbarContext.ResumeLayout(false); + this.mainToolBar.ResumeLayout(false); + this.mainToolBar.PerformLayout(); + this.tcCharacterTabs.ResumeLayout(false); + this.tpOverview.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.mainLoadingThrobber)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); } diff --git a/src/EVEMon/MainWindow.cs b/src/EVEMon/MainWindow.cs index e60ec08e1..97db295fc 100644 --- a/src/EVEMon/MainWindow.cs +++ b/src/EVEMon/MainWindow.cs @@ -23,7 +23,7 @@ using EVEMon.Common.SettingsObjects; using EVEMon.DetailsWindow; using EVEMon.ImplantControls; -using EVEMon.LogitechG15; +//using EVEMon.LogitechG15; using EVEMon.NotificationWindow; using EVEMon.PieChart; using EVEMon.SettingsUI; @@ -114,6 +114,9 @@ public MainWindow() DisplayTestMenu(); m_startMinimized = Environment.GetCommandLineArgs().Contains("-startMinimized"); + + //! veg - set to false to re-enable data updates from GitHub once more. + m_isShowingDataUpdateWindow = true; } /// @@ -239,7 +242,8 @@ private async Task InitializeData() await GlobalDatafileCollection.LoadAsync(); // Load cache data - await TaskHelper.RunIOBoundTaskAsync(() => { + await TaskHelper.RunIOBoundTaskAsync(() => + { EveIDToName.InitializeFromFile(); EveIDToStation.InitializeFromFile(); }); @@ -247,9 +251,10 @@ await TaskHelper.RunIOBoundTaskAsync(() => { // Load characters related settings await Settings.ImportDataAsync(); + //! veg Disable Lochitech G15 // Initialize G15 - if (OSFeatureCheck.IsWindowsNT) - G15Handler.Initialize(); + //if (OSFeatureCheck.IsWindowsNT) + // G15Handler.Initialize(); m_initialized = true; @@ -373,7 +378,7 @@ protected override void OnFormClosed(FormClosedEventArgs e) /// protected override void OnDeactivate(EventArgs e) { - base. OnDeactivate(e); + base.OnDeactivate(e); // Only cleanup if we're deactivating to the minimized state (e.g. systray) if (WindowState == FormWindowState.Minimized) @@ -1120,7 +1125,10 @@ private void UpdateWindowTitle() builder.Append(appSuffix); // Set the window title - Text = builder.ToString(); + if (Text != builder.ToString()) + { + Text = builder.ToString(); + } } /// @@ -1215,7 +1223,7 @@ private async void OnUpdateAvailable(object sender, UpdateAvailableEventArgs e) string message = $"A new version ({e.NewestVersion}) is available at " + $"{NetworkConstants.EVEMonMainPage}.{Environment.NewLine}" + $"{Environment.NewLine}Your current version is: {e.CurrentVersion}."; - + MessageBoxCustom.Show(this, message, @"EVEMon Update Available", "Ignore this upgrade", icon: MessageBoxIcon.Information); @@ -1705,7 +1713,7 @@ private void planItem_Click(object sender, EventArgs e) // Show or bring to front if a window with the same plan as tag already exists PlanWindow.ShowPlanWindow(GetCurrentCharacter(), plan); } - + /// /// Tools > Characters Comparison. /// Open the Characters Comparison window. @@ -2278,7 +2286,7 @@ private void UpdateControlsVisibility() // Displays or not the 'no characters added' label noCharactersLabel.Visible = !EveMonClient.MonitoredCharacters.Any(); - + // Tray icon's visibility trayIcon.Visible = Settings.UI.SystemTrayIcon == SystemTrayBehaviour.AlwaysVisible || (Settings.UI.SystemTrayIcon == SystemTrayBehaviour.ShowWhenMinimized && @@ -2344,7 +2352,7 @@ private void UpdateSettingsControlsVisibility(bool enabled) { item.Enabled = enabled; } - + UpdateControlsOnTabSelectionChange(); } diff --git a/src/EVEMon/Program.cs b/src/EVEMon/Program.cs index 123fb6377..9f754508c 100644 --- a/src/EVEMon/Program.cs +++ b/src/EVEMon/Program.cs @@ -91,6 +91,8 @@ private static async Task StartupAsync() // Save before we quit await Task.WhenAll(Settings.SaveImmediateAsync(), EveIDToName.SaveImmediateAsync()); + //Settings.SaveImmediateAsync().Wait(); + //EveIDToName.SaveImmediateAsync().Wait(); } finally { diff --git a/src/EVEMon/Properties/Resources.Designer.cs b/src/EVEMon/Properties/Resources.Designer.cs index 0d4bc38e8..843fe92a7 100644 --- a/src/EVEMon/Properties/Resources.Designer.cs +++ b/src/EVEMon/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace EVEMon.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { diff --git a/src/EVEMon/Properties/Settings.Designer.cs b/src/EVEMon/Properties/Settings.Designer.cs index a184cf28e..1d870f1b3 100644 --- a/src/EVEMon/Properties/Settings.Designer.cs +++ b/src/EVEMon/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace EVEMon.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.8.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/src/EVEMon/SettingsUI/SettingsForm.cs b/src/EVEMon/SettingsUI/SettingsForm.cs index 3ca441729..da3a38f89 100644 --- a/src/EVEMon/SettingsUI/SettingsForm.cs +++ b/src/EVEMon/SettingsUI/SettingsForm.cs @@ -53,7 +53,8 @@ public SettingsForm() removeConfirmedRadioButton.Font = FontFactory.GetFont("Tahoma", 8.25F, FontStyle.Bold); settingsFileStorageControl.Font = FontFactory.GetFont("Tahoma", 8.25F); extraInfoComboBox.SelectedIndex = 0; - + //! veg remove Lochitech G15 UI (hardcoded indexes). + treeView.Nodes[0].Nodes.RemoveAt(2); m_settings = Settings.Export(); m_oldSettings = Settings.Export(); m_preSelect = null; @@ -159,8 +160,9 @@ private void SettingsForm_Load(object sender, EventArgs e) // Tray icon settings SetTrayIconSettings(); + //! veg Disable Lochitech G15 // G15 - SetG15Settings(); + //SetG15Settings(); // Skills display on the main window var mws = m_settings.UI.MainWindow; diff --git a/tests/Tests.EVEMon.Common/Tests.EVEMon.Common.csproj b/tests/Tests.EVEMon.Common/Tests.EVEMon.Common.csproj index 14ddbed27..c2efca816 100644 --- a/tests/Tests.EVEMon.Common/Tests.EVEMon.Common.csproj +++ b/tests/Tests.EVEMon.Common/Tests.EVEMon.Common.csproj @@ -1,6 +1,7 @@  - + + Debug AnyCPU @@ -9,7 +10,7 @@ Properties Tests.EVEMon.Common Tests.EVEMon.Common - v4.6.1 + v4.7.2 512 {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10.0 @@ -57,30 +58,76 @@ 4 false + + true + - - ..\..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll - True + + ..\..\packages\Castle.Core.5.1.1\lib\netstandard2.0\Castle.Core.dll + + + + ..\..\packages\Microsoft.TestPlatform.ObjectModel.17.7.2\lib\net462\Microsoft.TestPlatform.CoreUtilities.dll + + + ..\..\packages\Microsoft.TestPlatform.ObjectModel.17.7.2\lib\net462\Microsoft.TestPlatform.PlatformAbstractions.dll + + + ..\..\packages\Microsoft.TestPlatform.ObjectModel.17.7.2\lib\net462\Microsoft.VisualStudio.TestPlatform.ObjectModel.dll + + + ..\..\packages\Moq.4.20.69\lib\netstandard2.0\Moq.dll + + + ..\..\packages\NuGet.Frameworks.6.8.0\lib\net472\NuGet.Frameworks.dll + + ..\..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + ..\..\packages\System.Collections.Immutable.8.0.0\lib\net462\System.Collections.Immutable.dll + + 3.5 + + ..\..\packages\System.Diagnostics.EventLog.8.0.0\lib\net462\System.Diagnostics.EventLog.dll + + + ..\..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + + ..\..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\..\packages\System.Reflection.Metadata.8.0.0\lib\net462\System.Reflection.Metadata.dll + + + + ..\..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + + ..\..\packages\System.Security.Principal.Windows.5.0.0\lib\net461\System.Security.Principal.Windows.dll + + + ..\..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + - ..\..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll - True + ..\..\packages\xunit.abstractions.2.0.3\lib\net35\xunit.abstractions.dll - - ..\..\packages\xunit.assert.2.1.0\lib\dotnet\xunit.assert.dll - True + + ..\..\packages\xunit.assert.2.6.1\lib\netstandard1.1\xunit.assert.dll - - ..\..\packages\xunit.extensibility.core.2.1.0\lib\dotnet\xunit.core.dll - True + + ..\..\packages\xunit.extensibility.core.2.6.1\lib\net452\xunit.core.dll - - ..\..\packages\xunit.extensibility.execution.2.1.0\lib\net45\xunit.execution.desktop.dll - True + + ..\..\packages\xunit.extensibility.execution.2.6.1\lib\net452\xunit.execution.desktop.dll @@ -114,6 +161,10 @@ + + + + @@ -145,8 +196,11 @@ if exist "$(TargetDir)"stdole.dll del "$(TargetDir)"stdole.dll This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + + + + +
- + @@ -16,6 +16,7 @@ + @@ -26,22 +27,102 @@ - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - \ No newline at end of file + diff --git a/tools/XmlGenerator/Datafiles/Geography.cs b/tools/XmlGenerator/Datafiles/Geography.cs index 06c3541d9..81fa72041 100644 --- a/tools/XmlGenerator/Datafiles/Geography.cs +++ b/tools/XmlGenerator/Datafiles/Geography.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using System.Reflection; using EVEMon.Common.Collections; using EVEMon.Common.Serialization.Datafiles; using EVEMon.XmlGenerator.Interfaces; @@ -170,9 +171,15 @@ private static IEnumerable ExportAgents(IHasLongID srcStation ID = agent.ID, Level = agent.Level, Quality = agent.Quality, - Name = Database.InvNamesTable[agent.ID].Name, - DivisionName = Database.CrpNPCDivisionsTable[agent.DivisionID].DivisionName, - AgentType = Database.AgtAgentTypesTable[agent.AgentTypeID].AgentType, + Name = Database.InvNamesTable.HasValue(agent.ID) + ? Database.InvNamesTable[agent.ID].Name + : "Missing", + DivisionName = Database.CrpNPCDivisionsTable.HasValue(agent.DivisionID) + ? Database.CrpNPCDivisionsTable[agent.DivisionID].DivisionName + : "Missing", + AgentType = Database.AgtAgentTypesTable.HasValue(agent.AgentTypeID) + ? Database.AgtAgentTypesTable[agent.AgentTypeID].AgentType + : "Missing", ResearchSkillID = Database.AgtResearchAgentsTable.Any(x => x.ID == agent.ID) ? Database.AgtResearchAgentsTable[agent.ID].ResearchSkillID : 0, diff --git a/tools/XmlGenerator/Datafiles/Items.cs b/tools/XmlGenerator/Datafiles/Items.cs index fb60a3fb8..c5bb10355 100644 --- a/tools/XmlGenerator/Datafiles/Items.cs +++ b/tools/XmlGenerator/Datafiles/Items.cs @@ -17,30 +17,30 @@ namespace EVEMon.XmlGenerator.Datafiles { internal static class Items - { - private static List s_injectedMarketGroups; - private static List s_nullMarketItems; + { + private static List s_injectedMarketGroups; + private static List s_nullMarketItems; private static IDictionary> s_dgmTypeAttributesPerItem; private static IDictionary> s_invTypesPerMarketGroup; private static ISet s_factionMarketGroups; - /// - /// Generate the items datafile. - /// - internal static void GenerateDatafile() - { - Stopwatch stopwatch = Stopwatch.StartNew(); - Util.ResetCounters(); + /// + /// Generate the items datafile. + /// + internal static void GenerateDatafile() + { + Stopwatch stopwatch = Stopwatch.StartNew(); + Util.ResetCounters(); - Console.WriteLine(); - Console.Write(@"Generating items datafile... "); + Console.WriteLine(); + Console.Write(@"Generating items datafile... "); // Move non existing makret group to custom market group ConfigureNonExistingMarketGroupItems(); - // Create custom market groups that do not exist in EVE - ConfigureNullMarketItems(); + // Create custom market groups that do not exist in EVE + ConfigureNullMarketItems(); // Prepare lookup tables (after configuring the non-existent/null market group items) s_invTypesPerMarketGroup = Database.InvTypesTable.GroupBy(x => x.MarketGroupID. @@ -56,71 +56,71 @@ internal static void GenerateDatafile() var groups = new Dictionary(); CreateMarketGroups(groups); - // Create the parent-children groups relations - foreach (SerializableMarketGroup group in groups.Values) - { - var children = Database.InvMarketGroupsTable.Concat(s_injectedMarketGroups). + // Create the parent-children groups relations + foreach (SerializableMarketGroup group in groups.Values) + { + var children = Database.InvMarketGroupsTable.Concat(s_injectedMarketGroups). Where(x => x.ParentID.GetValueOrDefault() == group.ID).Select(x => groups[x.ID]).OrderBy(x => x.Name); - group.SubGroups.AddRange(children); - } + group.SubGroups.AddRange(children); + } - // Pick the family - SetItemFamilyByMarketGroup(groups[DBConstants.BlueprintsMarketGroupID], + // Pick the family + SetItemFamilyByMarketGroup(groups[DBConstants.BlueprintsMarketGroupID], ItemFamily.Blueprint); - SetItemFamilyByMarketGroup(groups[DBConstants.ShipsMarketGroupID], + SetItemFamilyByMarketGroup(groups[DBConstants.ShipsMarketGroupID], ItemFamily.Ship); - SetItemFamilyByMarketGroup(groups[DBConstants.ImplantsMarketGroupID], + SetItemFamilyByMarketGroup(groups[DBConstants.ImplantsMarketGroupID], ItemFamily.Implant); - SetItemFamilyByMarketGroup(groups[DBConstants.DronesMarketGroupID], + SetItemFamilyByMarketGroup(groups[DBConstants.DronesMarketGroupID], ItemFamily.Drone); - SetItemFamilyByMarketGroup(groups[DBConstants.StarbaseStructuresMarketGroupID], + SetItemFamilyByMarketGroup(groups[DBConstants.StarbaseStructuresMarketGroupID], ItemFamily.StarbaseStructure); - // Sort groups - var rootGroups = Database.InvMarketGroupsTable.Concat(s_injectedMarketGroups).Where( - x => !x.ParentID.HasValue).Select(x => groups[x.ID]).OrderBy(x => x.Name); + // Sort groups + var rootGroups = Database.InvMarketGroupsTable.Concat(s_injectedMarketGroups).Where( + x => !x.ParentID.HasValue).Select(x => groups[x.ID]).OrderBy(x => x.Name); - // Reset the custom market groups - s_nullMarketItems.ForEach(srcItem => srcItem.MarketGroupID = null); + // Reset the custom market groups + s_nullMarketItems.ForEach(srcItem => srcItem.MarketGroupID = null); - // Serialize - ItemsDatafile datafile = new ItemsDatafile(); - datafile.MarketGroups.AddRange(rootGroups); + // Serialize + ItemsDatafile datafile = new ItemsDatafile(); + datafile.MarketGroups.AddRange(rootGroups); - Util.DisplayEndTime(stopwatch); + Util.DisplayEndTime(stopwatch); - // DEBUG: Find which items have not been generated - if (Debugger.IsAttached) - { - var itemids = groups.Values.SelectMany(x => x.Items).Select(y => y.ID).ToList(); - var diff = Database.InvTypesTable.Where(item => !itemids.Contains(item.ID)).ToList(); + // DEBUG: Find which items have not been generated + if (Debugger.IsAttached) + { + var itemids = groups.Values.SelectMany(x => x.Items).Select(y => y.ID).ToList(); + var diff = Database.InvTypesTable.Where(item => !itemids.Contains(item.ID)).ToList(); - if (diff.Any()) - Console.WriteLine("{0} items were not generated.", diff.Count); - } + if (diff.Any()) + Console.WriteLine("{0} items were not generated.", diff.Count); + } - Util.SerializeXml(datafile, DatafileConstants.ItemsDatafile); - } + Util.SerializeXml(datafile, DatafileConstants.ItemsDatafile); + } - /// - /// Creates the market groups. - /// - /// The groups. - private static void CreateMarketGroups(IDictionary groups) - { + /// + /// Creates the market groups. + /// + /// The groups. + private static void CreateMarketGroups(IDictionary groups) + { foreach (InvMarketGroups marketGroup in Database.InvMarketGroupsTable.Concat( s_injectedMarketGroups)) - { - var group = new SerializableMarketGroup + { + var group = new SerializableMarketGroup { ID = marketGroup.ID, Name = marketGroup.Name }; - groups[marketGroup.ID] = group; + groups[marketGroup.ID] = group; - // Add the items in this group; excluding implants which are added below - var items = new List(); + // Add the items in this group; excluding implants which are added below + var items = new List(); if (s_invTypesPerMarketGroup.ContainsKey(marketGroup.ID)) { bool validGroup = marketGroup.ParentID != DBConstants.RootNonMarketGroupID; @@ -133,83 +133,83 @@ private static void CreateMarketGroups(IDictionary } } - // Store the items - group.Items.AddRange(items.OrderBy(x => x.Name)); - } - } - - /// - /// Configures the null market items. - /// - private static void ConfigureNullMarketItems() - { - s_injectedMarketGroups = new List - { - new InvMarketGroups - { - Name = "Unique Designs", - Description = "Ships of a unique design", - ID = DBConstants.UniqueDesignsRootNonMarketGroupID, - ParentID = DBConstants.ShipsMarketGroupID, - IconID = DBConstants.UnknownShipIconID - }, - new InvMarketGroups - { - Name = "Various Non-Market", - Description = "Non-Market Items", - ID = DBConstants.RootNonMarketGroupID, - ParentID = null, - IconID = DBConstants.UnknownIconID - } - }; + // Store the items + group.Items.AddRange(items.OrderBy(x => x.Name)); + } + } - // Add all items with null market group - s_nullMarketItems = Database.InvTypesTable.Where(x => x.MarketGroupID == null).ToList(); + /// + /// Configures the null market items. + /// + private static void ConfigureNullMarketItems() + { + s_injectedMarketGroups = new List + { + new InvMarketGroups + { + Name = "Unique Designs", + Description = "Ships of a unique design", + ID = DBConstants.UniqueDesignsRootNonMarketGroupID, + ParentID = DBConstants.ShipsMarketGroupID, + IconID = DBConstants.UnknownShipIconID + }, + new InvMarketGroups + { + Name = "Various Non-Market", + Description = "Non-Market Items", + ID = DBConstants.RootNonMarketGroupID, + ParentID = null, + IconID = DBConstants.UnknownIconID + } + }; - // Set some attributes to items because their MarketGroupID is NULL - foreach (InvTypes srcItem in s_nullMarketItems) - { - // Set all items to market groups manually - srcItem.MarketGroupID = DBConstants.RootNonMarketGroupID; + // Add all items with null market group + s_nullMarketItems = Database.InvTypesTable.Where(x => x.MarketGroupID == null).ToList(); - // Set some ships market group and race - switch (srcItem.ID) - { - case DBConstants.CapsuleID: - srcItem.MarketGroupID = DBConstants.UniqueDesignsRootNonMarketGroupID; - srcItem.RaceID = (int)Race.All; - break; - } - } - } - - /// - /// Configures the non existing market group items. - /// - private static void ConfigureNonExistingMarketGroupItems() - { - var items = Database.InvTypesTable.Where(x => x.MarketGroupID != null && Database. + // Set some attributes to items because their MarketGroupID is NULL + foreach (InvTypes srcItem in s_nullMarketItems) + { + // Set all items to market groups manually + srcItem.MarketGroupID = DBConstants.RootNonMarketGroupID; + + // Set some ships market group and race + switch (srcItem.ID) + { + case DBConstants.CapsuleID: + srcItem.MarketGroupID = DBConstants.UniqueDesignsRootNonMarketGroupID; + srcItem.RaceID = (int)Race.All; + break; + } + } + } + + /// + /// Configures the non existing market group items. + /// + private static void ConfigureNonExistingMarketGroupItems() + { + var items = Database.InvTypesTable.Where(x => x.MarketGroupID != null && Database. InvMarketGroupsTable.All(y => y.ID != x.MarketGroupID)).ToList(); - foreach (var item in items) - { - item.MarketGroupID = DBConstants.RootNonMarketGroupID; - } - } + foreach (var item in items) + { + item.MarketGroupID = DBConstants.RootNonMarketGroupID; + } + } - /// - /// Add properties to an item. - /// - /// - /// - /// - private static void CreateItem(InvTypes srcItem, ICollection groupItems) - { - Util.UpdatePercentDone(Database.ItemsTotalCount); + /// + /// Add properties to an item. + /// + /// + /// + /// + private static void CreateItem(InvTypes srcItem, ICollection groupItems) + { + Util.UpdatePercentDone(Database.ItemsTotalCount); - srcItem.Generated = true; + srcItem.Generated = true; - InvGroups itemGroup = Database.InvGroupsTable[srcItem.GroupID]; + InvGroups itemGroup = Database.InvGroupsTable[srcItem.GroupID]; // Creates the item with base information var categories = Database.InvCategoriesTable; @@ -232,44 +232,44 @@ private static void CreateItem(InvTypes srcItem, ICollection g // Set race to Faction if item race is Jovian or belongs to a Faction market group if (item.Race == Race.Jove || (srcItem.MarketGroupID.HasValue && s_factionMarketGroups.Contains(srcItem.MarketGroupID.Value))) - item.Race = Race.Faction; + item.Race = Race.Faction; - // Add traits - AddTraits(srcItem, item); + // Add traits + AddTraits(srcItem, item); - // Add the properties and prereqs - AddItemPropsAndPrereq(srcItem, item); + // Add the properties and prereqs + AddItemPropsAndPrereq(srcItem, item); - // Metagroup - AddMetaGroup(srcItem, item); + // Metagroup + AddMetaGroup(srcItem, item); // Look for slots var typeEffects = Database.DgmTypeEffectsTable; if (typeEffects.Contains(srcItem.ID, 0, DBConstants.LowSlotEffectID)) - item.Slot = ItemSlot.Low; - else if (typeEffects.Contains(srcItem.ID, 0, DBConstants.MedSlotEffectID)) - item.Slot = ItemSlot.Medium; - else if (typeEffects.Contains(srcItem.ID, 0, DBConstants.HiSlotEffectID)) - item.Slot = ItemSlot.High; - else - item.Slot = ItemSlot.NoSlot; - - // Add reaction info for reactions - if (Database.InvGroupsTable[srcItem.GroupID].CategoryID == DBConstants. + item.Slot = ItemSlot.Low; + else if (typeEffects.Contains(srcItem.ID, 0, DBConstants.MedSlotEffectID)) + item.Slot = ItemSlot.Medium; + else if (typeEffects.Contains(srcItem.ID, 0, DBConstants.HiSlotEffectID)) + item.Slot = ItemSlot.High; + else + item.Slot = ItemSlot.NoSlot; + + // Add reaction info for reactions + if (Database.InvGroupsTable[srcItem.GroupID].CategoryID == DBConstants. ReactionCategoryID) - AddReactionInfo(srcItem, item); + AddReactionInfo(srcItem, item); - // Add fuel info for control towers - if (srcItem.GroupID == DBConstants.ControlTowerGroupID) - AddControlTowerFuelInfo(srcItem, item); + // Add fuel info for control towers + if (srcItem.GroupID == DBConstants.ControlTowerGroupID) + AddControlTowerFuelInfo(srcItem, item); - // Add this item - groupItems.Add(item); + // Add this item + groupItems.Add(item); - // If the current item is not in a market group then we are done - if (srcItem.MarketGroupID != DBConstants.RootNonMarketGroupID) - // Look for variations which are not in any market group - foreach (var variation in Database.InvMetaTypesTable) + // If the current item is not in a market group then we are done + if (srcItem.MarketGroupID != DBConstants.RootNonMarketGroupID) + // Look for variations which are not in any market group + foreach (var variation in Database.InvMetaTypesTable) if (variation.ParentItemID == srcItem.ID) { var variationItem = Database.InvTypesTable[variation.ItemID]; @@ -280,7 +280,7 @@ private static void CreateItem(InvTypes srcItem, ICollection g CreateItem(variationItem, groupItems); } } - } + } /// /// Appends formatted bonuses to the output text. @@ -308,19 +308,19 @@ private static int AddBonuses(IEnumerable bonuses, StringBuilder buff return count; } - /// - /// Adds the traits. - /// - /// The source item. - /// The item. - private static void AddTraits(InvTypes srcItem, SerializableItem item) - { - if (Database.InvGroupsTable[srcItem.GroupID].CategoryID != DBConstants.ShipCategoryID) - return; - - var skillBonusesText = new StringBuilder(512); - var roleBonusesText = new StringBuilder(512); - var miscBonusesText = new StringBuilder(512); + /// + /// Adds the traits. + /// + /// The source item. + /// The item. + private static void AddTraits(InvTypes srcItem, SerializableItem item) + { + if (Database.InvGroupsTable[srcItem.GroupID].CategoryID != DBConstants.ShipCategoryID) + return; + + var skillBonusesText = new StringBuilder(512); + var roleBonusesText = new StringBuilder(512); + var miscBonusesText = new StringBuilder(512); int numSkillBonuses = 0, numRoleBonuses, numMiscBonuses; // Group by the bonusing skill @@ -341,10 +341,10 @@ private static void AddTraits(InvTypes srcItem, SerializableItem item) roleBonusesText.AppendLine("Role bonus:"); numRoleBonuses = AddBonuses(RoleBonuses, roleBonusesText); - // Find the misc bonuses - var MiscBonuses = Database.InvTraitsTable.Where(x => x.typeID == srcItem.ID && + // Find the misc bonuses + var MiscBonuses = Database.InvTraitsTable.Where(x => x.typeID == srcItem.ID && x.skillID == -2); - miscBonusesText.AppendLine("Misc bonus:"); + miscBonusesText.AppendLine("Misc bonus:"); numMiscBonuses = AddBonuses(MiscBonuses, miscBonusesText); // For any T3 destroyer, we need to deal with CCP being horrific cheats. The 'ship @@ -417,41 +417,41 @@ private static void AddTraits(InvTypes srcItem, SerializableItem item) // Add to item description item.Description += sb.ToString(); } - } - - /// - /// Adds the control tower fuel info. - /// - /// The source item. - /// The item. - private static void AddControlTowerFuelInfo(IHasID srcItem, SerializableItem item) - { - var controlTowerResourcesTable = Database.InvControlTowerResourcesTable.Join( + } + + /// + /// Adds the control tower fuel info. + /// + /// The source item. + /// The item. + private static void AddControlTowerFuelInfo(IHasID srcItem, SerializableItem item) + { + var controlTowerResourcesTable = Database.InvControlTowerResourcesTable.Join( Database.InvControlTowerResourcePurposesTable, ctr => ctr.PurposeID, ctrp => ctrp.ID, (ctr, ctrp) => new { ctr, ctrp }).Where(x => x.ctr.ID == srcItem.ID).Select(resource => new SerializableControlTowerFuel - { - ID = resource.ctr.ResourceID, - Purpose = resource.ctrp.PurposeName, - Quantity = resource.ctr.Quantity, - MinSecurityLevel = resource.ctr.MinSecurityLevel.HasValue ? resource.ctr. + { + ID = resource.ctr.ResourceID, + Purpose = resource.ctrp.PurposeName, + Quantity = resource.ctr.Quantity, + MinSecurityLevel = resource.ctr.MinSecurityLevel.HasValue ? resource.ctr. MinSecurityLevel.Value.ToString(CultureInfo.InvariantCulture) : string.Empty, - FactionID = resource.ctr.FactionID.HasValue ? resource.ctr.FactionID.Value. + FactionID = resource.ctr.FactionID.HasValue ? resource.ctr.FactionID.Value. ToString(CultureInfo.InvariantCulture) : string.Empty, - FactionName = resource.ctr.FactionID.HasValue ? Database.ChrFactionsTable[ + FactionName = resource.ctr.FactionID.HasValue ? Database.ChrFactionsTable[ resource.ctr.FactionID.Value].FactionName : string.Empty - }); - - item.ControlTowerFuelInfo.AddRange(controlTowerResourcesTable); - } - - /// - /// Adds the reaction info. - /// - /// The source item. - /// The item. - private static void AddReactionInfo(IHasID srcItem, SerializableItem item) - { + }); + + item.ControlTowerFuelInfo.AddRange(controlTowerResourcesTable); + } + + /// + /// Adds the reaction info. + /// + /// The source item. + /// The item. + private static void AddReactionInfo(IHasID srcItem, SerializableItem item) + { foreach (var srcReaction in Database.InvTypeReactionsTable) if (srcReaction.ID == srcItem.ID) { @@ -467,47 +467,47 @@ private static void AddReactionInfo(IHasID srcItem, SerializableItem item) Quantity = multiplier > 0L ? qty * multiplier : qty }); } - } - - /// - /// Adds the meta group. - /// - /// The source item. - /// The serializable item. - private static void AddMetaGroup(IHasID srcItem, SerializableItem item) - { - foreach (InvMetaTypes relation in Database.InvMetaTypesTable.Where(x => x.ItemID == srcItem.ID)) - switch (relation.MetaGroupID) - { - case DBConstants.TechIMetaGroupID: - item.MetaGroup = ItemMetaGroup.T1; - break; - case DBConstants.TechIIMetaGroupID: - item.MetaGroup = ItemMetaGroup.T2; - break; - case DBConstants.StorylineMetaGroupID: - item.MetaGroup = ItemMetaGroup.Storyline; - break; - case DBConstants.FactionMetaGroupID: - item.MetaGroup = ItemMetaGroup.Faction; - break; - case DBConstants.OfficerMetaGroupID: - item.MetaGroup = ItemMetaGroup.Officer; - break; - case DBConstants.DeadspaceMetaGroupID: - item.MetaGroup = ItemMetaGroup.Deadspace; - break; - case DBConstants.TechIIIMetaGroupID: - item.MetaGroup = ItemMetaGroup.T3; - break; - default: - item.MetaGroup = ItemMetaGroup.None; - break; - } + } - if (item.MetaGroup == ItemMetaGroup.None) - item.MetaGroup = ItemMetaGroup.T1; - } + /// + /// Adds the meta group. + /// + /// The source item. + /// The serializable item. + private static void AddMetaGroup(IHasID srcItem, SerializableItem item) + { + foreach (InvMetaTypes relation in Database.InvMetaTypesTable.Where(x => x.ItemID == srcItem.ID)) + switch (relation.MetaGroupID) + { + case DBConstants.TechIMetaGroupID: + item.MetaGroup = ItemMetaGroup.T1; + break; + case DBConstants.TechIIMetaGroupID: + item.MetaGroup = ItemMetaGroup.T2; + break; + case DBConstants.StorylineMetaGroupID: + item.MetaGroup = ItemMetaGroup.Storyline; + break; + case DBConstants.FactionMetaGroupID: + item.MetaGroup = ItemMetaGroup.Faction; + break; + case DBConstants.OfficerMetaGroupID: + item.MetaGroup = ItemMetaGroup.Officer; + break; + case DBConstants.DeadspaceMetaGroupID: + item.MetaGroup = ItemMetaGroup.Deadspace; + break; + case DBConstants.TechIIIMetaGroupID: + item.MetaGroup = ItemMetaGroup.T3; + break; + default: + item.MetaGroup = ItemMetaGroup.None; + break; + } + + if (item.MetaGroup == ItemMetaGroup.None) + item.MetaGroup = ItemMetaGroup.T1; + } /// /// Adds a single item property to the list if it is found in the list of recognized @@ -536,18 +536,18 @@ private static bool AddItemProp(IReadOnlyCollection ids, DgmTypeAttributes return index > -1; } - /// - /// Adds the item properties and prerequisites. - /// - /// The source item. - /// The serializable item. - /// - private static void AddItemPropsAndPrereq(InvTypes srcItem, SerializableItem item) - { + /// + /// Adds the item properties and prerequisites. + /// + /// The source item. + /// The serializable item. + /// + private static void AddItemPropsAndPrereq(InvTypes srcItem, SerializableItem item) + { long[] prereqSkills = new long[DBConstants.RequiredSkillPropertyIDs.Count]; long[] prereqLevels = new long[DBConstants.RequiredSkillPropertyIDs.Count]; - var props = new List(); - double warpSpeedMultiplier = 1.0; + var props = new List(); + double warpSpeedMultiplier = 1.0; if (s_dgmTypeAttributesPerItem.ContainsKey(srcItem.ID)) foreach (DgmTypeAttributes srcProp in s_dgmTypeAttributesPerItem[srcItem.ID]) { @@ -600,31 +600,31 @@ private static void AddItemPropsAndPrereq(InvTypes srcItem, SerializableItem ite AddMetaData(item, propValue, srcProp); } - CompleteItemPropertiesAddition(srcItem, props); - // Add properties info to item - item.Properties.AddRange(props); + CompleteItemPropertiesAddition(srcItem, props); + // Add properties info to item + item.Properties.AddRange(props); - // Prerequisites completion - var prereqs = new List(); - for (int i = 0; i < prereqSkills.Length; i++) - { - if (prereqSkills[i] != 0) - prereqs.Add(new SerializablePrerequisiteSkill { ID = prereqSkills[i], Level = prereqLevels[i] }); - } + // Prerequisites completion + var prereqs = new List(); + for (int i = 0; i < prereqSkills.Length; i++) + { + if (prereqSkills[i] != 0) + prereqs.Add(new SerializablePrerequisiteSkill { ID = prereqSkills[i], Level = prereqLevels[i] }); + } + + // Add prerequisite skills info to item + item.PrerequisiteSkills.AddRange(prereqs); + } - // Add prerequisite skills info to item - item.PrerequisiteSkills.AddRange(prereqs); - } - - /// - /// Adds the meta data. - /// - /// The item. - /// The prop int value. - /// The SRC prop. - private static void AddMetaData(SerializableItem item, long propInt64Value, DgmTypeAttributes srcProp) - { - // Is metalevel property ? + /// + /// Adds the meta data. + /// + /// The item. + /// The prop int value. + /// The SRC prop. + private static void AddMetaData(SerializableItem item, long propInt64Value, DgmTypeAttributes srcProp) + { + // Is metalevel property ? switch (srcProp.AttributeID) { case DBConstants.MetaLevelPropertyID: @@ -669,129 +669,129 @@ private static void AddMetaData(SerializableItem item, long propInt64Value, DgmT default: break; } - } - - /// - /// Completes the item properties addition. - /// - /// The SRC item. - /// The props. - private static void CompleteItemPropertiesAddition(InvTypes srcItem, ICollection props) - { - // Ensures there is a mass and add it to prop - if (Math.Abs(srcItem.Mass) > double.Epsilon) - props.Add(new SerializablePropertyValue - { - ID = DBConstants.MassPropertyID, - Value = srcItem.Mass.ToString(CultureConstants.InvariantCulture) - }); + } - // Ensures there is a cargo capacity and add it to prop - if (Math.Abs(srcItem.Capacity) > double.Epsilon) - props.Add(new SerializablePropertyValue - { - ID = DBConstants.CargoCapacityPropertyID, - Value = srcItem.Capacity.ToString(CultureConstants.InvariantCulture) - }); + /// + /// Completes the item properties addition. + /// + /// The SRC item. + /// The props. + private static void CompleteItemPropertiesAddition(InvTypes srcItem, ICollection props) + { + // Ensures there is a mass and add it to prop + if (Math.Abs(srcItem.Mass) > double.Epsilon) + props.Add(new SerializablePropertyValue + { + ID = DBConstants.MassPropertyID, + Value = srcItem.Mass.ToString(CultureConstants.InvariantCulture) + }); - // Ensures there is a volume and add it to prop - if (Math.Abs(srcItem.Volume) > double.Epsilon) - props.Add(new SerializablePropertyValue - { - ID = DBConstants.VolumePropertyID, - Value = srcItem.Volume.ToString(CultureConstants.InvariantCulture) - }); + // Ensures there is a cargo capacity and add it to prop + if (Math.Abs(srcItem.Capacity) > double.Epsilon) + props.Add(new SerializablePropertyValue + { + ID = DBConstants.CargoCapacityPropertyID, + Value = srcItem.Capacity.ToString(CultureConstants.InvariantCulture) + }); - // Add unit to refine prop where applicable - if (Database.InvGroupsTable[srcItem.GroupID].CategoryID == DBConstants.AsteroidCategoryID) - props.Add(new SerializablePropertyValue - { - ID = Properties.UnitsToRefinePropertyID, - Value = srcItem.PortionSize.ToString(CultureInfo.InvariantCulture) - }); + // Ensures there is a volume and add it to prop + if (Math.Abs(srcItem.Volume) > double.Epsilon) + props.Add(new SerializablePropertyValue + { + ID = DBConstants.VolumePropertyID, + Value = srcItem.Volume.ToString(CultureConstants.InvariantCulture) + }); - // Add base price as a prop - props.Add(new SerializablePropertyValue - { - ID = Properties.BasePricePropertyID, - Value = srcItem.BasePrice.FormatDecimal() - }); - } - - /// - /// Gets the packaged volume of a ship. - /// - /// The group ID. - /// - private static int GetPackagedVolume(int groupID) - { - switch (groupID) - { - case DBConstants.FrigateGroupID: - case DBConstants.RookieShipGroupID: - case DBConstants.AssaultFrigateGroupID: - case DBConstants.CovertOpsGroupID: - case DBConstants.InterceptorGroupID: - case DBConstants.StealthBomberGroupID: - case DBConstants.ElectronicAttackShipGroupID: - case DBConstants.ExpeditionFrigateGroupID: - return 2500; - case DBConstants.MiningBargeGroupID: - case DBConstants.ExhumerGroupID: - return 3750; - case DBConstants.DestroyerGroupID: - case DBConstants.InterdictorGroupID: - case DBConstants.StrategicCruiserGroupID: - case DBConstants.TacticalDestroyerGroupID: - return 5000; - case DBConstants.CruiserGroupID: - case DBConstants.HeavyAssaultCruiserGroupID: - case DBConstants.LogisticsGroupID: - case DBConstants.ForceReconShipGroupID: - case DBConstants.HeavyInterdictorCruiserGroupID: - case DBConstants.CombatReconShipGroupID: - return 10000; - case DBConstants.CombatBattlecruiserGroupID: - case DBConstants.CommandShipGroupID: - case DBConstants.AttackBattlecruiserGroupID: - return 15000; - case DBConstants.IndustrialGroupID: - case DBConstants.DeepSpaceTransportGroupID: - case DBConstants.BlockadeRunnerGroupID: - return 20000; - case DBConstants.BattleshipGroupID: - case DBConstants.EliteBattleshipGroupID: - case DBConstants.BlackOpsGroupID: - case DBConstants.MarauderGroupID: - return 50000; - case DBConstants.IndustrialCommandShipGroupID: - return 500000; - case DBConstants.DreadnoughtGroupID: - case DBConstants.FreighterGroupID: - case DBConstants.CarrierGroupID: - case DBConstants.SupercarrierGroupID: - case DBConstants.CapitalIndustrialShipGroupID: - case DBConstants.JumpFreighterGroupID: - return 1000000; - case DBConstants.TitanGroupID: - return 10000000; + // Add unit to refine prop where applicable + if (Database.InvGroupsTable[srcItem.GroupID].CategoryID == DBConstants.AsteroidCategoryID) + props.Add(new SerializablePropertyValue + { + ID = Properties.UnitsToRefinePropertyID, + Value = srcItem.PortionSize.ToString(CultureInfo.InvariantCulture) + }); + + // Add base price as a prop + props.Add(new SerializablePropertyValue + { + ID = Properties.BasePricePropertyID, + Value = srcItem.BasePrice.FormatDecimal() + }); + } + + /// + /// Gets the packaged volume of a ship. + /// + /// The group ID. + /// + private static int GetPackagedVolume(int groupID) + { + switch (groupID) + { + case DBConstants.FrigateGroupID: + case DBConstants.RookieShipGroupID: + case DBConstants.AssaultFrigateGroupID: + case DBConstants.CovertOpsGroupID: + case DBConstants.InterceptorGroupID: + case DBConstants.StealthBomberGroupID: + case DBConstants.ElectronicAttackShipGroupID: + case DBConstants.ExpeditionFrigateGroupID: + return 2500; + case DBConstants.MiningBargeGroupID: + case DBConstants.ExhumerGroupID: + return 3750; + case DBConstants.DestroyerGroupID: + case DBConstants.InterdictorGroupID: + case DBConstants.StrategicCruiserGroupID: + case DBConstants.TacticalDestroyerGroupID: + return 5000; + case DBConstants.CruiserGroupID: + case DBConstants.HeavyAssaultCruiserGroupID: + case DBConstants.LogisticsGroupID: + case DBConstants.ForceReconShipGroupID: + case DBConstants.HeavyInterdictorCruiserGroupID: + case DBConstants.CombatReconShipGroupID: + return 10000; + case DBConstants.CombatBattlecruiserGroupID: + case DBConstants.CommandShipGroupID: + case DBConstants.AttackBattlecruiserGroupID: + return 15000; + case DBConstants.IndustrialGroupID: + case DBConstants.DeepSpaceTransportGroupID: + case DBConstants.BlockadeRunnerGroupID: + return 20000; + case DBConstants.BattleshipGroupID: + case DBConstants.EliteBattleshipGroupID: + case DBConstants.BlackOpsGroupID: + case DBConstants.MarauderGroupID: + return 50000; + case DBConstants.IndustrialCommandShipGroupID: + return 500000; + case DBConstants.DreadnoughtGroupID: + case DBConstants.FreighterGroupID: + case DBConstants.CarrierGroupID: + case DBConstants.SupercarrierGroupID: + case DBConstants.CapitalIndustrialShipGroupID: + case DBConstants.JumpFreighterGroupID: + return 1000000; + case DBConstants.TitanGroupID: + return 10000000; default: return 500; } } - /// - /// Sets the item family according to its market group - /// - /// - /// - private static void SetItemFamilyByMarketGroup(SerializableMarketGroup group, ItemFamily itemFamily) - { - foreach (SerializableItem item in group.Items) - item.Family = itemFamily; - - foreach (SerializableMarketGroup childGroup in group.SubGroups) - SetItemFamilyByMarketGroup(childGroup, itemFamily); - } - } + /// + /// Sets the item family according to its market group + /// + /// + /// + private static void SetItemFamilyByMarketGroup(SerializableMarketGroup group, ItemFamily itemFamily) + { + foreach (SerializableItem item in group.Items) + item.Family = itemFamily; + + foreach (SerializableMarketGroup childGroup in group.SubGroups) + SetItemFamilyByMarketGroup(childGroup, itemFamily); + } + } } diff --git a/tools/XmlGenerator/Datafiles/Properties.cs b/tools/XmlGenerator/Datafiles/Properties.cs index 5f480e8d8..fe701f62a 100644 --- a/tools/XmlGenerator/Datafiles/Properties.cs +++ b/tools/XmlGenerator/Datafiles/Properties.cs @@ -93,6 +93,16 @@ private static void ConfigureNullCategoryProperties() Description = "Used to describe the consumption rate." }; s_injectedUnits.Add(perHourUnit); + + // TODO: New unit added in 20.02, remove when SDE conversion is updated + EveUnits modifierRealPercentUnit = new EveUnits + { + ID = 205, + Name = "modifier realPercent", + DisplayName = "%", + Description = "Used for multipliers displayed as % 10 is +10% -10 is -10% 3.6 is +3.6%" + }; + s_injectedUnits.Add(modifierRealPercentUnit); // Create EVEMon custom properties int newPropID = Database.DgmAttributeTypesTable.Last().ID; @@ -307,8 +317,12 @@ private static IEnumerable ExportAttributeCategori // Unit prop.UnitID = srcProp.UnitID.GetValueOrDefault(); - prop.Unit = srcProp.UnitID.HasValue - ? Database.EveUnitsTable.Concat(s_injectedUnits).First( + + Database.EveUnitsTable.Concat(s_injectedUnits); + + prop.Unit = srcProp.UnitID.HasValue && Database.EveUnitsTable.Any( + x => x.ID == srcProp.UnitID.Value) + ? Database.EveUnitsTable.FirstOrDefault( x => x.ID == srcProp.UnitID.Value).DisplayName : string.Empty; diff --git a/tools/XmlGenerator/Datafiles/Skills.cs b/tools/XmlGenerator/Datafiles/Skills.cs index 6f427dea5..fb74e6ab9 100644 --- a/tools/XmlGenerator/Datafiles/Skills.cs +++ b/tools/XmlGenerator/Datafiles/Skills.cs @@ -159,6 +159,32 @@ private static IEnumerable ExportSkillsInGroup(IHasID group) } // Add skill + if (skillID == DBConstants.FleetCoordinationSkillID) + { + singleSkill.Description = "Advanced fleet support skill allowing commanders to increase the size and spread of their fleet formations. Unlocks additional formation scaling options at each level of training."; + singleSkill.Rank = 8; + singleSkill.Cost = 40000000L; + singleSkill.PrimaryAttribute = EveAttribute.Charisma; + singleSkill.SecondaryAttribute = EveAttribute.Willpower; + singleSkill.AlphaLimit = 0; + singleSkill.SkillPrerequisites.Add(l5); + singleSkill.SkillPrerequisites.Add(new SerializableSkillPrerequisite() + { + ID = DBConstants.FleetFormationsSkillID, + Level = 1, + Name = Database.InvTypesTable[DBConstants.FleetFormationsSkillID].Name + }); + } + else if (skillID == DBConstants.FleetFormationsSkillID) + { + singleSkill.Description = "Fleet support skill allowing commanders to organize and warp fleets in formation. Unlocks additional formation types at each level of training."; + singleSkill.Rank = 5; + singleSkill.Cost = 40000000L; + singleSkill.PrimaryAttribute = EveAttribute.Charisma; + singleSkill.SecondaryAttribute = EveAttribute.Willpower; + singleSkill.AlphaLimit = 0; + singleSkill.SkillPrerequisites.Add(l5); + } listOfSkillsInGroup.Add(singleSkill); } return listOfSkillsInGroup; diff --git a/tools/XmlGenerator/Program.cs b/tools/XmlGenerator/Program.cs index afd19abfb..32c9e8573 100644 --- a/tools/XmlGenerator/Program.cs +++ b/tools/XmlGenerator/Program.cs @@ -1,16 +1,21 @@ using System; using System.Diagnostics; using System.Globalization; +using System.IO; +using System.Net; using System.Threading; using EVEMon.XmlGenerator.Datafiles; using EVEMon.XmlGenerator.Providers; using EVEMon.XmlGenerator.Utils; using EVEMon.XmlGenerator.Xmlfiles; +using ICSharpCode.SharpZipLib.BZip2; namespace EVEMon.XmlGenerator { internal static class Program { + const String db = "sqlite-latest.sqlite"; + /// /// The main entry point for the application. /// @@ -23,6 +28,47 @@ private static void Main() // Setting a standard format for the generated files Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); + //! veg: Download sqlite-latest.sqlite.bz2 + //! https://www.fuzzwork.co.uk/dump/sqlite-latest.sqlite.bz2 + + string basepath = Path.GetFullPath(@".\..\.."); + + string decompressedFileName = Path.Combine(basepath, db); + + if (!File.Exists(decompressedFileName)) + { + Console.WriteLine($"Downloading '{db}.bz2' from 'www.fuzzwork.co.uk/dump/{db}.bz2"); + + using (WebClient client = new WebClient()) + { + //! veg: Without headers the download fails. + client.Headers.Add("Accept-Encoding", "bz2"); + client.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36 Edg/91.0.864.48"); + client.Headers.Add("Referrer", "https://www.fuzzwork.co.uk/dump/"); + + client.DownloadFile($"https://www.fuzzwork.co.uk/dump/{db}.bz2", Path.Combine(basepath, $"{db}.bz2")); + } + + Console.WriteLine($"Decompressing '{db}.bz2' into '{db}'"); + + //! Decompress dump. + FileInfo zipFileName = new FileInfo(Path.Combine(basepath, $"{db}.bz2")); + using (FileStream fileToDecompressAsStream = zipFileName.OpenRead()) + { + using (FileStream decompressedStream = File.Create(decompressedFileName)) + { + try + { + BZip2.Decompress(fileToDecompressAsStream, decompressedStream, true); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + } + } + } + // Create tables from database Database.CreateTables(); @@ -36,7 +82,7 @@ private static void Main() Geography.GenerateDatafile(); Blueprints.GenerateDatafile(); - Items.GenerateDatafile(); // Requires GenerateProperties() + Items.GenerateDatafile(); // Requires GenerateProperties() Reprocessing.GenerateDatafile(); // Requires GenerateItems() // Generate MD5 Sums file diff --git a/tools/XmlGenerator/XmlGenerator.csproj b/tools/XmlGenerator/XmlGenerator.csproj index 599b4740c..1d8646c26 100644 --- a/tools/XmlGenerator/XmlGenerator.csproj +++ b/tools/XmlGenerator/XmlGenerator.csproj @@ -1,5 +1,6 @@  + Debug @@ -9,7 +10,7 @@ Properties EVEMon.XmlGenerator EVEMonXmlGenerator - v4.6.1 + v4.7.2 512 ..\..\ true @@ -30,7 +31,7 @@ 4 AllRules.ruleset TRACE - false + true bin\Release\ @@ -58,34 +59,48 @@ - ..\..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll - True + ..\..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll - ..\..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll - True + ..\..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll - - ..\..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll + + ..\..\packages\SharpZipLib.1.4.2\lib\netstandard2.0\ICSharpCode.SharpZipLib.dll + + + ..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + ..\..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + - - ..\..\packages\System.Data.SQLite.Core.1.0.108.0\lib\net46\System.Data.SQLite.dll - True + + ..\..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\lib\net46\System.Data.SQLite.dll - - ..\..\packages\System.Data.SQLite.EF6.1.0.108.0\lib\net46\System.Data.SQLite.EF6.dll - True + + ..\..\packages\System.Data.SQLite.EF6.1.0.118.0\lib\net46\System.Data.SQLite.EF6.dll - - ..\..\packages\System.Data.SQLite.Linq.1.0.108.0\lib\net46\System.Data.SQLite.Linq.dll - True + + ..\..\packages\System.Data.SQLite.Linq.1.0.118.0\lib\net46\System.Data.SQLite.Linq.dll + + + ..\..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + + ..\..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + ..\..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + @@ -254,7 +269,6 @@ - @@ -262,7 +276,7 @@ del "$(TargetDir)"Google* del "$(TargetDir)"*office* del "$(TargetDir)"*outlook* -del "$(TargetDir)"*SharpZipLib* +rem del "$(TargetDir)"*SharpZipLib* del "$(TargetDir)"YamlDotNet* del "$(TargetDir)"Dropbox* del "$(TargetDir)"OneDrive* @@ -270,13 +284,16 @@ del "$(TargetDir)"Microsoft* del "$(TargetDir)"Zlib* if exist "$(TargetDir)"stdole.dll del "$(TargetDir)"stdole.dll - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + + + + +