Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions RemoteApplicationPublisher.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32414.318
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RemoteApplicationPublisher", "RemoteApplicationPublisher\RemoteApplicationPublisher.csproj", "{E23CF4FE-4FA6-4554-8A06-D741D336DB0A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E23CF4FE-4FA6-4554-8A06-D741D336DB0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E23CF4FE-4FA6-4554-8A06-D741D336DB0A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E23CF4FE-4FA6-4554-8A06-D741D336DB0A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E23CF4FE-4FA6-4554-8A06-D741D336DB0A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {79F83E7A-73DC-41C1-AE1D-09325ED9C440}
EndGlobalSection
EndGlobal
133 changes: 133 additions & 0 deletions RemoteApplicationPublisher/HelpSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
using System.Collections;

namespace RemoteApplicationPublisher
{
static class HelpSystem
{
public static void SetupTips(Form TheForm)
{
var toolTip1 = new ToolTip()
{
AutoPopDelay = 10000,
InitialDelay = 500,
ReshowDelay = 500
};

string HelpString;

foreach (Control Control in TheForm.Controls)
{
foreach (Control SubControl in Control.Controls)
{
foreach (Control SubSubControl in SubControl.Controls)
{
foreach (Control SubSubSubControl in (IEnumerable)SubSubControl.Controls)
{
HelpString = GetTipString(Control.Parent.Name, SubSubSubControl.Name);
if (!string.IsNullOrEmpty(HelpString))
toolTip1.SetToolTip((Control)SubSubSubControl, HelpString);
}
HelpString = GetTipString(Control.Parent.Name, SubSubControl.Name);
if (!string.IsNullOrEmpty(HelpString))
toolTip1.SetToolTip((Control)SubSubControl, HelpString);
}
HelpString = GetTipString(Control.Parent.Name, SubControl.Name);
if (!string.IsNullOrEmpty(HelpString))
toolTip1.SetToolTip(SubControl, HelpString);
}
HelpString = GetTipString(Control.Parent.Name, Control.Name);
if (!string.IsNullOrEmpty(HelpString))
toolTip1.SetToolTip(Control, HelpString);
}

}

private static string GetTipString(string FormName, string ControlName)
{
string TipString = "";

string TipText = GetTipFile();
var TipArray = TipText.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

foreach (string TipLine in TipArray)
{
var TipLineArray = TipLine.Split('|');
if ((TipLineArray[0] ?? "") == (FormName ?? "") & (TipLineArray[1] ?? "") == (ControlName ?? ""))
TipString = TipLineArray[2];
}

TipString = TipString.Replace(@"\r", "\r");
TipString = TipString.Replace(@"\n", "\n");

return TipString;
}

private static string GetTipFile()
{
string TipFile = "";

if (System.IO.File.Exists("tips.txt"))
{
TipFile = System.IO.File.ReadAllText("tips.txt");
}
else
{
TipFile = GetBuiltInTips();
}

return TipFile;
}

private static string GetBuiltInTips()
{
string Tips = "";

Tips += "RemoteAppMainWindow|CreateButton|Add a new RemoteApp.\r\n";
Tips += "RemoteAppMainWindow|DeleteButton|Remove selected RemoteApp.\r\n";
Tips += "RemoteAppMainWindow|EditButton|Edit properties of selected RemoteApp.\r\n";
Tips += "RemoteAppMainWindow|CreateClientConnection|Creates a RDP file or MSI installer for the selected RemoteApp.\r\n";

Tips += "RemoteAppEditWindow|SaveButton|Save changes and close.\r\n";
Tips += "RemoteAppEditWindow|FTAButton|Set file type associations for this RemoteApp.\r\n";
Tips += "RemoteAppEditWindow|CancelEditButton|Discard changes and close.\r\n";
Tips += "RemoteAppEditWindow|BrowseIconPath|Select an icon for the RemoteApp.\r\n";
Tips += "RemoteAppEditWindow|IconPathCopyButton|Copy the value from the \"Path\" field into the \"Icon path\" field. \r\n";
Tips += "RemoteAppEditWindow|BrowsePath|Browse for application.\r\n";
Tips += "RemoteAppEditWindow|IconResetButton|Reset the icon to the default for this application.\r\n";

// IconResetButton

Tips += "RemoteAppCreateClientConnection|RDPRadioButton|Create an RDP file.\r\n";
Tips += "RemoteAppCreateClientConnection|MSIRadioButton|Create an MSI file.\r\n";
Tips += "RemoteAppCreateClientConnection|EditAfterSave|Edit the RDP connection file.\r\n";
Tips += @"RemoteAppCreateClientConnection|CreateRAWebIcon|Generate an icon for the application and any file type associations.\r\nUse this with RAWeb.\r\n";
Tips += @"RemoteAppCreateClientConnection|FTAButton|Set file type associations for this RemoteApp.\r\nChanges here will only affect this client connection. They will not be saved.\r\n";
Tips += "RemoteAppCreateClientConnection|DisabledFTACheckBox|Do not include file type associations in this client connection.\r\n";
Tips += "RemoteAppCreateClientConnection|SaveButton|Save window settings for next time.\r\n";
Tips += "RemoteAppCreateClientConnection|ResetButton|Reset window settings to defaults.\r\n";
Tips += "RemoteAppCreateClientConnection|CancelEditButton|Close and return to the main window.\r\n";
Tips += "RemoteAppCreateClientConnection|CreateButton|Create the client connection and choose where to save it.\r\n";
Tips +=
"RemoteAppCreateClientConnection|UseRDGatewayCheckBox|Use a Remote Desktop Gateway to connect to the host.\r\n";
Tips += "RemoteAppCreateClientConnection|AttemptDirectCheckBox|Try a direct connection first, if that fails then use the Remote Desktop Gateway.\r\n";
Tips += "RemoteAppCreateClientConnection|ShortcutTagCheckBox|Append some text to the end of each shortcut title.\r\n";
Tips += "RemoteAppCreateClientConnection|PerMachineRadioButton|Should the shortcuts install for all users (per-machine), or only for the logged in user (per user)?\r\n";
Tips += "RemoteAppCreateClientConnection|PerUserRadioButton|Should the shortcuts install for all users (per-machine), or only for the logged in user (per user)?\r\n";
Tips += "RemoteAppCreateClientConnection|CheckBoxSignRDPEnabled|Digitally sign the RDP file.\r\n";
Tips += "RemoteAppCreateClientConnection|CheckBoxCreateSignedAndUnsigned|Produce both a signed and unsigned copy of the RDP file.\r\n";

Tips += "RemoteAppFileTypeAssociation|CreateButton|Create a new File Type Association.\r\n";
Tips += "RemoteAppFileTypeAssociation|DeleteButton|Delete selected File Type Association.\r\n";
Tips += "RemoteAppFileTypeAssociation|EditButton|Change icon of selected File Type Association.\r\n";
Tips += "RemoteAppFileTypeAssociation|SetAssociationButton|Create or remove the selected File Type Association on the current system.\r\n";
Tips += "RemoteAppFileTypeAssociation|CloseButton|Save changes and close.\r\n";

Tips += "RemoteAppIconPicker|BrowseButton|Browse for a file that contains icons.\r\n";
Tips += "RemoteAppIconPicker|CancelEditButton|Discard changes and close.\r\n";
Tips += "RemoteAppIconPicker|OKButton|Choose the selected icon.\r\n";

return Tips;
}

}
}
17 changes: 17 additions & 0 deletions RemoteApplicationPublisher/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
namespace RemoteApplicationPublisher
{
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
Application.Run(new RemoteAppMainWindow());
}
}
}
175 changes: 175 additions & 0 deletions RemoteApplicationPublisher/RemoteAppAboutWindow.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 33 additions & 0 deletions RemoteApplicationPublisher/RemoteAppAboutWindow.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@

namespace RemoteApplicationPublisher
{

public partial class RemoteAppAboutWindow : Form
{
private RemoteAppMainWindow _mainWindow;

public RemoteAppAboutWindow(RemoteAppMainWindow mainWindow)
{
InitializeComponent();
_mainWindow = mainWindow;
}

private void RemoteAppAboutWindow_Load(object sender, EventArgs e)
{
Text = "About " + _mainWindow.Title.Text;
TitleLabel.Text = _mainWindow.Title.Text;
VersionLabel.Text = "Version " + Application.ProductVersion.ToString();
}

private void SiteLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
// Process.Start(SiteLinkLabel.Text);
}

private void IconLibLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
// Process.Start(IconLibLinkLabel.Text);
}

}
}
Loading