File size: 4,595 Bytes
e26fba6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Reflection;
using System.Windows.Forms;
using System.Diagnostics;
using MovieTube.Viewer.Properties;
using MovieTube.Viewer.Data;
using System.Threading;
namespace MovieTube.Viewer
{
partial class AboutBox : Form
{
private Thread versionCheckThread;
public AboutBox()
{
this.versionCheckThread = new Thread(CheckVersion);
this.versionCheckThread.Start();
InitializeComponent();
this.Text = String.Format("About {0}", Constants.AppTitle);
this.labelProductName.Text = Constants.AppTitle;
this.labelLatestVersion.Text = this.labelInstalledVersion.Text = AssemblyVersion;
this.labelCopyright.Text = AssemblyCopyright;
this.labelCompanyName.Text = AssemblyCompany;
this.labelDBVersion.Text = ClientDataService.Single.MovieDBVersion.ToString();
this.labelLastChecked.Text = ClientDataService.Single.Settings.DBVersionCheckedTime.ToString();
}
#region Assembly Attribute Accessors
public string AssemblyTitle
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
if (attributes.Length > 0)
{
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
if (titleAttribute.Title != "")
{
return titleAttribute.Title;
}
}
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
}
}
public string AssemblyVersion
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}
public string AssemblyDescription
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyDescriptionAttribute)attributes[0]).Description;
}
}
public string AssemblyProduct
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyProductAttribute)attributes[0]).Product;
}
}
public string AssemblyCopyright
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
}
public string AssemblyCompany
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCompanyAttribute)attributes[0]).Company;
}
}
#endregion
private void linkLabel1_Click(object sender, EventArgs e)
{
Process.Start(UrlConstants.WebsiteUrl);
}
private void CheckVersion()
{
var version = new UpdaterService().GetLatestAppVersion(true);
if (!this.IsDisposed && version != Constants.AppVersion)
{
this.InvokeEx(() =>
{
this.labelLatestVersion.Text = version.ToString();
this.button1.Visible = true;
});
}
}
private void button1_Click(object sender, EventArgs e)
{
Process.Start(UrlConstants.AppDownloadUrl);
}
}
}
|