mirror of
https://github.com/EnderIce2/SDR-RPC.git
synced 2025-05-28 22:44:27 +00:00
Small code improvement
This commit is contained in:
parent
da9b48cf7c
commit
f4845c49e0
211
MainPlugin.cs
211
MainPlugin.cs
@ -12,22 +12,17 @@ namespace EnderIce2.SDRSharpPlugin
|
|||||||
{
|
{
|
||||||
public class MainPlugin : ISharpPlugin
|
public class MainPlugin : ISharpPlugin
|
||||||
{
|
{
|
||||||
private const string _displayName = "Discord RPC";
|
|
||||||
private SettingsPanel _controlPanel;
|
private SettingsPanel _controlPanel;
|
||||||
private const LogLevel logLevel = LogLevel.Trace;
|
private const LogLevel logLevel = LogLevel.Trace;
|
||||||
private const int discordPipe = -1;
|
private const int discordPipe = -1;
|
||||||
|
|
||||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "<Pending>")]
|
|
||||||
private bool RPCalreadyLoaded;
|
|
||||||
|
|
||||||
private ISharpControl _control;
|
private ISharpControl _control;
|
||||||
private bool playedBefore;
|
private bool playedBefore;
|
||||||
|
|
||||||
//private SDRSharp.FrontEnds.SpyServer.ControllerPanel controllerPanel;
|
//private SDRSharp.FrontEnds.SpyServer.ControllerPanel controllerPanel;
|
||||||
private TopWindowMessages windowMessages;
|
private TopWindowMessages windowMessages;
|
||||||
|
|
||||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "<Pending>")]
|
private readonly RichPresence presence = new RichPresence()
|
||||||
private RichPresence presence = new RichPresence()
|
|
||||||
{
|
{
|
||||||
Details = "Loading...",
|
Details = "Loading...",
|
||||||
State = "Loading...",
|
State = "Loading...",
|
||||||
@ -42,13 +37,12 @@ namespace EnderIce2.SDRSharpPlugin
|
|||||||
|
|
||||||
private DiscordRpcClient client;
|
private DiscordRpcClient client;
|
||||||
private bool isRunning = true;
|
private bool isRunning = true;
|
||||||
public string DisplayName => _displayName;
|
|
||||||
public bool HasGui => true;
|
public bool HasGui => true;
|
||||||
|
public string DisplayName => "Discord RPC";
|
||||||
public UserControl Gui => _controlPanel;
|
public UserControl Gui => _controlPanel;
|
||||||
|
|
||||||
public void Initialize(ISharpControl control)
|
public void Initialize(ISharpControl control)
|
||||||
{
|
{
|
||||||
IConfigurationPanelProvider configurationPanelProvider;
|
|
||||||
if (Utils.GetBooleanSetting("ShowWelcomePage", true))
|
if (Utils.GetBooleanSetting("ShowWelcomePage", true))
|
||||||
{
|
{
|
||||||
new WelcomeForm().ShowDialog();
|
new WelcomeForm().ShowDialog();
|
||||||
@ -62,6 +56,18 @@ namespace EnderIce2.SDRSharpPlugin
|
|||||||
if (Utils.GetBooleanSetting("EnableRPCInvite", false))
|
if (Utils.GetBooleanSetting("EnableRPCInvite", false))
|
||||||
{
|
{
|
||||||
_control.RegisterFrontControl(windowMessages, PluginPosition.Top);
|
_control.RegisterFrontControl(windowMessages, PluginPosition.Top);
|
||||||
|
presence.Secrets = new Secrets()
|
||||||
|
{
|
||||||
|
JoinSecret = "invalid_secret"
|
||||||
|
};
|
||||||
|
presence.Party = new Party()
|
||||||
|
{
|
||||||
|
ID = Secrets.CreateFriendlySecret(new Random()),
|
||||||
|
Size = 1,
|
||||||
|
Max = 100
|
||||||
|
};
|
||||||
|
windowMessages.Show();
|
||||||
|
client.SetSubscription(EventType.Join | EventType.JoinRequest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@ -69,46 +75,16 @@ namespace EnderIce2.SDRSharpPlugin
|
|||||||
MessageBox.Show(ex.ToString());
|
MessageBox.Show(ex.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Utils.GetBooleanSetting("EnableRPCInvite", false))
|
|
||||||
{
|
|
||||||
presence.Secrets = new Secrets()
|
|
||||||
{
|
|
||||||
JoinSecret = "invalid_secret"
|
|
||||||
};
|
|
||||||
presence.Party = new Party()
|
|
||||||
{
|
|
||||||
ID = Secrets.CreateFriendlySecret(new Random()),
|
|
||||||
Size = 1,
|
|
||||||
Max = 100
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Utils.GetBooleanSetting("EnableRPCInvite", false))
|
|
||||||
{
|
|
||||||
windowMessages.Show();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Utils.GetBooleanSetting("EnableRPC", true))
|
if (Utils.GetBooleanSetting("EnableRPC", true))
|
||||||
{
|
{
|
||||||
if (RPCalreadyLoaded)
|
|
||||||
{
|
|
||||||
_controlPanel.ChangeStatus = "Restart required";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (Utils.GetStringSetting("ClientID").Replace(" ", "").Length != 18)
|
if (Utils.GetStringSetting("ClientID").Replace(" ", "").Length != 18)
|
||||||
{
|
{
|
||||||
client = new DiscordRpcClient("765213507321856078", pipe: discordPipe)
|
Utils.SaveSetting("ClientID", "765213507321856078");
|
||||||
{
|
|
||||||
Logger = new ConsoleLogger(logLevel, true)
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
else
|
client = new DiscordRpcClient(Utils.GetStringSetting("ClientID"), pipe: discordPipe)
|
||||||
{
|
{
|
||||||
client = new DiscordRpcClient(Utils.GetStringSetting("ClientID"), pipe: discordPipe)
|
Logger = new ConsoleLogger(logLevel, true)
|
||||||
{
|
};
|
||||||
Logger = new ConsoleLogger(logLevel, true)
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
client.RegisterUriScheme();
|
client.RegisterUriScheme();
|
||||||
client.OnRpcMessage += Client_OnRpcMessage;
|
client.OnRpcMessage += Client_OnRpcMessage;
|
||||||
@ -127,16 +103,11 @@ namespace EnderIce2.SDRSharpPlugin
|
|||||||
Start = DateTime.UtcNow
|
Start = DateTime.UtcNow
|
||||||
};
|
};
|
||||||
|
|
||||||
if (Utils.GetBooleanSetting("EnableRPCInvite", false))
|
|
||||||
{
|
|
||||||
client.SetSubscription(EventType.Join | EventType.JoinRequest);
|
|
||||||
}
|
|
||||||
|
|
||||||
client.SetPresence(presence);
|
client.SetPresence(presence);
|
||||||
client.Initialize();
|
client.Initialize();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
configurationPanelProvider = (IConfigurationPanelProvider)_control.Source;
|
IConfigurationPanelProvider configurationPanelProvider = (IConfigurationPanelProvider)_control.Source;
|
||||||
//controllerPanel = (SDRSharp.FrontEnds.SpyServer.ControllerPanel)configurationPanelProvider.Gui;
|
//controllerPanel = (SDRSharp.FrontEnds.SpyServer.ControllerPanel)configurationPanelProvider.Gui;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@ -153,85 +124,6 @@ namespace EnderIce2.SDRSharpPlugin
|
|||||||
LogWriter.WriteToFile("EOM Initialize");
|
LogWriter.WriteToFile("EOM Initialize");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Client_OnPresenceUpdate(object sender, PresenceMessage args)
|
|
||||||
{
|
|
||||||
LogWriter.WriteToFile($"[RpcMessage] | Presence state: {args.Presence.State}");
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Client_OnRpcMessage(object sender, IMessage msg)
|
|
||||||
{
|
|
||||||
LogWriter.WriteToFile($"[RpcMessage] | {msg.Type} | {msg}");
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnConnectionFailed(object sender, ConnectionFailedMessage args)
|
|
||||||
{
|
|
||||||
_controlPanel.ChangeStatus = $"RPC Connection Failed!\n{args.Type} | {args.FailedPipe}";
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnConnectionEstablished(object sender, ConnectionEstablishedMessage args)
|
|
||||||
{
|
|
||||||
_controlPanel.ChangeStatus = "RPC Connection Established!";
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnError(object sender, ErrorMessage args)
|
|
||||||
{
|
|
||||||
_controlPanel.ChangeStatus = $"RPC Error:\n{args.Message}";
|
|
||||||
windowMessages.ChangeLabel = "SDR# RPC | Internal error";
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnClose(object sender, CloseMessage args)
|
|
||||||
{
|
|
||||||
_controlPanel.ChangeStatus = "RPC Closed";
|
|
||||||
windowMessages.ChangeLabel = "SDR# RPC | Closed";
|
|
||||||
Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnReady(object sender, ReadyMessage args)
|
|
||||||
{
|
|
||||||
_controlPanel.ChangeStatus = "RPC Ready";
|
|
||||||
windowMessages.ChangeLabel = "SDR# RPC | Ready";
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnSubscribe(object sender, SubscribeMessage args)
|
|
||||||
{
|
|
||||||
_controlPanel.ChangeStatus = $"Subscribed: {args.Event}";
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnUnsubscribe(object sender, UnsubscribeMessage args)
|
|
||||||
{
|
|
||||||
_controlPanel.ChangeStatus = $"Unsubscribed: {args.Event}";
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnJoin(object sender, JoinMessage args)
|
|
||||||
{
|
|
||||||
presence.Party.Size++;
|
|
||||||
presence.Secrets.JoinSecret = args.Secret;
|
|
||||||
MessageBox.Show("OnJoin: " + args.Secret);
|
|
||||||
_control.StopRadio();
|
|
||||||
_control.RefreshSource(true);
|
|
||||||
Utils.SaveSetting("spyserver.uri", args.Secret);
|
|
||||||
_control.StartRadio();
|
|
||||||
}
|
|
||||||
|
|
||||||
private async void OnJoinRequested(object sender, JoinRequestMessage args)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (await windowMessages.RequestAnswer(client, args))
|
|
||||||
{
|
|
||||||
MessageBox.Show("Accepted RequestAnswer");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MessageBox.Show("Declined RequestAnswer");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
MessageBox.Show(ex.ToString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task MainLoop()
|
private async Task MainLoop()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@ -293,6 +185,10 @@ namespace EnderIce2.SDRSharpPlugin
|
|||||||
{
|
{
|
||||||
presence.State = $"RDS: unknown{space_for_listen_list}";
|
presence.State = $"RDS: unknown{space_for_listen_list}";
|
||||||
}
|
}
|
||||||
|
else if (_control.FmStereo)
|
||||||
|
{
|
||||||
|
presence.State = $"RDS: ((( {_control.RdsProgramService} ))) - {_control.RdsRadioText}{space_for_listen_list}";
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
presence.State = $"RDS: {_control.RdsProgramService} - {_control.RdsRadioText}{space_for_listen_list}";
|
presence.State = $"RDS: {_control.RdsProgramService} - {_control.RdsRadioText}{space_for_listen_list}";
|
||||||
@ -349,5 +245,66 @@ namespace EnderIce2.SDRSharpPlugin
|
|||||||
isRunning = false;
|
isRunning = false;
|
||||||
client.Dispose();
|
client.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void Client_OnPresenceUpdate(object sender, PresenceMessage args) => LogWriter.WriteToFile($"[RpcMessage] | Presence state: {args.Presence.State}");
|
||||||
|
|
||||||
|
private void Client_OnRpcMessage(object sender, IMessage msg) => LogWriter.WriteToFile($"[RpcMessage] | {msg.Type} | {msg}");
|
||||||
|
|
||||||
|
private void OnConnectionFailed(object sender, ConnectionFailedMessage args) => _controlPanel.ChangeStatus = $"RPC Connection Failed!\n{args.Type} | {args.FailedPipe}";
|
||||||
|
|
||||||
|
private void OnConnectionEstablished(object sender, ConnectionEstablishedMessage args) => _controlPanel.ChangeStatus = "RPC Connection Established!";
|
||||||
|
|
||||||
|
private void OnSubscribe(object sender, SubscribeMessage args) => _controlPanel.ChangeStatus = $"Subscribed: {args.Event}";
|
||||||
|
|
||||||
|
private void OnUnsubscribe(object sender, UnsubscribeMessage args) => _controlPanel.ChangeStatus = $"Unsubscribed: {args.Event}";
|
||||||
|
|
||||||
|
private void OnError(object sender, ErrorMessage args)
|
||||||
|
{
|
||||||
|
_controlPanel.ChangeStatus = $"RPC Error:\n{args.Message}";
|
||||||
|
windowMessages.ChangeLabel = "SDR# RPC | Internal error";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnClose(object sender, CloseMessage args)
|
||||||
|
{
|
||||||
|
_controlPanel.ChangeStatus = "RPC Closed";
|
||||||
|
windowMessages.ChangeLabel = "SDR# RPC | Closed";
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnReady(object sender, ReadyMessage args)
|
||||||
|
{
|
||||||
|
_controlPanel.ChangeStatus = "RPC Ready";
|
||||||
|
windowMessages.ChangeLabel = "SDR# RPC | Ready";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnJoin(object sender, JoinMessage args)
|
||||||
|
{
|
||||||
|
presence.Party.Size++;
|
||||||
|
presence.Secrets.JoinSecret = args.Secret;
|
||||||
|
MessageBox.Show("OnJoin: " + args.Secret);
|
||||||
|
_control.StopRadio();
|
||||||
|
_control.RefreshSource(true);
|
||||||
|
Utils.SaveSetting("spyserver.uri", args.Secret);
|
||||||
|
_control.StartRadio();
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void OnJoinRequested(object sender, JoinRequestMessage args)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (await windowMessages.RequestAnswer(client, args))
|
||||||
|
{
|
||||||
|
MessageBox.Show("Accepted RequestAnswer");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageBox.Show("Declined RequestAnswer");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
MessageBox.Show(ex.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -167,6 +167,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include=".editorconfig" />
|
<None Include=".editorconfig" />
|
||||||
|
<None Include="app.config" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
28
SettingsPanel.Designer.cs
generated
28
SettingsPanel.Designer.cs
generated
@ -44,7 +44,7 @@
|
|||||||
this.checkBox1.Checked = true;
|
this.checkBox1.Checked = true;
|
||||||
this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked;
|
this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||||
this.checkBox1.Font = new System.Drawing.Font("Verdana", 7F);
|
this.checkBox1.Font = new System.Drawing.Font("Verdana", 7F);
|
||||||
this.checkBox1.ForeColor = System.Drawing.Color.Black;
|
this.checkBox1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||||
this.checkBox1.Location = new System.Drawing.Point(3, 3);
|
this.checkBox1.Location = new System.Drawing.Point(3, 3);
|
||||||
this.checkBox1.Name = "checkBox1";
|
this.checkBox1.Name = "checkBox1";
|
||||||
this.checkBox1.Size = new System.Drawing.Size(150, 21);
|
this.checkBox1.Size = new System.Drawing.Size(150, 21);
|
||||||
@ -60,7 +60,7 @@
|
|||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.label1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
this.label1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||||
this.label1.Font = new System.Drawing.Font("Verdana", 7F);
|
this.label1.Font = new System.Drawing.Font("Verdana", 7F);
|
||||||
this.label1.ForeColor = System.Drawing.Color.Black;
|
this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||||
this.label1.Location = new System.Drawing.Point(0, 67);
|
this.label1.Location = new System.Drawing.Point(0, 67);
|
||||||
this.label1.Name = "label1";
|
this.label1.Name = "label1";
|
||||||
this.label1.Size = new System.Drawing.Size(200, 57);
|
this.label1.Size = new System.Drawing.Size(200, 57);
|
||||||
@ -72,23 +72,22 @@
|
|||||||
//
|
//
|
||||||
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.textBox1.BackColor = System.Drawing.Color.White;
|
this.textBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(15)))), ((int)(((byte)(15)))));
|
||||||
this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
this.textBox1.Font = new System.Drawing.Font("Verdana", 7F);
|
this.textBox1.Font = new System.Drawing.Font("Verdana", 7F);
|
||||||
this.textBox1.ForeColor = System.Drawing.Color.Black;
|
this.textBox1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||||
this.textBox1.Location = new System.Drawing.Point(59, 131);
|
this.textBox1.Location = new System.Drawing.Point(59, 131);
|
||||||
this.textBox1.Name = "textBox1";
|
this.textBox1.Name = "textBox1";
|
||||||
this.textBox1.Size = new System.Drawing.Size(138, 19);
|
this.textBox1.Size = new System.Drawing.Size(138, 19);
|
||||||
this.textBox1.TabIndex = 2;
|
this.textBox1.TabIndex = 2;
|
||||||
this.textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBox1_KeyDown);
|
this.textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBox1_KeyDown);
|
||||||
this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBox1_KeyPress);
|
|
||||||
//
|
//
|
||||||
// label2
|
// label2
|
||||||
//
|
//
|
||||||
this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
this.label2.AutoSize = true;
|
this.label2.AutoSize = true;
|
||||||
this.label2.Font = new System.Drawing.Font("Verdana", 7F);
|
this.label2.Font = new System.Drawing.Font("Verdana", 7F);
|
||||||
this.label2.ForeColor = System.Drawing.Color.Black;
|
this.label2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||||
this.label2.Location = new System.Drawing.Point(0, 133);
|
this.label2.Location = new System.Drawing.Point(0, 133);
|
||||||
this.label2.Name = "label2";
|
this.label2.Name = "label2";
|
||||||
this.label2.Size = new System.Drawing.Size(59, 12);
|
this.label2.Size = new System.Drawing.Size(59, 12);
|
||||||
@ -100,7 +99,7 @@
|
|||||||
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||||
this.button1.Font = new System.Drawing.Font("Verdana", 7F);
|
this.button1.Font = new System.Drawing.Font("Verdana", 7F);
|
||||||
this.button1.ForeColor = System.Drawing.Color.Black;
|
this.button1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||||
this.button1.Location = new System.Drawing.Point(151, 3);
|
this.button1.Location = new System.Drawing.Point(151, 3);
|
||||||
this.button1.Name = "button1";
|
this.button1.Name = "button1";
|
||||||
this.button1.Size = new System.Drawing.Size(46, 23);
|
this.button1.Size = new System.Drawing.Size(46, 23);
|
||||||
@ -114,7 +113,7 @@
|
|||||||
this.checkBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
this.checkBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.checkBox2.Font = new System.Drawing.Font("Verdana", 6.5F);
|
this.checkBox2.Font = new System.Drawing.Font("Verdana", 6.5F);
|
||||||
this.checkBox2.ForeColor = System.Drawing.Color.Black;
|
this.checkBox2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||||
this.checkBox2.Location = new System.Drawing.Point(3, 22);
|
this.checkBox2.Location = new System.Drawing.Point(3, 22);
|
||||||
this.checkBox2.Name = "checkBox2";
|
this.checkBox2.Name = "checkBox2";
|
||||||
this.checkBox2.Size = new System.Drawing.Size(162, 21);
|
this.checkBox2.Size = new System.Drawing.Size(162, 21);
|
||||||
@ -128,20 +127,25 @@
|
|||||||
this.checkBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
this.checkBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.checkBox3.Font = new System.Drawing.Font("Verdana", 6.5F);
|
this.checkBox3.Font = new System.Drawing.Font("Verdana", 6.5F);
|
||||||
this.checkBox3.ForeColor = System.Drawing.Color.Black;
|
this.checkBox3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||||
this.checkBox3.Location = new System.Drawing.Point(3, 43);
|
this.checkBox3.Location = new System.Drawing.Point(3, 43);
|
||||||
this.checkBox3.Name = "checkBox3";
|
this.checkBox3.Name = "checkBox3";
|
||||||
this.checkBox3.Size = new System.Drawing.Size(197, 21);
|
this.checkBox3.Size = new System.Drawing.Size(197, 21);
|
||||||
this.checkBox3.TabIndex = 6;
|
this.checkBox3.TabIndex = 6;
|
||||||
this.checkBox3.Text = "Enable Invite Feature (not tested)";
|
this.checkBox3.Text = "Enable Invite Feature (not tested)";
|
||||||
this.checkBox3.UseVisualStyleBackColor = true;
|
this.checkBox3.UseVisualStyleBackColor = true;
|
||||||
|
#if DEBUG
|
||||||
|
this.checkBox3.Visible = true;
|
||||||
|
#else
|
||||||
|
this.checkBox3.Visible = false;
|
||||||
|
#endif
|
||||||
this.checkBox3.CheckedChanged += new System.EventHandler(this.CheckBox3_CheckedChanged);
|
this.checkBox3.CheckedChanged += new System.EventHandler(this.CheckBox3_CheckedChanged);
|
||||||
//
|
//
|
||||||
// SettingsPanel
|
// SettingsPanel
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||||
this.BackColor = System.Drawing.Color.White;
|
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(15)))), ((int)(((byte)(15)))));
|
||||||
this.Controls.Add(this.checkBox3);
|
this.Controls.Add(this.checkBox3);
|
||||||
this.Controls.Add(this.button1);
|
this.Controls.Add(this.button1);
|
||||||
this.Controls.Add(this.checkBox2);
|
this.Controls.Add(this.checkBox2);
|
||||||
@ -150,15 +154,17 @@
|
|||||||
this.Controls.Add(this.label1);
|
this.Controls.Add(this.label1);
|
||||||
this.Controls.Add(this.checkBox1);
|
this.Controls.Add(this.checkBox1);
|
||||||
this.Font = new System.Drawing.Font("Verdana", 7F);
|
this.Font = new System.Drawing.Font("Verdana", 7F);
|
||||||
|
this.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||||
this.MinimumSize = new System.Drawing.Size(200, 160);
|
this.MinimumSize = new System.Drawing.Size(200, 160);
|
||||||
this.Name = "SettingsPanel";
|
this.Name = "SettingsPanel";
|
||||||
this.Size = new System.Drawing.Size(200, 160);
|
this.Size = new System.Drawing.Size(200, 160);
|
||||||
|
this.Load += new System.EventHandler(this.SettingsPanel_Load);
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private System.Windows.Forms.CheckBox checkBox1;
|
private System.Windows.Forms.CheckBox checkBox1;
|
||||||
private System.Windows.Forms.Label label1;
|
private System.Windows.Forms.Label label1;
|
||||||
|
@ -28,6 +28,25 @@ namespace EnderIce2.SDRSharpPlugin
|
|||||||
LogWriter.WriteToFile("SettingsPanel loaded");
|
LogWriter.WriteToFile("SettingsPanel loaded");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void Button1_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
System.Diagnostics.Process.Start("https://github.com/EnderIce2/SDR-RPC"); // open the url (on some systems can show "The system cannot find the file specified.")
|
||||||
|
}
|
||||||
|
catch (System.ComponentModel.Win32Exception) // The system cannot find the file specified.
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
System.Diagnostics.Process.Start("iexplore", "https://github.com/EnderIce2/SDR-RPC"); // open the url with internet explorer
|
||||||
|
}
|
||||||
|
catch (System.ComponentModel.Win32Exception) // The system cannot find the file specified.
|
||||||
|
{
|
||||||
|
System.Diagnostics.Process.Start("notepad", "https://github.com/EnderIce2/SDR-RPC"); // if internet explorer is not installed, open the link in notepad
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void CheckBox1_CheckedChanged(object sender, EventArgs e)
|
private void CheckBox1_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Utils.SaveSetting("EnableRPC", checkBox1.Checked);
|
Utils.SaveSetting("EnableRPC", checkBox1.Checked);
|
||||||
@ -36,41 +55,45 @@ namespace EnderIce2.SDRSharpPlugin
|
|||||||
/* Utils.GetBooleanSetting("EnableRPC"); */
|
/* Utils.GetBooleanSetting("EnableRPC"); */
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Button1_Click(object sender, EventArgs e) => System.Diagnostics.Process.Start("https://github.com/EnderIce2/SDR-RPC");
|
|
||||||
|
|
||||||
private void CheckBox2_CheckedChanged(object sender, EventArgs e) => Utils.SaveSetting("LogRPC", checkBox2.Checked);
|
private void CheckBox2_CheckedChanged(object sender, EventArgs e) => Utils.SaveSetting("LogRPC", checkBox2.Checked);
|
||||||
|
|
||||||
private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
|
|
||||||
{
|
|
||||||
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.'))
|
|
||||||
{
|
|
||||||
e.Handled = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((e.KeyChar == '.') && ((sender as TextBox).Text.IndexOf('.') > -1))
|
|
||||||
{
|
|
||||||
e.Handled = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private async void TextBox1_KeyDown(object sender, KeyEventArgs e)
|
|
||||||
{
|
|
||||||
if (e.KeyCode == Keys.Enter && textBox1.Text.Replace(" ", "").Length == 18)
|
|
||||||
{
|
|
||||||
Utils.SaveSetting("ClientID", textBox1.Text);
|
|
||||||
e.Handled = true;
|
|
||||||
e.SuppressKeyPress = true;
|
|
||||||
await Task.Delay(200).ConfigureAwait(false);
|
|
||||||
textBox1.Text = Utils.GetStringSetting("ClientID");
|
|
||||||
label1.Text = "Saved.";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void CheckBox3_CheckedChanged(object sender, EventArgs e)
|
private void CheckBox3_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Utils.SaveSetting("EnableRPCInvite", checkBox3.Checked);
|
Utils.SaveSetting("EnableRPCInvite", checkBox3.Checked);
|
||||||
label1.Text = "Restart required";
|
label1.Text = "Restart required";
|
||||||
LogWriter.WriteToFile($"checkbox on SettingsPanel clicked {checkBox3.Checked}");
|
LogWriter.WriteToFile($"checkbox on SettingsPanel clicked {checkBox3.Checked}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async void TextBox1_KeyDown(object sender, KeyEventArgs e)
|
||||||
|
{
|
||||||
|
textBox1.Text.Replace(" ", "");
|
||||||
|
if (!int.TryParse(textBox1.Text, out _))
|
||||||
|
{
|
||||||
|
MessageBox.Show("Invalid ID!");
|
||||||
|
}
|
||||||
|
if (e.KeyCode == Keys.Enter && textBox1.Text.Length == 18)
|
||||||
|
{
|
||||||
|
Utils.SaveSetting("ClientID", textBox1.Text);
|
||||||
|
}
|
||||||
|
else if (e.KeyCode == Keys.Enter && textBox1.Text.Length != 18)
|
||||||
|
{
|
||||||
|
Utils.SaveSetting("ClientID", "765213507321856078"); // TODO: do it better
|
||||||
|
}
|
||||||
|
e.Handled = true;
|
||||||
|
e.SuppressKeyPress = true;
|
||||||
|
await Task.Delay(100).ConfigureAwait(false);
|
||||||
|
textBox1.Text = Utils.GetStringSetting("ClientID");
|
||||||
|
label1.Text = $"Configuration Updated.\nNew ID: {Utils.GetStringSetting("ClientID")}";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SettingsPanel_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
// can't use bcz System.Drawing.Color is from dotnet core 5
|
||||||
|
//MainPlugin._control.ThemeForeColor;
|
||||||
|
//BackColor = MainPlugin._control.ThemePanelColor;
|
||||||
|
//MainPlugin._control.ThemeBackColor;
|
||||||
|
BackColor = System.Drawing.Color.FromArgb(15, 15, 15);
|
||||||
|
ForeColor = System.Drawing.Color.FromArgb(244, 244, 244);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -7,10 +7,7 @@ namespace EnderIce2.SDRSharpPlugin
|
|||||||
{
|
{
|
||||||
public partial class TopWindowMessages : UserControl
|
public partial class TopWindowMessages : UserControl
|
||||||
{
|
{
|
||||||
public TopWindowMessages()
|
public TopWindowMessages() => InitializeComponent();
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
private string _ChangeLabel;
|
private string _ChangeLabel;
|
||||||
public string ChangeLabel
|
public string ChangeLabel
|
||||||
{
|
{
|
||||||
@ -46,7 +43,7 @@ namespace EnderIce2.SDRSharpPlugin
|
|||||||
SetDefaultTextInLabel(tmpansw);
|
SetDefaultTextInLabel(tmpansw);
|
||||||
return tmpansw;
|
return tmpansw;
|
||||||
}
|
}
|
||||||
private async Task SetDefaultTextInLabel(bool accepted)
|
private async void SetDefaultTextInLabel(bool accepted)
|
||||||
{
|
{
|
||||||
if (accepted)
|
if (accepted)
|
||||||
{
|
{
|
||||||
|
11
app.config
Normal file
11
app.config
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Drawing.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
Loading…
x
Reference in New Issue
Block a user