added import logic for rdm files

This commit is contained in:
David Sparer
2020-01-26 17:59:30 -06:00
parent 11ea575898
commit 756950ff4e
5 changed files with 2749 additions and 4518 deletions

View File

@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.IO;
using System.Windows.Forms;
@@ -23,11 +23,12 @@ namespace mRemoteNG.App
openFileDialog.Multiselect = true;
var fileTypes = new List<string>();
fileTypes.AddRange(new[] {Language.strFilterAllImportable, "*.xml;*.rdp;*.rdg;*.dat;*.csv"});
fileTypes.AddRange(new[] {Language.strFilterAllImportable, "*.xml;*.rdp;*.rdg;*.dat;*.csv;*.rdm"});
fileTypes.AddRange(new[] {Language.strFiltermRemoteXML, "*.xml"});
fileTypes.AddRange(new[] {Language.strFiltermRemoteCSV, "*.csv"});
fileTypes.AddRange(new[] {Language.strFilterRDP, "*.rdp"});
fileTypes.AddRange(new[] {Language.strFilterRdgFiles, "*.rdg"});
fileTypes.AddRange(new[] {Language.RemoteDesktopManagerFiles, "*.rdm"});
fileTypes.AddRange(new[] {Language.strFilterPuttyConnectionManager, "*.dat"});
fileTypes.AddRange(new[] {Language.strFilterAll, "*.*"});
@@ -125,6 +126,8 @@ namespace mRemoteNG.App
return new RemoteDesktopConnectionManagerImporter();
case ".dat":
return new PuttyConnectionManagerImporter();
case ".rdm":
return new RemoteDesktopManagerImporter();
default:
throw new FileFormatException("Unrecognized file format.");
}

View File

@@ -0,0 +1,18 @@
using mRemoteNG.Config.Serializers.MiscSerializers;
using mRemoteNG.Container;
namespace mRemoteNG.Config.Import
{
/// <summary>
/// Imports connections from Devolutions *.rdm files.
/// </summary>
public class RemoteDesktopManagerImporter : IConnectionImporter<string>
{
public void Import(string source, ContainerInfo destinationContainer)
{
var deserializer = new RemoteDesktopManagerDeserializer();
var tree = deserializer.Deserialize(source);
destinationContainer.AddChildRange(tree.RootNodes[0].Children);
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -2840,4 +2840,7 @@ Development Channel includes Alphas, Betas &amp; Release Candidates.</value>
<data name="strPowerShell" xml:space="preserve">
<value>PowerShell</value>
</data>
<data name="RemoteDesktopManagerFiles" xml:space="preserve">
<value>Remote Desktop Manager Files (*.rdm)</value>
</data>
</root>

View File

@@ -178,6 +178,7 @@
<Compile Include="Config\DataProviders\InMemoryStringDataProvider.cs" />
<Compile Include="Config\ILoader.cs" />
<Compile Include="Config\Import\MRemoteNGCsvImporter.cs" />
<Compile Include="Config\Import\RemoteDesktopManagerImporter.cs" />
<Compile Include="Config\ISaver.cs" />
<Compile Include="Config\Serializers\ConnectionSerializers\Xml\XmlConnectionNodeSerializer27.cs" />
<Compile Include="Config\Serializers\ConnectionSerializers\MsSql\LocalConnectionPropertiesModel.cs" />
@@ -300,6 +301,11 @@
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Resources\Language\Language.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Language.resx</DependentUpon>
</Compile>
<Compile Include="Resources\Themes\ColorMapTheme.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
@@ -687,11 +693,6 @@
<Compile Include="UI\Forms\PasswordForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Resources\Language\Language.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Language.resx</DependentUpon>
</Compile>
<Compile Include="Messages\Message.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Settings.Designer.cs">
@@ -1027,7 +1028,7 @@
<Generator>ResXFileCodeGenerator</Generator>
<CustomToolNamespace>mRemoteNG</CustomToolNamespace>
<SubType>Designer</SubType>
<LastGenOutput>Language1.Designer.cs</LastGenOutput>
<LastGenOutput>Language.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Resources\Language\Language.fr.resx">
<SubType>Designer</SubType>