Skip to content

Commit 9cb7cba

Browse files
committed
lock to collections added, context menu to ipscanner results added
1 parent 47af9dc commit 9cb7cba

28 files changed

Lines changed: 305 additions & 42 deletions

Source/NETworkManager/ApplicationViewManager.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ public static List<ApplicationViewInfo> List
1919
new ApplicationViewInfo(Name.Ping, new PackIconMaterial() { Kind = PackIconMaterialKind.LanConnect }),
2020
new ApplicationViewInfo(Name.Traceroute, new PackIconModern() { Kind = PackIconModernKind.TransitConnection }),
2121
new ApplicationViewInfo(Name.DNSLookup, new PackIconMaterial() { Kind= PackIconMaterialKind.Dna }),
22-
new ApplicationViewInfo(Name.RemoteDesktop, new PackIconOcticons() { Kind = PackIconOcticonsKind.DeviceDesktop}),
22+
new ApplicationViewInfo(Name.RemoteDesktop, new PackIconMaterial() { Kind = PackIconMaterialKind.RemoteDesktop}),
2323
new ApplicationViewInfo(Name.PuTTY, new PackIconOcticons() {Kind = PackIconOcticonsKind.Terminal}),
2424
new ApplicationViewInfo(Name.SNMP, new PackIconMaterial() {Kind = PackIconMaterialKind.Switch }),
2525
new ApplicationViewInfo(Name.WakeOnLAN, new PackIconMaterial() { Kind = PackIconMaterialKind.Power }),
2626
new ApplicationViewInfo(Name.HTTPHeaders, new PackIconMaterial() {Kind = PackIconMaterialKind.Web }),
2727
new ApplicationViewInfo(Name.SubnetCalculator, new PackIconModern() { Kind = PackIconModernKind.Calculator }),
2828
new ApplicationViewInfo(Name.Lookup, new PackIconMaterial() { Kind = PackIconMaterialKind.Magnify }),
29-
new ApplicationViewInfo(Name.ARPTable, new PackIconMaterial() { Kind = PackIconMaterialKind.FormatListBulleted})
29+
new ApplicationViewInfo(Name.ARPTable, new PackIconMaterial() { Kind = PackIconMaterialKind.TableOfContents})
3030
};
3131
}
3232
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
using System;
2+
using System.Globalization;
3+
using System.Windows.Data;
4+
5+
namespace NETworkManager.Converters
6+
{
7+
public sealed class StringIsNotNullOrEmptyToBoolConverter : IValueConverter
8+
{
9+
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
10+
{
11+
return !string.IsNullOrEmpty(value as string);
12+
}
13+
14+
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
15+
{
16+
throw new NotImplementedException();
17+
}
18+
}
19+
}
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 StringIsNotNullOrEmptyToVisibilityConverter : IValueConverter
9+
{
10+
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
11+
{
12+
return string.IsNullOrEmpty(value as string) ? Visibility.Collapsed : Visibility.Visible;
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: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,9 +291,37 @@ public MainWindow()
291291
// Load settings
292292
ApplicationView_Expand = SettingsManager.Current.ApplicationView_Expand;
293293

294+
// Register some events
295+
EventSystem.RedirectToApplicationEvent += EventSystem_RedirectToApplicationEvent;
296+
294297
_isLoading = false;
295298
}
296299

300+
private void EventSystem_RedirectToApplicationEvent(object sender, EventArgs e)
301+
{
302+
EventSystemRedirectArgs args = e as EventSystemRedirectArgs;
303+
304+
// Change view
305+
SelectedApplication = Applications.SourceCollection.Cast<ApplicationViewInfo>().FirstOrDefault(x => x.Name == args.Application);
306+
307+
// Crate a new tab / perform action
308+
switch (args.Application)
309+
{
310+
case ApplicationViewManager.Name.PortScanner:
311+
portScannerHostView.AddTab(args.Data);
312+
break;
313+
case ApplicationViewManager.Name.Ping:
314+
pingHostView.AddTab(args.Data);
315+
break;
316+
case ApplicationViewManager.Name.Traceroute:
317+
tracerouteHostView.AddTab(args.Data);
318+
break;
319+
case ApplicationViewManager.Name.DNSLookup:
320+
dnsLookupHostView.AddTab(args.Data);
321+
break;
322+
}
323+
}
324+
297325
// Hide window after it shows up... not nice, but otherwise the hotkeys do not work
298326
protected override void OnContentRendered(EventArgs e)
299327
{
@@ -415,7 +443,7 @@ private async void MetroWindowMain_Closing(object sender, CancelEventArgs e)
415443

416444
private ApplicationViewManager.Name? currentApplicationViewName = null;
417445

418-
private void ChangeApplicationView(ApplicationViewManager.Name name)
446+
private void ChangeApplicationView(ApplicationViewManager.Name name, EventSystemRedirectArgs args = null)
419447
{
420448
if (currentApplicationViewName == name)
421449
return;
@@ -438,6 +466,10 @@ private void ChangeApplicationView(ApplicationViewManager.Name name)
438466
if (portScannerHostView == null)
439467
portScannerHostView = new PortScannerHostView();
440468

469+
// Create a new tab
470+
if (args != null)
471+
portScannerHostView.AddTab(args.Data);
472+
441473
contentControlApplication.Content = portScannerHostView;
442474
break;
443475
case ApplicationViewManager.Name.Ping:
@@ -989,6 +1021,6 @@ private void HeaderBorder_MouseDown(object sender, MouseButtonEventArgs e)
9891021
if (e.ChangedButton == MouseButton.Left)
9901022
DragMove();
9911023
}
992-
#endregion
1024+
#endregion
9931025
}
9941026
}

Source/NETworkManager/NETworkManager.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,8 @@
249249
<Compile Include="Controls\PuTTYControl.xaml.cs">
250250
<DependentUpon>PuTTYControl.xaml</DependentUpon>
251251
</Compile>
252+
<Compile Include="Converters\StringIsNotNullOrEmptyToBoolConverter.cs" />
253+
<Compile Include="Converters\StringIsNotNullOrEmptyToVisibilityConverter.cs" />
252254
<Compile Include="Converters\NullOrEmptyToBoolConverter.cs" />
253255
<Compile Include="Converters\TimestampToStringConverter.cs" />
254256
<Compile Include="Converters\NullableDateTimeToStringConverter.cs" />
@@ -264,6 +266,8 @@
264266
<Compile Include="Models\Settings\PingProfileInfo.cs" />
265267
<Compile Include="Models\Settings\PingProfileManager.cs" />
266268
<Compile Include="Utilities\ArrayHelper.cs" />
269+
<Compile Include="Utilities\EventSystemRedirectArgs.cs" />
270+
<Compile Include="Utilities\EventSystem.cs" />
267271
<Compile Include="Utilities\NativeMethods.cs" />
268272
<Compile Include="Utilities\PowerShellHelper.cs" />
269273
<Compile Include="Utilities\SecureStringHelper.cs" />

Source/NETworkManager/Resources/Localization/Resources.de-DE.xaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,10 @@
408408
<system:String x:Key="String_AddATabToPerformAnSNMPAction">Füge eine Registerkarte hinzu, um eine SNMP-Aktion auszuführen...</system:String>
409409
<system:String x:Key="String_AddATabToQueryTheHTTPHeaders">Füge eine Registerkarte hinzu, um die HTTP Headers abzufragen...</system:String>
410410
<system:String x:Key="String_AddATabToOpenANewConnection">Füge eine Registerkarte hinzu, um eine neue Verbindung herzustellen...</system:String>
411-
411+
<system:String x:Key="String_PortScan">Portscan</system:String>
412+
<system:String x:Key="String_DNSLookupDots">DNS-Lookup...</system:String>
413+
<system:String x:Key="String_Traceroute">Traceroute</system:String>
414+
412415
<!-- Documentation title -->
413416
<system:String x:Key="String_DocumentationTitle_00001">Wie installiere ich RDP 8.1 unter Windows 7 / Server 2008 R2?</system:String>
414417
<system:String x:Key="String_DocumentationTitle_00002">Wie erstelle ich ein benutzerdefiniertes Thema und Akzent?</system:String>

Source/NETworkManager/Resources/Localization/Resources.en-US.xaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,9 @@
408408
<system:String x:Key="String_AddATabToPerformAnSNMPAction">Add a tab to perform an SNMP action...</system:String>
409409
<system:String x:Key="String_AddATabToQueryTheHTTPHeaders">Add a tab to query the HTTP headers...</system:String>
410410
<system:String x:Key="String_AddATabToOpenANewConnection">Add a tab to open a new connection...</system:String>
411+
<system:String x:Key="String_PortScan">Port scan</system:String>
412+
<system:String x:Key="String_DNSLookupDots">DNS lookup...</system:String>
413+
<system:String x:Key="String_Traceroute">Traceroute</system:String>
411414

412415
<!-- Documentation title -->
413416
<system:String x:Key="String_DocumentationTitle_00001">How to install RDP 8.1 on Windows 7/Server 2008 R2</system:String>

Source/NETworkManager/SettingsViewManager.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,16 @@ public static List<SettingsViewInfo> List
2121
new SettingsViewInfo(Name.HotKeys, new PackIconOcticons() { Kind = PackIconOcticonsKind.Keyboard }, Group.General),
2222
new SettingsViewInfo(Name.Autostart, new PackIconMaterial() { Kind = PackIconMaterialKind.Power }, Group.General),
2323
new SettingsViewInfo(Name.Update, new PackIconMaterial() {Kind = PackIconMaterialKind.Download }, Group.General),
24-
new SettingsViewInfo(Name.Settings, new PackIconModern() { Kind = PackIconModernKind.Settings }, Group.General),
2524
new SettingsViewInfo(Name.ImportExport, new PackIconMaterial() { Kind = PackIconMaterialKind.Import}, Group.General),
25+
new SettingsViewInfo(Name.Settings, new PackIconModern() { Kind = PackIconModernKind.Settings }, Group.General),
2626

2727
// Applications
2828
new SettingsViewInfo(Name.IPScanner, new PackIconMaterial() {Kind = PackIconMaterialKind.Sitemap }, Group.Applications),
2929
new SettingsViewInfo(Name.PortScanner, new PackIconModern() {Kind = PackIconModernKind.NetworkPort }, Group.Applications),
3030
new SettingsViewInfo(Name.Ping, new PackIconMaterial() { Kind = PackIconMaterialKind.LanConnect }, Group.Applications),
3131
new SettingsViewInfo(Name.Traceroute, new PackIconModern() {Kind = PackIconModernKind.TransitConnection}, Group.Applications),
3232
new SettingsViewInfo(Name.DNSLookup, new PackIconMaterial() { Kind= PackIconMaterialKind.Dna }, Group.Applications ),
33-
new SettingsViewInfo(Name.RemoteDesktop, new PackIconOcticons() { Kind = PackIconOcticonsKind.DeviceDesktop}, Group.Applications),
33+
new SettingsViewInfo(Name.RemoteDesktop, new PackIconMaterial() { Kind = PackIconMaterialKind.RemoteDesktop}, Group.Applications),
3434
new SettingsViewInfo(Name.PuTTY, new PackIconOcticons() {Kind = PackIconOcticonsKind.Terminal}, Group.Applications),
3535
new SettingsViewInfo(Name.SNMP,new PackIconMaterial() {Kind = PackIconMaterialKind.Switch }, Group.Applications),
3636
new SettingsViewInfo(Name.WakeOnLAN, new PackIconMaterial() {Kind = PackIconMaterialKind.Power} , Group.Applications),
@@ -47,9 +47,9 @@ public enum Name
4747
Language,
4848
HotKeys,
4949
Autostart,
50-
Settings,
5150
Update,
5251
ImportExport,
52+
Settings,
5353
IPScanner,
5454
PortScanner,
5555
Ping,
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using System;
2+
3+
namespace NETworkManager.Utilities
4+
{
5+
public class EventSystem
6+
{
7+
public static event EventHandler RedirectToApplicationEvent;
8+
9+
public static void RedirectToApplication(ApplicationViewManager.Name application, string data)
10+
{
11+
RedirectToApplicationEvent?.Invoke(typeof(string), new EventSystemRedirectArgs(application, data));
12+
}
13+
}
14+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
using System;
2+
3+
namespace NETworkManager.Utilities
4+
{
5+
public class EventSystemRedirectArgs : EventArgs
6+
{
7+
public ApplicationViewManager.Name Application { get; set; }
8+
public string Data { get; set; }
9+
10+
public EventSystemRedirectArgs(ApplicationViewManager.Name application, string data)
11+
{
12+
Application = application;
13+
Data = data;
14+
}
15+
}
16+
}

0 commit comments

Comments
 (0)