diff --git a/AMRPC WatchDog Desktop.sln b/AMRPC WatchDog Desktop.sln
index 885c3b0..05698fb 100644
--- a/AMRPC WatchDog Desktop.sln
+++ b/AMRPC WatchDog Desktop.sln
@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.6.33723.286
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AMRPC WatchDog Desktop", "AMRPC WatchDog Desktop\AMRPC WatchDog Desktop.csproj", "{DBA6E76D-E48D-41E4-B35E-B3A1E5A59CDD}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WatchDog", "WatchDog\WatchDog.csproj", "{A64E25E5-88AE-43BE-9F6D-C5A318ADA64F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,10 +11,10 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {DBA6E76D-E48D-41E4-B35E-B3A1E5A59CDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DBA6E76D-E48D-41E4-B35E-B3A1E5A59CDD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DBA6E76D-E48D-41E4-B35E-B3A1E5A59CDD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DBA6E76D-E48D-41E4-B35E-B3A1E5A59CDD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A64E25E5-88AE-43BE-9F6D-C5A318ADA64F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A64E25E5-88AE-43BE-9F6D-C5A318ADA64F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A64E25E5-88AE-43BE-9F6D-C5A318ADA64F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A64E25E5-88AE-43BE-9F6D-C5A318ADA64F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/AMRPC WatchDog Desktop/Window.Designer.cs b/AMRPC WatchDog Desktop/Window.Designer.cs
deleted file mode 100644
index 0700e45..0000000
--- a/AMRPC WatchDog Desktop/Window.Designer.cs
+++ /dev/null
@@ -1,114 +0,0 @@
-using System.Drawing;
-using System.Windows.Forms;
-
-namespace AMRPC_WatchDog_Desktop
-{
- partial class Window
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Window));
- this._notifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
- this._runningStatusLabel = new System.Windows.Forms.Label();
- this._autoStartCheckbox = new System.Windows.Forms.CheckBox();
- this._startMinimizedCheckbox = new System.Windows.Forms.CheckBox();
- this.SuspendLayout();
- //
- // _notifyIcon
- //
- this._notifyIcon.BalloonTipText = "Running in background";
- this._notifyIcon.BalloonTipTitle = "AMRPC WatchDog";
- this._notifyIcon.Icon = ((System.Drawing.Icon) (resources.GetObject("_notifyIcon.Icon")));
- this._notifyIcon.Click += new System.EventHandler(this.Restore);
- //
- // _runningStatusLabel
- //
- this._runningStatusLabel.Dock = System.Windows.Forms.DockStyle.Top;
- this._runningStatusLabel.Location = new System.Drawing.Point(0, 0);
- this._runningStatusLabel.Name = "_runningStatusLabel";
- this._runningStatusLabel.Size = new System.Drawing.Size(382, 96);
- this._runningStatusLabel.TabIndex = 0;
- this._runningStatusLabel.Text = "Service is running\r\nYou might want to minimize this window to tray.";
- this._runningStatusLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
- //
- // _autoStartCheckbox
- //
- this._autoStartCheckbox.Location = new System.Drawing.Point(110, 129);
- this._autoStartCheckbox.Name = "_autoStartCheckbox";
- this._autoStartCheckbox.Size = new System.Drawing.Size(180, 24);
- this._autoStartCheckbox.TabIndex = 1;
- this._autoStartCheckbox.Text = "Autostart with system";
- this._autoStartCheckbox.UseVisualStyleBackColor = true;
- this._autoStartCheckbox.CheckedChanged += new System.EventHandler(this._autoStartCheckbox_CheckedChanged);
- //
- // _startMinimizedCheckbox
- //
- this._startMinimizedCheckbox.Location = new System.Drawing.Point(110, 99);
- this._startMinimizedCheckbox.Name = "_startMinimizedCheckbox";
- this._startMinimizedCheckbox.Size = new System.Drawing.Size(163, 24);
- this._startMinimizedCheckbox.TabIndex = 2;
- this._startMinimizedCheckbox.Text = "Start minimized";
- this._startMinimizedCheckbox.UseVisualStyleBackColor = true;
- this._startMinimizedCheckbox.CheckedChanged += new System.EventHandler(this._startMinimizedCheckbox_CheckedChanged);
- //
- // Window
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(382, 153);
- this.Controls.Add(this._startMinimizedCheckbox);
- this.Controls.Add(this._autoStartCheckbox);
- this.Controls.Add(this._runningStatusLabel);
- this.Icon = ((System.Drawing.Icon) (resources.GetObject("$this.Icon")));
- this.MaximizeBox = false;
- this.MaximumSize = new System.Drawing.Size(400, 200);
- this.MinimumSize = new System.Drawing.Size(400, 200);
- this.Name = "Window";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "AMRPC WatchDog";
- this.Load += new System.EventHandler(this.Window_Load);
- this.Resize += new System.EventHandler((_, __) =>
- {
- if (WindowState == FormWindowState.Minimized)
- {
- ToTray();
- }
- });
- this.ResumeLayout(false);
- }
-
- private System.Windows.Forms.CheckBox _startMinimizedCheckbox;
-
- private System.Windows.Forms.CheckBox _autoStartCheckbox;
-
- private System.Windows.Forms.Label _runningStatusLabel;
-
- #endregion
- }
-}
-
diff --git a/AMRPC WatchDog Desktop/Window.cs b/AMRPC WatchDog Desktop/Window.cs
deleted file mode 100644
index ba11445..0000000
--- a/AMRPC WatchDog Desktop/Window.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-using System;
-using System.Windows.Forms;
-using Microsoft.Win32;
-
-namespace AMRPC_WatchDog_Desktop
-{
- public partial class Window : Form
- {
- private const string StartupValue = "AMRPC WatchDog";
- private const string StartMinimizedValue = "StartMinimized";
- private readonly RegistryKey _startupRegKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
- private static readonly RegistryKey AppDataRegKey = Application.UserAppDataRegistry;
- private static readonly object StartsMinimized = AppDataRegKey.GetValue(StartMinimizedValue);
- private readonly bool _startsMinimizedBool = (string) StartsMinimized == "True";
-
- private NotifyIcon _notifyIcon;
-
- public Window(string appVersion)
- {
- InitializeComponent();
- SetupNotifyIcon(appVersion);
- SetupAutostartCheckbox();
- SetupStartMinimized();
- }
-
- private void SetupNotifyIcon(string appVersion)
- {
- _notifyIcon.Text = $"AMRPC WatchDog {appVersion}";
- _notifyIcon.ContextMenu = new ContextMenu(new MenuItem[]
- {
- new MenuItem("Quit", (_, __) => Application.Exit())
- });
- }
-
- private void SetupAutostartCheckbox()
- {
- var value = _startupRegKey.GetValue(StartupValue);
- _autoStartCheckbox.Checked = value != null;
- }
-
- private void SetupStartMinimized()
- {
- if (StartsMinimized == null)
- {
- AppDataRegKey.SetValue(StartMinimizedValue, false);
- }
- else
- {
- _startMinimizedCheckbox.Checked = _startsMinimizedBool;
- }
- }
-
- private void _autoStartCheckbox_CheckedChanged(object sender, EventArgs e)
- {
- if (((CheckBox) sender).Checked)
- {
- _startupRegKey.SetValue(StartupValue, Application.ExecutablePath);
- }
- else
- {
- _startupRegKey.DeleteValue(StartupValue);
- }
- }
-
- private void _startMinimizedCheckbox_CheckedChanged(object sender, EventArgs e)
- {
- AppDataRegKey.SetValue(StartMinimizedValue, ((CheckBox) sender).Checked);
- }
-
- private void Restore(object sender, EventArgs e)
- {
- WindowState = FormWindowState.Normal;
- ShowInTaskbar = true;
- _notifyIcon.Visible = false;
- Show();
- }
-
- private void Window_Load(object sender, EventArgs e)
- {
- if (_startsMinimizedBool)
- {
- ToTray();
- }
- }
-
- private void ToTray()
- {
- WindowState = FormWindowState.Minimized;
- _notifyIcon.Visible = true;
- ShowInTaskbar = false;
- Hide();
- }
- }
-}
diff --git a/AMRPC WatchDog Desktop/Window.resx b/AMRPC WatchDog Desktop/Window.resx
deleted file mode 100644
index 515e236..0000000
--- a/AMRPC WatchDog Desktop/Window.resx
+++ /dev/null
@@ -1,720 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
-
-
- 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
- wJXAHwAAAABJRU5ErkJggg==
-
-
-
-
- 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
- wJXAHwAAAABJRU5ErkJggg==
-
-
-
\ No newline at end of file
diff --git a/AMRPC WatchDog Desktop/icon.ico b/AMRPC WatchDog Desktop/icon.ico
deleted file mode 100644
index 68030fb..0000000
Binary files a/AMRPC WatchDog Desktop/icon.ico and /dev/null differ
diff --git a/AMRPC WatchDog Desktop/App.config b/WatchDog/App.config
similarity index 100%
rename from AMRPC WatchDog Desktop/App.config
rename to WatchDog/App.config
diff --git a/AMRPC WatchDog Desktop/Messenger.cs b/WatchDog/Messenger.cs
similarity index 95%
rename from AMRPC WatchDog Desktop/Messenger.cs
rename to WatchDog/Messenger.cs
index 77c18f9..5f13636 100644
--- a/AMRPC WatchDog Desktop/Messenger.cs
+++ b/WatchDog/Messenger.cs
@@ -1,9 +1,8 @@
using Newtonsoft.Json;
-using WebSocketSharp;
using WebSocketSharp.Server;
+using WebSocketSharp;
-
-namespace AMRPC_WatchDog_Desktop
+namespace WatchDog
{
internal class Messenger
{
@@ -25,7 +24,7 @@ public void Reconfigure()
_server = null;
_sender = null;
}
-
+
_sender = new Sender { Payload = _payload };
_payload.PropertyChanged += _sender.OnPayloadChanged;
_sender.Messenger = this;
@@ -33,10 +32,10 @@ public void Reconfigure()
_server = new WebSocketServer(9632);
_server.AddWebSocketService("/watchdog", () => _sender);
_server.Start();
-
+
}
}
-
+
internal class Sender : WebSocketBehavior
{
public Payload Payload;
@@ -46,7 +45,7 @@ protected override void OnMessage(MessageEventArgs e)
{
AnswerAsType(Payload.ResponseTypes.Response);
}
-
+
public void OnPayloadChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
AnswerAsType(Payload.ResponseTypes.Event);
@@ -65,4 +64,4 @@ private void AnswerAsType(string answerType)
Payload.type = original;
}
}
-}
\ No newline at end of file
+}
diff --git a/AMRPC WatchDog Desktop/Payload.cs b/WatchDog/Payload.cs
similarity index 97%
rename from AMRPC WatchDog Desktop/Payload.cs
rename to WatchDog/Payload.cs
index 9fb924c..61073d7 100644
--- a/AMRPC WatchDog Desktop/Payload.cs
+++ b/WatchDog/Payload.cs
@@ -2,7 +2,7 @@
using System.Runtime.CompilerServices;
-namespace AMRPC_WatchDog_Desktop
+namespace WatchDog
{
public class Payload
{
@@ -17,7 +17,7 @@ public static class ResponseTypes
public const string Response = "res";
public const string Event = "event";
}
-
+
public static class PlayingStatuses
{
public const string Playing = "playing";
@@ -52,7 +52,7 @@ public double endTime
NotifyPropertyChanged();
}
}
-
+
public double duration
{
get => _duration;
@@ -81,4 +81,4 @@ public void ResetToInitialState()
type = ResponseTypes.Event;
}
}
-}
\ No newline at end of file
+}
diff --git a/AMRPC WatchDog Desktop/Program.cs b/WatchDog/Program.cs
similarity index 74%
rename from AMRPC WatchDog Desktop/Program.cs
rename to WatchDog/Program.cs
index 3237152..233e99b 100644
--- a/AMRPC WatchDog Desktop/Program.cs
+++ b/WatchDog/Program.cs
@@ -1,21 +1,24 @@
using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
using System.Windows.Forms;
-namespace AMRPC_WatchDog_Desktop
+namespace WatchDog
{
internal static class Program
{
- private const string AppVersion = "v0.4.2";
+ private const string AppVersion = "v0.4.3";
[STAThread]
private static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
-
+
new Provider();
-
+
// var window = new Window(AppVersion);
// window.FormBorderStyle = FormBorderStyle.FixedSingle;
Application.Run();
diff --git a/AMRPC WatchDog Desktop/Properties/AssemblyInfo.cs b/WatchDog/Properties/AssemblyInfo.cs
similarity index 80%
rename from AMRPC WatchDog Desktop/Properties/AssemblyInfo.cs
rename to WatchDog/Properties/AssemblyInfo.cs
index 69ee107..e4c5a94 100644
--- a/AMRPC WatchDog Desktop/Properties/AssemblyInfo.cs
+++ b/WatchDog/Properties/AssemblyInfo.cs
@@ -5,11 +5,11 @@
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
-[assembly: AssemblyTitle("AMRPC WatchDog Desktop")]
+[assembly: AssemblyTitle("WatchDog")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("ZephraOSS")]
-[assembly: AssemblyProduct("AMRPC WatchDog Desktop")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("WatchDog")]
[assembly: AssemblyCopyright("Copyright © 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -20,7 +20,7 @@
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("dba6e76d-e48d-41e4-b35e-b3a1e5a59cdd")]
+[assembly: Guid("a64e25e5-88ae-43be-9f6d-c5a318ada64f")]
// Version information for an assembly consists of the following four values:
//
@@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.1.0")]
-[assembly: AssemblyFileVersion("0.1.0")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/AMRPC WatchDog Desktop/Properties/Resources.Designer.cs b/WatchDog/Properties/Resources.Designer.cs
similarity index 93%
rename from AMRPC WatchDog Desktop/Properties/Resources.Designer.cs
rename to WatchDog/Properties/Resources.Designer.cs
index ae2cc96..c9119fe 100644
--- a/AMRPC WatchDog Desktop/Properties/Resources.Designer.cs
+++ b/WatchDog/Properties/Resources.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace AMRPC_WatchDog_Desktop.Properties
+namespace WatchDog.Properties
{
@@ -44,7 +44,7 @@ internal Resources()
{
if ((resourceMan == null))
{
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AMRPC_WatchDog_Desktop.Properties.Resources", typeof(Resources).Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WatchDog.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/AMRPC WatchDog Desktop/Properties/Resources.resx b/WatchDog/Properties/Resources.resx
similarity index 100%
rename from AMRPC WatchDog Desktop/Properties/Resources.resx
rename to WatchDog/Properties/Resources.resx
diff --git a/AMRPC WatchDog Desktop/Properties/Settings.Designer.cs b/WatchDog/Properties/Settings.Designer.cs
similarity index 95%
rename from AMRPC WatchDog Desktop/Properties/Settings.Designer.cs
rename to WatchDog/Properties/Settings.Designer.cs
index e0829ad..6c67327 100644
--- a/AMRPC WatchDog Desktop/Properties/Settings.Designer.cs
+++ b/WatchDog/Properties/Settings.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace AMRPC_WatchDog_Desktop.Properties
+namespace WatchDog.Properties
{
diff --git a/AMRPC WatchDog Desktop/Properties/Settings.settings b/WatchDog/Properties/Settings.settings
similarity index 100%
rename from AMRPC WatchDog Desktop/Properties/Settings.settings
rename to WatchDog/Properties/Settings.settings
diff --git a/AMRPC WatchDog Desktop/Provider.cs b/WatchDog/Provider.cs
similarity index 95%
rename from AMRPC WatchDog Desktop/Provider.cs
rename to WatchDog/Provider.cs
index e8783db..6dea2e9 100644
--- a/AMRPC WatchDog Desktop/Provider.cs
+++ b/WatchDog/Provider.cs
@@ -4,8 +4,7 @@
using System.Threading.Tasks;
using Windows.Media.Control;
-
-namespace AMRPC_WatchDog_Desktop
+namespace WatchDog
{
internal class Provider
{
@@ -17,7 +16,7 @@ internal class Provider
private Messenger _messenger;
private readonly Payload _payload;
- public Provider()
+ public Provider()
{
_payload = new Payload();
_messenger = new Messenger(_payload);
@@ -29,7 +28,7 @@ public Provider()
private async void UpdateSessionManager()
{
if (_sessionManager != null) return;
-
+
_sessionManager = await GlobalSystemMediaTransportControlsSessionManager.RequestAsync();
_sessionManager.SessionsChanged += OnSessionsChanged;
GetAMPSession();
@@ -43,7 +42,7 @@ private void UpdateAMPSession()
private void GetAMPSession()
{
- if (_sessionManager != null)
+ if (_sessionManager != null)
{
GlobalSystemMediaTransportControlsSession newSession = FindAMPSession();
SetAMPSession(newSession);
@@ -54,7 +53,8 @@ private void GetAMPSession()
_ampSession.MediaPropertiesChanged += OnMediaPropertiesChanged;
_ampSession.PlaybackInfoChanged += OnPlaybackInfoChanged;
OnMediaPropertiesChanged(null, null);
- } else
+ }
+ else
{
_payload.ResetToInitialState();
}
@@ -65,9 +65,9 @@ private void OnPlaybackInfoChanged(GlobalSystemMediaTransportControlsSession sen
var playbackInfo = _ampSession.GetPlaybackInfo();
var timelineProperties = _ampSession.GetTimelineProperties();
- _payload.playerState = playbackInfo.PlaybackStatus.ToString().ToLower() == Payload.PlayingStatuses.Playing
+ _payload.playerState = playbackInfo.PlaybackStatus.ToString().ToLower() == Payload.PlayingStatuses.Playing
? Payload.PlayingStatuses.Playing : Payload.PlayingStatuses.Paused;
-
+
_payload.endTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() +
(timelineProperties.EndTime.TotalMilliseconds - timelineProperties.Position.TotalMilliseconds);
_payload.duration = timelineProperties.EndTime.TotalSeconds - timelineProperties.StartTime.TotalSeconds;
@@ -100,7 +100,7 @@ private void SetAMPSession(GlobalSystemMediaTransportControlsSession newSession)
if (newSession == null && _ampSession != null)
{
_ampSession = null;
- }
+ }
else if (_ampSession == null)
{
_ampSession = newSession;
@@ -121,7 +121,7 @@ private GlobalSystemMediaTransportControlsSession FindAMPSession()
return null;
}
- private void OnSessionsChanged(object sender, SessionsChangedEventArgs e)
+ private void OnSessionsChanged(object sender, SessionsChangedEventArgs e)
{
UpdateAMPSession();
}
@@ -129,4 +129,4 @@ private void OnSessionsChanged(object sender, SessionsChangedEventArgs e)
private static async Task GetMediaProperties(GlobalSystemMediaTransportControlsSession AMPSession) =>
AMPSession == null ? null : await AMPSession.TryGetMediaPropertiesAsync();
}
-}
\ No newline at end of file
+}
diff --git a/AMRPC WatchDog Desktop/AMRPC WatchDog Desktop.csproj b/WatchDog/WatchDog.csproj
similarity index 88%
rename from AMRPC WatchDog Desktop/AMRPC WatchDog Desktop.csproj
rename to WatchDog/WatchDog.csproj
index a99d0e6..5e918a4 100644
--- a/AMRPC WatchDog Desktop/AMRPC WatchDog Desktop.csproj
+++ b/WatchDog/WatchDog.csproj
@@ -4,9 +4,9 @@
Debug
AnyCPU
- {DBA6E76D-E48D-41E4-B35E-B3A1E5A59CDD}
+ {A64E25E5-88AE-43BE-9F6D-C5A318ADA64F}
WinExe
- AMRPC_WatchDog_Desktop
+ WatchDog
watchdog
v4.8
512
@@ -46,20 +46,11 @@
-
-
-
- Form
-
-
- Window.cs
-
+
-
- Window.cs
-
+
ResXFileCodeGenerator
Resources.Designer.cs
@@ -93,8 +84,5 @@
1.0.3-rc11
-
-
-
\ No newline at end of file