├── RemoteDesktopViewer ├── obj │ ├── Debug │ │ ├── RemoteDesktopViewer.csproj.CopyComplete │ │ ├── RemoteDesktopViewer.csproj.CoreCompileInputs.cache │ │ ├── App.baml │ │ ├── View │ │ │ ├── MainWindow.baml │ │ │ ├── GroupManagerWindow.baml │ │ │ ├── GroupManagerWindow.g.cs │ │ │ ├── GroupManagerWindow.g.i.cs │ │ │ ├── MainWindow.g.cs │ │ │ └── MainWindow.g.i.cs │ │ ├── Themes │ │ │ ├── DataGridRD.baml │ │ │ ├── Metro │ │ │ │ ├── Styles.WPF.baml │ │ │ │ ├── Theme.Colors.baml │ │ │ │ ├── Styles.Shared.baml │ │ │ │ ├── Metro.MSControls.Core.Implicit.baml │ │ │ │ └── Metro.MSControls.Toolkit.Implicit.baml │ │ │ └── Button_RoundedCorners.baml │ │ ├── RemoteDesktopViewer.pdb │ │ ├── RemoteDesktopViewer_MarkupCompile.i.lref │ │ ├── RemoteDesktopViewer.g.resources │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── TempPE │ │ │ └── Properties.Resources.Designer.cs.dll │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── RemoteDesktopViewer.Properties.Resources.resources │ │ ├── RemoteDesktopViewer.csproj.GenerateResource.cache │ │ ├── RemoteDesktopViewer.csprojAssemblyReference.cache │ │ ├── .NETFramework,Version=v4.7.2.AssemblyAttributes.cs │ │ ├── RemoteDesktopViewer_MarkupCompile.lref │ │ ├── RemoteDesktopViewer_Content.g.i.cs │ │ ├── RemoteDesktopViewer_MarkupCompile.cache │ │ ├── RemoteDesktopViewer_MarkupCompile.i.cache │ │ ├── App.g.cs │ │ ├── App.g.i.cs │ │ ├── MainWindow.g.i.cs │ │ └── RemoteDesktopViewer.csproj.FileListAbsolute.txt │ └── Release │ │ ├── RemoteDesktopViewer.csproj.CopyComplete │ │ ├── RemoteDesktopViewer.csproj.CoreCompileInputs.cache │ │ ├── App.baml │ │ ├── View │ │ ├── MainWindow.baml │ │ ├── GroupManagerWindow.baml │ │ ├── GroupManagerWindow.g.cs │ │ ├── GroupManagerWindow.g.i.cs │ │ ├── MainWindow.g.cs │ │ └── MainWindow.g.i.cs │ │ ├── RemoteDesktopViewer.exe │ │ ├── RemoteDesktopViewer.pdb │ │ ├── Themes │ │ ├── DataGridRD.baml │ │ ├── Metro │ │ │ ├── Styles.WPF.baml │ │ │ ├── Theme.Colors.baml │ │ │ ├── Styles.Shared.baml │ │ │ ├── Metro.MSControls.Core.Implicit.baml │ │ │ └── Metro.MSControls.Toolkit.Implicit.baml │ │ └── Button_RoundedCorners.baml │ │ ├── RemoteDesktopViewer_MarkupCompile.i.lref │ │ ├── RemoteDesktopViewer.g.resources │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── TempPE │ │ └── Properties.Resources.Designer.cs.dll │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── RemoteDesktopViewer.Properties.Resources.resources │ │ ├── RemoteDesktopViewer.csproj.GenerateResource.cache │ │ ├── RemoteDesktopViewer.csprojAssemblyReference.cache │ │ ├── .NETFramework,Version=v4.7.2.AssemblyAttributes.cs │ │ ├── RemoteDesktopViewer_MarkupCompile.lref │ │ ├── RemoteDesktopViewer_Content.g.i.cs │ │ ├── RemoteDesktopViewer_MarkupCompile.cache │ │ ├── RemoteDesktopViewer_MarkupCompile.i.cache │ │ ├── App.g.cs │ │ ├── App.g.i.cs │ │ └── RemoteDesktopViewer.csproj.FileListAbsolute.txt ├── Assets │ ├── folder.png │ ├── monitor.png │ ├── refresh.png │ ├── circle_Smashicons.png │ └── nodetestRemoteIcon.ico ├── bin │ ├── Debug │ │ ├── WPFToolkit.dll │ │ ├── Newtonsoft.Json.dll │ │ ├── RemoteDesktopViewer.exe │ │ ├── RemoteDesktopViewer.pdb │ │ ├── System.Windows.Controls.Input.Toolkit.dll │ │ ├── System.Windows.Controls.Layout.Toolkit.dll │ │ ├── RemoteDesktopViewer.exe.config │ │ └── Groups │ │ │ ├── Juno │ │ │ └── Fortuna │ └── Release │ │ ├── WPFToolkit.dll │ │ ├── Newtonsoft.Json.dll │ │ ├── RemoteDesktopViewer.exe │ │ ├── RemoteDesktopViewer.pdb │ │ ├── System.Windows.Controls.Input.Toolkit.dll │ │ ├── System.Windows.Controls.Layout.Toolkit.dll │ │ ├── RemoteDesktopViewer.exe.config │ │ └── Groups │ │ └── Test ├── App.config ├── Properties │ ├── Settings.settings │ ├── Settings.Designer.cs │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── packages.config ├── Model │ ├── BaseModel.cs │ ├── ConnectionDetailsModel.cs │ ├── MainWindowModel.cs │ ├── ConnectionGroupModel.cs │ └── ConnectionModel.cs ├── Themes │ ├── Metro │ │ ├── HowToApplyTheme.txt │ │ └── Theme.Colors.xaml │ ├── Button_RoundedCorners.xaml │ └── DataGridRD.xaml ├── Groups │ └── ExampleGroup ├── App.xaml ├── App.xaml.cs ├── View │ ├── GroupManagerWindow.xaml.cs │ ├── GroupManagerWindow.xaml │ └── MainWindow.xaml.cs ├── Functionality │ ├── ConnectionManager.cs │ ├── GroupManager.cs │ └── UpdateConnectionStatus.cs ├── ViewModel │ ├── GroupManagerViewModel.cs │ └── MainWindowViewModel.cs └── RemoteDesktopViewer.csproj ├── Installer ├── Debug │ ├── setup.exe │ └── Installer.msi └── Release │ ├── setup.exe │ └── Installer.msi ├── Images ├── RemoteDesktopViewer.png └── RemoteDesktopViewer_GroupSettings.png ├── RemoteDesktopViewer_2.0.3.msi ├── .vs └── RemoteDesktopViewer │ └── v16 │ └── .suo ├── packages ├── Newtonsoft.Json.12.0.3 │ ├── .signature.p7s │ ├── packageIcon.png │ ├── Newtonsoft.Json.12.0.3.nupkg │ ├── lib │ │ ├── net20 │ │ │ └── Newtonsoft.Json.dll │ │ ├── net35 │ │ │ └── Newtonsoft.Json.dll │ │ ├── net40 │ │ │ └── Newtonsoft.Json.dll │ │ ├── net45 │ │ │ └── Newtonsoft.Json.dll │ │ ├── netstandard1.0 │ │ │ └── Newtonsoft.Json.dll │ │ ├── netstandard1.3 │ │ │ └── Newtonsoft.Json.dll │ │ ├── netstandard2.0 │ │ │ └── Newtonsoft.Json.dll │ │ ├── portable-net45+win8+wp8+wpa81 │ │ │ └── Newtonsoft.Json.dll │ │ └── portable-net40+sl5+win8+wp8+wpa81 │ │ │ └── Newtonsoft.Json.dll │ └── LICENSE.md └── Infragistics.Themes.MetroLight.Wpf.1.0.0 │ ├── .signature.p7s │ ├── lib │ └── net40 │ │ ├── WPFToolkit.dll │ │ ├── System.Windows.Controls.Input.Toolkit.dll │ │ └── System.Windows.Controls.Layout.Toolkit.dll │ ├── Infragistics.Themes.MetroLight.Wpf.1.0.0.nupkg │ └── content │ └── Themes │ └── Metro │ ├── HowToApplyTheme.txt │ └── Theme.Colors.xaml ├── LICENSE ├── RemoteDesktopViewer.sln └── readme.md /RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer.csproj.CopyComplete: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.csproj.CopyComplete: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Installer/Debug/setup.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/Installer/Debug/setup.exe -------------------------------------------------------------------------------- /Installer/Release/setup.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/Installer/Release/setup.exe -------------------------------------------------------------------------------- /Images/RemoteDesktopViewer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/Images/RemoteDesktopViewer.png -------------------------------------------------------------------------------- /Installer/Debug/Installer.msi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/Installer/Debug/Installer.msi -------------------------------------------------------------------------------- /RemoteDesktopViewer_2.0.3.msi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer_2.0.3.msi -------------------------------------------------------------------------------- /.vs/RemoteDesktopViewer/v16/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/.vs/RemoteDesktopViewer/v16/.suo -------------------------------------------------------------------------------- /Installer/Release/Installer.msi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/Installer/Release/Installer.msi -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | d0392255b2db17e7131e22ca43d6011f5aae46f3 2 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 44f9d84e1212aa2a1888fbe8750dc9fbf8443009 2 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Assets/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/Assets/folder.png -------------------------------------------------------------------------------- /RemoteDesktopViewer/Assets/monitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/Assets/monitor.png -------------------------------------------------------------------------------- /RemoteDesktopViewer/Assets/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/Assets/refresh.png -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/App.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/App.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/App.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/App.baml -------------------------------------------------------------------------------- /Images/RemoteDesktopViewer_GroupSettings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/Images/RemoteDesktopViewer_GroupSettings.png -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Debug/WPFToolkit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/bin/Debug/WPFToolkit.dll -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Release/WPFToolkit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/bin/Release/WPFToolkit.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.12.0.3/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Newtonsoft.Json.12.0.3/.signature.p7s -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.12.0.3/packageIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Newtonsoft.Json.12.0.3/packageIcon.png -------------------------------------------------------------------------------- /RemoteDesktopViewer/Assets/circle_Smashicons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/Assets/circle_Smashicons.png -------------------------------------------------------------------------------- /RemoteDesktopViewer/Assets/nodetestRemoteIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/Assets/nodetestRemoteIcon.ico -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Debug/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/bin/Debug/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/View/MainWindow.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/View/MainWindow.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Release/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/bin/Release/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/Themes/DataGridRD.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/Themes/DataGridRD.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/View/MainWindow.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/View/MainWindow.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Debug/RemoteDesktopViewer.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/bin/Debug/RemoteDesktopViewer.exe -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Debug/RemoteDesktopViewer.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/bin/Debug/RemoteDesktopViewer.pdb -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Release/RemoteDesktopViewer.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/bin/Release/RemoteDesktopViewer.exe -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Release/RemoteDesktopViewer.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/bin/Release/RemoteDesktopViewer.pdb -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer.pdb -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.exe -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.pdb -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/Themes/DataGridRD.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/Themes/DataGridRD.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer_MarkupCompile.i.lref: -------------------------------------------------------------------------------- 1 | 2 | 3 | FC:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\View\MainWindow.xaml;; 4 | 5 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/Themes/Metro/Styles.WPF.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/Themes/Metro/Styles.WPF.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/Themes/Metro/Theme.Colors.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/Themes/Metro/Theme.Colors.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/View/GroupManagerWindow.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/View/GroupManagerWindow.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/Themes/Metro/Styles.WPF.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/Themes/Metro/Styles.WPF.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/View/GroupManagerWindow.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/View/GroupManagerWindow.baml -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.12.0.3/Newtonsoft.Json.12.0.3.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Newtonsoft.Json.12.0.3/Newtonsoft.Json.12.0.3.nupkg -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer.g.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer.g.resources -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/Themes/Metro/Styles.Shared.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/Themes/Metro/Styles.Shared.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/RemoteDesktopViewer_MarkupCompile.i.lref: -------------------------------------------------------------------------------- 1 | 2 | 3 | FC:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\View\MainWindow.xaml;; 4 | 5 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/Themes/Metro/Theme.Colors.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/Themes/Metro/Theme.Colors.baml -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.12.0.3/lib/net20/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Newtonsoft.Json.12.0.3/lib/net20/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.12.0.3/lib/net35/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Newtonsoft.Json.12.0.3/lib/net35/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.12.0.3/lib/net40/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Newtonsoft.Json.12.0.3/lib/net40/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.12.0.3/lib/net45/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Newtonsoft.Json.12.0.3/lib/net45/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/Themes/Button_RoundedCorners.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/Themes/Button_RoundedCorners.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.g.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.g.resources -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/Themes/Button_RoundedCorners.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/Themes/Button_RoundedCorners.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/Themes/Metro/Styles.Shared.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/Themes/Metro/Styles.Shared.baml -------------------------------------------------------------------------------- /packages/Infragistics.Themes.MetroLight.Wpf.1.0.0/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Infragistics.Themes.MetroLight.Wpf.1.0.0/.signature.p7s -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.12.0.3/lib/netstandard1.0/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Newtonsoft.Json.12.0.3/lib/netstandard1.0/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.12.0.3/lib/netstandard1.3/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Newtonsoft.Json.12.0.3/lib/netstandard1.3/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.12.0.3/lib/netstandard2.0/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Newtonsoft.Json.12.0.3/lib/netstandard2.0/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Debug/System.Windows.Controls.Input.Toolkit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/bin/Debug/System.Windows.Controls.Input.Toolkit.dll -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Debug/System.Windows.Controls.Layout.Toolkit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/bin/Debug/System.Windows.Controls.Layout.Toolkit.dll -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Release/System.Windows.Controls.Input.Toolkit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/bin/Release/System.Windows.Controls.Input.Toolkit.dll -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Release/System.Windows.Controls.Layout.Toolkit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/bin/Release/System.Windows.Controls.Layout.Toolkit.dll -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /packages/Infragistics.Themes.MetroLight.Wpf.1.0.0/lib/net40/WPFToolkit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Infragistics.Themes.MetroLight.Wpf.1.0.0/lib/net40/WPFToolkit.dll -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer.Properties.Resources.resources -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer.csproj.GenerateResource.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer.csproj.GenerateResource.cache -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/Themes/Metro/Metro.MSControls.Core.Implicit.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/Themes/Metro/Metro.MSControls.Core.Implicit.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/Themes/Metro/Metro.MSControls.Core.Implicit.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/Themes/Metro/Metro.MSControls.Core.Implicit.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/Themes/Metro/Metro.MSControls.Toolkit.Implicit.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Debug/Themes/Metro/Metro.MSControls.Toolkit.Implicit.baml -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.Properties.Resources.resources -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.csproj.GenerateResource.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.csproj.GenerateResource.cache -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /RemoteDesktopViewer/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/Themes/Metro/Metro.MSControls.Toolkit.Implicit.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/RemoteDesktopViewer/obj/Release/Themes/Metro/Metro.MSControls.Toolkit.Implicit.baml -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.12.0.3/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Newtonsoft.Json.12.0.3/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.12.0.3/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Newtonsoft.Json.12.0.3/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Infragistics.Themes.MetroLight.Wpf.1.0.0/Infragistics.Themes.MetroLight.Wpf.1.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Infragistics.Themes.MetroLight.Wpf.1.0.0/Infragistics.Themes.MetroLight.Wpf.1.0.0.nupkg -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Debug/RemoteDesktopViewer.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Release/RemoteDesktopViewer.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /packages/Infragistics.Themes.MetroLight.Wpf.1.0.0/lib/net40/System.Windows.Controls.Input.Toolkit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Infragistics.Themes.MetroLight.Wpf.1.0.0/lib/net40/System.Windows.Controls.Input.Toolkit.dll -------------------------------------------------------------------------------- /packages/Infragistics.Themes.MetroLight.Wpf.1.0.0/lib/net40/System.Windows.Controls.Layout.Toolkit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luffiez/RemoteDesktopViewer/HEAD/packages/Infragistics.Themes.MetroLight.Wpf.1.0.0/lib/net40/System.Windows.Controls.Layout.Toolkit.dll -------------------------------------------------------------------------------- /RemoteDesktopViewer/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] 5 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] 5 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/RemoteDesktopViewer_MarkupCompile.lref: -------------------------------------------------------------------------------- 1 | 2 | FC:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\App.xaml;; 3 | FC:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\Themes\Button_RoundedCorners.xaml;; 4 | FC:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\View\MainWindow.xaml;; 5 | 6 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer_MarkupCompile.lref: -------------------------------------------------------------------------------- 1 | 2 | FC:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\App.xaml;; 3 | FC:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\Themes\Button_RoundedCorners.xaml;; 4 | FC:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\View\MainWindow.xaml;; 5 | 6 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Release/Groups/Test: -------------------------------------------------------------------------------- 1 | {"GroupName":"Test","GroupConnections":[{"ConnectionName":"Connection 1","ConnectionDescription":"???","ConnectionStatus":"???","ConnectionAdress":"???","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"Connection 2","ConnectionDescription":"???","ConnectionStatus":"???","ConnectionAdress":"???","ConnectionID":null,"ConnectionUser":null}]} -------------------------------------------------------------------------------- /RemoteDesktopViewer/Model/BaseModel.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel; 2 | 3 | namespace RemoteDesktopViewer.Model 4 | { 5 | public class BaseModel : INotifyPropertyChanged 6 | { 7 | public event PropertyChangedEventHandler PropertyChanged; 8 | 9 | internal void OnPropertyChanged(string propertyName) 10 | { 11 | if (PropertyChanged != null) 12 | { 13 | PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer_Content.g.i.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | [assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("groups/node.xml")] 12 | 13 | 14 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Themes/Metro/HowToApplyTheme.txt: -------------------------------------------------------------------------------- 1 | To apply the Infragistics WPF Metro Light theme to your WPF application, paste the following code into your App.xaml 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/RemoteDesktopViewer_Content.g.i.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | [assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("assets/refresh.png")] 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/Infragistics.Themes.MetroLight.Wpf.1.0.0/content/Themes/Metro/HowToApplyTheme.txt: -------------------------------------------------------------------------------- 1 | To apply the Infragistics WPF Metro Light theme to your WPF application, paste the following code into your App.xaml 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Groups/ExampleGroup: -------------------------------------------------------------------------------- 1 | { 2 | "GroupName": "Example Group", 3 | "GroupConnections": [ 4 | { 5 | "ConnectionName": "My server", 6 | "ConnectionDescription": "server description", 7 | "ConnectionStatus": "", 8 | "ConnectionAdress": "192.168.1.1", 9 | "ConnectionID": null, 10 | "ConnectionUser": null, 11 | "LastUpdated": "0001-01-01T00:00:00" 12 | }, 13 | { 14 | "ConnectionName": "My server 2", 15 | "ConnectionDescription": "server description 2", 16 | "ConnectionStatus": "", 17 | "ConnectionAdress": "192.168.1.1", 18 | "ConnectionID": null, 19 | "ConnectionUser": null, 20 | "LastUpdated": "0001-01-01T00:00:00" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/RemoteDesktopViewer_MarkupCompile.cache: -------------------------------------------------------------------------------- 1 | RemoteDesktopViewer 2 | 3 | 4 | winexe 5 | C# 6 | .cs 7 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\ 8 | RemoteDesktopViewer 9 | none 10 | false 11 | TRACE 12 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\App.xaml 13 | 9800376839 14 | 15 | 16-1353670262 16 | 17-1998249297 17 | Themes\Button_RoundedCorners.xaml;Themes\DataGridRD.xaml;Themes\Metro\Metro.MSControls.Core.Implicit.xaml;Themes\Metro\Metro.MSControls.Toolkit.Implicit.xaml;Themes\Metro\Styles.Shared.xaml;Themes\Metro\Styles.WPF.xaml;Themes\Metro\Theme.Colors.xaml;View\GroupManagerWindow.xaml;View\MainWindow.xaml; 18 | 19 | False 20 | 21 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer_MarkupCompile.cache: -------------------------------------------------------------------------------- 1 | RemoteDesktopViewer 2 | 3 | 4 | winexe 5 | C# 6 | .cs 7 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\ 8 | RemoteDesktopViewer 9 | none 10 | false 11 | DEBUG;TRACE 12 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\App.xaml 13 | 9800376839 14 | 15 | 16-1353670262 16 | 17-1684792348 17 | Themes\Button_RoundedCorners.xaml;Themes\DataGridRD.xaml;Themes\Metro\Metro.MSControls.Core.Implicit.xaml;Themes\Metro\Metro.MSControls.Toolkit.Implicit.xaml;Themes\Metro\Styles.Shared.xaml;Themes\Metro\Styles.WPF.xaml;Themes\Metro\Theme.Colors.xaml;View\GroupManagerWindow.xaml;View\MainWindow.xaml; 18 | 19 | False 20 | 21 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer_MarkupCompile.i.cache: -------------------------------------------------------------------------------- 1 | RemoteDesktopViewer 2 | 3 | 4 | winexe 5 | C# 6 | .cs 7 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\ 8 | RemoteDesktopViewer 9 | none 10 | false 11 | DEBUG;TRACE 12 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\App.xaml 13 | 9800376839 14 | 15 | 172098937667 16 | 17-1684792348 17 | Themes\Button_RoundedCorners.xaml;Themes\DataGridRD.xaml;Themes\Metro\Metro.MSControls.Core.Implicit.xaml;Themes\Metro\Metro.MSControls.Toolkit.Implicit.xaml;Themes\Metro\Styles.Shared.xaml;Themes\Metro\Styles.WPF.xaml;Themes\Metro\Theme.Colors.xaml;View\GroupManagerWindow.xaml;View\MainWindow.xaml; 18 | 19 | True 20 | 21 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/RemoteDesktopViewer_MarkupCompile.i.cache: -------------------------------------------------------------------------------- 1 | RemoteDesktopViewer 2 | 3 | 4 | winexe 5 | C# 6 | .cs 7 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\ 8 | RemoteDesktopViewer 9 | none 10 | false 11 | TRACE 12 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\App.xaml 13 | 9800376839 14 | 15 | 171863718202 16 | 17-1684792348 17 | Themes\Button_RoundedCorners.xaml;Themes\DataGridRD.xaml;Themes\Metro\Metro.MSControls.Core.Implicit.xaml;Themes\Metro\Metro.MSControls.Toolkit.Implicit.xaml;Themes\Metro\Styles.Shared.xaml;Themes\Metro\Styles.WPF.xaml;Themes\Metro\Theme.Colors.xaml;View\GroupManagerWindow.xaml;View\MainWindow.xaml; 18 | 19 | True 20 | 21 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Model/ConnectionDetailsModel.cs: -------------------------------------------------------------------------------- 1 | 2 | namespace RemoteDesktopViewer.Model 3 | { 4 | public class ConnectionDetailsModel : BaseModel 5 | { 6 | private string connectionDetails; 7 | private string connectButton; 8 | 9 | public string ConnectionDetails 10 | { 11 | get { return connectionDetails; } 12 | set 13 | { 14 | connectionDetails = value; 15 | OnPropertyChanged("ConnectionDetails"); 16 | } 17 | } 18 | 19 | public string ConnectButton 20 | { 21 | get { return connectButton; } 22 | set 23 | { 24 | connectButton = value; 25 | OnPropertyChanged("ConnectButton"); 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using RemoteDesktopViewer.View; 2 | using RemoteDesktopViewer.ViewModel; 3 | using System.Windows; 4 | 5 | namespace RemoteDesktopViewer 6 | { 7 | /// 8 | /// Interaction logic for App.xaml 9 | /// 10 | public partial class App : Application 11 | { 12 | protected override void OnStartup(StartupEventArgs e) 13 | { 14 | base.OnStartup(e); 15 | GroupManagerViewModel groupManagerViewModel = new GroupManagerViewModel(); 16 | MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(groupManagerViewModel); 17 | 18 | MainWindow window = new MainWindow(mainWindowViewModel, groupManagerViewModel); 19 | window.DataContext = mainWindowViewModel; 20 | 21 | GroupManagerWindow groupManagerWindow = new GroupManagerWindow(groupManagerViewModel); 22 | groupManagerWindow.DataContext = groupManagerViewModel; 23 | window.Show(); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Model/MainWindowModel.cs: -------------------------------------------------------------------------------- 1 | using RemoteDesktopViewer.Functionality; 2 | using System.Collections.Generic; 3 | using System.Collections.ObjectModel; 4 | 5 | namespace RemoteDesktopViewer.Model 6 | { 7 | public class MainWindowModel : BaseModel 8 | { 9 | private ObservableCollection groups; 10 | private IList connections; 11 | 12 | public ObservableCollection Groups 13 | { 14 | get { return groups; } 15 | set 16 | { 17 | groups = null; 18 | groups = value; 19 | groups.Sort(); 20 | OnPropertyChanged("Groups"); 21 | } 22 | } 23 | 24 | public IList Connections 25 | { 26 | get { return connections; } 27 | set 28 | { 29 | connections = value; 30 | OnPropertyChanged("Connections"); 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Debug/Groups/Juno: -------------------------------------------------------------------------------- 1 | {"GroupName":"Juno","GroupConnections":[{"ConnectionName":"2005","ConnectionDescription":"Burn In","ConnectionStatus":"Available","ConnectionAdress":"segaee0043.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"9901","ConnectionDescription":"PRTT","ConnectionStatus":"Available","ConnectionAdress":"segaee0038.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"9902","ConnectionDescription":"PRTT","ConnectionStatus":"Available","ConnectionAdress":"segaee0030.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"9904","ConnectionDescription":"PRTT","ConnectionStatus":null,"ConnectionAdress":"segaee0009.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"9905","ConnectionDescription":"LAT","ConnectionStatus":null,"ConnectionAdress":"segaee0008.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"9906","ConnectionDescription":"LAT","ConnectionStatus":null,"ConnectionAdress":"segaee0014.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null}]} -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Erik Rodriguez 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.12.0.3/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2007 James Newton-King 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | 12 | namespace RemoteDesktopViewer.Properties 13 | { 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 17 | { 18 | 19 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 20 | 21 | public static Settings Default 22 | { 23 | get 24 | { 25 | return defaultInstance; 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/View/GroupManagerWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using RemoteDesktopViewer.Model; 2 | using RemoteDesktopViewer.ViewModel; 3 | using System.Windows; 4 | 5 | namespace RemoteDesktopViewer.View 6 | { 7 | /// 8 | /// Interaction logic for GroupManagerWindow.xaml 9 | /// 10 | public partial class GroupManagerWindow : Window 11 | { 12 | GroupManagerViewModel groupManagerViewModel; 13 | 14 | public GroupManagerWindow(GroupManagerViewModel _groupManagerViewModel) 15 | { 16 | groupManagerViewModel = _groupManagerViewModel; 17 | DataContext = _groupManagerViewModel; 18 | InitializeComponent(); 19 | } 20 | 21 | private void NewConnection_OnClick(object sender, RoutedEventArgs e) 22 | { 23 | groupManagerViewModel.CreateNewConnection(); 24 | } 25 | 26 | 27 | private void Save_OnClick(object sender, RoutedEventArgs e) 28 | { 29 | groupManagerViewModel.SaveGroup(); 30 | Close(); 31 | } 32 | 33 | private void Close_OnClick(object sender, RoutedEventArgs e) 34 | { 35 | Close(); 36 | } 37 | 38 | private void DeleteConnection_OnClick(object sender, RoutedEventArgs e) 39 | { 40 | if(ConnectionList.SelectedItem is ConnectionModel connection) 41 | { 42 | groupManagerViewModel.DeleteConnection(connection); 43 | } 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Model/ConnectionGroupModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.ObjectModel; 3 | 4 | namespace RemoteDesktopViewer.Model 5 | { 6 | public class ConnectionGroupModel : BaseModel, IComparable, IEquatable 7 | { 8 | private string groupName; 9 | private ObservableCollection groupConnections; 10 | 11 | public string GroupName 12 | { 13 | get { return groupName; } 14 | set 15 | { 16 | groupName = value; 17 | OnPropertyChanged("GroupName"); 18 | } 19 | } 20 | 21 | public ObservableCollection GroupConnections 22 | { 23 | get { return groupConnections; } 24 | set 25 | { 26 | groupConnections = value; 27 | OnPropertyChanged("GroupConnections"); 28 | } 29 | } 30 | 31 | public int CompareTo(ConnectionGroupModel other) 32 | { 33 | if (this.GroupName == other.groupName) 34 | return 0; 35 | 36 | return this.GroupName.CompareTo(other.GroupName); 37 | } 38 | 39 | public bool Equals(ConnectionGroupModel other) 40 | { 41 | if (this.GroupName.Equals(other.groupName) && this.GroupConnections.Equals(other.groupConnections)) 42 | return true; 43 | 44 | return false; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /RemoteDesktopViewer.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30717.126 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RemoteDesktopViewer", "RemoteDesktopViewer\RemoteDesktopViewer.csproj", "{F6DFEFF2-9FFA-48FE-8118-25B330BA2724}" 7 | EndProject 8 | Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Installer", "Installer\Installer.vdproj", "{D14EA1C7-DAAA-417A-964F-9E218C0B009D}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | All|Any CPU = All|Any CPU 13 | Debug|Any CPU = Debug|Any CPU 14 | Release|Any CPU = Release|Any CPU 15 | EndGlobalSection 16 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 17 | {F6DFEFF2-9FFA-48FE-8118-25B330BA2724}.All|Any CPU.ActiveCfg = Release|Any CPU 18 | {F6DFEFF2-9FFA-48FE-8118-25B330BA2724}.All|Any CPU.Build.0 = Release|Any CPU 19 | {F6DFEFF2-9FFA-48FE-8118-25B330BA2724}.Debug|Any CPU.ActiveCfg = Release|Any CPU 20 | {F6DFEFF2-9FFA-48FE-8118-25B330BA2724}.Debug|Any CPU.Build.0 = Release|Any CPU 21 | {F6DFEFF2-9FFA-48FE-8118-25B330BA2724}.Release|Any CPU.ActiveCfg = Release|Any CPU 22 | {F6DFEFF2-9FFA-48FE-8118-25B330BA2724}.Release|Any CPU.Build.0 = Release|Any CPU 23 | {D14EA1C7-DAAA-417A-964F-9E218C0B009D}.All|Any CPU.ActiveCfg = Debug 24 | {D14EA1C7-DAAA-417A-964F-9E218C0B009D}.Debug|Any CPU.ActiveCfg = Release 25 | {D14EA1C7-DAAA-417A-964F-9E218C0B009D}.Debug|Any CPU.Build.0 = Release 26 | {D14EA1C7-DAAA-417A-964F-9E218C0B009D}.Release|Any CPU.ActiveCfg = Release 27 | EndGlobalSection 28 | GlobalSection(SolutionProperties) = preSolution 29 | HideSolutionNode = FALSE 30 | EndGlobalSection 31 | GlobalSection(ExtensibilityGlobals) = postSolution 32 | SolutionGuid = {3CE7A5C5-3489-428D-B8E6-736902DBBC51} 33 | EndGlobalSection 34 | EndGlobal 35 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Themes/Button_RoundedCorners.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 35 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/bin/Debug/Groups/Fortuna: -------------------------------------------------------------------------------- 1 | {"GroupName":"Fortuna","GroupConnections":[{"ConnectionName":"1001","ConnectionDescription":"Enc 6120","ConnectionStatus":"Available","ConnectionAdress":"segaee0015.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"1002","ConnectionDescription":"Rbs 6101","ConnectionStatus":"Unknown","ConnectionAdress":"segaee0031.eipu.ericsson,se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"1003","ConnectionDescription":"Enc 6150","ConnectionStatus":"Available","ConnectionAdress":"segaee0029.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"1004","ConnectionDescription":"Enc 6360","ConnectionStatus":"Occupied","ConnectionAdress":"segaee0021.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"1005","ConnectionDescription":"Enc 6130","ConnectionStatus":"Available","ConnectionAdress":"segaee0035.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"1006","ConnectionDescription":"Enc 6140","ConnectionStatus":"Occupied","ConnectionAdress":"segaee0036.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"1007","ConnectionDescription":"Power 6610/6306","ConnectionStatus":"Unknown","ConnectionAdress":"segaee0033.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"1009","ConnectionDescription":"Rbs 6102","ConnectionStatus":"Unknown","ConnectionAdress":"segaee0032.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"1010","ConnectionDescription":"BB-Rack","ConnectionStatus":"Available","ConnectionAdress":"segaee0042.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"1013","ConnectionDescription":"Enc 6330","ConnectionStatus":"Unknown","ConnectionAdress":"segaee0027.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"1014","ConnectionDescription":"Rbs 6301","ConnectionStatus":"Unknown","ConnectionAdress":"segaee0020.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"2003","ConnectionDescription":"Burn In","ConnectionStatus":"Unknown","ConnectionAdress":"segaee0007.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null},{"ConnectionName":"1011","ConnectionDescription":"Burn In","ConnectionStatus":"Available","ConnectionAdress":"segaee0034.eipu.ericsson.se","ConnectionID":null,"ConnectionUser":null}]} -------------------------------------------------------------------------------- /RemoteDesktopViewer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Resources; 3 | using System.Runtime.CompilerServices; 4 | using System.Runtime.InteropServices; 5 | using System.Windows; 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [assembly: AssemblyTitle("RemoteDesktopViewer")] 11 | [assembly: AssemblyDescription("")] 12 | [assembly: AssemblyConfiguration("")] 13 | [assembly: AssemblyCompany("")] 14 | [assembly: AssemblyProduct("RemoteDesktopViewer")] 15 | [assembly: AssemblyCopyright("Copyright © 2021")] 16 | [assembly: AssemblyTrademark("")] 17 | [assembly: AssemblyCulture("")] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [assembly: ComVisible(false)] 23 | 24 | //In order to begin building localizable applications, set 25 | //CultureYouAreCodingWith in your .csproj file 26 | //inside a . For example, if you are using US english 27 | //in your source files, set the to en-US. Then uncomment 28 | //the NeutralResourceLanguage attribute below. Update the "en-US" in 29 | //the line below to match the UICulture setting in the project file. 30 | 31 | //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] 32 | 33 | 34 | [assembly: ThemeInfo( 35 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 36 | //(used if a resource is not found in the page, 37 | // or application resource dictionaries) 38 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 39 | //(used if a resource is not found in the page, 40 | // app, or any theme specific resource dictionaries) 41 | )] 42 | 43 | 44 | // Version information for an assembly consists of the following four values: 45 | // 46 | // Major Version 47 | // Minor Version 48 | // Build Number 49 | // Revision 50 | // 51 | // You can specify all the values or you can default the Build and Revision Numbers 52 | // by using the '*' as shown below: 53 | // [assembly: AssemblyVersion("1.0.*")] 54 | [assembly: AssemblyVersion("1.0.0.0")] 55 | [assembly: AssemblyFileVersion("1.0.0.0")] 56 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/App.g.cs: -------------------------------------------------------------------------------- 1 | #pragma checksum "..\..\App.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "726EB1FD7A248DF6D3D95CCA25E08CA198A5ECF94126A0D9F0BE678C73B694B0" 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by a tool. 5 | // Runtime Version:4.0.30319.42000 6 | // 7 | // Changes to this file may cause incorrect behavior and will be lost if 8 | // the code is regenerated. 9 | // 10 | //------------------------------------------------------------------------------ 11 | 12 | using RemoteDesktopViewer; 13 | using System; 14 | using System.Diagnostics; 15 | using System.Windows; 16 | using System.Windows.Automation; 17 | using System.Windows.Controls; 18 | using System.Windows.Controls.Primitives; 19 | using System.Windows.Data; 20 | using System.Windows.Documents; 21 | using System.Windows.Ink; 22 | using System.Windows.Input; 23 | using System.Windows.Markup; 24 | using System.Windows.Media; 25 | using System.Windows.Media.Animation; 26 | using System.Windows.Media.Effects; 27 | using System.Windows.Media.Imaging; 28 | using System.Windows.Media.Media3D; 29 | using System.Windows.Media.TextFormatting; 30 | using System.Windows.Navigation; 31 | using System.Windows.Shapes; 32 | using System.Windows.Shell; 33 | 34 | 35 | namespace RemoteDesktopViewer { 36 | 37 | 38 | /// 39 | /// App 40 | /// 41 | public partial class App : System.Windows.Application { 42 | 43 | private bool _contentLoaded; 44 | 45 | /// 46 | /// InitializeComponent 47 | /// 48 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 49 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 50 | public void InitializeComponent() { 51 | if (_contentLoaded) { 52 | return; 53 | } 54 | _contentLoaded = true; 55 | System.Uri resourceLocater = new System.Uri("/RemoteDesktopViewer;component/app.xaml", System.UriKind.Relative); 56 | 57 | #line 1 "..\..\App.xaml" 58 | System.Windows.Application.LoadComponent(this, resourceLocater); 59 | 60 | #line default 61 | #line hidden 62 | } 63 | 64 | /// 65 | /// Application Entry Point. 66 | /// 67 | [System.STAThreadAttribute()] 68 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 69 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 70 | public static void Main() { 71 | RemoteDesktopViewer.App app = new RemoteDesktopViewer.App(); 72 | app.InitializeComponent(); 73 | app.Run(); 74 | } 75 | } 76 | } 77 | 78 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/App.g.i.cs: -------------------------------------------------------------------------------- 1 | #pragma checksum "..\..\App.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "726EB1FD7A248DF6D3D95CCA25E08CA198A5ECF94126A0D9F0BE678C73B694B0" 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by a tool. 5 | // Runtime Version:4.0.30319.42000 6 | // 7 | // Changes to this file may cause incorrect behavior and will be lost if 8 | // the code is regenerated. 9 | // 10 | //------------------------------------------------------------------------------ 11 | 12 | using RemoteDesktopViewer; 13 | using System; 14 | using System.Diagnostics; 15 | using System.Windows; 16 | using System.Windows.Automation; 17 | using System.Windows.Controls; 18 | using System.Windows.Controls.Primitives; 19 | using System.Windows.Data; 20 | using System.Windows.Documents; 21 | using System.Windows.Ink; 22 | using System.Windows.Input; 23 | using System.Windows.Markup; 24 | using System.Windows.Media; 25 | using System.Windows.Media.Animation; 26 | using System.Windows.Media.Effects; 27 | using System.Windows.Media.Imaging; 28 | using System.Windows.Media.Media3D; 29 | using System.Windows.Media.TextFormatting; 30 | using System.Windows.Navigation; 31 | using System.Windows.Shapes; 32 | using System.Windows.Shell; 33 | 34 | 35 | namespace RemoteDesktopViewer { 36 | 37 | 38 | /// 39 | /// App 40 | /// 41 | public partial class App : System.Windows.Application { 42 | 43 | private bool _contentLoaded; 44 | 45 | /// 46 | /// InitializeComponent 47 | /// 48 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 49 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 50 | public void InitializeComponent() { 51 | if (_contentLoaded) { 52 | return; 53 | } 54 | _contentLoaded = true; 55 | System.Uri resourceLocater = new System.Uri("/RemoteDesktopViewer;component/app.xaml", System.UriKind.Relative); 56 | 57 | #line 1 "..\..\App.xaml" 58 | System.Windows.Application.LoadComponent(this, resourceLocater); 59 | 60 | #line default 61 | #line hidden 62 | } 63 | 64 | /// 65 | /// Application Entry Point. 66 | /// 67 | [System.STAThreadAttribute()] 68 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 69 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 70 | public static void Main() { 71 | RemoteDesktopViewer.App app = new RemoteDesktopViewer.App(); 72 | app.InitializeComponent(); 73 | app.Run(); 74 | } 75 | } 76 | } 77 | 78 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/App.g.cs: -------------------------------------------------------------------------------- 1 | #pragma checksum "..\..\App.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "726EB1FD7A248DF6D3D95CCA25E08CA198A5ECF94126A0D9F0BE678C73B694B0" 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by a tool. 5 | // Runtime Version:4.0.30319.42000 6 | // 7 | // Changes to this file may cause incorrect behavior and will be lost if 8 | // the code is regenerated. 9 | // 10 | //------------------------------------------------------------------------------ 11 | 12 | using RemoteDesktopViewer; 13 | using System; 14 | using System.Diagnostics; 15 | using System.Windows; 16 | using System.Windows.Automation; 17 | using System.Windows.Controls; 18 | using System.Windows.Controls.Primitives; 19 | using System.Windows.Data; 20 | using System.Windows.Documents; 21 | using System.Windows.Ink; 22 | using System.Windows.Input; 23 | using System.Windows.Markup; 24 | using System.Windows.Media; 25 | using System.Windows.Media.Animation; 26 | using System.Windows.Media.Effects; 27 | using System.Windows.Media.Imaging; 28 | using System.Windows.Media.Media3D; 29 | using System.Windows.Media.TextFormatting; 30 | using System.Windows.Navigation; 31 | using System.Windows.Shapes; 32 | using System.Windows.Shell; 33 | 34 | 35 | namespace RemoteDesktopViewer { 36 | 37 | 38 | /// 39 | /// App 40 | /// 41 | public partial class App : System.Windows.Application { 42 | 43 | private bool _contentLoaded; 44 | 45 | /// 46 | /// InitializeComponent 47 | /// 48 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 49 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 50 | public void InitializeComponent() { 51 | if (_contentLoaded) { 52 | return; 53 | } 54 | _contentLoaded = true; 55 | System.Uri resourceLocater = new System.Uri("/RemoteDesktopViewer;component/app.xaml", System.UriKind.Relative); 56 | 57 | #line 1 "..\..\App.xaml" 58 | System.Windows.Application.LoadComponent(this, resourceLocater); 59 | 60 | #line default 61 | #line hidden 62 | } 63 | 64 | /// 65 | /// Application Entry Point. 66 | /// 67 | [System.STAThreadAttribute()] 68 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 69 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 70 | public static void Main() { 71 | RemoteDesktopViewer.App app = new RemoteDesktopViewer.App(); 72 | app.InitializeComponent(); 73 | app.Run(); 74 | } 75 | } 76 | } 77 | 78 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/App.g.i.cs: -------------------------------------------------------------------------------- 1 | #pragma checksum "..\..\App.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "726EB1FD7A248DF6D3D95CCA25E08CA198A5ECF94126A0D9F0BE678C73B694B0" 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by a tool. 5 | // Runtime Version:4.0.30319.42000 6 | // 7 | // Changes to this file may cause incorrect behavior and will be lost if 8 | // the code is regenerated. 9 | // 10 | //------------------------------------------------------------------------------ 11 | 12 | using RemoteDesktopViewer; 13 | using System; 14 | using System.Diagnostics; 15 | using System.Windows; 16 | using System.Windows.Automation; 17 | using System.Windows.Controls; 18 | using System.Windows.Controls.Primitives; 19 | using System.Windows.Data; 20 | using System.Windows.Documents; 21 | using System.Windows.Ink; 22 | using System.Windows.Input; 23 | using System.Windows.Markup; 24 | using System.Windows.Media; 25 | using System.Windows.Media.Animation; 26 | using System.Windows.Media.Effects; 27 | using System.Windows.Media.Imaging; 28 | using System.Windows.Media.Media3D; 29 | using System.Windows.Media.TextFormatting; 30 | using System.Windows.Navigation; 31 | using System.Windows.Shapes; 32 | using System.Windows.Shell; 33 | 34 | 35 | namespace RemoteDesktopViewer { 36 | 37 | 38 | /// 39 | /// App 40 | /// 41 | public partial class App : System.Windows.Application { 42 | 43 | private bool _contentLoaded; 44 | 45 | /// 46 | /// InitializeComponent 47 | /// 48 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 49 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 50 | public void InitializeComponent() { 51 | if (_contentLoaded) { 52 | return; 53 | } 54 | _contentLoaded = true; 55 | System.Uri resourceLocater = new System.Uri("/RemoteDesktopViewer;component/app.xaml", System.UriKind.Relative); 56 | 57 | #line 1 "..\..\App.xaml" 58 | System.Windows.Application.LoadComponent(this, resourceLocater); 59 | 60 | #line default 61 | #line hidden 62 | } 63 | 64 | /// 65 | /// Application Entry Point. 66 | /// 67 | [System.STAThreadAttribute()] 68 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 69 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 70 | public static void Main() { 71 | RemoteDesktopViewer.App app = new RemoteDesktopViewer.App(); 72 | app.InitializeComponent(); 73 | app.Run(); 74 | } 75 | } 76 | } 77 | 78 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Model/ConnectionModel.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | 4 | namespace RemoteDesktopViewer.Model 5 | { 6 | public class ConnectionModel : BaseModel 7 | { 8 | private string connectionName; 9 | private string connectionDescription; 10 | private string connectionStatus; 11 | private string connectionAdress; 12 | private string connectionID; 13 | private string connectionUser; 14 | private DateTime lastUpdated; 15 | 16 | 17 | public string ConnectionName 18 | { 19 | get 20 | { 21 | return connectionName; 22 | } 23 | set 24 | { 25 | connectionName = value; 26 | OnPropertyChanged("ConnectionName"); 27 | } 28 | } 29 | 30 | public string ConnectionDescription 31 | { 32 | get 33 | { 34 | return connectionDescription; 35 | } 36 | set 37 | { 38 | connectionDescription = value; 39 | OnPropertyChanged("ConnectionDescription"); 40 | } 41 | } 42 | 43 | public string ConnectionStatus 44 | { 45 | get 46 | { 47 | return connectionStatus; 48 | } 49 | set 50 | { 51 | connectionStatus = value; 52 | OnPropertyChanged("ConnectionStatus"); 53 | } 54 | } 55 | 56 | public string ConnectionAdress 57 | { 58 | get 59 | { 60 | return connectionAdress; 61 | } 62 | set 63 | { 64 | connectionAdress = value; 65 | OnPropertyChanged("ConnectionAdress"); 66 | } 67 | } 68 | 69 | public string ConnectionID 70 | { 71 | get 72 | { 73 | return connectionID; 74 | } 75 | set 76 | { 77 | connectionID = value; 78 | OnPropertyChanged("ConnectionID"); 79 | } 80 | } 81 | 82 | public string ConnectionUser 83 | { 84 | get 85 | { 86 | return connectionUser; 87 | } 88 | set 89 | { 90 | connectionUser = value; 91 | OnPropertyChanged("ConnectionUser"); 92 | } 93 | } 94 | 95 | public DateTime LastUpdated 96 | { 97 | get 98 | { 99 | return lastUpdated; 100 | } 101 | set 102 | { 103 | lastUpdated = value; 104 | OnPropertyChanged("LastUpdated"); 105 | } 106 | } 107 | } 108 | } 109 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | 12 | namespace RemoteDesktopViewer.Properties 13 | { 14 | /// 15 | /// A strongly-typed resource class, for looking up localized strings, etc. 16 | /// 17 | // This class was auto-generated by the StronglyTypedResourceBuilder 18 | // class via a tool like ResGen or Visual Studio. 19 | // To add or remove a member, edit your .ResX file then rerun ResGen 20 | // with the /str option, or rebuild your VS project. 21 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 22 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 23 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 24 | internal class Resources 25 | { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() 33 | { 34 | } 35 | 36 | /// 37 | /// Returns the cached ResourceManager instance used by this class. 38 | /// 39 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 40 | internal static global::System.Resources.ResourceManager ResourceManager 41 | { 42 | get 43 | { 44 | if ((resourceMan == null)) 45 | { 46 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RemoteDesktopViewer.Properties.Resources", typeof(Resources).Assembly); 47 | resourceMan = temp; 48 | } 49 | return resourceMan; 50 | } 51 | } 52 | 53 | /// 54 | /// Overrides the current thread's CurrentUICulture property for all 55 | /// resource lookups using this strongly typed resource class. 56 | /// 57 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 58 | internal static global::System.Globalization.CultureInfo Culture 59 | { 60 | get 61 | { 62 | return resourceCulture; 63 | } 64 | set 65 | { 66 | resourceCulture = value; 67 | } 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Functionality/ConnectionManager.cs: -------------------------------------------------------------------------------- 1 | using RemoteDesktopViewer.Model; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Diagnostics; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | using System.Windows; 9 | 10 | namespace RemoteDesktopViewer.Functionality 11 | { 12 | public class ConnectionManager 13 | { 14 | public void ConnectToStation(ConnectionModel station, bool takeover) 15 | { 16 | if (station == null) 17 | { 18 | return; 19 | } 20 | 21 | if (station.ConnectionStatus == "Occupied" && !takeover) 22 | { 23 | MessageBox.Show("This station is currently occupied by another user.\nRight-Click allows sesison join/take over", "Session Occupied"); 24 | return; 25 | } 26 | 27 | string process = ""; 28 | process += " /v:" + station.ConnectionAdress; 29 | 30 | Process RemoteConnectProcess = new Process 31 | { 32 | StartInfo = new ProcessStartInfo 33 | { 34 | FileName = "mstsc.exe", 35 | Arguments = process, 36 | CreateNoWindow = true, 37 | WindowStyle = ProcessWindowStyle.Maximized, 38 | RedirectStandardOutput = true, 39 | UseShellExecute = false 40 | } 41 | }; 42 | 43 | RemoteConnectProcess.Start(); 44 | RemoteConnectProcess.WaitForInputIdle(); 45 | Connected(station); 46 | 47 | var outputResultPromise = RemoteConnectProcess.StandardOutput.ReadToEndAsync(); 48 | outputResultPromise.ContinueWith(o => Disconnected(station)); 49 | } 50 | 51 | public void JoinStation(ConnectionModel connectionModel) 52 | { 53 | if (connectionModel.ConnectionID != null) 54 | { 55 | MessageBoxResult overtake = MessageBox.Show($"This station is currently being used by another user. \nWould you like to join the session?", "Session Occupied", MessageBoxButton.YesNo); 56 | if (overtake == MessageBoxResult.Yes) 57 | { 58 | Process shadowProcess = new Process 59 | { 60 | StartInfo = new ProcessStartInfo 61 | { 62 | FileName = "mstsc.exe", 63 | Arguments = $"/shadow:{connectionModel.ConnectionID} /v:{connectionModel.ConnectionAdress} /control", 64 | CreateNoWindow = true 65 | } 66 | }; 67 | 68 | shadowProcess.Start(); 69 | shadowProcess.WaitForExit(); 70 | } 71 | } 72 | } 73 | 74 | private void Connected(ConnectionModel station) 75 | { 76 | station.ConnectionStatus = "Occupied"; 77 | } 78 | 79 | private void Disconnected(ConnectionModel station) 80 | { 81 | station.ConnectionStatus = "Available"; 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/MainWindow.g.i.cs: -------------------------------------------------------------------------------- 1 | #pragma checksum "..\..\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "160836C10AD42E04EA7C31565CF79C3FC54BC2DA967B0344D62DB1D1DF0529DC" 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by a tool. 5 | // Runtime Version:4.0.30319.42000 6 | // 7 | // Changes to this file may cause incorrect behavior and will be lost if 8 | // the code is regenerated. 9 | // 10 | //------------------------------------------------------------------------------ 11 | 12 | using RemoteDesktopViewer; 13 | using System; 14 | using System.Diagnostics; 15 | using System.Windows; 16 | using System.Windows.Automation; 17 | using System.Windows.Controls; 18 | using System.Windows.Controls.Primitives; 19 | using System.Windows.Data; 20 | using System.Windows.Documents; 21 | using System.Windows.Ink; 22 | using System.Windows.Input; 23 | using System.Windows.Markup; 24 | using System.Windows.Media; 25 | using System.Windows.Media.Animation; 26 | using System.Windows.Media.Effects; 27 | using System.Windows.Media.Imaging; 28 | using System.Windows.Media.Media3D; 29 | using System.Windows.Media.TextFormatting; 30 | using System.Windows.Navigation; 31 | using System.Windows.Shapes; 32 | using System.Windows.Shell; 33 | 34 | 35 | namespace RemoteDesktopViewer { 36 | 37 | 38 | /// 39 | /// MainWindow 40 | /// 41 | public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector { 42 | 43 | private bool _contentLoaded; 44 | 45 | /// 46 | /// InitializeComponent 47 | /// 48 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 49 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 50 | public void InitializeComponent() { 51 | if (_contentLoaded) { 52 | return; 53 | } 54 | _contentLoaded = true; 55 | System.Uri resourceLocater = new System.Uri("/RemoteDesktopViewer;component/mainwindow.xaml", System.UriKind.Relative); 56 | 57 | #line 1 "..\..\MainWindow.xaml" 58 | System.Windows.Application.LoadComponent(this, resourceLocater); 59 | 60 | #line default 61 | #line hidden 62 | } 63 | 64 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 65 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 66 | [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] 67 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] 68 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] 69 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] 70 | void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { 71 | this._contentLoaded = true; 72 | } 73 | } 74 | } 75 | 76 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/RemoteDesktopViewer.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Debug\RemoteDesktopViewer.exe.config 2 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Debug\RemoteDesktopViewer.exe 3 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Debug\RemoteDesktopViewer.pdb 4 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\View\MainWindow.g.cs 5 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\App.g.cs 6 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\RemoteDesktopViewer_MarkupCompile.cache 7 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\RemoteDesktopViewer_MarkupCompile.lref 8 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\View\MainWindow.baml 9 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\RemoteDesktopViewer.g.resources 10 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\RemoteDesktopViewer.Properties.Resources.resources 11 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\RemoteDesktopViewer.csproj.GenerateResource.cache 12 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\RemoteDesktopViewer.csproj.CoreCompileInputs.cache 13 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\RemoteDesktopViewer.exe 14 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\RemoteDesktopViewer.pdb 15 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Debug\System.Windows.Controls.Input.Toolkit.dll 16 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Debug\System.Windows.Controls.Layout.Toolkit.dll 17 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Debug\WPFToolkit.dll 18 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\Themes\Metro\Metro.MSControls.Core.Implicit.baml 19 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\Themes\Metro\Metro.MSControls.Toolkit.Implicit.baml 20 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\Themes\Metro\Styles.Shared.baml 21 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\Themes\Metro\Styles.WPF.baml 22 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\Themes\Metro\Theme.Colors.baml 23 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\App.baml 24 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\RemoteDesktopViewer.csproj.CopyComplete 25 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\View\GroupManagerWindow.g.cs 26 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\View\GroupManagerWindow.baml 27 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\Themes\DataGridRD.baml 28 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\Themes\Button_RoundedCorners.baml 29 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Debug\Newtonsoft.Json.dll 30 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Debug\Newtonsoft.Json.xml 31 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Debug\RemoteDesktopViewer.csprojAssemblyReference.cache 32 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Themes/DataGridRD.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 20 | 21 | 22 | 23 | 24 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Remote Desktop Viewer 2 | Creator: `Erik Rodriguez` 3 | 4 | Date published: `2021-05-17` 5 | 6 | Download: [Version 2.0.3](https://github.com/Luffiez/RemoteDesktopViewer/releases/tag/2.0.3) 7 | 8 | [![Build Status](https://dev.azure.com/Luffiez123/Remote%20Desktop%20Viewer/_apis/build/status/Luffiez.RemoteDesktopViewer?branchName=master)](https://dev.azure.com/Luffiez123/Remote%20Desktop%20Viewer/_build/latest?definitionId=2&branchName=master) 9 | 10 | 11 | 12 | ## What is it? 13 | Remote Desktop Viewer is an open-source program which allows the user to maintain multiple RDP (Remote Desktop Protocol) connections. The program uses the Windows integrated application `Remote Desktop Connection` to maintain a connection between two desktops. 14 | 15 | The application is built with WPF and the .NET Framework 4.7.2 for Windows Applications. 16 | 17 | ![](Images/RemoteDesktopViewer.png) 18 | ![](Images/RemoteDesktopViewer_GroupSettings.png) 19 | 20 | Two built-in client softwares are used as the base of this program. 21 | 22 | ### Mstsc.exe 23 | mstsc.exe is the built-in client software which allows connecting to a computer via Remote Desktop Protocol (RDP). It is a special network protocol which allows a user to establish a connection between two computers and access the Desktop of a remote host. 24 | 25 | More info about it can be found [here](https://winaero.com/blog/mstsc-exe-command-line-arguments/#:~:text=Remote%20Desktop%20(mstsc.exe)%20Command%20Line%20Arguments,Desktop%20of%20a%20remote%20host.). 26 | 27 | ### Qusuer 28 | Quser (query user) is a built-in Windows command line tool that is particularly useful when needing to identify active user sessions on a computer. This feature exists in regular Windows versions as well as Windows Server. 29 | 30 | More info about it can be found [here](https://qtechbabble.wordpress.com/2017/04/07/use-quser-to-view-which-accounts-are-logged-inremoted-in-to-a-computer/). 31 | 32 | ## Why use it? 33 | This program makes it a lot easier to keep track of and manage multiple connections. The user can easily create new groups, connections and also manage or remove existing ones. The program also allows for exporting and importing a group (json-files), which helps if the program is used on multiple computers. 34 | 35 | - Name 36 | - Specifies a name for the connection. 37 | - Description 38 | - Describes the connection 39 | - Status 40 | - Indicates if the connection is available, occupied or if its state is unknown. 41 | - Adress 42 | - refers to the connections ip-address. This could be a local or a remote address (as long ass you have access to it). 43 | 44 | ## How to use it? 45 | If you do not wish to perform any changes of your own, simple download the .msi-file and run it to install the application. 46 | 47 | Once started, you can import or create a new connection group by right-clicking in the empty area under "Groups". 48 | 49 | Double-click on a connection to attempt to connect to it. You can also right-click a selected station for additional functions, such as: 50 | 51 | ### Join Sessions 52 | This option is only available if the connection is currently occupied. A request will be sent to active user asking if you may join the connection, allowing both of you to be connected at the same time (you as a session guest). 53 | 54 | ### Take Over 55 | This option is also only available if the connection is currently occupied. This throws out the current user and allows you to take over the session. 56 | 57 | 58 | ## Other 59 | 60 | The icon used for the program was created by **Smashicons** and can be found [here](https://www.flaticon.com/free-icon/screens_2489379). 61 | 62 | 63 | ## Older versions 64 | [Version 1.0](https://github.com/Luffiez/RemoteDesktopViewer/releases/tag/Version_1) 65 | ___ 66 | Erik Rodriguez, 2020 67 | 68 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Functionality/GroupManager.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using RemoteDesktopViewer.Model; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Collections.ObjectModel; 6 | using System.IO; 7 | using System.Linq; 8 | using System.Windows; 9 | 10 | namespace RemoteDesktopViewer.Functionality 11 | { 12 | public static class GroupManager 13 | { 14 | public static string GROUP_PATH = $"{Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)}\\RemoteDesktopViewer\\Groups\\"; 15 | public static ObservableCollection LoadGroups() 16 | { 17 | 18 | if (!Directory.Exists(GROUP_PATH)) 19 | Directory.CreateDirectory(GROUP_PATH); 20 | 21 | List jsonFiles = new List(); 22 | ObservableCollection groups = new ObservableCollection(); 23 | 24 | var files = Directory.GetFiles(GROUP_PATH); 25 | if (files.Length == 0) 26 | return groups; 27 | 28 | jsonFiles.AddRange(files); 29 | 30 | foreach (string file in jsonFiles) 31 | { 32 | string jsonGroup = File.ReadAllText(file); 33 | groups.Add(JsonConvert.DeserializeObject(jsonGroup)); 34 | } 35 | 36 | return groups; 37 | } 38 | 39 | public static void SaveGroup(ConnectionGroupModel originalGroupSettings, ConnectionGroupModel groupToSave) 40 | { 41 | if (groupToSave == null) 42 | return; 43 | 44 | string jsonGroup = JsonConvert.SerializeObject(groupToSave); 45 | 46 | if (!Directory.Exists(GROUP_PATH)) 47 | Directory.CreateDirectory(GROUP_PATH); 48 | 49 | if (originalGroupSettings != null && File.Exists(Path.Combine(GROUP_PATH, originalGroupSettings.GroupName))) 50 | File.Delete(Path.Combine(GROUP_PATH, originalGroupSettings.GroupName)); 51 | 52 | File.WriteAllText(Path.Combine(GROUP_PATH, groupToSave.GroupName), jsonGroup); 53 | } 54 | 55 | public static void DeleteGroup(ConnectionGroupModel group) 56 | { 57 | string filePath = Path.Combine(GROUP_PATH, group.GroupName); 58 | 59 | if (File.Exists(filePath)) 60 | { 61 | File.Delete(filePath); 62 | } 63 | } 64 | 65 | public static ConnectionGroupModel ImportGroup(string path) 66 | { 67 | string groupJson = File.ReadAllText(path); 68 | ConnectionGroupModel groupModel = JsonConvert.DeserializeObject(groupJson); 69 | 70 | string destinationPath = Path.Combine(GROUP_PATH + groupModel.GroupName); 71 | 72 | File.WriteAllText(destinationPath, groupJson); 73 | 74 | return groupModel; 75 | } 76 | 77 | public static void Sort(this ObservableCollection collection) 78 | where T : IComparable, IEquatable 79 | { 80 | List sorted = collection.OrderBy(x => x).ToList(); 81 | 82 | int ptr = 0; 83 | while (ptr < sorted.Count - 1) 84 | { 85 | if (!collection[ptr].Equals(sorted[ptr])) 86 | { 87 | int idx = search(collection, ptr + 1, sorted[ptr]); 88 | collection.Move(idx, ptr); 89 | } 90 | 91 | ptr++; 92 | } 93 | } 94 | 95 | public static int search(ObservableCollection collection, int startIndex, T other) 96 | { 97 | for (int i = startIndex; i < collection.Count; i++) 98 | { 99 | if (other.Equals(collection[i])) 100 | return i; 101 | } 102 | 103 | return -1; // decide how to handle error case 104 | } 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Functionality/UpdateConnectionStatus.cs: -------------------------------------------------------------------------------- 1 | using RemoteDesktopViewer.Model; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Diagnostics; 5 | using System.Linq; 6 | using System.Runtime.InteropServices; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | 10 | namespace RemoteDesktopViewer.Functionality 11 | { 12 | public class UpdateConnectionStatus 13 | { 14 | #region DLLImports - quser is a 32-bit command 15 | [DllImport("kernel32.dll", SetLastError = true)] 16 | public static extern int Wow64DisableWow64FsRedirection(ref IntPtr ptr); 17 | [DllImport("kernel32.dll", SetLastError = true)] 18 | public static extern int Wow64EnableWow64FsRedirection(ref IntPtr ptr); 19 | [DllImport("kernel32.dll", SetLastError = true)] 20 | public static extern int Wow64RevertWow64FsRedirection(ref IntPtr ptr); 21 | #endregion 22 | 23 | public async Task GetConnectionStatus(ConnectionModel connection) 24 | { 25 | IntPtr val = IntPtr.Zero; 26 | Wow64DisableWow64FsRedirection(ref val); 27 | 28 | // Setup quser-process info 29 | Process proc = new Process 30 | { 31 | StartInfo = new ProcessStartInfo 32 | { 33 | FileName = "cmd.exe", 34 | Arguments = "/c quser /server:" + connection.ConnectionAdress, 35 | UseShellExecute = false, 36 | RedirectStandardOutput = true, 37 | CreateNoWindow = true, 38 | } 39 | }; 40 | 41 | List lines = new List(); 42 | 43 | //Start the process 44 | proc.Start(); 45 | string status = "Unknown"; 46 | string sessionID = string.Empty; 47 | string user = string.Empty; 48 | 49 | // Listen for all output by process 50 | while (!proc.StandardOutput.EndOfStream) 51 | { 52 | // Read every line that is output, this waits until new line is available. 53 | string line = proc.StandardOutput.ReadLine(); 54 | if (line != null) 55 | { 56 | lines.Add(line.ToLower()); 57 | } 58 | 59 | // If lines contains more than 1, users listed on station. 60 | if (lines.Count > 1) 61 | { 62 | // Split all lines between spaces 63 | List connectionDetails = new List(); 64 | connectionDetails.AddRange(lines[1].Split(' ')); 65 | connectionDetails = connectionDetails.Where(s => !string.IsNullOrWhiteSpace(s)).ToList(); 66 | 67 | // Found what we wanted from the process, it can be disposed 68 | proc.Dispose(); 69 | Wow64EnableWow64FsRedirection(ref val); 70 | 71 | // If one of the split strings contains 'active', then there is an active connection. 72 | if (connectionDetails.Count > 3 && connectionDetails[3] == "active") 73 | { 74 | // ConnectionDetails[2] contains the RDP-ID for the active session, 75 | // needed if we want to join this session. 76 | sessionID = connectionDetails[2]; 77 | 78 | //connectione exists and is occupied 79 | status = "Occupied"; 80 | 81 | //Set connected user 82 | user = connectionDetails[0]; 83 | break; 84 | } 85 | 86 | //connection exists and is available, no ID is joinable. 87 | status = "Available"; 88 | break; 89 | } 90 | } 91 | 92 | proc.Dispose(); 93 | Wow64EnableWow64FsRedirection(ref val); 94 | 95 | connection.ConnectionStatus = status; 96 | connection.ConnectionID = sessionID; 97 | connection.ConnectionUser = user; 98 | 99 | } 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/ViewModel/GroupManagerViewModel.cs: -------------------------------------------------------------------------------- 1 | using RemoteDesktopViewer.Functionality; 2 | using RemoteDesktopViewer.Model; 3 | using RemoteDesktopViewer.View; 4 | using System; 5 | using System.Collections.ObjectModel; 6 | 7 | namespace RemoteDesktopViewer.ViewModel 8 | { 9 | public class GroupManagerViewModel 10 | { 11 | private ConnectionGroupModel currentModel; 12 | private ConnectionGroupModel originalModel; 13 | 14 | public event EventHandler GroupUpdated; 15 | 16 | GroupManagerWindow window; 17 | 18 | public ConnectionGroupModel CurrentModel 19 | { 20 | get { return currentModel; } 21 | set { currentModel = value; } 22 | } 23 | 24 | private void OnGroupUpdated() 25 | { 26 | EventHandler localCopy = GroupUpdated; 27 | 28 | if(localCopy != null) 29 | { 30 | localCopy(this, CurrentModel); 31 | } 32 | } 33 | 34 | public GroupManagerViewModel() 35 | { 36 | CurrentModel = new ConnectionGroupModel(); 37 | } 38 | 39 | public void OpenWindow_Edit(ConnectionGroupModel groupToEdit) 40 | { 41 | originalModel = groupToEdit; 42 | CurrentModel = CreateCopy(groupToEdit); 43 | window = new GroupManagerWindow(this); 44 | window.Show(); 45 | } 46 | 47 | private ConnectionGroupModel CreateCopy(ConnectionGroupModel model) 48 | { 49 | ConnectionGroupModel copy = new ConnectionGroupModel(); 50 | 51 | copy.GroupName = new string(model.GroupName.ToCharArray()); 52 | ObservableCollection connections = new ObservableCollection(); 53 | 54 | foreach (ConnectionModel conn in model.GroupConnections) 55 | { 56 | ConnectionModel newConn = new ConnectionModel(); 57 | 58 | newConn.ConnectionName = conn.ConnectionName; 59 | newConn.ConnectionDescription = conn.ConnectionDescription; 60 | newConn.ConnectionStatus = conn.ConnectionStatus; 61 | newConn.ConnectionAdress = conn.ConnectionAdress; 62 | 63 | connections.Add(newConn); 64 | } 65 | copy.GroupConnections = connections; 66 | return copy; 67 | } 68 | 69 | internal void DeleteConnection(ConnectionModel connectionToDelete) 70 | { 71 | if (CurrentModel.GroupConnections.Contains(connectionToDelete)) 72 | { 73 | CurrentModel.GroupConnections.Remove(connectionToDelete); 74 | } 75 | } 76 | 77 | public void OpenWindow_Create() 78 | { 79 | CurrentModel = new ConnectionGroupModel(); 80 | currentModel.GroupConnections = new ObservableCollection(); 81 | window = new GroupManagerWindow(this); 82 | window.ShowDialog(); 83 | } 84 | 85 | internal void SaveGroup() 86 | { 87 | GroupManager.SaveGroup(originalModel, CurrentModel); 88 | OnGroupUpdated(); 89 | } 90 | 91 | internal void CreateNewConnection() 92 | { 93 | ConnectionModel newConnection = new ConnectionModel(); 94 | newConnection.ConnectionName = "New Connection"; 95 | newConnection.ConnectionDescription = "???"; 96 | newConnection.ConnectionStatus = "???"; 97 | newConnection.ConnectionAdress = "???"; 98 | 99 | ObservableCollection updatedGroup = new ObservableCollection(); 100 | if (CurrentModel.GroupConnections != null) 101 | { 102 | foreach (var connection in currentModel.GroupConnections) 103 | { 104 | updatedGroup.Add(connection); 105 | } 106 | } 107 | else 108 | CurrentModel.GroupConnections = new ObservableCollection(); 109 | 110 | updatedGroup.Add(newConnection); 111 | 112 | CurrentModel.GroupConnections = updatedGroup; 113 | } 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Themes/Metro/Theme.Colors.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | #FF282828 17 | #FF3F3F3F 18 | #FF565656 19 | #FF858585 20 | #FFB9B9B9 21 | #FFD7D7D7 22 | #FFE7E7E7 23 | #FFF4F4F4 24 | #FFF9F9F9 25 | #FFFFFFFF 26 | 27 | 28 | #E5FFFFFF 29 | #BFFFFFFF 30 | #99FFFFFF 31 | #72FFFFFF 32 | #4CFFFFFF 33 | #00FFFFFF 34 | 35 | 36 | #72000000 37 | #4C000000 38 | #26000000 39 | #00000000 40 | #66E2E2E2 41 | 42 | 43 | #FF0086AF 44 | #FF00AADE 45 | #FF80D5EF 46 | #FFB2E1EF 47 | #2600AADE 48 | 49 | 50 | #FFD0284C 51 | #FFF55E7F 52 | #FFFFCAD5 53 | 54 | 55 | #FF006481 56 | #FF8A9B0F 57 | #FF3E4700 58 | #FFF14D0F 59 | #FF8D2E00 60 | #FF81106B 61 | #FF410135 62 | #FFFCA910 63 | #FF8D4902 64 | #FF037A54 65 | #FF003F2A 66 | #FF154D85 67 | #FF02284D 68 | #FF543511 69 | #FF211303 70 | #FF89806D 71 | #FF393225 72 | #FF58458B 73 | #FF211347 74 | #7FB9B9B9 75 | #33565656 76 | #7F3F3F3F 77 | #FF686868 78 | #8000AADE 79 | #CC3F3F3F 80 | 81 | 82 | 83 | #FF0092BE 84 | #FF00AADE 85 | #FF2BB9E5 86 | #FF55C8EB 87 | #FF80D7F2 88 | 89 | -------------------------------------------------------------------------------- /packages/Infragistics.Themes.MetroLight.Wpf.1.0.0/content/Themes/Metro/Theme.Colors.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | #FF282828 17 | #FF3F3F3F 18 | #FF565656 19 | #FF858585 20 | #FFB9B9B9 21 | #FFD7D7D7 22 | #FFE7E7E7 23 | #FFF4F4F4 24 | #FFF9F9F9 25 | #FFFFFFFF 26 | 27 | 28 | #E5FFFFFF 29 | #BFFFFFFF 30 | #99FFFFFF 31 | #72FFFFFF 32 | #4CFFFFFF 33 | #00FFFFFF 34 | 35 | 36 | #72000000 37 | #4C000000 38 | #26000000 39 | #00000000 40 | #66E2E2E2 41 | 42 | 43 | #FF0086AF 44 | #FF00AADE 45 | #FF80D5EF 46 | #FFB2E1EF 47 | #2600AADE 48 | 49 | 50 | #FFD0284C 51 | #FFF55E7F 52 | #FFFFCAD5 53 | 54 | 55 | #FF006481 56 | #FF8A9B0F 57 | #FF3E4700 58 | #FFF14D0F 59 | #FF8D2E00 60 | #FF81106B 61 | #FF410135 62 | #FFFCA910 63 | #FF8D4902 64 | #FF037A54 65 | #FF003F2A 66 | #FF154D85 67 | #FF02284D 68 | #FF543511 69 | #FF211303 70 | #FF89806D 71 | #FF393225 72 | #FF58458B 73 | #FF211347 74 | #7FB9B9B9 75 | #33565656 76 | #7F3F3F3F 77 | #FF686868 78 | #8000AADE 79 | #CC3F3F3F 80 | 81 | 82 | 83 | #FF0092BE 84 | #FF00AADE 85 | #FF2BB9E5 86 | #FF55C8EB 87 | #FF80D7F2 88 | 89 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/View/GroupManagerWindow.xaml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 27 | 28 | Group Name: 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 58 | 70 | 71 | 72 | 73 | 85 | 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/View/GroupManagerWindow.g.cs: -------------------------------------------------------------------------------- 1 | #pragma checksum "..\..\..\View\GroupManagerWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "79BB995B1E1D6C154983DDC2071E4BC37CC3824EEA50DB8F5B64DD241D0AAF3B" 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by a tool. 5 | // Runtime Version:4.0.30319.42000 6 | // 7 | // Changes to this file may cause incorrect behavior and will be lost if 8 | // the code is regenerated. 9 | // 10 | //------------------------------------------------------------------------------ 11 | 12 | using System; 13 | using System.Diagnostics; 14 | using System.Windows; 15 | using System.Windows.Automation; 16 | using System.Windows.Controls; 17 | using System.Windows.Controls.Primitives; 18 | using System.Windows.Data; 19 | using System.Windows.Documents; 20 | using System.Windows.Ink; 21 | using System.Windows.Input; 22 | using System.Windows.Markup; 23 | using System.Windows.Media; 24 | using System.Windows.Media.Animation; 25 | using System.Windows.Media.Effects; 26 | using System.Windows.Media.Imaging; 27 | using System.Windows.Media.Media3D; 28 | using System.Windows.Media.TextFormatting; 29 | using System.Windows.Navigation; 30 | using System.Windows.Shapes; 31 | using System.Windows.Shell; 32 | 33 | 34 | namespace RemoteDesktopViewer.View { 35 | 36 | 37 | /// 38 | /// GroupManagerWindow 39 | /// 40 | public partial class GroupManagerWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector { 41 | 42 | 43 | #line 29 "..\..\..\View\GroupManagerWindow.xaml" 44 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 45 | internal System.Windows.Controls.TextBox GroupName; 46 | 47 | #line default 48 | #line hidden 49 | 50 | 51 | #line 36 "..\..\..\View\GroupManagerWindow.xaml" 52 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 53 | internal System.Windows.Controls.DataGrid ConnectionList; 54 | 55 | #line default 56 | #line hidden 57 | 58 | private bool _contentLoaded; 59 | 60 | /// 61 | /// InitializeComponent 62 | /// 63 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 64 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 65 | public void InitializeComponent() { 66 | if (_contentLoaded) { 67 | return; 68 | } 69 | _contentLoaded = true; 70 | System.Uri resourceLocater = new System.Uri("/RemoteDesktopViewer;component/view/groupmanagerwindow.xaml", System.UriKind.Relative); 71 | 72 | #line 1 "..\..\..\View\GroupManagerWindow.xaml" 73 | System.Windows.Application.LoadComponent(this, resourceLocater); 74 | 75 | #line default 76 | #line hidden 77 | } 78 | 79 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 80 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 81 | [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] 82 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] 83 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] 84 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] 85 | void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { 86 | switch (connectionId) 87 | { 88 | case 1: 89 | this.GroupName = ((System.Windows.Controls.TextBox)(target)); 90 | return; 91 | case 2: 92 | this.ConnectionList = ((System.Windows.Controls.DataGrid)(target)); 93 | return; 94 | case 3: 95 | 96 | #line 46 "..\..\..\View\GroupManagerWindow.xaml" 97 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.NewConnection_OnClick); 98 | 99 | #line default 100 | #line hidden 101 | return; 102 | case 4: 103 | 104 | #line 58 "..\..\..\View\GroupManagerWindow.xaml" 105 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.DeleteConnection_OnClick); 106 | 107 | #line default 108 | #line hidden 109 | return; 110 | case 5: 111 | 112 | #line 73 "..\..\..\View\GroupManagerWindow.xaml" 113 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Save_OnClick); 114 | 115 | #line default 116 | #line hidden 117 | return; 118 | case 6: 119 | 120 | #line 85 "..\..\..\View\GroupManagerWindow.xaml" 121 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Close_OnClick); 122 | 123 | #line default 124 | #line hidden 125 | return; 126 | } 127 | this._contentLoaded = true; 128 | } 129 | } 130 | } 131 | 132 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/View/GroupManagerWindow.g.i.cs: -------------------------------------------------------------------------------- 1 | #pragma checksum "..\..\..\View\GroupManagerWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "79BB995B1E1D6C154983DDC2071E4BC37CC3824EEA50DB8F5B64DD241D0AAF3B" 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by a tool. 5 | // Runtime Version:4.0.30319.42000 6 | // 7 | // Changes to this file may cause incorrect behavior and will be lost if 8 | // the code is regenerated. 9 | // 10 | //------------------------------------------------------------------------------ 11 | 12 | using System; 13 | using System.Diagnostics; 14 | using System.Windows; 15 | using System.Windows.Automation; 16 | using System.Windows.Controls; 17 | using System.Windows.Controls.Primitives; 18 | using System.Windows.Data; 19 | using System.Windows.Documents; 20 | using System.Windows.Ink; 21 | using System.Windows.Input; 22 | using System.Windows.Markup; 23 | using System.Windows.Media; 24 | using System.Windows.Media.Animation; 25 | using System.Windows.Media.Effects; 26 | using System.Windows.Media.Imaging; 27 | using System.Windows.Media.Media3D; 28 | using System.Windows.Media.TextFormatting; 29 | using System.Windows.Navigation; 30 | using System.Windows.Shapes; 31 | using System.Windows.Shell; 32 | 33 | 34 | namespace RemoteDesktopViewer.View { 35 | 36 | 37 | /// 38 | /// GroupManagerWindow 39 | /// 40 | public partial class GroupManagerWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector { 41 | 42 | 43 | #line 29 "..\..\..\View\GroupManagerWindow.xaml" 44 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 45 | internal System.Windows.Controls.TextBox GroupName; 46 | 47 | #line default 48 | #line hidden 49 | 50 | 51 | #line 36 "..\..\..\View\GroupManagerWindow.xaml" 52 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 53 | internal System.Windows.Controls.DataGrid ConnectionList; 54 | 55 | #line default 56 | #line hidden 57 | 58 | private bool _contentLoaded; 59 | 60 | /// 61 | /// InitializeComponent 62 | /// 63 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 64 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 65 | public void InitializeComponent() { 66 | if (_contentLoaded) { 67 | return; 68 | } 69 | _contentLoaded = true; 70 | System.Uri resourceLocater = new System.Uri("/RemoteDesktopViewer;component/view/groupmanagerwindow.xaml", System.UriKind.Relative); 71 | 72 | #line 1 "..\..\..\View\GroupManagerWindow.xaml" 73 | System.Windows.Application.LoadComponent(this, resourceLocater); 74 | 75 | #line default 76 | #line hidden 77 | } 78 | 79 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 80 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 81 | [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] 82 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] 83 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] 84 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] 85 | void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { 86 | switch (connectionId) 87 | { 88 | case 1: 89 | this.GroupName = ((System.Windows.Controls.TextBox)(target)); 90 | return; 91 | case 2: 92 | this.ConnectionList = ((System.Windows.Controls.DataGrid)(target)); 93 | return; 94 | case 3: 95 | 96 | #line 46 "..\..\..\View\GroupManagerWindow.xaml" 97 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.NewConnection_OnClick); 98 | 99 | #line default 100 | #line hidden 101 | return; 102 | case 4: 103 | 104 | #line 58 "..\..\..\View\GroupManagerWindow.xaml" 105 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.DeleteConnection_OnClick); 106 | 107 | #line default 108 | #line hidden 109 | return; 110 | case 5: 111 | 112 | #line 73 "..\..\..\View\GroupManagerWindow.xaml" 113 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Save_OnClick); 114 | 115 | #line default 116 | #line hidden 117 | return; 118 | case 6: 119 | 120 | #line 85 "..\..\..\View\GroupManagerWindow.xaml" 121 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Close_OnClick); 122 | 123 | #line default 124 | #line hidden 125 | return; 126 | } 127 | this._contentLoaded = true; 128 | } 129 | } 130 | } 131 | 132 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/View/GroupManagerWindow.g.cs: -------------------------------------------------------------------------------- 1 | #pragma checksum "..\..\..\View\GroupManagerWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "79BB995B1E1D6C154983DDC2071E4BC37CC3824EEA50DB8F5B64DD241D0AAF3B" 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by a tool. 5 | // Runtime Version:4.0.30319.42000 6 | // 7 | // Changes to this file may cause incorrect behavior and will be lost if 8 | // the code is regenerated. 9 | // 10 | //------------------------------------------------------------------------------ 11 | 12 | using System; 13 | using System.Diagnostics; 14 | using System.Windows; 15 | using System.Windows.Automation; 16 | using System.Windows.Controls; 17 | using System.Windows.Controls.Primitives; 18 | using System.Windows.Data; 19 | using System.Windows.Documents; 20 | using System.Windows.Ink; 21 | using System.Windows.Input; 22 | using System.Windows.Markup; 23 | using System.Windows.Media; 24 | using System.Windows.Media.Animation; 25 | using System.Windows.Media.Effects; 26 | using System.Windows.Media.Imaging; 27 | using System.Windows.Media.Media3D; 28 | using System.Windows.Media.TextFormatting; 29 | using System.Windows.Navigation; 30 | using System.Windows.Shapes; 31 | using System.Windows.Shell; 32 | 33 | 34 | namespace RemoteDesktopViewer.View { 35 | 36 | 37 | /// 38 | /// GroupManagerWindow 39 | /// 40 | public partial class GroupManagerWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector { 41 | 42 | 43 | #line 29 "..\..\..\View\GroupManagerWindow.xaml" 44 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 45 | internal System.Windows.Controls.TextBox GroupName; 46 | 47 | #line default 48 | #line hidden 49 | 50 | 51 | #line 36 "..\..\..\View\GroupManagerWindow.xaml" 52 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 53 | internal System.Windows.Controls.DataGrid ConnectionList; 54 | 55 | #line default 56 | #line hidden 57 | 58 | private bool _contentLoaded; 59 | 60 | /// 61 | /// InitializeComponent 62 | /// 63 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 64 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 65 | public void InitializeComponent() { 66 | if (_contentLoaded) { 67 | return; 68 | } 69 | _contentLoaded = true; 70 | System.Uri resourceLocater = new System.Uri("/RemoteDesktopViewer;component/view/groupmanagerwindow.xaml", System.UriKind.Relative); 71 | 72 | #line 1 "..\..\..\View\GroupManagerWindow.xaml" 73 | System.Windows.Application.LoadComponent(this, resourceLocater); 74 | 75 | #line default 76 | #line hidden 77 | } 78 | 79 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 80 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 81 | [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] 82 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] 83 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] 84 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] 85 | void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { 86 | switch (connectionId) 87 | { 88 | case 1: 89 | this.GroupName = ((System.Windows.Controls.TextBox)(target)); 90 | return; 91 | case 2: 92 | this.ConnectionList = ((System.Windows.Controls.DataGrid)(target)); 93 | return; 94 | case 3: 95 | 96 | #line 46 "..\..\..\View\GroupManagerWindow.xaml" 97 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.NewConnection_OnClick); 98 | 99 | #line default 100 | #line hidden 101 | return; 102 | case 4: 103 | 104 | #line 58 "..\..\..\View\GroupManagerWindow.xaml" 105 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.DeleteConnection_OnClick); 106 | 107 | #line default 108 | #line hidden 109 | return; 110 | case 5: 111 | 112 | #line 73 "..\..\..\View\GroupManagerWindow.xaml" 113 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Save_OnClick); 114 | 115 | #line default 116 | #line hidden 117 | return; 118 | case 6: 119 | 120 | #line 85 "..\..\..\View\GroupManagerWindow.xaml" 121 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Close_OnClick); 122 | 123 | #line default 124 | #line hidden 125 | return; 126 | } 127 | this._contentLoaded = true; 128 | } 129 | } 130 | } 131 | 132 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/View/GroupManagerWindow.g.i.cs: -------------------------------------------------------------------------------- 1 | #pragma checksum "..\..\..\View\GroupManagerWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "79BB995B1E1D6C154983DDC2071E4BC37CC3824EEA50DB8F5B64DD241D0AAF3B" 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by a tool. 5 | // Runtime Version:4.0.30319.42000 6 | // 7 | // Changes to this file may cause incorrect behavior and will be lost if 8 | // the code is regenerated. 9 | // 10 | //------------------------------------------------------------------------------ 11 | 12 | using System; 13 | using System.Diagnostics; 14 | using System.Windows; 15 | using System.Windows.Automation; 16 | using System.Windows.Controls; 17 | using System.Windows.Controls.Primitives; 18 | using System.Windows.Data; 19 | using System.Windows.Documents; 20 | using System.Windows.Ink; 21 | using System.Windows.Input; 22 | using System.Windows.Markup; 23 | using System.Windows.Media; 24 | using System.Windows.Media.Animation; 25 | using System.Windows.Media.Effects; 26 | using System.Windows.Media.Imaging; 27 | using System.Windows.Media.Media3D; 28 | using System.Windows.Media.TextFormatting; 29 | using System.Windows.Navigation; 30 | using System.Windows.Shapes; 31 | using System.Windows.Shell; 32 | 33 | 34 | namespace RemoteDesktopViewer.View { 35 | 36 | 37 | /// 38 | /// GroupManagerWindow 39 | /// 40 | public partial class GroupManagerWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector { 41 | 42 | 43 | #line 29 "..\..\..\View\GroupManagerWindow.xaml" 44 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 45 | internal System.Windows.Controls.TextBox GroupName; 46 | 47 | #line default 48 | #line hidden 49 | 50 | 51 | #line 36 "..\..\..\View\GroupManagerWindow.xaml" 52 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 53 | internal System.Windows.Controls.DataGrid ConnectionList; 54 | 55 | #line default 56 | #line hidden 57 | 58 | private bool _contentLoaded; 59 | 60 | /// 61 | /// InitializeComponent 62 | /// 63 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 64 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 65 | public void InitializeComponent() { 66 | if (_contentLoaded) { 67 | return; 68 | } 69 | _contentLoaded = true; 70 | System.Uri resourceLocater = new System.Uri("/RemoteDesktopViewer;component/view/groupmanagerwindow.xaml", System.UriKind.Relative); 71 | 72 | #line 1 "..\..\..\View\GroupManagerWindow.xaml" 73 | System.Windows.Application.LoadComponent(this, resourceLocater); 74 | 75 | #line default 76 | #line hidden 77 | } 78 | 79 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 80 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 81 | [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] 82 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] 83 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] 84 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] 85 | void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { 86 | switch (connectionId) 87 | { 88 | case 1: 89 | this.GroupName = ((System.Windows.Controls.TextBox)(target)); 90 | return; 91 | case 2: 92 | this.ConnectionList = ((System.Windows.Controls.DataGrid)(target)); 93 | return; 94 | case 3: 95 | 96 | #line 46 "..\..\..\View\GroupManagerWindow.xaml" 97 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.NewConnection_OnClick); 98 | 99 | #line default 100 | #line hidden 101 | return; 102 | case 4: 103 | 104 | #line 58 "..\..\..\View\GroupManagerWindow.xaml" 105 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.DeleteConnection_OnClick); 106 | 107 | #line default 108 | #line hidden 109 | return; 110 | case 5: 111 | 112 | #line 73 "..\..\..\View\GroupManagerWindow.xaml" 113 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Save_OnClick); 114 | 115 | #line default 116 | #line hidden 117 | return; 118 | case 6: 119 | 120 | #line 85 "..\..\..\View\GroupManagerWindow.xaml" 121 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Close_OnClick); 122 | 123 | #line default 124 | #line hidden 125 | return; 126 | } 127 | this._contentLoaded = true; 128 | } 129 | } 130 | } 131 | 132 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/View/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Diagnostics; 3 | using RemoteDesktopViewer.ViewModel; 4 | using RemoteDesktopViewer.Model; 5 | using System.Windows.Controls; 6 | using System.Windows.Input; 7 | using System; 8 | using RemoteDesktopViewer.Functionality; 9 | 10 | namespace RemoteDesktopViewer 11 | { 12 | /// 13 | /// Interaction logic for MainWindow.xaml 14 | /// 15 | public partial class MainWindow : Window 16 | { 17 | MainWindowViewModel mainWindowViewModel; 18 | GroupManagerViewModel groupManagerViewModel; 19 | 20 | public MainWindow(MainWindowViewModel _mainWindowViewModel, GroupManagerViewModel _groupManagerViewModel) 21 | { 22 | mainWindowViewModel = _mainWindowViewModel; 23 | groupManagerViewModel = _groupManagerViewModel; 24 | InitializeComponent(); 25 | } 26 | 27 | private void Click_Connect(object sender, RoutedEventArgs e) 28 | { 29 | var selectedItem = ConnectionList.SelectedItem; 30 | if (selectedItem is ConnectionModel item) 31 | { 32 | mainWindowViewModel.ConnectToStation(item); 33 | Debug.WriteLine("Clicked on connect: " + e.Source.ToString()); 34 | } 35 | } 36 | 37 | private void Click_TakeOver(object sender, RoutedEventArgs e) 38 | { 39 | var selectedItem = ConnectionList.SelectedItem; 40 | if (selectedItem is ConnectionModel item) 41 | { 42 | mainWindowViewModel.TakeOverStation(item); 43 | Debug.WriteLine("Clicked on take over: " + e.Source.ToString()); 44 | } 45 | } 46 | 47 | private void StationList_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e) 48 | { 49 | if (sender is ListView view) 50 | { 51 | if (view.SelectedIndex == -1) 52 | return; 53 | 54 | if(view.Items[view.SelectedIndex] is ConnectionModel connection) 55 | { 56 | if (connection.ConnectionStatus == "Occupied") 57 | { 58 | JoinSession_MenuItem.IsEnabled = true; 59 | TakeOver_MenuItem.IsEnabled = true; 60 | } 61 | else 62 | { 63 | JoinSession_MenuItem.IsEnabled = false; 64 | TakeOver_MenuItem.IsEnabled = false; 65 | } 66 | } 67 | } 68 | } 69 | 70 | //private void WindowActivated(object sender, EventArgs e) 71 | //{ 72 | // if(mainWindowViewModel != null) 73 | // mainWindowViewModel.UpdateGroupStatus(); 74 | //} 75 | 76 | private void RightClick_EditStation(object sender, RoutedEventArgs e) 77 | { 78 | Debug.WriteLine("Right-clicked on station: " + e.Source.ToString()); 79 | } 80 | 81 | private void Group_SelectionChanged(object sender, SelectionChangedEventArgs e) 82 | { 83 | if(e.AddedItems.Count > 0) 84 | { 85 | Debug.WriteLine("Group selection changed: " + e.AddedItems[0]); 86 | mainWindowViewModel.ChangeSelectedGroup(e.AddedItems[0] as ConnectionGroupModel); 87 | } 88 | } 89 | 90 | private void Connection_OnClick(object sender,MouseButtonEventArgs e) 91 | { 92 | if(ConnectionList.Items.Count > 0) 93 | mainWindowViewModel.UpdateConnectionStatus(ConnectionList.SelectedIndex); 94 | } 95 | 96 | private void Click_CreateGroup(object sender, RoutedEventArgs e) 97 | { 98 | groupManagerViewModel.OpenWindow_Create(); 99 | } 100 | 101 | private void Click_EditGroup(object sender, RoutedEventArgs e) 102 | { 103 | var selectedItem = GroupList.SelectedItem; 104 | if(selectedItem is ConnectionGroupModel item) 105 | { 106 | mainWindowViewModel.GroupBeingEdited = item; 107 | groupManagerViewModel.OpenWindow_Edit(item); 108 | } 109 | } 110 | 111 | private void Click_DeleteGroup(object sender, RoutedEventArgs e) 112 | { 113 | var selectedItem = GroupList.SelectedItem; 114 | if (selectedItem is ConnectionGroupModel group) 115 | { 116 | mainWindowViewModel.DeleteGroup(group); 117 | } 118 | } 119 | 120 | private void Click_Join(object sender, RoutedEventArgs e) 121 | { 122 | var selectedItem = ConnectionList.SelectedItem; 123 | if (selectedItem is ConnectionModel item && item.ConnectionID != null) 124 | { 125 | mainWindowViewModel.JoinStation(item); 126 | Debug.WriteLine("Clicked on connect: " + e.Source.ToString()); 127 | } 128 | } 129 | 130 | private void Click_ImportGroup(object sender, RoutedEventArgs e) 131 | { 132 | mainWindowViewModel.ImportGroup(); 133 | } 134 | 135 | private void Click_ExportGroup(object sender, RoutedEventArgs e) 136 | { 137 | // opens the folder in explorer 138 | Process.Start("explorer.exe", GroupManager.GROUP_PATH); 139 | } 140 | 141 | private void Click_Refresh(object sender, RoutedEventArgs e) 142 | { 143 | if (mainWindowViewModel != null) 144 | mainWindowViewModel.RefreshGroupList(); 145 | } 146 | 147 | private void HyperLink_Luffiez(object sender, System.Windows.Navigation.RequestNavigateEventArgs e) 148 | { 149 | System.Diagnostics.Process.Start(e.Uri.ToString()); 150 | } 151 | } 152 | } 153 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 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 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/RemoteDesktopViewer.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\RemoteDesktopViewer.exe.config 2 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\RemoteDesktopViewer.exe 3 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\RemoteDesktopViewer.pdb 4 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\Newtonsoft.Json.dll 5 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\System.Windows.Controls.Input.Toolkit.dll 6 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\System.Windows.Controls.Layout.Toolkit.dll 7 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\WPFToolkit.dll 8 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\Newtonsoft.Json.xml 9 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\Themes\DataGridRD.baml 10 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\Themes\Metro\Metro.MSControls.Core.Implicit.baml 11 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\Themes\Metro\Metro.MSControls.Toolkit.Implicit.baml 12 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\Themes\Metro\Styles.Shared.baml 13 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\Themes\Metro\Styles.WPF.baml 14 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\Themes\Metro\Theme.Colors.baml 15 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\View\GroupManagerWindow.baml 16 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\View\GroupManagerWindow.g.cs 17 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\View\MainWindow.g.cs 18 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\App.g.cs 19 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer_MarkupCompile.cache 20 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer_MarkupCompile.lref 21 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\App.baml 22 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\Themes\Button_RoundedCorners.baml 23 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\View\MainWindow.baml 24 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.g.resources 25 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.Properties.Resources.resources 26 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.csproj.GenerateResource.cache 27 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.csproj.CoreCompileInputs.cache 28 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.csproj.CopyComplete 29 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.exe 30 | C:\Users\ereorid\source\repos\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.pdb 31 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\RemoteDesktopViewer.exe.config 32 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\RemoteDesktopViewer.exe 33 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\RemoteDesktopViewer.pdb 34 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\Newtonsoft.Json.dll 35 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\System.Windows.Controls.Input.Toolkit.dll 36 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\System.Windows.Controls.Layout.Toolkit.dll 37 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\WPFToolkit.dll 38 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\bin\Release\Newtonsoft.Json.xml 39 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.csprojAssemblyReference.cache 40 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\Themes\DataGridRD.baml 41 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\Themes\Metro\Metro.MSControls.Core.Implicit.baml 42 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\Themes\Metro\Metro.MSControls.Toolkit.Implicit.baml 43 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\Themes\Metro\Styles.Shared.baml 44 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\Themes\Metro\Styles.WPF.baml 45 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\Themes\Metro\Theme.Colors.baml 46 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\View\GroupManagerWindow.baml 47 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\View\GroupManagerWindow.g.cs 48 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\View\MainWindow.g.cs 49 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\App.g.cs 50 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer_MarkupCompile.cache 51 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer_MarkupCompile.lref 52 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\App.baml 53 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\Themes\Button_RoundedCorners.baml 54 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\View\MainWindow.baml 55 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.g.resources 56 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.Properties.Resources.resources 57 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.csproj.GenerateResource.cache 58 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.csproj.CoreCompileInputs.cache 59 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.csproj.CopyComplete 60 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.exe 61 | C:\Users\ereorid\source\RemoteDesktopViewer\RemoteDesktopViewer\obj\Release\RemoteDesktopViewer.pdb 62 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/ViewModel/MainWindowViewModel.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Win32; 2 | using RemoteDesktopViewer.Functionality; 3 | using RemoteDesktopViewer.Model; 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace RemoteDesktopViewer.ViewModel 10 | { 11 | public class MainWindowViewModel : BaseModel 12 | { 13 | private ConnectionGroupModel connectionGroupModel; 14 | private ConnectionDetailsModel connectionDetails; 15 | private GroupManagerViewModel groupManagerViewModel; 16 | private MainWindowModel mainWindowModel; 17 | 18 | private UpdateConnectionStatus statusUpdater; 19 | private ConnectionManager connectionManager; 20 | 21 | public ConnectionGroupModel GroupBeingEdited; 22 | 23 | public ConnectionGroupModel ConnectionGroupModel 24 | { 25 | get { return connectionGroupModel; } set {connectionGroupModel = value; } 26 | } 27 | 28 | public ConnectionDetailsModel ConnectionDetails 29 | { 30 | get { return connectionDetails; } 31 | set { connectionDetails = value; } 32 | } 33 | 34 | internal void ConnectToStation(ConnectionModel item) 35 | { 36 | connectionManager.ConnectToStation(item, false); 37 | } 38 | 39 | internal void TakeOverStation(ConnectionModel item) 40 | { 41 | connectionManager.ConnectToStation(item, true); 42 | } 43 | 44 | public MainWindowModel MainWindowModel 45 | { 46 | get { return mainWindowModel; } 47 | set { mainWindowModel = value; } 48 | } 49 | 50 | public MainWindowViewModel(GroupManagerViewModel _groupManagerViewModel) 51 | { 52 | ConnectionGroupModel = new ConnectionGroupModel(); 53 | ConnectionDetails = new ConnectionDetailsModel(); 54 | groupManagerViewModel = _groupManagerViewModel; 55 | MainWindowModel = new MainWindowModel(); 56 | statusUpdater = new UpdateConnectionStatus(); 57 | connectionManager = new ConnectionManager(); 58 | groupManagerViewModel.GroupUpdated += GroupManagerViewModel_GroupUpdated; 59 | 60 | RefreshGroupList(); 61 | } 62 | 63 | private void GroupManagerViewModel_GroupUpdated(object sender, ConnectionGroupModel group) 64 | { 65 | int id = MainWindowModel.Groups.IndexOf(GroupBeingEdited); 66 | 67 | if (id == -1) // We just created a new group (e), so we should add it to the list. 68 | { 69 | MainWindowModel.Groups.Add(group); 70 | } 71 | else 72 | { 73 | MainWindowModel.Groups[id].GroupConnections = group.GroupConnections; 74 | MainWindowModel.Groups[id].GroupName = group.GroupName; 75 | GroupBeingEdited = null; 76 | } 77 | 78 | ChangeSelectedGroup(group); 79 | } 80 | 81 | public IList GetConnections() 82 | { 83 | if (MainWindowModel.Groups.Count > 0) 84 | return MainWindowModel.Groups[0].GroupConnections; 85 | else 86 | return null; 87 | } 88 | 89 | internal void DeleteGroup(ConnectionGroupModel group) 90 | { 91 | MessageBoxResult result = MessageBox.Show($"Are you sure you want to delete '{group.GroupName}'?", "Delete group?", MessageBoxButton.YesNo); 92 | 93 | if (MainWindowModel.Groups.Contains(group) && result == MessageBoxResult.Yes) 94 | { 95 | MainWindowModel.Groups.Remove(group); 96 | GroupManager.DeleteGroup(group); 97 | ChangeSelectedGroup(); 98 | } 99 | } 100 | 101 | internal void JoinStation(ConnectionModel connection) 102 | { 103 | connectionManager.JoinStation(connection); 104 | } 105 | 106 | internal void ChangeSelectedGroup(ConnectionGroupModel group = null) 107 | { 108 | if (group != null) 109 | MainWindowModel.Connections = group.GroupConnections; 110 | else 111 | MainWindowModel.Connections = null; 112 | 113 | UpdateGroupStatus(); 114 | } 115 | 116 | public void UpdateGroupStatus() 117 | { 118 | if (MainWindowModel != null && MainWindowModel.Connections != null) 119 | { 120 | foreach (ConnectionModel conn in MainWindowModel.Connections) 121 | { 122 | conn.ConnectionUser = string.Empty; 123 | conn.ConnectionStatus = "Updating..."; 124 | Task.Factory.StartNew(() => statusUpdater.GetConnectionStatus(conn)); 125 | } 126 | } 127 | } 128 | 129 | public async void UpdateConnectionStatus(int index) 130 | { 131 | 132 | if (index == null ||MainWindowModel.Connections.Count <= index || index < 0) 133 | return; 134 | 135 | ConnectionModel conn = MainWindowModel.Connections[index]; 136 | SetConnectionDetails(conn); 137 | conn.ConnectionUser = string.Empty; 138 | conn.ConnectionStatus = "Updating..."; 139 | Task statusTask = new Task(() => statusUpdater.GetConnectionStatus(conn)); 140 | 141 | statusTask.Start(); 142 | await statusTask; 143 | SetConnectionDetails(conn); 144 | } 145 | 146 | internal void ImportGroup() 147 | { 148 | OpenFileDialog dlg = new OpenFileDialog(); 149 | 150 | Nullable result = dlg.ShowDialog(); 151 | if(result == true) 152 | { 153 | string fileName = dlg.FileName; 154 | ConnectionGroupModel importedGroup = GroupManager.ImportGroup(fileName); 155 | MainWindowModel.Groups.Add(importedGroup); 156 | 157 | } 158 | } 159 | 160 | internal void SetConnectionDetails(ConnectionModel conn) 161 | { 162 | string details = ""; 163 | details += "Name: " + conn.ConnectionName + "\n"; 164 | details += "Description: " + conn.ConnectionDescription + "\n"; 165 | details += "Status: " + conn.ConnectionStatus + "\n"; 166 | if(!string.IsNullOrEmpty(conn.ConnectionUser)) 167 | details += "User: " + conn.ConnectionUser + "\n"; 168 | details += "Adress: " + conn.ConnectionAdress; 169 | 170 | ConnectionDetails.ConnectionDetails = details; 171 | 172 | string button = "Unknown"; 173 | switch (conn.ConnectionStatus) 174 | { 175 | case "Available": button = "Connect"; break; 176 | case "Occupied": button = "Join"; break; 177 | default: button = "Unknown"; break; 178 | } 179 | 180 | ConnectionDetails.ConnectButton = button; 181 | } 182 | 183 | internal void RefreshGroupList() 184 | { 185 | MainWindowModel.Groups = GroupManager.LoadGroups(); 186 | MainWindowModel.Connections = GetConnections(); 187 | 188 | if (MainWindowModel.Connections != null && MainWindowModel.Connections.Count > 0) 189 | { 190 | SetConnectionDetails(MainWindowModel.Connections[0]); 191 | UpdateGroupStatus(); 192 | } 193 | } 194 | } 195 | } 196 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/RemoteDesktopViewer.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {F6DFEFF2-9FFA-48FE-8118-25B330BA2724} 8 | WinExe 9 | RemoteDesktopViewer 10 | RemoteDesktopViewer 11 | v4.7.2 12 | 512 13 | {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 4 15 | true 16 | true 17 | 18 | 19 | AnyCPU 20 | true 21 | full 22 | false 23 | bin\Debug\ 24 | DEBUG;TRACE 25 | prompt 26 | 4 27 | 28 | 29 | AnyCPU 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | Assets\nodetestRemoteIcon.ico 39 | 40 | 41 | 42 | ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll 43 | 44 | 45 | 46 | 47 | ..\packages\Infragistics.Themes.MetroLight.Wpf.1.0.0\lib\net40\System.Windows.Controls.Input.Toolkit.dll 48 | 49 | 50 | ..\packages\Infragistics.Themes.MetroLight.Wpf.1.0.0\lib\net40\System.Windows.Controls.Layout.Toolkit.dll 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 4.0 60 | 61 | 62 | 63 | 64 | 65 | ..\packages\Infragistics.Themes.MetroLight.Wpf.1.0.0\lib\net40\WPFToolkit.dll 66 | 67 | 68 | 69 | 70 | MSBuild:Compile 71 | Designer 72 | 73 | 74 | Designer 75 | MSBuild:Compile 76 | 77 | 78 | Designer 79 | MSBuild:Compile 80 | 81 | 82 | MSBuild:Compile 83 | Designer 84 | 85 | 86 | MSBuild:Compile 87 | Designer 88 | 89 | 90 | MSBuild:Compile 91 | Designer 92 | 93 | 94 | MSBuild:Compile 95 | Designer 96 | 97 | 98 | MSBuild:Compile 99 | Designer 100 | 101 | 102 | Designer 103 | MSBuild:Compile 104 | 105 | 106 | MSBuild:Compile 107 | Designer 108 | 109 | 110 | App.xaml 111 | Code 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | GroupManagerWindow.xaml 125 | 126 | 127 | MainWindow.xaml 128 | Code 129 | 130 | 131 | 132 | 133 | Code 134 | 135 | 136 | True 137 | True 138 | Resources.resx 139 | 140 | 141 | True 142 | Settings.settings 143 | True 144 | 145 | 146 | ResXFileCodeGenerator 147 | Resources.Designer.cs 148 | 149 | 150 | 151 | 152 | SettingsSingleFileGenerator 153 | Settings.Designer.cs 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/View/MainWindow.g.cs: -------------------------------------------------------------------------------- 1 | #pragma checksum "..\..\..\View\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "304994A706F8EEBED8A8ECFBDBB4AAC7CC24702B5BFC08EDB96FEB8674E0DA03" 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by a tool. 5 | // Runtime Version:4.0.30319.42000 6 | // 7 | // Changes to this file may cause incorrect behavior and will be lost if 8 | // the code is regenerated. 9 | // 10 | //------------------------------------------------------------------------------ 11 | 12 | using RemoteDesktopViewer; 13 | using System; 14 | using System.Diagnostics; 15 | using System.Windows; 16 | using System.Windows.Automation; 17 | using System.Windows.Controls; 18 | using System.Windows.Controls.Primitives; 19 | using System.Windows.Data; 20 | using System.Windows.Documents; 21 | using System.Windows.Ink; 22 | using System.Windows.Input; 23 | using System.Windows.Markup; 24 | using System.Windows.Media; 25 | using System.Windows.Media.Animation; 26 | using System.Windows.Media.Effects; 27 | using System.Windows.Media.Imaging; 28 | using System.Windows.Media.Media3D; 29 | using System.Windows.Media.TextFormatting; 30 | using System.Windows.Navigation; 31 | using System.Windows.Shapes; 32 | using System.Windows.Shell; 33 | 34 | 35 | namespace RemoteDesktopViewer { 36 | 37 | 38 | /// 39 | /// MainWindow 40 | /// 41 | public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector { 42 | 43 | 44 | #line 52 "..\..\..\View\MainWindow.xaml" 45 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 46 | internal System.Windows.Controls.ListBox GroupList; 47 | 48 | #line default 49 | #line hidden 50 | 51 | 52 | #line 108 "..\..\..\View\MainWindow.xaml" 53 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 54 | internal System.Windows.Controls.Button ConnectButton; 55 | 56 | #line default 57 | #line hidden 58 | 59 | 60 | #line 126 "..\..\..\View\MainWindow.xaml" 61 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 62 | internal System.Windows.Controls.ListView ConnectionList; 63 | 64 | #line default 65 | #line hidden 66 | 67 | 68 | #line 143 "..\..\..\View\MainWindow.xaml" 69 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 70 | internal System.Windows.Controls.MenuItem JoinSession_MenuItem; 71 | 72 | #line default 73 | #line hidden 74 | 75 | 76 | #line 144 "..\..\..\View\MainWindow.xaml" 77 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 78 | internal System.Windows.Controls.MenuItem TakeOver_MenuItem; 79 | 80 | #line default 81 | #line hidden 82 | 83 | private bool _contentLoaded; 84 | 85 | /// 86 | /// InitializeComponent 87 | /// 88 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 89 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 90 | public void InitializeComponent() { 91 | if (_contentLoaded) { 92 | return; 93 | } 94 | _contentLoaded = true; 95 | System.Uri resourceLocater = new System.Uri("/RemoteDesktopViewer;component/view/mainwindow.xaml", System.UriKind.Relative); 96 | 97 | #line 1 "..\..\..\View\MainWindow.xaml" 98 | System.Windows.Application.LoadComponent(this, resourceLocater); 99 | 100 | #line default 101 | #line hidden 102 | } 103 | 104 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 105 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 106 | [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] 107 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] 108 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] 109 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] 110 | void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { 111 | switch (connectionId) 112 | { 113 | case 1: 114 | 115 | #line 10 "..\..\..\View\MainWindow.xaml" 116 | ((RemoteDesktopViewer.MainWindow)(target)).Activated += new System.EventHandler(this.WindowActivated); 117 | 118 | #line default 119 | #line hidden 120 | return; 121 | case 2: 122 | 123 | #line 34 "..\..\..\View\MainWindow.xaml" 124 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_CreateGroup); 125 | 126 | #line default 127 | #line hidden 128 | return; 129 | case 3: 130 | this.GroupList = ((System.Windows.Controls.ListBox)(target)); 131 | 132 | #line 55 "..\..\..\View\MainWindow.xaml" 133 | this.GroupList.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.Group_SelectionChanged); 134 | 135 | #line default 136 | #line hidden 137 | return; 138 | case 4: 139 | 140 | #line 86 "..\..\..\View\MainWindow.xaml" 141 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_CreateGroup); 142 | 143 | #line default 144 | #line hidden 145 | return; 146 | case 5: 147 | 148 | #line 87 "..\..\..\View\MainWindow.xaml" 149 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_EditGroup); 150 | 151 | #line default 152 | #line hidden 153 | return; 154 | case 6: 155 | 156 | #line 88 "..\..\..\View\MainWindow.xaml" 157 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_DeleteGroup); 158 | 159 | #line default 160 | #line hidden 161 | return; 162 | case 7: 163 | this.ConnectButton = ((System.Windows.Controls.Button)(target)); 164 | 165 | #line 108 "..\..\..\View\MainWindow.xaml" 166 | this.ConnectButton.Click += new System.Windows.RoutedEventHandler(this.Click_Connect); 167 | 168 | #line default 169 | #line hidden 170 | return; 171 | case 8: 172 | this.ConnectionList = ((System.Windows.Controls.ListView)(target)); 173 | 174 | #line 128 "..\..\..\View\MainWindow.xaml" 175 | this.ConnectionList.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Connection_OnClick); 176 | 177 | #line default 178 | #line hidden 179 | 180 | #line 129 "..\..\..\View\MainWindow.xaml" 181 | this.ConnectionList.MouseRightButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.StationList_PreviewMouseRightButtonDown); 182 | 183 | #line default 184 | #line hidden 185 | return; 186 | case 9: 187 | 188 | #line 142 "..\..\..\View\MainWindow.xaml" 189 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_Connect); 190 | 191 | #line default 192 | #line hidden 193 | return; 194 | case 10: 195 | this.JoinSession_MenuItem = ((System.Windows.Controls.MenuItem)(target)); 196 | 197 | #line 143 "..\..\..\View\MainWindow.xaml" 198 | this.JoinSession_MenuItem.Click += new System.Windows.RoutedEventHandler(this.Click_Join); 199 | 200 | #line default 201 | #line hidden 202 | return; 203 | case 11: 204 | this.TakeOver_MenuItem = ((System.Windows.Controls.MenuItem)(target)); 205 | 206 | #line 144 "..\..\..\View\MainWindow.xaml" 207 | this.TakeOver_MenuItem.Click += new System.Windows.RoutedEventHandler(this.Click_TakeOver); 208 | 209 | #line default 210 | #line hidden 211 | return; 212 | case 12: 213 | 214 | #line 145 "..\..\..\View\MainWindow.xaml" 215 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.RightClick_EditStation); 216 | 217 | #line default 218 | #line hidden 219 | return; 220 | } 221 | this._contentLoaded = true; 222 | } 223 | } 224 | } 225 | 226 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Debug/View/MainWindow.g.i.cs: -------------------------------------------------------------------------------- 1 | #pragma checksum "..\..\..\View\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "304994A706F8EEBED8A8ECFBDBB4AAC7CC24702B5BFC08EDB96FEB8674E0DA03" 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by a tool. 5 | // Runtime Version:4.0.30319.42000 6 | // 7 | // Changes to this file may cause incorrect behavior and will be lost if 8 | // the code is regenerated. 9 | // 10 | //------------------------------------------------------------------------------ 11 | 12 | using RemoteDesktopViewer; 13 | using System; 14 | using System.Diagnostics; 15 | using System.Windows; 16 | using System.Windows.Automation; 17 | using System.Windows.Controls; 18 | using System.Windows.Controls.Primitives; 19 | using System.Windows.Data; 20 | using System.Windows.Documents; 21 | using System.Windows.Ink; 22 | using System.Windows.Input; 23 | using System.Windows.Markup; 24 | using System.Windows.Media; 25 | using System.Windows.Media.Animation; 26 | using System.Windows.Media.Effects; 27 | using System.Windows.Media.Imaging; 28 | using System.Windows.Media.Media3D; 29 | using System.Windows.Media.TextFormatting; 30 | using System.Windows.Navigation; 31 | using System.Windows.Shapes; 32 | using System.Windows.Shell; 33 | 34 | 35 | namespace RemoteDesktopViewer { 36 | 37 | 38 | /// 39 | /// MainWindow 40 | /// 41 | public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector { 42 | 43 | 44 | #line 52 "..\..\..\View\MainWindow.xaml" 45 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 46 | internal System.Windows.Controls.ListBox GroupList; 47 | 48 | #line default 49 | #line hidden 50 | 51 | 52 | #line 108 "..\..\..\View\MainWindow.xaml" 53 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 54 | internal System.Windows.Controls.Button ConnectButton; 55 | 56 | #line default 57 | #line hidden 58 | 59 | 60 | #line 126 "..\..\..\View\MainWindow.xaml" 61 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 62 | internal System.Windows.Controls.ListView ConnectionList; 63 | 64 | #line default 65 | #line hidden 66 | 67 | 68 | #line 143 "..\..\..\View\MainWindow.xaml" 69 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 70 | internal System.Windows.Controls.MenuItem JoinSession_MenuItem; 71 | 72 | #line default 73 | #line hidden 74 | 75 | 76 | #line 144 "..\..\..\View\MainWindow.xaml" 77 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 78 | internal System.Windows.Controls.MenuItem TakeOver_MenuItem; 79 | 80 | #line default 81 | #line hidden 82 | 83 | private bool _contentLoaded; 84 | 85 | /// 86 | /// InitializeComponent 87 | /// 88 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 89 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 90 | public void InitializeComponent() { 91 | if (_contentLoaded) { 92 | return; 93 | } 94 | _contentLoaded = true; 95 | System.Uri resourceLocater = new System.Uri("/RemoteDesktopViewer;component/view/mainwindow.xaml", System.UriKind.Relative); 96 | 97 | #line 1 "..\..\..\View\MainWindow.xaml" 98 | System.Windows.Application.LoadComponent(this, resourceLocater); 99 | 100 | #line default 101 | #line hidden 102 | } 103 | 104 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 105 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 106 | [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] 107 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] 108 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] 109 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] 110 | void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { 111 | switch (connectionId) 112 | { 113 | case 1: 114 | 115 | #line 10 "..\..\..\View\MainWindow.xaml" 116 | ((RemoteDesktopViewer.MainWindow)(target)).Activated += new System.EventHandler(this.WindowActivated); 117 | 118 | #line default 119 | #line hidden 120 | return; 121 | case 2: 122 | 123 | #line 34 "..\..\..\View\MainWindow.xaml" 124 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_CreateGroup); 125 | 126 | #line default 127 | #line hidden 128 | return; 129 | case 3: 130 | this.GroupList = ((System.Windows.Controls.ListBox)(target)); 131 | 132 | #line 55 "..\..\..\View\MainWindow.xaml" 133 | this.GroupList.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.Group_SelectionChanged); 134 | 135 | #line default 136 | #line hidden 137 | return; 138 | case 4: 139 | 140 | #line 86 "..\..\..\View\MainWindow.xaml" 141 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_CreateGroup); 142 | 143 | #line default 144 | #line hidden 145 | return; 146 | case 5: 147 | 148 | #line 87 "..\..\..\View\MainWindow.xaml" 149 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_EditGroup); 150 | 151 | #line default 152 | #line hidden 153 | return; 154 | case 6: 155 | 156 | #line 88 "..\..\..\View\MainWindow.xaml" 157 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_DeleteGroup); 158 | 159 | #line default 160 | #line hidden 161 | return; 162 | case 7: 163 | this.ConnectButton = ((System.Windows.Controls.Button)(target)); 164 | 165 | #line 108 "..\..\..\View\MainWindow.xaml" 166 | this.ConnectButton.Click += new System.Windows.RoutedEventHandler(this.Click_Connect); 167 | 168 | #line default 169 | #line hidden 170 | return; 171 | case 8: 172 | this.ConnectionList = ((System.Windows.Controls.ListView)(target)); 173 | 174 | #line 128 "..\..\..\View\MainWindow.xaml" 175 | this.ConnectionList.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Connection_OnClick); 176 | 177 | #line default 178 | #line hidden 179 | 180 | #line 129 "..\..\..\View\MainWindow.xaml" 181 | this.ConnectionList.MouseRightButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.StationList_PreviewMouseRightButtonDown); 182 | 183 | #line default 184 | #line hidden 185 | return; 186 | case 9: 187 | 188 | #line 142 "..\..\..\View\MainWindow.xaml" 189 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_Connect); 190 | 191 | #line default 192 | #line hidden 193 | return; 194 | case 10: 195 | this.JoinSession_MenuItem = ((System.Windows.Controls.MenuItem)(target)); 196 | 197 | #line 143 "..\..\..\View\MainWindow.xaml" 198 | this.JoinSession_MenuItem.Click += new System.Windows.RoutedEventHandler(this.Click_Join); 199 | 200 | #line default 201 | #line hidden 202 | return; 203 | case 11: 204 | this.TakeOver_MenuItem = ((System.Windows.Controls.MenuItem)(target)); 205 | 206 | #line 144 "..\..\..\View\MainWindow.xaml" 207 | this.TakeOver_MenuItem.Click += new System.Windows.RoutedEventHandler(this.Click_TakeOver); 208 | 209 | #line default 210 | #line hidden 211 | return; 212 | case 12: 213 | 214 | #line 145 "..\..\..\View\MainWindow.xaml" 215 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.RightClick_EditStation); 216 | 217 | #line default 218 | #line hidden 219 | return; 220 | } 221 | this._contentLoaded = true; 222 | } 223 | } 224 | } 225 | 226 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/View/MainWindow.g.cs: -------------------------------------------------------------------------------- 1 | #pragma checksum "..\..\..\View\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "30CFE269EB25AC4F229397F6FFD1B51C64C37BA45BD2054B86C20E17891A3264" 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by a tool. 5 | // Runtime Version:4.0.30319.42000 6 | // 7 | // Changes to this file may cause incorrect behavior and will be lost if 8 | // the code is regenerated. 9 | // 10 | //------------------------------------------------------------------------------ 11 | 12 | using RemoteDesktopViewer; 13 | using System; 14 | using System.Diagnostics; 15 | using System.Windows; 16 | using System.Windows.Automation; 17 | using System.Windows.Controls; 18 | using System.Windows.Controls.Primitives; 19 | using System.Windows.Data; 20 | using System.Windows.Documents; 21 | using System.Windows.Ink; 22 | using System.Windows.Input; 23 | using System.Windows.Markup; 24 | using System.Windows.Media; 25 | using System.Windows.Media.Animation; 26 | using System.Windows.Media.Effects; 27 | using System.Windows.Media.Imaging; 28 | using System.Windows.Media.Media3D; 29 | using System.Windows.Media.TextFormatting; 30 | using System.Windows.Navigation; 31 | using System.Windows.Shapes; 32 | using System.Windows.Shell; 33 | 34 | 35 | namespace RemoteDesktopViewer { 36 | 37 | 38 | /// 39 | /// MainWindow 40 | /// 41 | public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector { 42 | 43 | 44 | #line 66 "..\..\..\View\MainWindow.xaml" 45 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 46 | internal System.Windows.Controls.ListBox GroupList; 47 | 48 | #line default 49 | #line hidden 50 | 51 | 52 | #line 124 "..\..\..\View\MainWindow.xaml" 53 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 54 | internal System.Windows.Controls.Button ConnectButton; 55 | 56 | #line default 57 | #line hidden 58 | 59 | 60 | #line 144 "..\..\..\View\MainWindow.xaml" 61 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 62 | internal System.Windows.Controls.ListView ConnectionList; 63 | 64 | #line default 65 | #line hidden 66 | 67 | 68 | #line 161 "..\..\..\View\MainWindow.xaml" 69 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 70 | internal System.Windows.Controls.MenuItem JoinSession_MenuItem; 71 | 72 | #line default 73 | #line hidden 74 | 75 | 76 | #line 162 "..\..\..\View\MainWindow.xaml" 77 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 78 | internal System.Windows.Controls.MenuItem TakeOver_MenuItem; 79 | 80 | #line default 81 | #line hidden 82 | 83 | private bool _contentLoaded; 84 | 85 | /// 86 | /// InitializeComponent 87 | /// 88 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 89 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 90 | public void InitializeComponent() { 91 | if (_contentLoaded) { 92 | return; 93 | } 94 | _contentLoaded = true; 95 | System.Uri resourceLocater = new System.Uri("/RemoteDesktopViewer;component/view/mainwindow.xaml", System.UriKind.Relative); 96 | 97 | #line 1 "..\..\..\View\MainWindow.xaml" 98 | System.Windows.Application.LoadComponent(this, resourceLocater); 99 | 100 | #line default 101 | #line hidden 102 | } 103 | 104 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 105 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 106 | [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] 107 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] 108 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] 109 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] 110 | void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { 111 | switch (connectionId) 112 | { 113 | case 1: 114 | 115 | #line 35 "..\..\..\View\MainWindow.xaml" 116 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_Refresh); 117 | 118 | #line default 119 | #line hidden 120 | return; 121 | case 2: 122 | this.GroupList = ((System.Windows.Controls.ListBox)(target)); 123 | 124 | #line 69 "..\..\..\View\MainWindow.xaml" 125 | this.GroupList.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.Group_SelectionChanged); 126 | 127 | #line default 128 | #line hidden 129 | return; 130 | case 3: 131 | 132 | #line 100 "..\..\..\View\MainWindow.xaml" 133 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_CreateGroup); 134 | 135 | #line default 136 | #line hidden 137 | return; 138 | case 4: 139 | 140 | #line 101 "..\..\..\View\MainWindow.xaml" 141 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_EditGroup); 142 | 143 | #line default 144 | #line hidden 145 | return; 146 | case 5: 147 | 148 | #line 102 "..\..\..\View\MainWindow.xaml" 149 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_DeleteGroup); 150 | 151 | #line default 152 | #line hidden 153 | return; 154 | case 6: 155 | 156 | #line 103 "..\..\..\View\MainWindow.xaml" 157 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_ImportGroup); 158 | 159 | #line default 160 | #line hidden 161 | return; 162 | case 7: 163 | 164 | #line 104 "..\..\..\View\MainWindow.xaml" 165 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_ExportGroup); 166 | 167 | #line default 168 | #line hidden 169 | return; 170 | case 8: 171 | this.ConnectButton = ((System.Windows.Controls.Button)(target)); 172 | 173 | #line 124 "..\..\..\View\MainWindow.xaml" 174 | this.ConnectButton.Click += new System.Windows.RoutedEventHandler(this.Click_Connect); 175 | 176 | #line default 177 | #line hidden 178 | return; 179 | case 9: 180 | 181 | #line 140 "..\..\..\View\MainWindow.xaml" 182 | ((System.Windows.Documents.Hyperlink)(target)).RequestNavigate += new System.Windows.Navigation.RequestNavigateEventHandler(this.HyperLink_Luffiez); 183 | 184 | #line default 185 | #line hidden 186 | return; 187 | case 10: 188 | this.ConnectionList = ((System.Windows.Controls.ListView)(target)); 189 | 190 | #line 146 "..\..\..\View\MainWindow.xaml" 191 | this.ConnectionList.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Connection_OnClick); 192 | 193 | #line default 194 | #line hidden 195 | 196 | #line 147 "..\..\..\View\MainWindow.xaml" 197 | this.ConnectionList.MouseRightButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.StationList_PreviewMouseRightButtonDown); 198 | 199 | #line default 200 | #line hidden 201 | return; 202 | case 11: 203 | 204 | #line 160 "..\..\..\View\MainWindow.xaml" 205 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_Connect); 206 | 207 | #line default 208 | #line hidden 209 | return; 210 | case 12: 211 | this.JoinSession_MenuItem = ((System.Windows.Controls.MenuItem)(target)); 212 | 213 | #line 161 "..\..\..\View\MainWindow.xaml" 214 | this.JoinSession_MenuItem.Click += new System.Windows.RoutedEventHandler(this.Click_Join); 215 | 216 | #line default 217 | #line hidden 218 | return; 219 | case 13: 220 | this.TakeOver_MenuItem = ((System.Windows.Controls.MenuItem)(target)); 221 | 222 | #line 162 "..\..\..\View\MainWindow.xaml" 223 | this.TakeOver_MenuItem.Click += new System.Windows.RoutedEventHandler(this.Click_TakeOver); 224 | 225 | #line default 226 | #line hidden 227 | return; 228 | } 229 | this._contentLoaded = true; 230 | } 231 | } 232 | } 233 | 234 | -------------------------------------------------------------------------------- /RemoteDesktopViewer/obj/Release/View/MainWindow.g.i.cs: -------------------------------------------------------------------------------- 1 | #pragma checksum "..\..\..\View\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "30CFE269EB25AC4F229397F6FFD1B51C64C37BA45BD2054B86C20E17891A3264" 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by a tool. 5 | // Runtime Version:4.0.30319.42000 6 | // 7 | // Changes to this file may cause incorrect behavior and will be lost if 8 | // the code is regenerated. 9 | // 10 | //------------------------------------------------------------------------------ 11 | 12 | using RemoteDesktopViewer; 13 | using System; 14 | using System.Diagnostics; 15 | using System.Windows; 16 | using System.Windows.Automation; 17 | using System.Windows.Controls; 18 | using System.Windows.Controls.Primitives; 19 | using System.Windows.Data; 20 | using System.Windows.Documents; 21 | using System.Windows.Ink; 22 | using System.Windows.Input; 23 | using System.Windows.Markup; 24 | using System.Windows.Media; 25 | using System.Windows.Media.Animation; 26 | using System.Windows.Media.Effects; 27 | using System.Windows.Media.Imaging; 28 | using System.Windows.Media.Media3D; 29 | using System.Windows.Media.TextFormatting; 30 | using System.Windows.Navigation; 31 | using System.Windows.Shapes; 32 | using System.Windows.Shell; 33 | 34 | 35 | namespace RemoteDesktopViewer { 36 | 37 | 38 | /// 39 | /// MainWindow 40 | /// 41 | public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector { 42 | 43 | 44 | #line 66 "..\..\..\View\MainWindow.xaml" 45 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 46 | internal System.Windows.Controls.ListBox GroupList; 47 | 48 | #line default 49 | #line hidden 50 | 51 | 52 | #line 124 "..\..\..\View\MainWindow.xaml" 53 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 54 | internal System.Windows.Controls.Button ConnectButton; 55 | 56 | #line default 57 | #line hidden 58 | 59 | 60 | #line 144 "..\..\..\View\MainWindow.xaml" 61 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 62 | internal System.Windows.Controls.ListView ConnectionList; 63 | 64 | #line default 65 | #line hidden 66 | 67 | 68 | #line 161 "..\..\..\View\MainWindow.xaml" 69 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 70 | internal System.Windows.Controls.MenuItem JoinSession_MenuItem; 71 | 72 | #line default 73 | #line hidden 74 | 75 | 76 | #line 162 "..\..\..\View\MainWindow.xaml" 77 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] 78 | internal System.Windows.Controls.MenuItem TakeOver_MenuItem; 79 | 80 | #line default 81 | #line hidden 82 | 83 | private bool _contentLoaded; 84 | 85 | /// 86 | /// InitializeComponent 87 | /// 88 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 89 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 90 | public void InitializeComponent() { 91 | if (_contentLoaded) { 92 | return; 93 | } 94 | _contentLoaded = true; 95 | System.Uri resourceLocater = new System.Uri("/RemoteDesktopViewer;component/view/mainwindow.xaml", System.UriKind.Relative); 96 | 97 | #line 1 "..\..\..\View\MainWindow.xaml" 98 | System.Windows.Application.LoadComponent(this, resourceLocater); 99 | 100 | #line default 101 | #line hidden 102 | } 103 | 104 | [System.Diagnostics.DebuggerNonUserCodeAttribute()] 105 | [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] 106 | [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] 107 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] 108 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] 109 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] 110 | void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { 111 | switch (connectionId) 112 | { 113 | case 1: 114 | 115 | #line 35 "..\..\..\View\MainWindow.xaml" 116 | ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_Refresh); 117 | 118 | #line default 119 | #line hidden 120 | return; 121 | case 2: 122 | this.GroupList = ((System.Windows.Controls.ListBox)(target)); 123 | 124 | #line 69 "..\..\..\View\MainWindow.xaml" 125 | this.GroupList.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.Group_SelectionChanged); 126 | 127 | #line default 128 | #line hidden 129 | return; 130 | case 3: 131 | 132 | #line 100 "..\..\..\View\MainWindow.xaml" 133 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_CreateGroup); 134 | 135 | #line default 136 | #line hidden 137 | return; 138 | case 4: 139 | 140 | #line 101 "..\..\..\View\MainWindow.xaml" 141 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_EditGroup); 142 | 143 | #line default 144 | #line hidden 145 | return; 146 | case 5: 147 | 148 | #line 102 "..\..\..\View\MainWindow.xaml" 149 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_DeleteGroup); 150 | 151 | #line default 152 | #line hidden 153 | return; 154 | case 6: 155 | 156 | #line 103 "..\..\..\View\MainWindow.xaml" 157 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_ImportGroup); 158 | 159 | #line default 160 | #line hidden 161 | return; 162 | case 7: 163 | 164 | #line 104 "..\..\..\View\MainWindow.xaml" 165 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_ExportGroup); 166 | 167 | #line default 168 | #line hidden 169 | return; 170 | case 8: 171 | this.ConnectButton = ((System.Windows.Controls.Button)(target)); 172 | 173 | #line 124 "..\..\..\View\MainWindow.xaml" 174 | this.ConnectButton.Click += new System.Windows.RoutedEventHandler(this.Click_Connect); 175 | 176 | #line default 177 | #line hidden 178 | return; 179 | case 9: 180 | 181 | #line 140 "..\..\..\View\MainWindow.xaml" 182 | ((System.Windows.Documents.Hyperlink)(target)).RequestNavigate += new System.Windows.Navigation.RequestNavigateEventHandler(this.HyperLink_Luffiez); 183 | 184 | #line default 185 | #line hidden 186 | return; 187 | case 10: 188 | this.ConnectionList = ((System.Windows.Controls.ListView)(target)); 189 | 190 | #line 146 "..\..\..\View\MainWindow.xaml" 191 | this.ConnectionList.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Connection_OnClick); 192 | 193 | #line default 194 | #line hidden 195 | 196 | #line 147 "..\..\..\View\MainWindow.xaml" 197 | this.ConnectionList.MouseRightButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.StationList_PreviewMouseRightButtonDown); 198 | 199 | #line default 200 | #line hidden 201 | return; 202 | case 11: 203 | 204 | #line 160 "..\..\..\View\MainWindow.xaml" 205 | ((System.Windows.Controls.MenuItem)(target)).Click += new System.Windows.RoutedEventHandler(this.Click_Connect); 206 | 207 | #line default 208 | #line hidden 209 | return; 210 | case 12: 211 | this.JoinSession_MenuItem = ((System.Windows.Controls.MenuItem)(target)); 212 | 213 | #line 161 "..\..\..\View\MainWindow.xaml" 214 | this.JoinSession_MenuItem.Click += new System.Windows.RoutedEventHandler(this.Click_Join); 215 | 216 | #line default 217 | #line hidden 218 | return; 219 | case 13: 220 | this.TakeOver_MenuItem = ((System.Windows.Controls.MenuItem)(target)); 221 | 222 | #line 162 "..\..\..\View\MainWindow.xaml" 223 | this.TakeOver_MenuItem.Click += new System.Windows.RoutedEventHandler(this.Click_TakeOver); 224 | 225 | #line default 226 | #line hidden 227 | return; 228 | } 229 | this._contentLoaded = true; 230 | } 231 | } 232 | } 233 | 234 | --------------------------------------------------------------------------------