@@ -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
0 commit comments