146 lines
5.4 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System.Reflection;
//using Volian.Controls.Library;
//using VEPROMS.CSLA.Library;
using System.Text.RegularExpressions;
//using Volian.Base.Library;
namespace VEPROMS
{
partial class AboutROEditor : System.Windows.Forms.Form
{
public AboutROEditor()
{
InitializeComponent();
// Initialize the AboutBox to display the product information from the assembly information.
// Change assembly information settings for your application through either:
// - Project->Properties->Application->Assembly Information
// - AssemblyInfo.cs
DateTime buildDateTime = new System.IO.FileInfo(Assembly.GetExecutingAssembly().Location).LastWriteTime;
// If the AssemblyConfiguration is "DEMO" then we are running a Demo version
string demoTxt = VlnSettings.ReleaseMode.Equals("DEMO")?"(Demo)": "";
//string connectionString = Database.VEPROMS_Connection;
//Match mServer = Regex.Match(connectionString,".*Data Source=([^;]*).*");
//string server = (mServer.Success)?mServer.Groups[1].Value:"unknown";
//if (server.StartsWith(@".\")) server = @"Local \ " + server.Substring(2);
//string databaseName = Database.SelectedDatabase;
this.Text = String.Format("About {0}", AssemblyTitle + " " + demoTxt);
this.labelProductName.Text = AssemblyProduct;
this.labelVersion.Text = String.Format("Version {0}", (demoTxt.Equals(""))? AssemblyVersion : demoTxt);
this.labelVersionDateTime.Text = String.Format("Build Date: {0}", buildDateTime.ToString());
this.labelCopyright.Text = String.Format("Copyright © {0}. All Rights Reserved.", buildDateTime.Year.ToString());
this.labelCompanyName.Text = AssemblyCompany;
// this.textBoxDescription.Text = AssemblyDescription;
this.labelCompanyName.Links[0].LinkData = "Volian Enterprises Inc.";
this.labelCompanyName.Links.Add(0,23,"www.volian.com");
//this.labelServer.Text = string.Format("SQL Server: {0}", server);
//this.labelDatabase.Text = string.Format("Database: {0}", databaseName);
}
#region Assembly Attribute Accessors
public string AssemblyTitle
{
get
{
// Get all Title attributes on this assembly
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
// If there is at least one Title attribute
if (attributes.Length > 0)
{
// Select the first one
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
// If it is not an empty string, return it
if (titleAttribute.Title != "")
return titleAttribute.Title;
}
// If there was no Title attribute, or if the Title attribute was the empty string, return the .exe name
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
}
}
public string AssemblyVersion
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}
public string AssemblyDescription
{
get
{
// Get all Description attributes on this assembly
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
// If there aren't any Description attributes, return an empty string
if (attributes.Length == 0)
return "";
// If there is a Description attribute, return its value
return ((AssemblyDescriptionAttribute)attributes[0]).Description;
}
}
public string AssemblyProduct
{
get
{
// Get all Product attributes on this assembly
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
// If there aren't any Product attributes, return an empty string
if (attributes.Length == 0)
return "";
// If there is a Product attribute, return its value
return ((AssemblyProductAttribute)attributes[0]).Product;
}
}
public string AssemblyCompany
{
get
{
// Get all Company attributes on this assembly
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
// If there aren't any Company attributes, return an empty string
if (attributes.Length == 0)
return "";
// If there is a Company attribute, return its value
return ((AssemblyCompanyAttribute)attributes[0]).Company;
}
}
#endregion
private void labelCompanyName_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
// Determine which link was clicked within the LinkLabel.
this.labelCompanyName.Links[0].Visited = true;
// Display the appropriate link based on the value of the
// LinkData property of the Link object.
string target = e.Link.LinkData as string;
System.Diagnostics.Process.Start(target); // this should start the default web browser
}
private void logoPictureBox_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start(labelCompanyName.Links[0].LinkData as string); // this should start the default web browser
}
private void btnViewEULA_Click(object sender, EventArgs e)
{
string EulaFile = string.Format(@"\{0}", VlnSettings.EULAfile);
string strEULA = System.Environment.CurrentDirectory + EulaFile;
frmViewTextFile ViewFile = new frmViewTextFile(strEULA,RichTextBoxStreamType.PlainText);
ViewFile.Text = "End-User License Agreement";
ViewFile.ShowDialog();
}
}
}