diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..006595d --- /dev/null +++ b/.gitignore @@ -0,0 +1,362 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +_[Tt]est/ +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +# [Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +# [Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +# *.nupkg +# NuGet Symbol Packages +# *.snupkg +# The packages folder can be ignored because of Package Restore +#**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +#!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +# *.nuget.props +# *.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0c33b28 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 ambratolm + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Ping Tester Aluminium.sln b/Ping Tester Aluminium.sln new file mode 100644 index 0000000..554d178 --- /dev/null +++ b/Ping Tester Aluminium.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ping Tester Aluminium", "Ping Tester Aluminium\Ping Tester Aluminium.csproj", "{C15B5D96-0397-4CA0-915D-118F8DE69E73}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C15B5D96-0397-4CA0-915D-118F8DE69E73}.Debug|x86.ActiveCfg = Debug|x86 + {C15B5D96-0397-4CA0-915D-118F8DE69E73}.Debug|x86.Build.0 = Debug|x86 + {C15B5D96-0397-4CA0-915D-118F8DE69E73}.Release|x86.ActiveCfg = Release|x86 + {C15B5D96-0397-4CA0-915D-118F8DE69E73}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Ping Tester Aluminium/API/Extensions/ByteExtension.cs b/Ping Tester Aluminium/API/Extensions/ByteExtension.cs new file mode 100644 index 0000000..3fdfa13 --- /dev/null +++ b/Ping Tester Aluminium/API/Extensions/ByteExtension.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Runtime.InteropServices; +using System.Drawing; +using System.Drawing.Text; + +namespace PingTesterAluminium +{ + public static class ByteExtension + { + [DllImport("gdi32.dll")] + private static extern IntPtr AddFontMemResourceEx(IntPtr pbFont, uint cbFont, IntPtr pdv, [In] ref uint pcFonts); + + public static FontFamily ToFontFamily(this byte[] resource) + { + int length = resource.Length; + IntPtr data = Marshal.AllocCoTaskMem(length); + Marshal.Copy(resource, 0, data, length); + PrivateFontCollection privateFonts = new PrivateFontCollection(); + privateFonts.AddMemoryFont(data, length); + uint cFonts = 0; + AddFontMemResourceEx(data, (uint)length, IntPtr.Zero, ref cFonts); + Marshal.FreeCoTaskMem(data); + return privateFonts.Families[privateFonts.Families.Length - 1]; + } + } +} \ No newline at end of file diff --git a/Ping Tester Aluminium/API/Extensions/ControlExtension.cs b/Ping Tester Aluminium/API/Extensions/ControlExtension.cs new file mode 100644 index 0000000..e46c4c9 --- /dev/null +++ b/Ping Tester Aluminium/API/Extensions/ControlExtension.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Runtime.InteropServices; +using System.Windows.Forms; +using System.Drawing; + +namespace PingTesterAluminium +{ + public static class ControlExtension + { + public const int WM_NCLBUTTONDOWN = 0xA1; + public const int HT_CAPTION = 0x2; + + [DllImport("user32.dll")] + public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); + [DllImport("user32.dll")] + public static extern bool ReleaseCapture(); + [DllImport("user32.dll")] + private static extern IntPtr GetForegroundWindow(); + + public static void EnableMovingByMouseDrag(this Control control) + { + control.MouseDown += (s, e) => + { + if (e.Button == MouseButtons.Left) + { + control.Cursor = Cursors.SizeAll; + ReleaseCapture(); + SendMessage(GetForegroundWindow(), WM_NCLBUTTONDOWN, HT_CAPTION, 0); + control.Cursor = Cursors.Default; + } + }; + } + + public static void SetFont(this Control control, FontFamily fontFamily) + { + control.Font = new Font(fontFamily, control.Font.Size); + } + + public static void SetFont(this Control control, Font font) + { + control.Font = new Font(font.FontFamily, control.Font.Size); + } + + public static void CenterHorizontally(this Control control) + { + if (control.Parent != null) + { + control.Location = new Point((int)(0.5 * control.Parent.Width - 0.5 * control.Width), control.Location.Y); + } + } + } +} diff --git a/Ping Tester Aluminium/API/Extensions/FormExtension.cs b/Ping Tester Aluminium/API/Extensions/FormExtension.cs new file mode 100644 index 0000000..60a9df5 --- /dev/null +++ b/Ping Tester Aluminium/API/Extensions/FormExtension.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Runtime.InteropServices; +using System.Windows.Forms; +using System.Drawing; + +namespace PingTesterAluminium +{ + public static class FormExtension + { + public static void EnableButtonsHoverEffects(this Form form) + { + foreach (Control control in form.Controls) + { + if (control is Button) + { + Button button = (Button)control; + Image backgroundImage = button.BackgroundImage; + + button.MouseEnter += (s, args) => + { + button.BackgroundImage = null; + }; + + button.MouseLeave += (s, args) => + { + button.BackgroundImage = backgroundImage; + }; + } + } + } + } +} diff --git a/Ping Tester Aluminium/API/Extensions/ProgressBarExtension.cs b/Ping Tester Aluminium/API/Extensions/ProgressBarExtension.cs new file mode 100644 index 0000000..b4d1beb --- /dev/null +++ b/Ping Tester Aluminium/API/Extensions/ProgressBarExtension.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.Runtime.InteropServices; + +namespace PingTesterAluminium +{ + public static class ProgressBarExtension + { + public enum State + { + Normal = 1, + Error = 2, + Warning = 3 + } + + [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] + static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr w, IntPtr l); + + public static void SetState(this ProgressBar progressBar, State state) + { + SendMessage(progressBar.Handle, 1040, (IntPtr)state, IntPtr.Zero); + } + } +} diff --git a/Ping Tester Aluminium/API/Extensions/StringExtension.cs b/Ping Tester Aluminium/API/Extensions/StringExtension.cs new file mode 100644 index 0000000..03d6fde --- /dev/null +++ b/Ping Tester Aluminium/API/Extensions/StringExtension.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace PingTesterAluminium +{ + public static class StringExtension + { + public static bool IsEmpty(this string str) + { + return str == string.Empty; + } + public static bool IsValidHost(this string str) + { + //try + //{ + // IPHostEntry ipHost = Dns.GetHostEntry(host); + // return true; + //} + //catch (SocketException) + //{ + // return false; + //} + return Uri.CheckHostName(str) != UriHostNameType.Unknown; + } + } +} diff --git a/Ping Tester Aluminium/API/PingResult.cs b/Ping Tester Aluminium/API/PingResult.cs new file mode 100644 index 0000000..affd20d --- /dev/null +++ b/Ping Tester Aluminium/API/PingResult.cs @@ -0,0 +1,24 @@ +using System; +using System.Drawing; +using System.Net.NetworkInformation; + +namespace PingTesterAluminium +{ + public class PingResult + { + public long Time { get; set; } + public string Rating { get; set; } + public Color Color { get; set; } + public string Message { get; set; } + public string Host { get; set; } + + public PingResult(int time, string rating, Color color, string message, string host) + { + this.Time = time; + this.Rating = rating; + this.Color = color; + this.Message = message; + this.Host = host; + } + } +} diff --git a/Ping Tester Aluminium/API/PingTest.cs b/Ping Tester Aluminium/API/PingTest.cs new file mode 100644 index 0000000..53d3220 --- /dev/null +++ b/Ping Tester Aluminium/API/PingTest.cs @@ -0,0 +1,56 @@ +using System; +using System.Drawing; +using System.Net.NetworkInformation; + +namespace PingTesterAluminium +{ + public static class PingTest + { + public static PingResult Ping(string host) + { + if (host.IsEmpty() || !host.IsValidHost()) + { + host = "google.com"; + } + PingReply pingReply = null; + try + { + pingReply = new Ping().Send(host); + } + catch (Exception exception) + { + return new PingResult(-1, "Error", Color.DarkRed, exception.Message, host); + + } + if (pingReply.Status != IPStatus.Success) + { + return new PingResult((int)pingReply.RoundtripTime, "No Response", + Color.Gray, pingReply.Status.ToString(), host); + } + else + { + return new PingResult((int)pingReply.RoundtripTime, GetRating(pingReply.RoundtripTime), + GetColor(pingReply.RoundtripTime), pingReply.Status.ToString(), host); + } + } + + public static string GetRating(long time) + { + if (time <= 30) return "Amazing"; + if (time <= 60) return "Excellent"; + if (time <= 100) return "Good"; + if (time <= 150) return "Not Bad"; + if (time <= 200) return "Bad"; + if (time <= 250) return "Mediocre"; + if (time <= 300) return "Poor"; + return "Terrible"; + } + + private static Color GetColor(long time) + { + if (time <= 100) return Color.Green; + if (time <= 150) return Color.Yellow; + return Color.Red; + } + } +} diff --git a/Ping Tester Aluminium/GUI/AluminiumForm.Designer.cs b/Ping Tester Aluminium/GUI/AluminiumForm.Designer.cs new file mode 100644 index 0000000..6f7a4a8 --- /dev/null +++ b/Ping Tester Aluminium/GUI/AluminiumForm.Designer.cs @@ -0,0 +1,182 @@ +namespace PingTesterAluminium +{ + partial class Form_Template + { + /// + /// Variable nécessaire au concepteur. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Nettoyage des ressources utilisées. + /// + /// true si les ressources managées doivent être supprimées ; sinon, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Code généré par le Concepteur Windows Form + + /// + /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas + /// le contenu de cette méthode avec l'éditeur de code. + /// + private void InitializeComponent() + { + this.panel_title = new System.Windows.Forms.Panel(); + this.pictureBox_icon = new System.Windows.Forms.PictureBox(); + this.button_minimize = new System.Windows.Forms.Button(); + this.button_close = new System.Windows.Forms.Button(); + this.label_title = new System.Windows.Forms.Label(); + this.panel_main = new System.Windows.Forms.Panel(); + this.button_ok = new System.Windows.Forms.Button(); + this.panel_title.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox_icon)).BeginInit(); + this.panel_main.SuspendLayout(); + this.SuspendLayout(); + // + // panel_title + // + this.panel_title.BackgroundImage = global::PingTesterAluminium.Properties.Resources.background; + this.panel_title.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.panel_title.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel_title.Controls.Add(this.pictureBox_icon); + this.panel_title.Controls.Add(this.button_minimize); + this.panel_title.Controls.Add(this.button_close); + this.panel_title.Controls.Add(this.label_title); + this.panel_title.Dock = System.Windows.Forms.DockStyle.Top; + this.panel_title.Location = new System.Drawing.Point(0, 0); + this.panel_title.Name = "panel_title"; + this.panel_title.Size = new System.Drawing.Size(394, 48); + this.panel_title.TabIndex = 12; + // + // pictureBox_icon + // + this.pictureBox_icon.BackColor = System.Drawing.Color.Transparent; + this.pictureBox_icon.Image = global::PingTesterAluminium.Properties.Resources.rectangle; + this.pictureBox_icon.Location = new System.Drawing.Point(11, 7); + this.pictureBox_icon.Name = "pictureBox_icon"; + this.pictureBox_icon.Size = new System.Drawing.Size(40, 33); + this.pictureBox_icon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.pictureBox_icon.TabIndex = 14; + this.pictureBox_icon.TabStop = false; + // + // button_minimize + // + this.button_minimize.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.button_minimize.BackColor = System.Drawing.Color.Transparent; + this.button_minimize.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.button_minimize.Cursor = System.Windows.Forms.Cursors.Hand; + this.button_minimize.FlatAppearance.BorderSize = 0; + this.button_minimize.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button_minimize.Font = new System.Drawing.Font("Visitor TT1 BRK", 15F); + this.button_minimize.Image = global::PingTesterAluminium.Properties.Resources.minimize; + this.button_minimize.Location = new System.Drawing.Point(293, 7); + this.button_minimize.Margin = new System.Windows.Forms.Padding(4); + this.button_minimize.Name = "button_minimize"; + this.button_minimize.Size = new System.Drawing.Size(40, 33); + this.button_minimize.TabIndex = 13; + this.button_minimize.UseVisualStyleBackColor = false; + // + // button_close + // + this.button_close.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.button_close.BackColor = System.Drawing.Color.Transparent; + this.button_close.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.button_close.Cursor = System.Windows.Forms.Cursors.Hand; + this.button_close.FlatAppearance.BorderSize = 0; + this.button_close.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button_close.Font = new System.Drawing.Font("Visitor TT1 BRK", 15F); + this.button_close.Image = global::PingTesterAluminium.Properties.Resources.close; + this.button_close.Location = new System.Drawing.Point(341, 7); + this.button_close.Margin = new System.Windows.Forms.Padding(4); + this.button_close.Name = "button_close"; + this.button_close.Size = new System.Drawing.Size(40, 33); + this.button_close.TabIndex = 1; + this.button_close.UseVisualStyleBackColor = false; + // + // label_title + // + this.label_title.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.label_title.AutoEllipsis = true; + this.label_title.BackColor = System.Drawing.Color.Transparent; + this.label_title.Font = new System.Drawing.Font("Visitor TT1 BRK", 20F); + this.label_title.Location = new System.Drawing.Point(57, 5); + this.label_title.Name = "label_title"; + this.label_title.Size = new System.Drawing.Size(228, 36); + this.label_title.TabIndex = 12; + this.label_title.Text = "Window"; + this.label_title.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // panel_main + // + this.panel_main.BackgroundImage = global::PingTesterAluminium.Properties.Resources.background; + this.panel_main.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.panel_main.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel_main.Controls.Add(this.button_ok); + this.panel_main.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel_main.Location = new System.Drawing.Point(0, 0); + this.panel_main.Name = "panel_main"; + this.panel_main.Size = new System.Drawing.Size(394, 272); + this.panel_main.TabIndex = 11; + // + // button_ok + // + this.button_ok.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.button_ok.BackgroundImage = global::PingTesterAluminium.Properties.Resources.background; + this.button_ok.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.button_ok.Cursor = System.Windows.Forms.Cursors.Hand; + this.button_ok.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button_ok.Font = new System.Drawing.Font("Visitor TT1 BRK", 15F); + this.button_ok.Location = new System.Drawing.Point(237, 225); + this.button_ok.Margin = new System.Windows.Forms.Padding(4); + this.button_ok.Name = "button_ok"; + this.button_ok.Size = new System.Drawing.Size(143, 33); + this.button_ok.TabIndex = 0; + this.button_ok.Text = "Ok"; + this.button_ok.UseVisualStyleBackColor = false; + // + // Form_Template + // + this.AutoScaleDimensions = new System.Drawing.SizeF(24F, 36F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ClientSize = new System.Drawing.Size(394, 272); + this.Controls.Add(this.panel_title); + this.Controls.Add(this.panel_main); + this.Font = new System.Drawing.Font("Visitor TT1 BRK", 30F); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Margin = new System.Windows.Forms.Padding(10, 8, 10, 8); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "Form_Template"; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "About"; + this.panel_title.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox_icon)).EndInit(); + this.panel_main.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button button_ok; + private System.Windows.Forms.Panel panel_main; + private System.Windows.Forms.Panel panel_title; + private System.Windows.Forms.Label label_title; + private System.Windows.Forms.Button button_close; + private System.Windows.Forms.Button button_minimize; + private System.Windows.Forms.PictureBox pictureBox_icon; + + } +} + diff --git a/Ping Tester Aluminium/GUI/AluminiumForm.cs b/Ping Tester Aluminium/GUI/AluminiumForm.cs new file mode 100644 index 0000000..9243af0 --- /dev/null +++ b/Ping Tester Aluminium/GUI/AluminiumForm.cs @@ -0,0 +1,21 @@ +using System; +using System.Windows.Forms; +using PingTesterAluminium.Properties; + +namespace PingTesterAluminium +{ + public partial class Form_Template : Form + { + public Form_Template() + { + InitializeComponent(); + this.FormBorderStyle = FormBorderStyle.None; + this.panel_title.EnableMovingByMouseDrag(); + this.label_title.Text = this.Text; + this.button_close.Click += (s, e) => this.Close(); + this.button_minimize.Click += (s, e) => this.WindowState = FormWindowState.Maximized; + this.SetFont(Resources.visitor.ToFontFamily()); + this.EnableButtonsHoverEffects(); + } + } +} diff --git a/Ping Tester Aluminium/GUI/AluminiumForm.resx b/Ping Tester Aluminium/GUI/AluminiumForm.resx new file mode 100644 index 0000000..5cc0b9c --- /dev/null +++ b/Ping Tester Aluminium/GUI/AluminiumForm.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + True + + + True + + \ No newline at end of file diff --git a/Ping Tester Aluminium/GUI/Form_About.Designer.cs b/Ping Tester Aluminium/GUI/Form_About.Designer.cs new file mode 100644 index 0000000..89438f9 --- /dev/null +++ b/Ping Tester Aluminium/GUI/Form_About.Designer.cs @@ -0,0 +1,132 @@ +namespace PingTesterAluminium +{ + partial class FormAbout + { + /// + /// Variable nécessaire au concepteur. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Nettoyage des ressources utilisées. + /// + /// true si les ressources managées doivent être supprimées ; sinon, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Code généré par le Concepteur Windows Form + + /// + /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas + /// le contenu de cette méthode avec l'éditeur de code. + /// + private void InitializeComponent() + { + this.button_ok = new System.Windows.Forms.Button(); + this.labelCopyright1 = new System.Windows.Forms.Label(); + this.labelCopyright2 = new System.Windows.Forms.Label(); + this.labelCopyright3 = new System.Windows.Forms.Label(); + this.labelCopyright4 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // button_ok + // + this.button_ok.Anchor = System.Windows.Forms.AnchorStyles.Bottom; + this.button_ok.BackgroundImage = global::PingTesterAluminium.Properties.Resources.background; + this.button_ok.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.button_ok.Cursor = System.Windows.Forms.Cursors.Hand; + this.button_ok.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button_ok.Font = new System.Drawing.Font("Visitor TT1 BRK", 15F); + this.button_ok.Location = new System.Drawing.Point(198, 293); + this.button_ok.Margin = new System.Windows.Forms.Padding(4); + this.button_ok.Name = "button_ok"; + this.button_ok.Size = new System.Drawing.Size(143, 33); + this.button_ok.TabIndex = 0; + this.button_ok.Text = "Ok"; + this.button_ok.UseVisualStyleBackColor = false; + this.button_ok.Click += new System.EventHandler(this.buttonOk_Click); + // + // labelCopyright1 + // + this.labelCopyright1.AutoSize = true; + this.labelCopyright1.BackColor = System.Drawing.Color.Transparent; + this.labelCopyright1.Location = new System.Drawing.Point(96, 91); + this.labelCopyright1.Name = "labelCopyright1"; + this.labelCopyright1.Size = new System.Drawing.Size(347, 36); + this.labelCopyright1.TabIndex = 1; + this.labelCopyright1.Text = "AmbraPing 1.0.0.0"; + // + // labelCopyright2 + // + this.labelCopyright2.AutoSize = true; + this.labelCopyright2.BackColor = System.Drawing.Color.Transparent; + this.labelCopyright2.Location = new System.Drawing.Point(130, 149); + this.labelCopyright2.Name = "labelCopyright2"; + this.labelCopyright2.Size = new System.Drawing.Size(279, 36); + this.labelCopyright2.TabIndex = 2; + this.labelCopyright2.Text = "© Ambratolm"; + // + // labelCopyright3 + // + this.labelCopyright3.AutoSize = true; + this.labelCopyright3.BackColor = System.Drawing.Color.Transparent; + this.labelCopyright3.Location = new System.Drawing.Point(42, 185); + this.labelCopyright3.Name = "labelCopyright3"; + this.labelCopyright3.Size = new System.Drawing.Size(455, 36); + this.labelCopyright3.TabIndex = 3; + this.labelCopyright3.Text = "© Elhafid Softwares"; + // + // labelCopyright4 + // + this.labelCopyright4.AutoSize = true; + this.labelCopyright4.BackColor = System.Drawing.Color.Transparent; + this.labelCopyright4.Location = new System.Drawing.Point(220, 221); + this.labelCopyright4.Name = "labelCopyright4"; + this.labelCopyright4.Size = new System.Drawing.Size(99, 36); + this.labelCopyright4.TabIndex = 4; + this.labelCopyright4.Text = "2019"; + // + // FormAbout + // + this.AutoScaleDimensions = new System.Drawing.SizeF(24F, 36F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImage = global::PingTesterAluminium.Properties.Resources.background; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ClientSize = new System.Drawing.Size(538, 340); + this.Controls.Add(this.labelCopyright4); + this.Controls.Add(this.labelCopyright3); + this.Controls.Add(this.labelCopyright2); + this.Controls.Add(this.labelCopyright1); + this.Controls.Add(this.button_ok); + this.Font = new System.Drawing.Font("Visitor TT1 BRK", 30F); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Margin = new System.Windows.Forms.Padding(10, 8, 10, 8); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormAbout"; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "About"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button button_ok; + private System.Windows.Forms.Label labelCopyright1; + private System.Windows.Forms.Label labelCopyright2; + private System.Windows.Forms.Label labelCopyright3; + private System.Windows.Forms.Label labelCopyright4; + + } +} + diff --git a/Ping Tester Aluminium/GUI/Form_About.cs b/Ping Tester Aluminium/GUI/Form_About.cs new file mode 100644 index 0000000..3be92f1 --- /dev/null +++ b/Ping Tester Aluminium/GUI/Form_About.cs @@ -0,0 +1,29 @@ +using System; +using System.Windows.Forms; +using PingTesterAluminium.Properties; + +namespace PingTesterAluminium +{ + public partial class FormAbout : Form + { + public FormAbout() + { + InitializeComponent(); + + // Set Custom Font for Form + this.SetFont(Resources.visitor.ToFontFamily()); + + // Enable Hover Animation on Buttons + this.EnableButtonsHoverEffects(); + + // Set Copyright Infromations + labelCopyright1.Text = Application.ProductName + " " + Application.ProductVersion; + labelCopyright1.CenterHorizontally(); + } + + private void buttonOk_Click(object sender, EventArgs e) + { + this.Close(); + } + } +} diff --git a/Ping Tester Aluminium/GUI/Form_About.resx b/Ping Tester Aluminium/GUI/Form_About.resx new file mode 100644 index 0000000..fa6b66e --- /dev/null +++ b/Ping Tester Aluminium/GUI/Form_About.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 52 + + \ No newline at end of file diff --git a/Ping Tester Aluminium/GUI/Form_Main.Designer.cs b/Ping Tester Aluminium/GUI/Form_Main.Designer.cs new file mode 100644 index 0000000..46f5b47 --- /dev/null +++ b/Ping Tester Aluminium/GUI/Form_Main.Designer.cs @@ -0,0 +1,254 @@ +namespace PingTesterAluminium +{ + partial class FormMain + { + /// + /// Variable nécessaire au concepteur. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Nettoyage des ressources utilisées. + /// + /// true si les ressources managées doivent être supprimées ; sinon, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Code généré par le Concepteur Windows Form + + /// + /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas + /// le contenu de cette méthode avec l'éditeur de code. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain)); + this.label_time = new System.Windows.Forms.Label(); + this.timerPing = new System.Windows.Forms.Timer(this.components); + this.label_rating = new System.Windows.Forms.Label(); + this.progressBarTime = new System.Windows.Forms.ProgressBar(); + this.button_settings = new System.Windows.Forms.Button(); + this.label_host = new System.Windows.Forms.Label(); + this.button_about = new System.Windows.Forms.Button(); + this.button_pause = new System.Windows.Forms.Button(); + this.backgroundWorkerPing = new System.ComponentModel.BackgroundWorker(); + this.button_close = new System.Windows.Forms.Button(); + this.label_applicationTitle = new System.Windows.Forms.Label(); + this.button_minimize = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // label_time + // + this.label_time.AutoSize = true; + this.label_time.BackColor = System.Drawing.Color.Transparent; + this.label_time.ForeColor = System.Drawing.Color.Gray; + this.label_time.Location = new System.Drawing.Point(125, 92); + this.label_time.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_time.Name = "label_time"; + this.label_time.Size = new System.Drawing.Size(167, 36); + this.label_time.TabIndex = 3; + this.label_time.Text = "Timeout"; + // + // timerPing + // + this.timerPing.Interval = 1000; + this.timerPing.Tick += new System.EventHandler(this.timerPing_Tick); + // + // label_rating + // + this.label_rating.AutoSize = true; + this.label_rating.BackColor = System.Drawing.Color.Transparent; + this.label_rating.ForeColor = System.Drawing.Color.Gray; + this.label_rating.Location = new System.Drawing.Point(65, 180); + this.label_rating.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_rating.Name = "label_rating"; + this.label_rating.Size = new System.Drawing.Size(287, 36); + this.label_rating.TabIndex = 5; + this.label_rating.Text = "Disconnected"; + // + // progressBarTime + // + this.progressBarTime.ForeColor = System.Drawing.SystemColors.ControlText; + this.progressBarTime.Location = new System.Drawing.Point(135, 136); + this.progressBarTime.Margin = new System.Windows.Forms.Padding(4); + this.progressBarTime.MarqueeAnimationSpeed = 0; + this.progressBarTime.Maximum = 300; + this.progressBarTime.Name = "progressBarTime"; + this.progressBarTime.Size = new System.Drawing.Size(150, 34); + this.progressBarTime.Step = 0; + this.progressBarTime.TabIndex = 4; + this.progressBarTime.Value = 300; + // + // button_settings + // + this.button_settings.Anchor = System.Windows.Forms.AnchorStyles.Bottom; + this.button_settings.BackgroundImage = global::PingTesterAluminium.Properties.Resources.background; + this.button_settings.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.button_settings.Cursor = System.Windows.Forms.Cursors.Hand; + this.button_settings.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button_settings.Font = new System.Drawing.Font("Visitor TT1 BRK", 15F); + this.button_settings.Location = new System.Drawing.Point(136, 328); + this.button_settings.Margin = new System.Windows.Forms.Padding(4); + this.button_settings.Name = "button_settings"; + this.button_settings.Size = new System.Drawing.Size(142, 33); + this.button_settings.TabIndex = 0; + this.button_settings.Text = "Settings"; + this.button_settings.UseVisualStyleBackColor = false; + this.button_settings.Click += new System.EventHandler(this.buttonSettings_Click); + // + // label_host + // + this.label_host.AutoSize = true; + this.label_host.BackColor = System.Drawing.Color.Transparent; + this.label_host.ForeColor = System.Drawing.Color.Gray; + this.label_host.Location = new System.Drawing.Point(154, 248); + this.label_host.Name = "label_host"; + this.label_host.Size = new System.Drawing.Size(111, 36); + this.label_host.TabIndex = 6; + this.label_host.Text = "Host"; + // + // button_about + // + this.button_about.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.button_about.BackgroundImage = global::PingTesterAluminium.Properties.Resources.background; + this.button_about.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.button_about.Cursor = System.Windows.Forms.Cursors.Hand; + this.button_about.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button_about.Font = new System.Drawing.Font("Visitor TT1 BRK", 15F); + this.button_about.Image = global::PingTesterAluminium.Properties.Resources.about; + this.button_about.Location = new System.Drawing.Point(362, 328); + this.button_about.Margin = new System.Windows.Forms.Padding(4); + this.button_about.Name = "button_about"; + this.button_about.Size = new System.Drawing.Size(40, 33); + this.button_about.TabIndex = 2; + this.button_about.UseVisualStyleBackColor = false; + this.button_about.Click += new System.EventHandler(this.buttonAbout_Click); + // + // button_pause + // + this.button_pause.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.button_pause.BackgroundImage = global::PingTesterAluminium.Properties.Resources.background; + this.button_pause.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.button_pause.Cursor = System.Windows.Forms.Cursors.Hand; + this.button_pause.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button_pause.Font = new System.Drawing.Font("Visitor TT1 BRK", 15F); + this.button_pause.Image = global::PingTesterAluminium.Properties.Resources.pause; + this.button_pause.Location = new System.Drawing.Point(14, 328); + this.button_pause.Margin = new System.Windows.Forms.Padding(4); + this.button_pause.Name = "button_pause"; + this.button_pause.Size = new System.Drawing.Size(40, 33); + this.button_pause.TabIndex = 1; + this.button_pause.UseVisualStyleBackColor = false; + this.button_pause.Click += new System.EventHandler(this.buttonPause_Click); + // + // backgroundWorkerPing + // + this.backgroundWorkerPing.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorkerPing_DoWork); + this.backgroundWorkerPing.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorkerPing_RunWorkerCompleted); + // + // button_close + // + this.button_close.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.button_close.BackColor = System.Drawing.Color.Transparent; + this.button_close.BackgroundImage = global::PingTesterAluminium.Properties.Resources.close; + this.button_close.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.button_close.Cursor = System.Windows.Forms.Cursors.Hand; + this.button_close.FlatAppearance.BorderSize = 0; + this.button_close.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button_close.Font = new System.Drawing.Font("Visitor TT1 BRK", 15F); + this.button_close.Location = new System.Drawing.Point(369, 14); + this.button_close.Margin = new System.Windows.Forms.Padding(4); + this.button_close.Name = "button_close"; + this.button_close.Size = new System.Drawing.Size(33, 33); + this.button_close.TabIndex = 2; + this.button_close.UseVisualStyleBackColor = false; + this.button_close.Click += new System.EventHandler(this.button_close_Click); + // + // label_applicationTitle + // + this.label_applicationTitle.BackColor = System.Drawing.Color.Transparent; + this.label_applicationTitle.Font = new System.Drawing.Font("Visitor TT1 BRK", 30F); + this.label_applicationTitle.ForeColor = System.Drawing.Color.Black; + this.label_applicationTitle.Location = new System.Drawing.Point(13, 14); + this.label_applicationTitle.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_applicationTitle.Name = "label_applicationTitle"; + this.label_applicationTitle.Size = new System.Drawing.Size(307, 33); + this.label_applicationTitle.TabIndex = 3; + this.label_applicationTitle.Text = "Ping Tester"; + this.label_applicationTitle.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // button_minimize + // + this.button_minimize.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.button_minimize.BackColor = System.Drawing.Color.Transparent; + this.button_minimize.BackgroundImage = global::PingTesterAluminium.Properties.Resources.minimize; + this.button_minimize.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.button_minimize.Cursor = System.Windows.Forms.Cursors.Hand; + this.button_minimize.FlatAppearance.BorderSize = 0; + this.button_minimize.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button_minimize.Font = new System.Drawing.Font("Visitor TT1 BRK", 15F); + this.button_minimize.Location = new System.Drawing.Point(328, 14); + this.button_minimize.Margin = new System.Windows.Forms.Padding(4); + this.button_minimize.Name = "button_minimize"; + this.button_minimize.Size = new System.Drawing.Size(33, 33); + this.button_minimize.TabIndex = 2; + this.button_minimize.UseVisualStyleBackColor = false; + this.button_minimize.Click += new System.EventHandler(this.button_minimize_Click); + // + // FormMain + // + this.AutoScaleDimensions = new System.Drawing.SizeF(24F, 36F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImage = global::PingTesterAluminium.Properties.Resources.background; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ClientSize = new System.Drawing.Size(416, 376); + this.Controls.Add(this.label_host); + this.Controls.Add(this.button_pause); + this.Controls.Add(this.button_minimize); + this.Controls.Add(this.button_close); + this.Controls.Add(this.button_about); + this.Controls.Add(this.button_settings); + this.Controls.Add(this.progressBarTime); + this.Controls.Add(this.label_rating); + this.Controls.Add(this.label_applicationTitle); + this.Controls.Add(this.label_time); + this.Cursor = System.Windows.Forms.Cursors.Default; + this.Font = new System.Drawing.Font("Visitor TT1 BRK", 30F); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Margin = new System.Windows.Forms.Padding(10, 8, 10, 8); + this.MaximizeBox = false; + this.Name = "FormMain"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Ping Tester"; + this.Load += new System.EventHandler(this.FormMain_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label_time; + private System.Windows.Forms.Label label_rating; + private System.Windows.Forms.ProgressBar progressBarTime; + private System.Windows.Forms.Button button_settings; + private System.Windows.Forms.Label label_host; + private System.Windows.Forms.Button button_about; + private System.Windows.Forms.Button button_pause; + private System.ComponentModel.BackgroundWorker backgroundWorkerPing; + public System.Windows.Forms.Timer timerPing; + private System.Windows.Forms.Button button_close; + private System.Windows.Forms.Label label_applicationTitle; + private System.Windows.Forms.Button button_minimize; + + } +} + diff --git a/Ping Tester Aluminium/GUI/Form_Main.cs b/Ping Tester Aluminium/GUI/Form_Main.cs new file mode 100644 index 0000000..c6ae920 --- /dev/null +++ b/Ping Tester Aluminium/GUI/Form_Main.cs @@ -0,0 +1,143 @@ +using System; +using System.Windows.Forms; +using PingTesterAluminium.Properties; + +namespace PingTesterAluminium +{ + public partial class FormMain : Form + { + public FormMain() + { + InitializeComponent(); + this.EnableMovingByMouseDrag(); + + // Set Custom Font for Form + this.SetFont(Resources.visitor.ToFontFamily()); + + // Enable Hover Animation on Buttons + this.EnableButtonsHoverEffects(); + + // Set Custom Font for Buttons + button_settings.SetFont(this.Font); + button_about.SetFont(this.Font); + button_pause.SetFont(this.Font); + + // Start Pinging Timer + timerPing.Start(); + } + + private void timerPing_Tick(object sender, EventArgs e) + { + // Set Timer Interval from Settings + if (Settings.Default.Interval < 100) timerPing.Interval = 100; + else timerPing.Interval = Settings.Default.Interval; + + // Save Timer Interval + if (timerPing.Interval != Settings.Default.Interval) + { + Settings.Default.Interval = timerPing.Interval; + Settings.Default.Save(); + } + + // Get Ping Response using Host from Settings + if (!backgroundWorkerPing.IsBusy) backgroundWorkerPing.RunWorkerAsync(); + } + + private void backgroundWorkerPing_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) + { + e.Result = PingTest.Ping(Settings.Default.Host); + } + + private void backgroundWorkerPing_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e) + { + PingResult response = (PingResult)e.Result; + + // Display Time + label_time.Text = response.Time > 0 ? response.Time.ToString() + " ms" : "Timeout"; + label_time.ForeColor = response.Color; + label_time.CenterHorizontally(); + + // Display Progression + if (response.Time > progressBarTime.Maximum) progressBarTime.Value = progressBarTime.Maximum; + else if (response.Time < progressBarTime.Minimum) progressBarTime.Value = progressBarTime.Minimum; + else progressBarTime.Value = (int)response.Time; + progressBarTime.ForeColor = response.Color; + + // Display Rating + label_rating.Text = response.Rating; + label_rating.ForeColor = response.Color; + label_rating.CenterHorizontally(); + + // Display Host + label_host.Text = response.Host; + label_host.CenterHorizontally(); + + // Save Host + if (response.Host != Settings.Default.Host) + { + Settings.Default.Host = response.Host; + Settings.Default.Save(); + } + } + + + private void buttonSettings_Click(object sender, EventArgs e) + { + // Stop Timer + bool timerStatus = timerPing.Enabled; + TimerSwitch(false); + + // Create & Open Settings Form + FormSettings formSettings = new FormSettings(); + formSettings.ShowDialog(); + + // Restore Timer Status + TimerSwitch(timerStatus); + } + + private void buttonAbout_Click(object sender, EventArgs e) + { + // Stop Timer + bool timerStatus = timerPing.Enabled; + TimerSwitch(false); + + // Create & Open About Form + FormAbout formAbout = new FormAbout(); + formAbout.ShowDialog(); + + // Restore Timer Status + TimerSwitch(timerStatus); + } + + private void buttonPause_Click(object sender, EventArgs e) + { + TimerSwitch(); + } + + public void TimerSwitch() + { + timerPing.Enabled = !timerPing.Enabled; + button_pause.Image = timerPing.Enabled ? Resources.pause : Resources.play; + } + public void TimerSwitch(bool status) + { + timerPing.Enabled = status; + button_pause.Image = timerPing.Enabled ? Resources.pause : Resources.play; + } + + private void FormMain_Load(object sender, EventArgs e) + { + + } + + private void button_close_Click(object sender, EventArgs e) + { + Close(); + } + + private void button_minimize_Click(object sender, EventArgs e) + { + WindowState = FormWindowState.Minimized; + } + } +} diff --git a/Ping Tester Aluminium/GUI/Form_Main.resx b/Ping Tester Aluminium/GUI/Form_Main.resx new file mode 100644 index 0000000..67a2644 --- /dev/null +++ b/Ping Tester Aluminium/GUI/Form_Main.resx @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 121, 17 + + + 52 + + + + + AAABAAIAEBAAAAEAIABoBAAAJgAAACAgAAABACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAADAE + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBGNlBQRziqUEc4qlBHOKpQRziqUEc4qlBH + OKpQRziqUEc4qlBHOKpQRziqTkg4TgAAAAAAAAAAAAAAAFVJPRVSSzzvYFhJ/09HN/9PRzf/xbES/8Wx + Ev/FsRL/xbES/09HN/9PRzf/WlND/1NKOu5NTTMUAAAAAAAAAABPRziFhX9y/6qlmv+CfG7/T0c3/8Wx + Ev/FsRL/xbES/8WxEv9PRzf/h4Fz/6ynm/+EfXD/Tkc3ggAAAAAAAAAAT0c30a6qnv9RSTj/WFFB/09H + N/9PRzf/T0c3/09HN/9PRzf/T0c3/1hRQf9RSTn/r6qe/09HNs4AAAAAAAAAAE9HN/SyraH/dW5f/09H + N/9PRzf/T0c3/xhAw/8aQb3/T0c3/09HN/9PRzf/dW5f/7Ktof9PRzfzAAAAAAAAAABPRzfzsq2i/353 + av9QSDj/T0c3/09HN/8NP9//Bz7u/yZCn/9MR0D/UEg4/353av+yraL/T0c38gAAAAAAAAAAT0c30bCr + oP9RSTr/XVVG/09HN/9PRzf/T0c3/09HN/81Q3r/FT/J/zdEc/9QSDn/sKqf/09HNs4AAAAAAAAAAE5H + N4KNiHv/qaSY/3pzZf9PRzf/T0c3/09HN/9PRzf/T0c3/01HO/8vQ4j/e3Vs/4yFeP9ORjZ/AAAAAAAA + AABVST0VVUw78bWwpP9gWEn/iYN1/1dPP/9PRzf/T0c3/15WR/97dGb/YFhJ/7Svpf9TTD3vUUM2EwAA + AAAAAAAAAAAAAE5INlVeVkf+s62i/6Oekf9QSDn/fndq/353av9RSTv/qaKY/7Ktof9dVkb+Tkg4UgAA + AAAAAAAAAAAAAAAAAAAAAAAAT0c2WlNKPPSJgnX/sayh/7Ktov+yraL/sayh/4eBdP9SSzrzT0Y4VwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRRjoWTkY2f1BHOMpPRzfpT0c36VBHOMpPRzd+VUk9FQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA4AcAAMADAACAAQAAgAEAAIABAACAAQAAgAEAAIAD + AADAAwAA4AcAAPAPAAD8PwAA//8AAP//AAAoAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExF + NyVPRzhET0c4RE9HOERPRzhET0c4RE9HOERPRzhET0c4RE9HOERPRzhET0c4RE9HOERPRzhET0c4RE9H + OERPRzhET0c4RE9HOERPRzhET0c4RE5HOSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABRRjoWT0c35U9HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09H + N/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0Y35FVJPRUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAU5GNsBPRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/insl/4p7Jf+KeyX/insl/4p7 + Jf+KeyX/insl/4p7Jf9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/UEg3vQAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABNRzdPT0c3/15XSP+MhXj/UUk5/09HN/9PRzf/T0c3/09HN///5QD//+UA///l + AP//5QD//+UA///lAP//5QD//+UA/09HN/9PRzf/T0c3/09HN/9QSDj/gntt/11WRv9PRzf/UUY2TAAA + AAAAAAAAAAAAAAAAAAAAAAAAgIAAAk9HN9RPRzf/qaOY/8vHvf+7tqv/amNU/09HN/9PRzf/T0c3///l + AP//5QD//+UA///lAP//5QD//+UA///lAP//5QD/T0c3/09HN/9PRzf/bWZX/7q2qv/MyL//qKKX/09H + N/9PRzfRAAAAAQAAAAAAAAAAAAAAAAAAAABNSDU1T0c3/15WR//a1s3/kIl9/7m0qf/b187/cWpc/09H + N/9PRzf/insl/4p7Jf+KeyX/insl/4p7Jf+KeyX/insl/4p7Jf9PRzf/T0c3/3ZvYv/c2M//t7Kn/5CK + ff/a1s3/XVVG/09HN/9NRzgyAAAAAAAAAAAAAAAAAAAAAFBIOIBPRzf/kYt+/9LNxP9TSzv/T0c3/3dw + Yf9QSDn/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/UUk4/3Zv + Yv9PRzf/VEw7/9LNxP+OiHv/T0c3/1BHN30AAAAAAAAAAAAAAAAAAAAAT0c3wk9HN/+yraL/raic/09H + N/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09H + N/9PRzf/T0c3/09HN/9PRzf/rqid/7CroP9PRzf/T0c3vwAAAAAAAAAAAAAAAAAAAABPRzbcT0c3/83I + vv+PiXz/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/88RWf/FEDN/xdAxf9DRVX/T0c3/09H + N/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/+Qin7/y8e9/09HN/9QRzfaAAAAAAAAAAAAAAAAAAAAAE9H + N/RPRzf/19PK/6qlmf+tqJz/raic/1BIOf9PRzf/T0c3/09HN/9PRzf/T0c3/wk+5/8APf//AD3//xU/ + yf9PRzf/T0c3/09HN/9PRzf/T0c3/1FJOP+tqJz/raic/6qkmf/W08n/T0c3/09HN/MAAAAAAAAAAAAA + AAAAAAAAT0c3809HN//W0cj/r6me/7axp/+2saf/UUk4/09HN/9PRzf/T0c3/09HN/9ORjn/BD71/wA9 + //8APf//Aj35/zdEc/9PRzf/T0c3/09HN/9PRzf/UUk5/7axp/+2saf/r6mf/9XRx/9PRzf/T0c38gAA + AAAAAAAAAAAAAAAAAABQRzfaT0c3/8fDuf+SjID/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09H + N/8wQ4X/BD71/wY97/8SQNP/AD3//x1Btv9GRk7/T0c3/09HN/9PRzf/T0c3/09HN/+UjYH/xsK3/09H + N/9PRzfYAAAAAAAAAAAAAAAAAAAAAE9HN79PRzf/tK+l/6ummv9PRzf/T0c3/09HN/9PRzf/T0c3/09H + N/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/85RG//DD7g/wI9+f8nQpv/TEY//09HN/9PRzf/T0c3/62n + nP+zrqP/T0c3/1BIN70AAAAAAAAAAAAAAAAAAAAAT0c4hU9HN/+Nh3r/0s7E/1FJOf9UTDz/iYN2/1FJ + OP9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9ORzr/LUOO/wU+8v8KP+f/N0Rz/09H + N/9RSjr/0s/F/4uFd/9PRzf/Tkc3ggAAAAAAAAAAAAAAAAAAAABNSDU1T0c3/2BYSf/a1s7/l5GF/8vH + vf/V0cf/aWJT/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/SkdD/yNB + pv8EPvT/RUVP/4J8bv/a1s7/X1hJ/09HN/9NRzgyAAAAAAAAAAAAAAAAAAAAAAAAAAFPRzfXT0c3/6ah + lf/NyL7/q6ab/15WR/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09H + N/9PRzf/T0c3/0pHRP9UTDv/y8e9/6Sek/9PRzf/T0c31QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBI + NllPRzf/XlZH/9XRx/+inJD/T0c3/09HN/9PRzf/fndq/1BIOf9PRzf/T0c3/09HN/9PRzf/T0c3/09H + N/9RSTn/a2RV/09HN/9PRzf/T0c3/6Sekv/Uz8b/XVVG/09HN/9QRzhWAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAU9HN8lPRzf/e3Rm/9vXzf+Nh3r/T0c3/353av/b187/bWVX/09HN/9PRzf/T0c3/09H + N/9PRzf/T0c3/4qEd//W0sj/XldI/09HN/+OiHv/29fN/3lyZf9PRzf/T0c2xQAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAATUc1K09HN/FPRzf/jYh7/9vXzv+jnZL/yMS4/6mjmP9PRzf/T0c3/09H + N/+tqJz/raic/09HN/9PRzf/VEw8/8vHvf+qpJn/pZ+U/9vXzf+Nhnn/T0c3/09HN+5MRTclAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATkc3QU9HN/pPRzf/fXVo/9bSyP/Nyb//iYR2/1JK + O/9PRzf/T0c3/62onP+tqJz/T0c3/09HN/9SSjv/l5KF/87KwP/W0cj/e3Vn/09HN/9PRzf5TkY1PgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT0Y4TU9HN/NPRzf/XldI/6Se + kv/a1cz/1NDH/66onf+WkIT/sq2i/66qnv+WkIT/rqme/9XRx//a1cz/op2R/15WR/9PRzf/T0c38lFG + NkwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUUo2JlBH + N81PRzf/T0c3/11VRv+Jg3b/trCl/8bAt//RzcP/0c3D/8bAt/+1sKT/iYN1/11URf9PRzf/T0c3/09I + N8tQSTojAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAU5GN1hPRzfZT0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09HN/9PRzf/T0c3/09H + N9hQRzhWAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOSTkxT0c3flBHN7pPRzjTT0c36U9HN+lPRzjTUEc3ulBH + N31QRTUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////+AAAH/AAAA/wAAAP4AAAB+AA + AAfAAAAHwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA+AAAAfgAAAH8AAAD/AAAA/4AAAf/AAAP/4A + AH//AAD//8AD///4H/////////////////////// + + + \ No newline at end of file diff --git a/Ping Tester Aluminium/GUI/Form_Settings.Designer.cs b/Ping Tester Aluminium/GUI/Form_Settings.Designer.cs new file mode 100644 index 0000000..1a4287a --- /dev/null +++ b/Ping Tester Aluminium/GUI/Form_Settings.Designer.cs @@ -0,0 +1,161 @@ +namespace PingTesterAluminium +{ + partial class FormSettings + { + /// + /// Variable nécessaire au concepteur. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Nettoyage des ressources utilisées. + /// + /// true si les ressources managées doivent être supprimées ; sinon, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Code généré par le Concepteur Windows Form + + /// + /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas + /// le contenu de cette méthode avec l'éditeur de code. + /// + private void InitializeComponent() + { + this.buttonSave = new System.Windows.Forms.Button(); + this.labelHost = new System.Windows.Forms.Label(); + this.textBoxHost = new System.Windows.Forms.TextBox(); + this.textBoxInterval = new System.Windows.Forms.TextBox(); + this.labelInterval = new System.Windows.Forms.Label(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // buttonSave + // + this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonSave.BackgroundImage = global::PingTesterAluminium.Properties.Resources.background; + this.buttonSave.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonSave.Cursor = System.Windows.Forms.Cursors.Hand; + this.buttonSave.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonSave.Font = new System.Drawing.Font("Visitor TT1 BRK", 15F); + this.buttonSave.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonSave.Location = new System.Drawing.Point(411, 185); + this.buttonSave.Margin = new System.Windows.Forms.Padding(4); + this.buttonSave.Name = "buttonSave"; + this.buttonSave.Size = new System.Drawing.Size(150, 33); + this.buttonSave.TabIndex = 2; + this.buttonSave.Text = "Save"; + this.buttonSave.UseVisualStyleBackColor = false; + this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click); + // + // labelHost + // + this.labelHost.AutoSize = true; + this.labelHost.BackColor = System.Drawing.Color.Transparent; + this.labelHost.Font = new System.Drawing.Font("Visitor TT1 BRK", 25F); + this.labelHost.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.labelHost.Location = new System.Drawing.Point(120, 14); + this.labelHost.Name = "labelHost"; + this.labelHost.Size = new System.Drawing.Size(334, 31); + this.labelHost.TabIndex = 4; + this.labelHost.Text = "Host (Name or IP)"; + // + // textBoxHost + // + this.textBoxHost.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.textBoxHost.Location = new System.Drawing.Point(13, 48); + this.textBoxHost.Name = "textBoxHost"; + this.textBoxHost.Size = new System.Drawing.Size(547, 44); + this.textBoxHost.TabIndex = 0; + this.textBoxHost.Text = "google.com"; + this.textBoxHost.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // textBoxInterval + // + this.textBoxInterval.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.textBoxInterval.Location = new System.Drawing.Point(12, 129); + this.textBoxInterval.Name = "textBoxInterval"; + this.textBoxInterval.Size = new System.Drawing.Size(548, 44); + this.textBoxInterval.TabIndex = 1; + this.textBoxInterval.Text = "1000"; + this.textBoxInterval.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.textBoxInterval.TextChanged += new System.EventHandler(this.textBoxInterval_TextChanged); + // + // labelInterval + // + this.labelInterval.AutoSize = true; + this.labelInterval.BackColor = System.Drawing.Color.Transparent; + this.labelInterval.Font = new System.Drawing.Font("Visitor TT1 BRK", 25F); + this.labelInterval.Location = new System.Drawing.Point(160, 95); + this.labelInterval.Name = "labelInterval"; + this.labelInterval.Size = new System.Drawing.Size(254, 31); + this.labelInterval.TabIndex = 5; + this.labelInterval.Text = "Interval (ms)"; + // + // buttonCancel + // + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonCancel.BackgroundImage = global::PingTesterAluminium.Properties.Resources.background; + this.buttonCancel.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonCancel.Cursor = System.Windows.Forms.Cursors.Hand; + this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.buttonCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonCancel.Font = new System.Drawing.Font("Visitor TT1 BRK", 15F); + this.buttonCancel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonCancel.Location = new System.Drawing.Point(13, 185); + this.buttonCancel.Margin = new System.Windows.Forms.Padding(4); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(150, 33); + this.buttonCancel.TabIndex = 3; + this.buttonCancel.Text = "Cancel"; + this.buttonCancel.UseVisualStyleBackColor = false; + this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click); + // + // FormSettings + // + this.AcceptButton = this.buttonSave; + this.AutoScaleDimensions = new System.Drawing.SizeF(24F, 36F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImage = global::PingTesterAluminium.Properties.Resources.background; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.CancelButton = this.buttonCancel; + this.ClientSize = new System.Drawing.Size(574, 232); + this.Controls.Add(this.textBoxInterval); + this.Controls.Add(this.textBoxHost); + this.Controls.Add(this.labelInterval); + this.Controls.Add(this.labelHost); + this.Controls.Add(this.buttonCancel); + this.Controls.Add(this.buttonSave); + this.Font = new System.Drawing.Font("Visitor TT1 BRK", 30F); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Margin = new System.Windows.Forms.Padding(10, 8, 10, 8); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormSettings"; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Settings"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button buttonSave; + private System.Windows.Forms.Label labelHost; + private System.Windows.Forms.TextBox textBoxHost; + private System.Windows.Forms.TextBox textBoxInterval; + private System.Windows.Forms.Label labelInterval; + private System.Windows.Forms.Button buttonCancel; + + } +} + diff --git a/Ping Tester Aluminium/GUI/Form_Settings.cs b/Ping Tester Aluminium/GUI/Form_Settings.cs new file mode 100644 index 0000000..9eb3900 --- /dev/null +++ b/Ping Tester Aluminium/GUI/Form_Settings.cs @@ -0,0 +1,56 @@ +using System; +using System.Windows.Forms; +using PingTesterAluminium.Properties; + +namespace PingTesterAluminium +{ + public partial class FormSettings : Form + { + public FormSettings() + { + InitializeComponent(); + this.SetFont(Resources.visitor.ToFontFamily()); + this.EnableButtonsHoverEffects(); + textBoxHost.Text = Settings.Default.Host; + textBoxInterval.Text = Settings.Default.Interval.ToString(); + } + + private void buttonSave_Click(object sender, EventArgs e) + { + string host = textBoxHost.Text.Trim(); + if (host == string.Empty) + { + MessageBox.Show("A host name or ip must be given."); + return; + } + + int interval = 0; + if (!int.TryParse(textBoxInterval.Text, out interval)) + { + MessageBox.Show("Interval must be a number."); + return; + } + + if (interval <= 100) + { + interval = 100; + } + + Settings.Default.Host = host; + Settings.Default.Interval = interval; + Settings.Default.Save(); + ((FormMain)this.ParentForm).timerPing.Interval = interval; + this.Close(); + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + this.Close(); + } + + private void textBoxInterval_TextChanged(object sender, EventArgs e) + { + + } + } +} diff --git a/Ping Tester Aluminium/GUI/Form_Settings.resx b/Ping Tester Aluminium/GUI/Form_Settings.resx new file mode 100644 index 0000000..fa6b66e --- /dev/null +++ b/Ping Tester Aluminium/GUI/Form_Settings.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 52 + + \ No newline at end of file diff --git a/Ping Tester Aluminium/GUI/Form_Template.resx b/Ping Tester Aluminium/GUI/Form_Template.resx new file mode 100644 index 0000000..b70a6c9 --- /dev/null +++ b/Ping Tester Aluminium/GUI/Form_Template.resx @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + 52 + + \ No newline at end of file diff --git a/Ping Tester Aluminium/Ping Tester Aluminium.csproj b/Ping Tester Aluminium/Ping Tester Aluminium.csproj new file mode 100644 index 0000000..f46fd7a --- /dev/null +++ b/Ping Tester Aluminium/Ping Tester Aluminium.csproj @@ -0,0 +1,182 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {C15B5D96-0397-4CA0-915D-118F8DE69E73} + WinExe + Properties + PingTesterAluminium + PingTesterAluminium + v4.0 + Client + 512 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + icon.ico + + + + + + + + + + + + + + + + + + + + + + + Form + + + AluminiumForm.cs + + + Form + + + Form_About.cs + + + Form + + + Form_Settings.cs + + + Form + + + Form_Main.cs + + + + + AluminiumForm.cs + + + Form_About.cs + + + Form_Settings.cs + + + Form_Main.cs + + + AluminiumForm.cs + + + ResXFileCodeGenerator + Designer + Resources.Designer.cs + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + + + + + + + + + + + + + + + + + False + Microsoft .NET Framework 4 Client Profile %28x86 et x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + False + Windows Installer 3.1 + true + + + + + \ No newline at end of file diff --git a/Ping Tester Aluminium/Program.cs b/Ping Tester Aluminium/Program.cs new file mode 100644 index 0000000..f0b7c18 --- /dev/null +++ b/Ping Tester Aluminium/Program.cs @@ -0,0 +1,19 @@ +using System; +using System.Windows.Forms; + +namespace PingTesterAluminium +{ + static class Program + { + /// + /// Point d'entrée principal de l'application. + /// + [STAThread] + static void Main() + { + //Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form_Template()); + } + } +} diff --git a/Ping Tester Aluminium/Properties/AssemblyInfo.cs b/Ping Tester Aluminium/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..00cb64b --- /dev/null +++ b/Ping Tester Aluminium/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// Les informations générales relatives à un assembly dépendent de +// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations +// associées à un assembly. +[assembly: AssemblyTitle("Ping Tester Aluminium")] +[assembly: AssemblyDescription("Simple ping utility for testing network connection latency.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Ambratolm")] +[assembly: AssemblyProduct("Ping Tester Aluminium")] +[assembly: AssemblyCopyright("© 2019 Elhafid Softwares @Ambratolm")] +[assembly: AssemblyTrademark("Ambratolm")] +[assembly: AssemblyCulture("")] + +// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly +// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de +// COM, affectez la valeur true à l'attribut ComVisible sur ce type. +[assembly: ComVisible(false)] + +// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM +[assembly: Guid("7f2ff1af-3ee2-4da1-9815-1613bbc0656e")] + +// Les informations de version pour un assembly se composent des quatre valeurs suivantes : +// +// Version principale +// Version secondaire +// Numéro de build +// Révision +// +// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut +// en utilisant '*', comme indiqué ci-dessous : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Ping Tester Aluminium/Properties/Resources.Designer.cs b/Ping Tester Aluminium/Properties/Resources.Designer.cs new file mode 100644 index 0000000..18bc648 --- /dev/null +++ b/Ping Tester Aluminium/Properties/Resources.Designer.cs @@ -0,0 +1,173 @@ +//------------------------------------------------------------------------------ +// +// Ce code a été généré par un outil. +// Version du runtime :4.0.30319.42000 +// +// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si +// le code est régénéré. +// +//------------------------------------------------------------------------------ + +namespace PingTesterAluminium.Properties { + using System; + + + /// + /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + /// + // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder + // à l'aide d'un outil, tel que ResGen ou Visual Studio. + // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen + // avec l'option /str ou régénérez votre projet VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PingTesterAluminium.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Remplace la propriété CurrentUICulture du thread actuel pour toutes + /// les recherches de ressources à l'aide de cette classe de ressource fortement typée. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap about { + get { + object obj = ResourceManager.GetObject("about", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap background { + get { + object obj = ResourceManager.GetObject("background", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap cancel { + get { + object obj = ResourceManager.GetObject("cancel", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap close { + get { + object obj = ResourceManager.GetObject("close", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap minimize { + get { + object obj = ResourceManager.GetObject("minimize", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap pause { + get { + object obj = ResourceManager.GetObject("pause", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap play { + get { + object obj = ResourceManager.GetObject("play", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap rectangle { + get { + object obj = ResourceManager.GetObject("rectangle", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap save { + get { + object obj = ResourceManager.GetObject("save", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap settings { + get { + object obj = ResourceManager.GetObject("settings", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Byte[]. + /// + internal static byte[] visitor { + get { + object obj = ResourceManager.GetObject("visitor", resourceCulture); + return ((byte[])(obj)); + } + } + } +} diff --git a/Ping Tester Aluminium/Properties/Resources.resx b/Ping Tester Aluminium/Properties/Resources.resx new file mode 100644 index 0000000..611d8c0 --- /dev/null +++ b/Ping Tester Aluminium/Properties/Resources.resx @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\play.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\cancel.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\background.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\pause.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\save.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\about.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\visitor.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\settings.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\close.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\minimize.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\rectangle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Ping Tester Aluminium/Properties/Settings.Designer.cs b/Ping Tester Aluminium/Properties/Settings.Designer.cs new file mode 100644 index 0000000..e0f8234 --- /dev/null +++ b/Ping Tester Aluminium/Properties/Settings.Designer.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// Ce code a été généré par un outil. +// Version du runtime :4.0.30319.42000 +// +// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si +// le code est régénéré. +// +//------------------------------------------------------------------------------ + +namespace PingTesterAluminium.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("google.com")] + public string Host { + get { + return ((string)(this["Host"])); + } + set { + this["Host"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0")] + public int Interval { + get { + return ((int)(this["Interval"])); + } + set { + this["Interval"] = value; + } + } + } +} diff --git a/Ping Tester Aluminium/Properties/Settings.settings b/Ping Tester Aluminium/Properties/Settings.settings new file mode 100644 index 0000000..348fc7d --- /dev/null +++ b/Ping Tester Aluminium/Properties/Settings.settings @@ -0,0 +1,12 @@ + + + + + + google.com + + + 0 + + + \ No newline at end of file diff --git a/Ping Tester Aluminium/Resources/about.png b/Ping Tester Aluminium/Resources/about.png new file mode 100644 index 0000000..4d76661 Binary files /dev/null and b/Ping Tester Aluminium/Resources/about.png differ diff --git a/Ping Tester Aluminium/Resources/background.jpg b/Ping Tester Aluminium/Resources/background.jpg new file mode 100644 index 0000000..bf1cb1f Binary files /dev/null and b/Ping Tester Aluminium/Resources/background.jpg differ diff --git a/Ping Tester Aluminium/Resources/cancel.png b/Ping Tester Aluminium/Resources/cancel.png new file mode 100644 index 0000000..778cb33 Binary files /dev/null and b/Ping Tester Aluminium/Resources/cancel.png differ diff --git a/Ping Tester Aluminium/Resources/close.png b/Ping Tester Aluminium/Resources/close.png new file mode 100644 index 0000000..9325231 Binary files /dev/null and b/Ping Tester Aluminium/Resources/close.png differ diff --git a/Ping Tester Aluminium/Resources/minimize.png b/Ping Tester Aluminium/Resources/minimize.png new file mode 100644 index 0000000..7d8c112 Binary files /dev/null and b/Ping Tester Aluminium/Resources/minimize.png differ diff --git a/Ping Tester Aluminium/Resources/pause.png b/Ping Tester Aluminium/Resources/pause.png new file mode 100644 index 0000000..68e1dd1 Binary files /dev/null and b/Ping Tester Aluminium/Resources/pause.png differ diff --git a/Ping Tester Aluminium/Resources/play.png b/Ping Tester Aluminium/Resources/play.png new file mode 100644 index 0000000..aee7634 Binary files /dev/null and b/Ping Tester Aluminium/Resources/play.png differ diff --git a/Ping Tester Aluminium/Resources/rectangle.png b/Ping Tester Aluminium/Resources/rectangle.png new file mode 100644 index 0000000..dd4e64f Binary files /dev/null and b/Ping Tester Aluminium/Resources/rectangle.png differ diff --git a/Ping Tester Aluminium/Resources/save.png b/Ping Tester Aluminium/Resources/save.png new file mode 100644 index 0000000..40a47e0 Binary files /dev/null and b/Ping Tester Aluminium/Resources/save.png differ diff --git a/Ping Tester Aluminium/Resources/settings.png b/Ping Tester Aluminium/Resources/settings.png new file mode 100644 index 0000000..f538aa6 Binary files /dev/null and b/Ping Tester Aluminium/Resources/settings.png differ diff --git a/Ping Tester Aluminium/Resources/visitor.ttf b/Ping Tester Aluminium/Resources/visitor.ttf new file mode 100644 index 0000000..04ce123 Binary files /dev/null and b/Ping Tester Aluminium/Resources/visitor.ttf differ diff --git a/Ping Tester Aluminium/app.config b/Ping Tester Aluminium/app.config new file mode 100644 index 0000000..a499647 --- /dev/null +++ b/Ping Tester Aluminium/app.config @@ -0,0 +1,18 @@ + + + + +
+ + + + + + google.com + + + 0 + + + + \ No newline at end of file diff --git a/Ping Tester Aluminium/bin/Release/PingTester.vshost.exe.config b/Ping Tester Aluminium/bin/Release/PingTester.vshost.exe.config new file mode 100644 index 0000000..a499647 --- /dev/null +++ b/Ping Tester Aluminium/bin/Release/PingTester.vshost.exe.config @@ -0,0 +1,18 @@ + + + + +
+ + + + + + google.com + + + 0 + + + + \ No newline at end of file diff --git a/Ping Tester Aluminium/bin/Release/PingTester.vshost.exe.manifest b/Ping Tester Aluminium/bin/Release/PingTester.vshost.exe.manifest new file mode 100644 index 0000000..061c9ca --- /dev/null +++ b/Ping Tester Aluminium/bin/Release/PingTester.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/Ping Tester Aluminium/bin/Release/PingTesterAluminium.exe.config b/Ping Tester Aluminium/bin/Release/PingTesterAluminium.exe.config new file mode 100644 index 0000000..a499647 --- /dev/null +++ b/Ping Tester Aluminium/bin/Release/PingTesterAluminium.exe.config @@ -0,0 +1,18 @@ + + + + +
+ + + + + + google.com + + + 0 + + + + \ No newline at end of file diff --git a/Ping Tester Aluminium/bin/Release/PingTesterAluminium.vshost.exe b/Ping Tester Aluminium/bin/Release/PingTesterAluminium.vshost.exe new file mode 100644 index 0000000..bb84a51 Binary files /dev/null and b/Ping Tester Aluminium/bin/Release/PingTesterAluminium.vshost.exe differ diff --git a/Ping Tester Aluminium/bin/Release/PingTesterAluminium.vshost.exe.config b/Ping Tester Aluminium/bin/Release/PingTesterAluminium.vshost.exe.config new file mode 100644 index 0000000..a499647 --- /dev/null +++ b/Ping Tester Aluminium/bin/Release/PingTesterAluminium.vshost.exe.config @@ -0,0 +1,18 @@ + + + + +
+ + + + + + google.com + + + 0 + + + + \ No newline at end of file diff --git a/Ping Tester Aluminium/bin/Release/PingTesterAluminium.vshost.exe.manifest b/Ping Tester Aluminium/bin/Release/PingTesterAluminium.vshost.exe.manifest new file mode 100644 index 0000000..061c9ca --- /dev/null +++ b/Ping Tester Aluminium/bin/Release/PingTesterAluminium.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/Ping Tester Aluminium/icon.ico b/Ping Tester Aluminium/icon.ico new file mode 100644 index 0000000..c8f727d Binary files /dev/null and b/Ping Tester Aluminium/icon.ico differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..fb36cec --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# ![Icon](./icon.jpg?raw=true) Ping Tester (Aluminium) + +![Ongoing Work](https://img.shields.io/badge/Ongoing%20Work-yellow) +![Incomplete](https://img.shields.io/badge/Incomplete-red) +[![Windows](https://img.shields.io/badge/Windows-blue?logo=windows)](https://github.com/topics/windows) +[![C# 4.0](https://img.shields.io/badge/C%23-4.0-blue?logo=c-sharp)](https://github.com/topics/csharp) +[![.NET Framework 4.0](https://img.shields.io/badge/.NET%20Framework-4.0-blue?logo=dot-net)](https://github.com/topics/dotnet) + +Simple ping utility for testing network connection latency. + + + + + +## :rocket: Development +- Language: **[C#](https://github.com/dotnet/csharplang) 4.0** +- Framework: **[.NET](https://github.com/dotnet) Framework 4.0** +- IDE: **[Visual Studio](https://github.com/microsoft) 2010** + +## :page_facing_up: License +- Licensed under [MIT License](./LICENSE). +- Using [Icons8 Icons](https://icons8.com) licensed under [Icons8 License](https://icons8.com/license). +- Using [Visitor Font by Ænigma](https://www.dafont.com/visitor.font). + + diff --git a/icon.jpg b/icon.jpg new file mode 100644 index 0000000..bef046e Binary files /dev/null and b/icon.jpg differ diff --git a/logo.jpg b/logo.jpg new file mode 100644 index 0000000..f0fd4bd Binary files /dev/null and b/logo.jpg differ