forked from dmnd/Caffeinated
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathAbout.cs
More file actions
149 lines (125 loc) · 5.39 KB
/
About.cs
File metadata and controls
149 lines (125 loc) · 5.39 KB
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
137
138
139
140
141
142
143
144
145
146
147
148
149
using System.Reflection;
using System.Windows.Forms;
using System.Drawing;
using System.IO;
using Windows.System;
using System;
using Caffeinated.Properties;
namespace Caffeinated;
partial class AboutForm : BaseForm {
public AboutForm() : base() {
InitializeComponent();
}
protected override void UpdateTheme() {
base.UpdateTheme();
// Update all labels to use proper foreground color
VersionTxtBlk.ForeColor = ForeColor;
label3.ForeColor = ForeColor;
label1.ForeColor = ForeColor;
// Update LinkLabel colors for better visibility in dark mode
Color linkColor;
Color visitedLinkColor;
Color activeLinkColor;
if (IsDarkMode) {
// Light colors for dark background
linkColor = Color.FromArgb(100, 181, 246); // Light blue
visitedLinkColor = Color.FromArgb(186, 104, 200); // Light purple
activeLinkColor = Color.FromArgb(144, 202, 249); // Lighter blue
} else {
// Standard colors for light background
linkColor = Color.FromArgb(0, 0, 255); // Blue
visitedLinkColor = Color.FromArgb(128, 0, 128); // Purple
activeLinkColor = Color.FromArgb(255, 0, 0); // Red
}
// Apply to all LinkLabels
dmndLbl.LinkColor = linkColor;
dmndLbl.VisitedLinkColor = visitedLinkColor;
dmndLbl.ActiveLinkColor = activeLinkColor;
caffeineLbl.LinkColor = linkColor;
caffeineLbl.VisitedLinkColor = visitedLinkColor;
caffeineLbl.ActiveLinkColor = activeLinkColor;
OriginallyByLink.LinkColor = linkColor;
OriginallyByLink.VisitedLinkColor = visitedLinkColor;
OriginallyByLink.ActiveLinkColor = activeLinkColor;
ForkedByTheJoeFinLink.LinkColor = linkColor;
ForkedByTheJoeFinLink.VisitedLinkColor = visitedLinkColor;
ForkedByTheJoeFinLink.ActiveLinkColor = activeLinkColor;
RateLabel.LinkColor = linkColor;
RateLabel.VisitedLinkColor = visitedLinkColor;
RateLabel.ActiveLinkColor = activeLinkColor;
// Update icon based on theme
pictureBox1.Image = IsDarkMode ? Resources.cup_coffee_icon_96 : Resources.Caffeine_Black_96;
pictureBox1.BackColor = BackColor;
}
#region Assembly Attribute Accessors
public static 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;
}
}
string? systemString = Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
if (systemString == null)
return "";
else
return systemString;
}
}
public string AssemblyVersion {
get {
return Application.ProductVersion.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 async void linkLbl_LinkClicked( object sender, LinkLabelLinkClickedEventArgs e) {
_ = await Launcher.LaunchUriAsync(new Uri(string.Format("http://lightheadsw.com/caffeine/")));
}
private async void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
_ = await Launcher.LaunchUriAsync(new Uri(string.Format("http://desmondbrand.com/caffeinated")));
}
private async void ForkedByTheJoeFinLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
_ = await Launcher.LaunchUriAsync(new Uri(string.Format("https://github.com/TheJoeFin/Caffeinated")));
}
private async void RateLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
_ = await Launcher.LaunchUriAsync(new Uri(string.Format("ms-windows-store:REVIEW?PFN={0}", "40087JoeFinApps.WindowsCaffeinated_kdbpvth5scec4")));
}
}