Skip to content

Commit 76f49d2

Browse files
committed
Dashboard update, RedirectProfileToApplication
1 parent a756499 commit 76f49d2

31 files changed

Lines changed: 1036 additions & 653 deletions

Source/NETworkManager/ApplicationViewManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public static Canvas GetIconByName(Name name)
7777
switch (name)
7878
{
7979
case Name.Dashboard:
80-
canvas.Children.Add(new PackIconOcticons() { Kind = PackIconOcticonsKind.Dashboard });
80+
canvas.Children.Add(new PackIconOcticons { Kind = PackIconOcticonsKind.Dashboard });
8181
break;
8282
case Name.NetworkInterface:
8383
canvas.Children.Add(new PackIconModern { Kind = PackIconModernKind.Network });
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using System;
2+
using System.Globalization;
3+
using System.Windows;
4+
using System.Windows.Data;
5+
6+
namespace NETworkManager.Converters
7+
{
8+
public sealed class BooleanToVisibilityHiddenConverter : IValueConverter
9+
{
10+
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
11+
{
12+
return value is bool visible && visible ? Visibility.Visible : Visibility.Hidden;
13+
}
14+
15+
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
16+
{
17+
throw new NotImplementedException();
18+
}
19+
}
20+
}

Source/NETworkManager/MainWindow.xaml.cs

Lines changed: 66 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,8 @@ public MainWindow()
288288

289289
// Register some events
290290
SettingsManager.Current.PropertyChanged += SettingsManager_PropertyChanged;
291-
EventSystem.RedirectToApplicationEvent += EventSystem_RedirectToApplicationEvent;
291+
EventSystem.RedirectProfileToApplicationEvent += EventSystem_RedirectProfileToApplicationEvent;
292+
EventSystem.RedirectDataToApplicationEvent += EventSystem_RedirectDataToApplicationEvent;
292293
EventSystem.RedirectToSettingsEvent += EventSystem_RedirectToSettingsEvent;
293294

294295
_isLoading = false;
@@ -666,8 +667,6 @@ private void ChangeApplicationView(ApplicationViewManager.Name name, bool refres
666667
_currentApplicationViewName = name;
667668
}
668669

669-
670-
671670
private void ClearSearchOnApplicationListMinimize()
672671
{
673672
if (ExpandApplicationView)
@@ -685,9 +684,71 @@ private void ClearSearchOnApplicationListMinimize()
685684
ListViewApplication.ScrollIntoView(SelectedApplication);
686685
}
687686

688-
private void EventSystem_RedirectToApplicationEvent(object sender, EventArgs e)
687+
private void EventSystem_RedirectProfileToApplicationEvent(object sender, EventArgs e)
688+
{
689+
if (!(e is EventSystemRedirectProfileApplicationArgs profile))
690+
return;
691+
692+
// Change view
693+
SelectedApplication = Applications.SourceCollection.Cast<ApplicationViewInfo>().FirstOrDefault(x => x.Name == profile.Application);
694+
695+
// Crate a new tab / perform action
696+
switch (profile.Application)
697+
{
698+
case ApplicationViewManager.Name.None:
699+
break;
700+
case ApplicationViewManager.Name.Dashboard:
701+
break;
702+
case ApplicationViewManager.Name.NetworkInterface:
703+
break;
704+
case ApplicationViewManager.Name.IPScanner:
705+
_ipScannerHostView.AddTab(profile.Profile);
706+
break;
707+
case ApplicationViewManager.Name.PortScanner:
708+
_portScannerHostView.AddTab(profile.Profile);
709+
break;
710+
case ApplicationViewManager.Name.Ping:
711+
_pingHostView.AddTab(profile.Profile);
712+
break;
713+
case ApplicationViewManager.Name.Traceroute:
714+
_tracerouteHostView.AddTab(profile.Profile);
715+
break;
716+
case ApplicationViewManager.Name.DNSLookup:
717+
break;
718+
case ApplicationViewManager.Name.RemoteDesktop:
719+
break;
720+
case ApplicationViewManager.Name.PowerShell:
721+
break;
722+
case ApplicationViewManager.Name.PuTTY:
723+
break;
724+
case ApplicationViewManager.Name.TigerVNC:
725+
break;
726+
case ApplicationViewManager.Name.SNMP:
727+
break;
728+
case ApplicationViewManager.Name.WakeOnLAN:
729+
break;
730+
case ApplicationViewManager.Name.HTTPHeaders:
731+
break;
732+
case ApplicationViewManager.Name.Whois:
733+
break;
734+
case ApplicationViewManager.Name.SubnetCalculator:
735+
break;
736+
case ApplicationViewManager.Name.Lookup:
737+
break;
738+
case ApplicationViewManager.Name.Connections:
739+
break;
740+
case ApplicationViewManager.Name.Listeners:
741+
break;
742+
case ApplicationViewManager.Name.ARPTable:
743+
break;
744+
default:
745+
throw new ArgumentOutOfRangeException();
746+
}
747+
}
748+
749+
private void EventSystem_RedirectDataToApplicationEvent(object sender, EventArgs e)
689750
{
690-
if (!(e is EventSystemRedirectApplicationArgs data))
751+
if (!(e is EventSystemRedirectDataApplicationArgs data))
691752
return;
692753

693754
// Change view

Source/NETworkManager/Models/Settings/ProfileInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class ProfileInfo
2424

2525
public bool IPScanner_Enabled { get; set; }
2626
public bool IPScanner_InheritHost { get; set; } = true;
27-
public string IPScanner_IPRange { get; set; }
27+
public string IPScanner_HostOrIPRange { get; set; }
2828

2929
public bool PortScanner_Enabled { get; set; }
3030
public bool PortScanner_InheritHost { get; set; } = true;

Source/NETworkManager/Models/Settings/ProfileManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ public static void AddProfile(ProfileViewModel instance)
125125

126126
IPScanner_Enabled = instance.IPScanner_Enabled,
127127
IPScanner_InheritHost = instance.IPScanner_InheritHost,
128-
IPScanner_IPRange = instance.IPScanner_InheritHost ? instance.Host?.Trim() : instance.IPScanner_IPRange?.Trim(),
128+
IPScanner_HostOrIPRange = instance.IPScanner_InheritHost ? instance.Host?.Trim() : instance.IPScanner_HostOrIPRange?.Trim(),
129129

130130
PortScanner_Enabled = instance.PortScanner_Enabled,
131131
PortScanner_InheritHost = instance.PortScanner_InheritHost,

Source/NETworkManager/NETworkManager.csproj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@
240240
<Compile Include="Controls\PuTTYControl.xaml.cs">
241241
<DependentUpon>PuTTYControl.xaml</DependentUpon>
242242
</Compile>
243+
<Compile Include="Converters\BooleanToVisibilityHiddenConverter.cs" />
243244
<Compile Include="Converters\ConnectionStateToRectangleStyleConverter.cs" />
244245
<Compile Include="Converters\BandwidthBytesToSpeedConverter.cs" />
245246
<Compile Include="Converters\DNSServerInfoToString.cs" />
@@ -308,7 +309,8 @@
308309
<Compile Include="Utilities\AutoRefreshTimeInfo.cs" />
309310
<Compile Include="Utilities\Enum\ConnectionState.cs" />
310311
<Compile Include="Utilities\Enum\TimeUnit.cs" />
311-
<Compile Include="Utilities\EventSystemRedirectApplicationArgs.cs" />
312+
<Compile Include="Utilities\EventSystemRedirectProfileApplicationArgs.cs" />
313+
<Compile Include="Utilities\EventSystemRedirectDataApplicationArgs.cs" />
312314
<Compile Include="Utilities\EventSystem.cs" />
313315
<Compile Include="Utilities\FileSizeConverter.cs" />
314316
<Compile Include="Utilities\JsonIPAddressConverter.cs" />

Source/NETworkManager/Utilities/EventSystem.cs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
11
using System;
2+
using NETworkManager.Models.Settings;
23

34
namespace NETworkManager.Utilities
45
{
56
public class EventSystem
67
{
8+
// This will notify the mail window, to change the view to another application and redirect a profile
9+
public static event EventHandler RedirectProfileToApplicationEvent;
10+
11+
public static void RedirectProfileToApplication(ApplicationViewManager.Name application, ProfileInfo profile)
12+
{
13+
RedirectProfileToApplicationEvent?.Invoke(typeof(string), new EventSystemRedirectProfileApplicationArgs(application, profile));
14+
}
15+
716
// This will notify the mail window, to change the view to another application and redirect some data (hostname, ip)
8-
public static event EventHandler RedirectToApplicationEvent;
17+
public static event EventHandler RedirectDataToApplicationEvent;
918

10-
public static void RedirectToApplication(ApplicationViewManager.Name application, string data)
19+
public static void RedirectDataToApplication(ApplicationViewManager.Name application, string data)
1120
{
12-
RedirectToApplicationEvent?.Invoke(typeof(string), new EventSystemRedirectApplicationArgs(application, data));
21+
RedirectDataToApplicationEvent?.Invoke(typeof(string), new EventSystemRedirectDataApplicationArgs(application, data));
1322
}
1423

1524
// This will notify the main window, to change the view to the settings...

Source/NETworkManager/Utilities/EventSystemRedirectApplicationArgs.cs renamed to Source/NETworkManager/Utilities/EventSystemRedirectDataApplicationArgs.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22

33
namespace NETworkManager.Utilities
44
{
5-
public class EventSystemRedirectApplicationArgs : EventArgs
5+
public class EventSystemRedirectDataApplicationArgs : EventArgs
66
{
77
public ApplicationViewManager.Name Application { get; set; }
88
public string Args { get; set; }
99

10-
public EventSystemRedirectApplicationArgs(ApplicationViewManager.Name application, string args)
10+
11+
public EventSystemRedirectDataApplicationArgs(ApplicationViewManager.Name application, string args)
1112
{
1213
Application = application;
1314
Args = args;
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using System;
2+
using NETworkManager.Models.Settings;
3+
4+
namespace NETworkManager.Utilities
5+
{
6+
public class EventSystemRedirectProfileApplicationArgs : EventArgs
7+
{
8+
public ApplicationViewManager.Name Application { get; set; }
9+
public ProfileInfo Profile { get; set; }
10+
11+
12+
public EventSystemRedirectProfileApplicationArgs(ApplicationViewManager.Name application, ProfileInfo profile)
13+
{
14+
Application = application;
15+
Profile = profile;
16+
}
17+
}
18+
}

0 commit comments

Comments
 (0)