1
0
mirror of https://github.com/Ylianst/MeshCentralRouter synced 2025-12-06 00:13:33 +00:00
Files
MeshCentralRouter/AppLaunchForm.cs
2021-03-02 18:32:47 -08:00

90 lines
2.7 KiB
C#

using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace MeshCentralRouter
{
public partial class AppLaunchForm : Form
{
public AppLaunchForm()
{
InitializeComponent();
UpdateInfo();
}
public class AppInfo
{
public AppInfo(string name, string link, string path, string tag) { this.name = name; this.link = link; this.path = path; this.tag = tag; }
public string name;
public string link;
public string path;
public string tag;
public override string ToString() { return name; }
}
public void SetAppName(string name) { appNameLabel.Text = name; }
public void SetAppLink(string link) { appLinkLabel.Text = link; }
public void SetAppPath(string path) { appPathTextBox.Text = path; }
public string GetAppPath() { return appPathTextBox.Text; }
public string GetAppTag() { return ((AppInfo)applicationComboBox.SelectedItem).tag; }
public void SetApps(AppInfo[] apps)
{
appNameLabel.Visible = false;
applicationComboBox.Visible = true;
foreach (AppInfo app in apps) { applicationComboBox.Items.Add(app); }
applicationComboBox.SelectedIndex = 0;
}
private void folderPictureBox_Click(object sender, EventArgs e)
{
openFileDialog.FileName = appPathTextBox.Text;
if (openFileDialog.ShowDialog(this) == DialogResult.OK)
{
appPathTextBox.Text = openFileDialog.FileName;
UpdateInfo();
}
}
private void appPathTextBox_TextChanged(object sender, EventArgs e)
{
UpdateInfo();
}
private void UpdateInfo()
{
okButton.Enabled = File.Exists(appPathTextBox.Text);
}
private void okButton_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.OK;
}
private void cancelButton_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
}
private void appLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start(appLinkLabel.Text);
}
private void applicationComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
appLinkLabel.Text = ((AppInfo)applicationComboBox.SelectedItem).link;
appPathTextBox.Text = ((AppInfo)applicationComboBox.SelectedItem).path;
}
}
}