mirror of
https://github.com/Ylianst/MeshCentralRouter
synced 2025-12-06 00:13:33 +00:00
89 lines
2.8 KiB
C#
89 lines
2.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace MeshCentralRouter
|
|
{
|
|
public partial class ServerUserControl : UserControl
|
|
{
|
|
private MainForm parent;
|
|
public string key;
|
|
public string name;
|
|
public string info;
|
|
public string url;
|
|
public DateTime lastUpdate;
|
|
private Color xbackColor;
|
|
|
|
public ServerUserControl(MainForm parent, string key, string name, string info, string url)
|
|
{
|
|
this.parent = parent;
|
|
this.key = key;
|
|
this.name = name;
|
|
this.info = info;
|
|
this.url = url;
|
|
this.lastUpdate = DateTime.Now;
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void ServerUserControl_Load(object sender, EventArgs e)
|
|
{
|
|
serverNameLabel.Text = this.name;
|
|
serverInfoLabel.Text = this.info;
|
|
xbackColor = BackColor;
|
|
BackColor = Color.Wheat;
|
|
backTimer.Enabled = true;
|
|
}
|
|
|
|
public bool Update(string name, string info, string url)
|
|
{
|
|
this.lastUpdate = DateTime.Now;
|
|
|
|
// Fix the name
|
|
if (name == null) { name = this.name; }
|
|
if (name == null) { name = "MeshCentral"; }
|
|
|
|
// Don't replace a IPv4 address with a IPv6 one, or remove information
|
|
if ((this.url.IndexOf("://[") == -1) && (url.IndexOf("://[") >= 0)) return false;
|
|
if ((this.info != null) && (info == null)) return false;
|
|
|
|
// If any changes need to be made, make them now
|
|
if ((this.name != name) || (this.info != info) || (this.url != url))
|
|
{
|
|
this.name = name;
|
|
this.info = info;
|
|
this.url = url;
|
|
serverNameLabel.Text = this.name;
|
|
if (this.info != null) { serverInfoLabel.Text = this.info; } else { serverInfoLabel.Text = url; }
|
|
BackColor = Color.Wheat;
|
|
backTimer.Enabled = true;
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
private void serverButton_Click(object sender, EventArgs e)
|
|
{
|
|
//MouseEventArgs me = (MouseEventArgs)e;
|
|
//if (me.Button == MouseButtons.Left) { parent.serverClick(this); }
|
|
}
|
|
|
|
private void infoToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
//ServerInfoForm form = new ServerInfoForm(name, url, info, key);
|
|
//form.ShowDialog(this);
|
|
}
|
|
|
|
private void backTime_Tick(object sender, EventArgs e)
|
|
{
|
|
BackColor = xbackColor;
|
|
backTimer.Enabled = false;
|
|
}
|
|
}
|
|
}
|