mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-25 19:38:37 +08:00
# Conflicts: # mRemoteV1/Config/Settings/SettingsSaver.cs # mRemoteV1/Tools/ExternalTool.cs # mRemoteV1/UI/Window/ExternalToolsWindow.Designer.cs # mRemoteV1/UI/Window/ExternalToolsWindow.cs # mRemoteV1/UI/Window/ExternalToolsWindow.resx
59 lines
2.3 KiB
C#
59 lines
2.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Text;
|
|
using System.Xml;
|
|
using mRemoteNG.App;
|
|
using mRemoteNG.App.Info;
|
|
using mRemoteNG.Tools;
|
|
|
|
namespace mRemoteNG.Config.Settings
|
|
{
|
|
public class ExternalAppsSaver
|
|
{
|
|
public void Save(IEnumerable<ExternalTool> externalTools)
|
|
{
|
|
try
|
|
{
|
|
if (Directory.Exists(SettingsFileInfo.SettingsPath) == false)
|
|
{
|
|
Directory.CreateDirectory(SettingsFileInfo.SettingsPath);
|
|
}
|
|
|
|
var xmlTextWriter =
|
|
new XmlTextWriter(SettingsFileInfo.SettingsPath + "\\" + SettingsFileInfo.ExtAppsFilesName,
|
|
Encoding.UTF8)
|
|
{
|
|
Formatting = Formatting.Indented,
|
|
Indentation = 4
|
|
};
|
|
|
|
xmlTextWriter.WriteStartDocument();
|
|
xmlTextWriter.WriteStartElement("Apps");
|
|
|
|
foreach (var extA in externalTools)
|
|
{
|
|
xmlTextWriter.WriteStartElement("App");
|
|
xmlTextWriter.WriteAttributeString("DisplayName", "", extA.DisplayName);
|
|
xmlTextWriter.WriteAttributeString("FileName", "", extA.FileName);
|
|
xmlTextWriter.WriteAttributeString("Arguments", "", extA.Arguments);
|
|
xmlTextWriter.WriteAttributeString("WorkingDir", "", extA.WorkingDir);
|
|
xmlTextWriter.WriteAttributeString("WaitForExit", "", Convert.ToString(extA.WaitForExit));
|
|
xmlTextWriter.WriteAttributeString("TryToIntegrate", "", Convert.ToString(extA.TryIntegrate));
|
|
xmlTextWriter.WriteAttributeString("RunElevated", "", Convert.ToString(extA.RunElevated));
|
|
xmlTextWriter.WriteAttributeString("ShowOnToolbar", "", Convert.ToString(extA.ShowOnToolbar));
|
|
xmlTextWriter.WriteEndElement();
|
|
}
|
|
|
|
xmlTextWriter.WriteEndElement();
|
|
xmlTextWriter.WriteEndDocument();
|
|
|
|
xmlTextWriter.Close();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Runtime.MessageCollector.AddExceptionStackTrace("SaveExternalAppsToXML failed", ex);
|
|
}
|
|
}
|
|
}
|
|
} |