Skip to content

Commit c81447b

Browse files
committed
Adds Notifications icon and toggle behaviour
1 parent c6e0de1 commit c81447b

File tree

9 files changed

+191
-39
lines changed

9 files changed

+191
-39
lines changed

Source/Menu/MainForm.Designer.cs

Lines changed: 32 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Source/Menu/MainForm.cs

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,7 @@ void CheckForUpdate()
334334
linkLabelUpdate.Left = panelDetails.Right - linkLabelUpdate.Width - ElevationIcon.Width;
335335
linkLabelUpdate.AutoSize = false;
336336
linkLabelUpdate.Width = panelDetails.Right - linkLabelUpdate.Left;
337+
linkLabelUpdate.Location = new System.Drawing.Point(700, 9);
337338
});
338339
}
339340

@@ -1465,5 +1466,70 @@ void comboBoxTimetable_EnabledChanged(object sender, EventArgs e)
14651466
}
14661467
//TO DO: Debrief Eval TTActivity
14671468
}
1469+
1470+
#region Notifications
1471+
1472+
bool IsNotificationsVisible = false;
1473+
1474+
List<Notification> NotificationList = new List<Notification>();
1475+
class Notification
1476+
{
1477+
//readonly Control Title;
1478+
//readonly Control Expander;
1479+
//readonly Control Summary;
1480+
//readonly Control Description;
1481+
//bool Expanded;
1482+
//Notification(Control title, Control expander, Control summary, Control lines)
1483+
//{
1484+
// Title = title;
1485+
// Expander = expander;
1486+
// Summary = summary;
1487+
// Description = lines;
1488+
// Expanded = false;
1489+
//}
1490+
}
1491+
1492+
void ClearNotifications()
1493+
{
1494+
NotificationList.Clear();
1495+
while (panelDetails.Controls.Count > 0)
1496+
panelDetails.Controls.RemoveAt(0);
1497+
}
1498+
1499+
private void pbNotifications_Click(object sender, EventArgs e)
1500+
{
1501+
// Show/hide notifications
1502+
IsNotificationsVisible = !IsNotificationsVisible;
1503+
if (IsNotificationsVisible)
1504+
{
1505+
ClearDetails();
1506+
ShowNotifications();
1507+
}
1508+
else
1509+
{
1510+
ClearNotifications();
1511+
ShowDetails();
1512+
}
1513+
}
1514+
1515+
void ShowNotifications()
1516+
{
1517+
if (NotificationList.Count == 0)
1518+
{
1519+
var titleControl = new Label
1520+
{ Margin = new Padding(2)
1521+
, Text = "No notifications are available"
1522+
, UseMnemonic = false
1523+
, Font = new Font(panelDetails.Font, FontStyle.Bold)
1524+
, TextAlign = ContentAlignment.BottomLeft
1525+
};
1526+
panelDetails.Controls.Add(titleControl);
1527+
titleControl.Left = titleControl.Margin.Left;
1528+
titleControl.Width = panelDetails.ClientSize.Width - titleControl.Margin.Horizontal - titleControl.PreferredHeight;
1529+
titleControl.Height = titleControl.PreferredHeight;
1530+
titleControl.Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right;
1531+
}
1532+
}
1533+
#endregion Notifications
14681534
}
14691535
}

Source/Menu/MainForm.resx

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,46 @@
120120
<metadata name="folderBrowserDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
121121
<value>17, 17</value>
122122
</metadata>
123+
<metadata name="contextMenuStripTools.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
124+
<value>180, 17</value>
125+
</metadata>
126+
<metadata name="contextMenuStripDocuments.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
127+
<value>358, 17</value>
128+
</metadata>
123129
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
130+
<data name="pbNotifications.InitialImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
131+
<value>
132+
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
160+
YPYLa8nAfwDvWHqrHcu7IwAAAABJRU5ErkJggg==
161+
</value>
162+
</data>
124163
<data name="pictureBoxLogo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
125164
<value>
126165
iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
@@ -206,12 +245,6 @@
206245
IvJofe3LAAAAAElFTkSuQmCC
207246
</value>
208247
</data>
209-
<metadata name="contextMenuStripTools.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
210-
<value>180, 17</value>
211-
</metadata>
212-
<metadata name="contextMenuStripDocuments.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
213-
<value>358, 17</value>
214-
</metadata>
215248
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
216249
<value>
217250
AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA

Source/Menu/Menu.csproj

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@
3636
<Compile Update="KeyInputControl.cs">
3737
<SubType>Component</SubType>
3838
</Compile>
39+
<Compile Update="Properties\Resources.Designer.cs">
40+
<DesignTime>True</DesignTime>
41+
<AutoGen>True</AutoGen>
42+
<DependentUpon>Resources.resx</DependentUpon>
43+
</Compile>
3944
</ItemGroup>
4045
<ItemGroup>
4146
<None Update="Updater.ini">
@@ -65,4 +70,10 @@
6570
</PackageReference>
6671
<PackageReference Include="MonoGame.Framework.WindowsDX" Version="3.8.0.1641" />
6772
</ItemGroup>
73+
<ItemGroup>
74+
<EmbeddedResource Update="Properties\Resources.resx">
75+
<Generator>ResXFileCodeGenerator</Generator>
76+
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
77+
</EmbeddedResource>
78+
</ItemGroup>
6879
</Project>

Source/Menu/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ namespace ORTS
2525
{
2626
static class Program
2727
{
28-
[STAThread] // requred for use of the DirectoryBrowserDialog in the main form.
28+
[STAThread] // required for use of the DirectoryBrowserDialog in the main form.
2929
static void Main(string[] args)
3030
{
3131
Application.EnableVisualStyles();

Source/Menu/Properties/Resources.Designer.cs

Lines changed: 28 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)